Changeset: 5f5df03f5488 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=5f5df03f5488
Modified Files:
gdk/gdk_bat.c
gdk/gdk_batop.c
Branch: default
Log Message:
Merge with Oct2014 branch.
diffs (49 lines):
diff --git a/gdk/gdk_bat.c b/gdk/gdk_bat.c
--- a/gdk/gdk_bat.c
+++ b/gdk/gdk_bat.c
@@ -990,6 +990,14 @@ BATcopy(BAT *b, int ht, int tt, int writ
bn->tsorted = bn->trevsorted = (cnt <= 1 &&
BATatoms[b->ttype].linear);
bn->tdense = bn->T->nonil = 0;
}
+ if (BATcount(bn) <= 1) {
+ bn->hsorted = 1;
+ bn->hrevsorted = 1;
+ bn->hkey = 1;
+ bn->tsorted = 1;
+ bn->trevsorted = 1;
+ bn->tkey = 1;
+ }
if (writable != TRUE)
bn->batRestricted = BAT_READ;
return bn;
diff --git a/gdk/gdk_batop.c b/gdk/gdk_batop.c
--- a/gdk/gdk_batop.c
+++ b/gdk/gdk_batop.c
@@ -892,12 +892,21 @@ BATslice(BAT *b, BUN l, BUN h)
BATseqbase(BATmirror(bn), *(oid *) BUNtloc(bni,
BUNfirst(bn)));
}
}
- bn->hsorted = BAThordered(b);
- bn->tsorted = BATtordered(b);
- bn->hrevsorted = BAThrevordered(b);
- bn->trevsorted = BATtrevordered(b);
- BATkey(bn, BAThkey(b));
- BATkey(BATmirror(bn), BATtkey(b));
+ if (bn->batCount <= 1) {
+ bn->hsorted = 1;
+ bn->tsorted = 1;
+ bn->hrevsorted = 1;
+ bn->trevsorted = 1;
+ BATkey(bn, 1);
+ BATkey(BATmirror(bn), 1);
+ } else {
+ bn->hsorted = BAThordered(b);
+ bn->tsorted = BATtordered(b);
+ bn->hrevsorted = BAThrevordered(b);
+ bn->trevsorted = BATtrevordered(b);
+ BATkey(bn, BAThkey(b));
+ BATkey(BATmirror(bn), BATtkey(b));
+ }
bn->H->nonil = b->H->nonil || bn->batCount == 0;
bn->T->nonil = b->T->nonil || bn->batCount == 0;
bn->H->nil = bn->T->nil = 0; /* we just don't know */
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list