Changeset: 2f3c782345a2 for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=2f3c782345a2 Modified Files: gdk/gdk_batop.c gdk/gdk_select.c Branch: Oct2014 Log Message:
make sure append correctly keeps tail-dense info selects returning all rows are dense (grafted from d153a5a6ebb497adfbaeb4bc9dd67be54b391fed) diffs (46 lines): diff --git a/gdk/gdk_batop.c b/gdk/gdk_batop.c --- a/gdk/gdk_batop.c +++ b/gdk/gdk_batop.c @@ -525,7 +525,7 @@ BATins(BAT *b, BAT *n, bit force) } if (b->htype != TYPE_void && b->hsorted && b->hdense && (BAThdense(n) == 0 || - *(oid *) BUNhloc(bi, last) != 1 + *(oid *) BUNhead(ni, BUNfirst(n)))) { + 1 + *(oid *) BUNhloc(bi, last) != *(oid *) BUNhead(ni, BUNfirst(n)))) { b->hdense = FALSE; b->H->nodense = r; } @@ -551,7 +551,7 @@ BATins(BAT *b, BAT *n, bit force) } if (b->ttype != TYPE_void && b->tsorted && b->tdense && (BATtdense(n) == 0 || - *(oid *) BUNtloc(bi, last) != 1 + *(oid *) BUNtail(ni, BUNfirst(n)))) { + 1 + *(oid *) BUNtloc(bi, last) != *(oid *) BUNtail(ni, BUNfirst(n)))) { b->tdense = FALSE; b->T->nodense = r; } @@ -763,7 +763,7 @@ BATappend(BAT *b, BAT *n, bit force) } if (b->ttype != TYPE_void && b->tsorted && b->tdense && (BATtdense(n) == 0 || - *(oid *) BUNtloc(bi, last) != 1 + *(oid *) BUNtail(ni, BUNfirst(n)))) { + 1 + *(oid *) BUNtloc(bi, last) != *(oid *) BUNtail(ni, BUNfirst(n)))) { b->tdense = FALSE; b->T->nodense = r; } diff --git a/gdk/gdk_select.c b/gdk/gdk_select.c --- a/gdk/gdk_select.c +++ b/gdk/gdk_select.c @@ -865,9 +865,9 @@ BAT_scanselect(BAT *b, BAT *s, BAT *bn, bn->tsorted = 1; bn->trevsorted = bn->batCount <= 1; bn->tkey = 1; - bn->tdense = bn->batCount <= 1; - if (bn->batCount == 1) - bn->tseqbase = *(oid *) Tloc(bn, BUNfirst(bn)); + bn->tdense = (bn->batCount <= 1 || bn->batCount == b->batCount); + if (bn->batCount == 1 || bn->batCount == b->batCount) + bn->tseqbase = b->hseqbase; bn->hsorted = 1; bn->hdense = 1; bn->hseqbase = 0; _______________________________________________ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list