Changeset: 66645aea30c4 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=66645aea30c4
Modified Files:
        sql/storage/bat/bat_storage.c
        sql/storage/store.c
Branch: Oct2020
Log Message:

only set cleared flag on persistent tables


diffs (51 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
@@ -1966,6 +1966,7 @@ clear_delta(sql_trans *tr, sql_delta *ba
 {
        BAT *b;
        BUN sz = 0;
+       int isnew = 0;
 
        if (bat->cached) {
                bat_destroy(bat->cached);
@@ -1995,6 +1996,8 @@ clear_delta(sql_trans *tr, sql_delta *ba
                        }
                        bat_destroy(b);
                }
+       } else {
+               isnew = 1;
        }
        if (bat->uibid) {
                b = temp_descriptor(bat->uibid);
@@ -2012,7 +2015,8 @@ clear_delta(sql_trans *tr, sql_delta *ba
                }
                bat_destroy(b);
        }
-       bat->cleared = 1;
+       if (!isnew)
+               bat->cleared = 1;
        bat->ibase = 0;
        bat->cnt = 0;
        bat->ucnt = 0;
@@ -2439,6 +2443,7 @@ tr_update_delta( sql_trans *tr, sql_delt
                temp_destroy(obat->ibid);
                obat->ibid = cbat->bid;
                obat->cnt = cbat->cnt;
+               cbat->bid = cbat->ibid = 0;
        } else  if (BUNlast(ins) > 0 || cbat->cleared) {
                if ((!cbat->ibase && BATcount(ins) > SNAPSHOT_MINSIZE)){
                        /* swap cur and ins */
diff --git a/sql/storage/store.c b/sql/storage/store.c
--- a/sql/storage/store.c
+++ b/sql/storage/store.c
@@ -6683,7 +6683,8 @@ sql_trans_clear_table(sql_trans *tr, sql
        sql_column *c = n->data;
        BUN sz = 0, nsz = 0;
 
-       t->cleared = 1;
+       if (!isNew(t))
+               t->cleared = 1;
        t->base.wtime = t->s->base.wtime = tr->wtime = tr->wstime;
        c->base.wtime = tr->wstime;
 
_______________________________________________
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to