Changeset: cb0c589654cc for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/cb0c589654cc
Modified Files:
        sql/storage/bat/bat_storage.c
Branch: Jul2021
Log Message:

make sure we reduce too the used(active) positions/slots even if the updates 
aren't sorted


diffs (19 lines):

diff --git a/sql/storage/bat/bat_storage.c b/sql/storage/bat/bat_storage.c
--- a/sql/storage/bat/bat_storage.c
+++ b/sql/storage/bat/bat_storage.c
@@ -695,12 +695,12 @@ cs_bind_ubat( column_storage *cs, int ac
 
        assert(access == RD_UPD_ID || access == RD_UPD_VAL);
        /* returns the updates for cs */
-       if (cs->uibid && cs->uvbid) {
+       if (cs->uibid && cs->uvbid && cs->ucnt) {
                if (access == RD_UPD_ID) {
                        if (!(b = temp_descriptor(cs->uibid)))
                                return NULL;
-                       if ((BATtdense(b) && (b->tseqbase + BATcount(b)) >= 
cnt) ||
-                          (!BATtdense(b) && BATcount(b) && 
((oid*)b->theap->base)[BATcount(b)-1] >= cnt)) {
+                       if (!b->tsorted || ((BATtdense(b) && (b->tseqbase + 
BATcount(b)) >= cnt) ||
+                          (!BATtdense(b) && BATcount(b) && 
((oid*)b->theap->base)[BATcount(b)-1] >= cnt))) {
                                        oid nil = oid_nil;
                                        /* less then cnt */
                                        BAT *s = BATselect(b, NULL, &nil, &cnt, 
false, false, false);
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to