Changeset: acf21cf56c52 for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=acf21cf56c52 Modified Files: gdk/gdk.h Branch: xid Log Message:
COLsettrivprop(): use break to bailout with xidcompressed columns so that we can remove the extra intendation of changeset 9a7190c85af7 and thus keep differences with default branch minimal diffs (160 lines): diff --git a/gdk/gdk.h b/gdk/gdk.h --- a/gdk/gdk.h +++ b/gdk/gdk.h @@ -1700,81 +1700,81 @@ gdk_export void GDKqsort_rev(void *h, vo /* set some properties that are trivial to deduce */ /* but not for xid-compressed BATs */ -#define COLsettrivprop(b, col) \ - do { \ - if ((col)->type != TYPE_oid || !(col)->heap.xidcompressed) { \ - if ((col)->type == TYPE_void) { \ - if ((col)->seq == oid_nil) { \ - if (!(col)->nil && (b)->batCount >= 1) { \ - (col)->nil = 1; \ - (b)->batDirtydesc = 1; \ - } \ - if (!(col)->revsorted) { \ - (col)->revsorted = 1; \ - (b)->batDirtydesc = 1; \ - } \ - } else { \ - if (!(col)->dense) { \ - (col)->dense = 1; \ - (b)->batDirtydesc = 1; \ - } \ - if (!(col)->nonil) { \ - (col)->nonil = 1; \ - (b)->batDirtydesc = 1; \ - } \ - if (!(col)->key) { \ - (col)->key = 1; \ - (b)->batDirtydesc = 1; \ - } \ - if ((col)->revsorted && (b)->batCount > 1) { \ - (col)->revsorted = 0; \ - (b)->batDirtydesc = 1; \ - } \ - } \ - if (!(col)->sorted) { \ - (col)->sorted = 1; \ - (b)->batDirtydesc = 1; \ - } \ - } else if ((b)->batCount <= 1) { \ - oid sqbs; \ - if (BATatoms[(col)->type].linear) { \ - if (!(col)->sorted) { \ - (col)->sorted = 1; \ - (b)->batDirtydesc = 1; \ - } \ - if (!(col)->revsorted) { \ - (col)->revsorted = 1; \ - (b)->batDirtydesc = 1; \ - } \ - } \ - if (!(col)->key) { \ - (col)->key = 1; \ - (b)->batDirtydesc = 1; \ - } \ - if ((b)->batCount == 0) { \ - (col)->nonil = 1; \ - (col)->nil = 0; \ - } else if (!(col)->dense && \ - (col)->type == TYPE_oid && \ - (sqbs = ((oid *) (col)->heap.base)[(b)->batFirst]) != oid_nil) { \ - (col)->dense = 1; \ - (col)->seq = sqbs; \ - (col)->nonil = 1; \ - (col)->nil = 0; \ - (b)->batDirtydesc = 1; \ - } \ - } \ - if (!BATatoms[(col)->type].linear) { \ - if ((col)->sorted) { \ - (col)->sorted = 0; \ - (b)->batDirtydesc = 1; \ - } \ - if ((col)->revsorted) { \ - (col)->revsorted = 0; \ - (b)->batDirtydesc = 1; \ - } \ - } \ - } \ +#define COLsettrivprop(b, col) \ + do { \ + if ((col)->type == TYPE_oid && (col)->heap.xidcompressed) \ + break; \ + if ((col)->type == TYPE_void) { \ + if ((col)->seq == oid_nil) { \ + if (!(col)->nil && (b)->batCount >= 1) { \ + (col)->nil = 1; \ + (b)->batDirtydesc = 1; \ + } \ + if (!(col)->revsorted) { \ + (col)->revsorted = 1; \ + (b)->batDirtydesc = 1; \ + } \ + } else { \ + if (!(col)->dense) { \ + (col)->dense = 1; \ + (b)->batDirtydesc = 1; \ + } \ + if (!(col)->nonil) { \ + (col)->nonil = 1; \ + (b)->batDirtydesc = 1; \ + } \ + if (!(col)->key) { \ + (col)->key = 1; \ + (b)->batDirtydesc = 1; \ + } \ + if ((col)->revsorted && (b)->batCount > 1) { \ + (col)->revsorted = 0; \ + (b)->batDirtydesc = 1; \ + } \ + } \ + if (!(col)->sorted) { \ + (col)->sorted = 1; \ + (b)->batDirtydesc = 1; \ + } \ + } else if ((b)->batCount <= 1) { \ + oid sqbs; \ + if (BATatoms[(col)->type].linear) { \ + if (!(col)->sorted) { \ + (col)->sorted = 1; \ + (b)->batDirtydesc = 1; \ + } \ + if (!(col)->revsorted) { \ + (col)->revsorted = 1; \ + (b)->batDirtydesc = 1; \ + } \ + } \ + if (!(col)->key) { \ + (col)->key = 1; \ + (b)->batDirtydesc = 1; \ + } \ + if ((b)->batCount == 0) { \ + (col)->nonil = 1; \ + (col)->nil = 0; \ + } else if (!(col)->dense && \ + (col)->type == TYPE_oid && \ + (sqbs = ((oid *) (col)->heap.base)[(b)->batFirst]) != oid_nil) { \ + (col)->dense = 1; \ + (col)->seq = sqbs; \ + (col)->nonil = 1; \ + (col)->nil = 0; \ + (b)->batDirtydesc = 1; \ + } \ + } \ + if (!BATatoms[(col)->type].linear) { \ + if ((col)->sorted) { \ + (col)->sorted = 0; \ + (b)->batDirtydesc = 1; \ + } \ + if ((col)->revsorted) { \ + (col)->revsorted = 0; \ + (b)->batDirtydesc = 1; \ + } \ + } \ } while (0) #define BATsettrivprop(b) \ do { \ _______________________________________________ Checkin-list mailing list Checkin-list@monetdb.org http://mail.monetdb.org/mailman/listinfo/checkin-list