Changeset: 7fc3629f6b20 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/7fc3629f6b20
Modified Files:
        monetdb5/optimizer/opt_dict.c
        sql/backends/monet5/dict.c
Branch: dict
Log Message:

deref varsized atoms
and nil matches on dict offset positions


diffs (24 lines):

diff --git a/monetdb5/optimizer/opt_dict.c b/monetdb5/optimizer/opt_dict.c
--- a/monetdb5/optimizer/opt_dict.c
+++ b/monetdb5/optimizer/opt_dict.c
@@ -143,7 +143,7 @@ OPTdictImplementation(Client cntxt, MalB
                                                addArgument(mb, t, getArg(s, 
0));
                                                addArgument(mb, t, cand);
                                                t = pushNil(mb, t, TYPE_bat);
-                                               t = pushBit(mb, t, FALSE);    
/* nil matches */
+                                               t = pushBit(mb, t, TRUE);    /* 
nil matches */
                                                t = pushBit(mb, t, TRUE);     
/* max_one */
                                                t = pushNil(mb, t, TYPE_lng); 
/* estimate */
                                                pushInstruction(mb,t);
diff --git a/sql/backends/monet5/dict.c b/sql/backends/monet5/dict.c
--- a/sql/backends/monet5/dict.c
+++ b/sql/backends/monet5/dict.c
@@ -621,6 +621,8 @@ DICTselect(Client cntxt, MalBlkPtr mb, M
                        bn = BATdense(0, 0, 0);
                }
        } else { /* select + intersect */
+               if (ATOMvarsized(lv->ttype))
+                       v = *(ptr*)v;
                bn = BATthetaselect(lv, NULL, v, op);
                /* call dict convert */
                if (bn) {
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to