Changeset: 7c7fef99fe52 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=7c7fef99fe52
Modified Files:
        gdk/gdk_search.c
        gdk/gdk_select.c
Branch: leftmart
Log Message:

Cosmetics.


diffs (84 lines):

diff --git a/gdk/gdk_search.c b/gdk/gdk_search.c
--- a/gdk/gdk_search.c
+++ b/gdk/gdk_search.c
@@ -957,6 +957,7 @@ BATcheckorderidx(BAT *b)
        int ret;
        lng t;
 
+       assert(b->batCacheid > 0);
        t = GDKusec();
        MT_lock_set(&GDKhashLock(abs(b->batCacheid)), "BATcheckorderidx");
        t = GDKusec() - t;
diff --git a/gdk/gdk_select.c b/gdk/gdk_select.c
--- a/gdk/gdk_select.c
+++ b/gdk/gdk_select.c
@@ -1491,7 +1491,7 @@ BATsubselect(BAT *b, BAT *s, const void 
                                low = (BUN) l;
                        if (low > high)
                                low = high;
-               } else if (b->tsorted || use_orderidx) {
+               } else if (b->tsorted) {
                        ALGODEBUG fprintf(stderr, "#BATsubselect(b=%s#" BUNFMT
                                          ",s=%s%s,anti=%d): sorted\n",
                                          BATgetId(b), BATcount(b),
@@ -1500,22 +1500,22 @@ BATsubselect(BAT *b, BAT *s, const void 
                                          anti);
                        if (lval) {
                                if (li)
-                                       low = use_orderidx?ORDERfndfirst(b, 
tl):SORTfndfirst(b, tl);
+                                       low = SORTfndfirst(b, tl);
                                else
-                                       low = use_orderidx?ORDERfndlast(b, 
tl):SORTfndlast(b, tl);
+                                       low = SORTfndlast(b, tl);
                        } else {
                                /* skip over nils at start of column */
-                               low = use_orderidx?ORDERfndlast(b, 
nil):SORTfndlast(b, nil);
+                               low = SORTfndlast(b, nil);
                        }
                        low -= BUNfirst(b);
                        if (hval) {
                                if (hi)
-                                       high = use_orderidx?ORDERfndlast(b, 
th):SORTfndlast(b, th);
+                                       high = SORTfndlast(b, th);
                                else
-                                       high = use_orderidx?ORDERfndfirst(b, 
th):SORTfndfirst(b, th);
+                                       high = SORTfndfirst(b, th);
                                high -= BUNfirst(b);
                        }
-               } else {
+               } else if (b->trevsorted) {
                        assert(b->trevsorted);
                        ALGODEBUG fprintf(stderr, "#BATsubselect(b=%s#" BUNFMT
                                          ",s=%s%s,anti=%d): reverse sorted\n",
@@ -1540,6 +1540,31 @@ BATsubselect(BAT *b, BAT *s, const void 
                                        low = SORTfndlast(b, th);
                                low -= BUNfirst(b);
                        }
+               } else {
+                       assert(use_orderidx);
+                       ALGODEBUG fprintf(stderr, "#BATsubselect(b=%s#" BUNFMT
+                                         ",s=%s%s,anti=%d): orderidx\n",
+                                         BATgetId(b), BATcount(b),
+                                         s ? BATgetId(s) : "NULL",
+                                         s && BATtdense(s) ? "(dense)" : "",
+                                         anti);
+                       if (lval) {
+                               if (li)
+                                       low = ORDERfndfirst(b, tl);
+                               else
+                                       low = ORDERfndlast(b, tl);
+                       } else {
+                               /* skip over nils at start of column */
+                               low = ORDERfndlast(b, nil);
+                       }
+                       low -= BUNfirst(b);
+                       if (hval) {
+                               if (hi)
+                                       high = ORDERfndlast(b, th);
+                               else
+                                       high = ORDERfndfirst(b, th);
+                               high -= BUNfirst(b);
+                       }
                }
                if (anti) {
                        if (b->tsorted) {
_______________________________________________
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to