include all knockout matches
authorRalph Ronnquist <ralph.ronnquist@gmail.com>
Sat, 9 Jul 2022 09:31:51 +0000 (19:31 +1000)
committerRalph Ronnquist <ralph.ronnquist@gmail.com>
Sat, 9 Jul 2022 09:31:51 +0000 (19:31 +1000)
vector/relation.c

index 6777d9a5ae19dc9bdea0587ca9f844a93d80bf76..a6dd31222674942ca2f5a1b1e41a9c4a36f72780 100644 (file)
@@ -60,9 +60,12 @@ typedef struct {
 // for ignoring full matches to the key tuple.
 static int knockout_check(vector_index index,void *item,void *data) {
     knockout *kod = (knockout*) data;
-    void *old = hashvector_next( (hashvector*) item, 0, kod->item );
-    if ( old ) {
-       vector_append( &kod->knockouts, old );
+    vector_index i = 0;
+    for ( ; i < ((hashvector*) item)->table.size; i++ ) {
+       void *old = hashvector_next( (hashvector*) item, &i, kod->item );
+       if ( old ) {
+           vector_append( &kod->knockouts, old );
+       }
     }
     return 0;
 }