Changeset: b7ab78d9cd74 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=b7ab78d9cd74
Modified Files:
sql/storage/bat/bat_storage.c
sql/storage/store.c
sql/test/BugTracker-2020/Tests/All
Branch: default
Log Message:
Merge with Oct2020 branch.
diffs (119 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
@@ -6679,7 +6679,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;
diff --git a/sql/test/BugTracker-2020/Tests/All
b/sql/test/BugTracker-2020/Tests/All
--- a/sql/test/BugTracker-2020/Tests/All
+++ b/sql/test/BugTracker-2020/Tests/All
@@ -39,3 +39,4 @@ savepoints_crash_mserver5_1.Bug-7021
savepoints_crash_mserver5_2.Bug-7021
transaction_with_unreleased_savepoint.Bug-7022
view_with_aggr_column.Bug-7023
+delete-transaction-loose-inserts.Bug-7024
diff --git
a/sql/test/BugTracker-2020/Tests/delete-transaction-loose-inserts.Bug-7024.sql
b/sql/test/BugTracker-2020/Tests/delete-transaction-loose-inserts.Bug-7024.sql
new file mode 100644
--- /dev/null
+++
b/sql/test/BugTracker-2020/Tests/delete-transaction-loose-inserts.Bug-7024.sql
@@ -0,0 +1,7 @@
+START TRANSACTION;
+CREATE TABLE b (c integer);
+DELETE FROM b;
+INSERT INTO b VALUES (1);
+COMMIT;
+SELECT * FROM b;
+DROP TABLE b;
diff --git
a/sql/test/BugTracker-2020/Tests/delete-transaction-loose-inserts.Bug-7024.stable.err
b/sql/test/BugTracker-2020/Tests/delete-transaction-loose-inserts.Bug-7024.stable.err
new file mode 100644
--- /dev/null
+++
b/sql/test/BugTracker-2020/Tests/delete-transaction-loose-inserts.Bug-7024.stable.err
@@ -0,0 +1,12 @@
+stderr of test 'delete-transaction-loose-inserts.Bug-7024` in directory
'sql/test/BugTracker-2020` itself:
+
+
+# 11:13:06 >
+# 11:13:06 > "mclient" "-lsql" "-ftest" "-tnone" "-Eutf-8" "-i" "-e"
"--host=/var/tmp/mtest-33866" "--port=38978"
+# 11:13:06 >
+
+
+# 11:13:06 >
+# 11:13:06 > "Done."
+# 11:13:06 >
+
diff --git
a/sql/test/BugTracker-2020/Tests/delete-transaction-loose-inserts.Bug-7024.stable.out
b/sql/test/BugTracker-2020/Tests/delete-transaction-loose-inserts.Bug-7024.stable.out
new file mode 100644
--- /dev/null
+++
b/sql/test/BugTracker-2020/Tests/delete-transaction-loose-inserts.Bug-7024.stable.out
@@ -0,0 +1,26 @@
+stdout of test 'delete-transaction-loose-inserts.Bug-7024` in directory
'sql/test/BugTracker-2020` itself:
+
+
+# 11:13:06 >
+# 11:13:06 > "mclient" "-lsql" "-ftest" "-tnone" "-Eutf-8" "-i" "-e"
"--host=/var/tmp/mtest-33866" "--port=38978"
+# 11:13:06 >
+
+#START TRANSACTION;
+#CREATE TABLE b (c integer);
+#DELETE FROM b;
+[ 0 ]
+#INSERT INTO b VALUES (1);
+[ 1 ]
+#COMMIT;
+#SELECT * FROM b;
+% sys.b # table_name
+% c # name
+% int # type
+% 1 # length
+[ 1 ]
+#DROP TABLE b;
+
+# 11:13:06 >
+# 11:13:06 > "Done."
+# 11:13:06 >
+
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list