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

fix assert fail


diffs (59 lines):

diff --git a/gdk/gdk_orderindex.c b/gdk/gdk_orderindex.c
--- a/gdk/gdk_orderindex.c
+++ b/gdk/gdk_orderindex.c
@@ -69,7 +69,7 @@ ORDERkeepidx(BAT *b, BAT *order) {
        MT_lock_set(&GDKorderIdxLock(abs(b->batCacheid)), "ORDERkeepidx");
        if (!b->torderidx.flags) {
                b->torderidx.o = BBPcacheid(order);
-               BBPkeepref(order->batCacheid);
+               //BBPkeepref(order->batCacheid);
                b->torderidx.flags = 1;
        } else {
                /* take care if other index already exists, should not happen 
though
diff --git a/gdk/gdk_search.c b/gdk/gdk_search.c
--- a/gdk/gdk_search.c
+++ b/gdk/gdk_search.c
@@ -744,7 +744,6 @@ SORTfndwhich(BAT *b, const void *v, enum
                        /* shortcut: if BAT is empty or first (and
                         * hence all) tail value is >= v (if sorted)
                         * or <= v (if revsorted), we're done */
-                       if (use_orderidx) BBPunfix(o->batCacheid);
                        return lo;
                }
                break;
@@ -756,7 +755,6 @@ SORTfndwhich(BAT *b, const void *v, enum
                        /* shortcut: if BAT is empty or first (and
                         * hence all) tail value is <= v (if sorted)
                         * or >= v (if revsorted), we're done */
-                       if (use_orderidx) BBPunfix(o->batCacheid);
                        return hi;
                }
                break;
@@ -764,7 +762,6 @@ SORTfndwhich(BAT *b, const void *v, enum
                end = 0;        /* not used in this case */
                if (lo >= hi) {
                        /* empty BAT: value not found */
-                       if (use_orderidx) BBPunfix(o->batCacheid);
                        return BUN_NONE;
                }
                break;
@@ -894,7 +891,6 @@ SORTfndwhich(BAT *b, const void *v, enum
                }
                break;
        }
-       if (use_orderidx) BBPunfix(o->batCacheid);
        return cur;
 }
 
diff --git a/gdk/gdk_select.c b/gdk/gdk_select.c
--- a/gdk/gdk_select.c
+++ b/gdk/gdk_select.c
@@ -1552,7 +1552,7 @@ BATsubselect(BAT *b, BAT *s, const void 
                                                GDKerror("Runtime object (order 
index) not found");
                                        }
                                        bn = BATslice(order, low + 
order->hseqbase, high + order->hseqbase);
-                                       BATorder(bn);
+                                       BATorder(BATmirror(bn));
                                } else {
                                        bn = doublerange(0, 0,
                                                         low + b->hseqbase,
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to