Changeset: 4da710a71d6f for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=4da710a71d6f
Modified Files:
gdk/gdk.h
gdk/gdk_bat.c
Branch: xid
Log Message:
BATderiveHeadProps & COLsettrivprop: do not set/derive properties for
xid-compressed BATs
their content is known and designed to not match their properties
see also changesets 805110fd0096 & b33eba6cfb09
diffs (36 lines):
diff --git a/gdk/gdk.h b/gdk/gdk.h
--- a/gdk/gdk.h
+++ b/gdk/gdk.h
@@ -1699,8 +1699,10 @@ gdk_export void GDKqsort_rev(void *h, vo
#define BATtkey(b) (b->tkey != FALSE || BATtdense(b))
/* set some properties that are trivial to deduce */
+/* but not for xid-compressed BATs */
#define COLsettrivprop(b, col) \
do { \
+ if (b->htype == TYPE_oid && b->H->heap.xidcompressed) { \
if ((col)->type == TYPE_void) { \
if ((col)->seq == oid_nil) { \
if (!(col)->nil && (b)->batCount >= 1) { \
@@ -1772,6 +1774,7 @@ gdk_export void GDKqsort_rev(void *h, vo
(b)->batDirtydesc = 1; \
} \
} \
+ } \
} while (0)
#define BATsettrivprop(b) \
do { \
diff --git a/gdk/gdk_bat.c b/gdk/gdk_bat.c
--- a/gdk/gdk_bat.c
+++ b/gdk/gdk_bat.c
@@ -3096,6 +3096,10 @@ BATderiveHeadProps(BAT *b, int expensive
assert(b != NULL);
if (b == NULL)
return;
+ if (b->htype == TYPE_oid && b->H->heap.xidcompressed) {
+ /* avoid property deriving on xid-compressed BATs */
+ return;
+ }
assert((b->hkey & BOUND2BTRUE) == 0);
COLsettrivprop(b, b->H);
cmpf = BATatoms[b->htype].atomCmp;
_______________________________________________
Checkin-list mailing list
[email protected]
http://mail.monetdb.org/mailman/listinfo/checkin-list