Changeset: 879fde47d240 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=879fde47d240
Modified Files:
        gdk/gdk.h
        monetdb5/modules/mal/projectionpath.c
Branch: unlock
Log Message:

Allow msk bat into BATprojectchain.


diffs (23 lines):

diff --git a/gdk/gdk.h b/gdk/gdk.h
--- a/gdk/gdk.h
+++ b/gdk/gdk.h
@@ -1231,6 +1231,7 @@ gdk_export void GDKqsort(void *restrict 
 /* BATtvoid: BAT can be (or actually is) represented by TYPE_void */
 #define BATtvoid(b)    (BATtdense(b) || (b)->ttype==TYPE_void)
 #define BATtkey(b)     ((b)->tkey || BATtdense(b))
+#define BATiscand(b)   ((b)->ttype == TYPE_msk || (b)->ttype == TYPE_void || 
(b)->ttype == TYPE_oid)
 
 /* set some properties that are trivial to deduce */
 static inline void
diff --git a/monetdb5/modules/mal/projectionpath.c 
b/monetdb5/modules/mal/projectionpath.c
--- a/monetdb5/modules/mal/projectionpath.c
+++ b/monetdb5/modules/mal/projectionpath.c
@@ -29,7 +29,7 @@ ALGprojectionpath(Client cntxt, MalBlkPt
        for (i = pci->retc; i < pci->argc; i++) {
                bid = *getArgReference_bat(stk, pci, i);
                b = BATdescriptor(bid);
-               if (b == NULL || (i + 1 < pci->argc && ATOMtype(b->ttype) != 
TYPE_oid)) {
+               if (b == NULL || (i + 1 < pci->argc && !BATiscand(b))) {
                        while (--i >= pci->retc)
                                BBPunfix(joins[i - pci->retc]->batCacheid);
                        GDKfree(joins);
_______________________________________________
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to