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

Reply via email to