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
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list