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