Changeset: d37f789e6bb0 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/d37f789e6bb0
Modified Files:
        monetdb5/modules/mal/pp_hash.c
Branch: pp_hashjoin
Log Message:

fixed handling of not in values(NULL)


diffs (21 lines):

diff --git a/monetdb5/modules/mal/pp_hash.c b/monetdb5/modules/mal/pp_hash.c
--- a/monetdb5/modules/mal/pp_hash.c
+++ b/monetdb5/modules/mal/pp_hash.c
@@ -1545,6 +1545,17 @@ error:
                Type *ky = Tloc(k, 0); \
                Type *vals = ht->vals; \
                \
+               if (!match) { \
+                       gid k = (gid)_hash_##Type(Type##_nil)&ht->mask; \
+                       gid slot = ht->gids[k]; \
+                       while (slot && !is_##Type##_nil(vals[slot])) { \
+                               k++; \
+                               k &= ht->mask; \
+                               slot = ht->gids[k]; \
+                       } \
+                       if (slot) \
+                               break; \
+               } \
                TIMEOUT_LOOP_IDX_DECL(i, keycnt, qry_ctx) { \
                        if (!(*semantics) && is_##Type##_nil(ky[i])) { \
                                if (!match && empty) { \
_______________________________________________
checkin-list mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to