Changeset: 9049cd976d8a for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=9049cd976d8a Modified Files: gdk/gdk_select.c Branch: leftmart Log Message:
Do not use order idx if there is a non dense cand list diffs (23 lines): diff --git a/gdk/gdk_select.c b/gdk/gdk_select.c --- a/gdk/gdk_select.c +++ b/gdk/gdk_select.c @@ -1455,9 +1455,11 @@ BATselect(BAT *b, BAT *s, const void *tl /* If there is an order index or it is a view and the parent has an ordered * index, and the bat is not tsorted or trevstorted then use the order * index. + * And there is no cand list or if there is one, it is dense. * TODO: we do not support anti-select with order index */ if (!anti && !(b->tsorted || b->trevsorted) && + (!s || (s && BATtdense(s))) && (BATcheckorderidx(b) || (VIEWtparent(b) && BATcheckorderidx(BBPquickdesc(abs(VIEWtparent(b)), 0))))) { @@ -1675,6 +1677,7 @@ BATselect(BAT *b, BAT *s, const void *tl if (s && !BATtdense(s)) { const oid *rcand = (const oid *) Tloc((s), 0); + assert("should not use orderidx with non dense cand list, too expensive"); for (i = low; i < high; i++) { if (vwl <= *rs && *rs < vwh) { _______________________________________________ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list