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
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list