Changeset: c6304b6e5557 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/c6304b6e5557
Added Files:
sql/test/BugTracker-2022/Tests/insert-not-null.Bug-7232.test
Modified Files:
sql/backends/monet5/rel_bin.c
sql/test/BugTracker-2022/Tests/All
Branch: Jan2022
Log Message:
Added test and fix for bug #7232, don't add a predicate when validating not
null columns. There is no penalty in doing it concurrently
diffs (70 lines):
diff --git a/sql/backends/monet5/rel_bin.c b/sql/backends/monet5/rel_bin.c
--- a/sql/backends/monet5/rel_bin.c
+++ b/sql/backends/monet5/rel_bin.c
@@ -4202,10 +4202,6 @@ sql_insert_check_null(backend *be, sql_t
stmt *s = i;
char *msg = NULL;
- /* foreach column add predicate */
- if (add_column_predicate(be, c) != LOG_OK)
- return sql_error(sql, 10, SQLSTATE(HY013)
MAL_MALLOC_FAIL);
-
if (!(s->key && s->nrcols == 0)) {
s = stmt_selectnil(be, column(be, i));
s = stmt_aggr(be, s, NULL, NULL, cnt, 1, 0, 1);
diff --git a/sql/test/BugTracker-2022/Tests/All
b/sql/test/BugTracker-2022/Tests/All
--- a/sql/test/BugTracker-2022/Tests/All
+++ b/sql/test/BugTracker-2022/Tests/All
@@ -1,1 +1,2 @@
transaction-conflict.Bug-7228
+insert-not-null.Bug-7232
diff --git a/sql/test/BugTracker-2022/Tests/insert-not-null.Bug-7232.test
b/sql/test/BugTracker-2022/Tests/insert-not-null.Bug-7232.test
new file mode 100644
--- /dev/null
+++ b/sql/test/BugTracker-2022/Tests/insert-not-null.Bug-7232.test
@@ -0,0 +1,45 @@
+@connection(id=1, username=monetdb, password=monetdb)
+statement ok
+CREATE TABLE test(k int NOT NULL)
+
+@connection(id=1)
+statement ok
+START TRANSACTION
+
+@connection(id=2, username=monetdb, password=monetdb)
+statement ok
+START TRANSACTION
+
+@connection(id=1)
+statement ok
+INSERT INTO test VALUES (1)
+
+@connection(id=2)
+statement ok
+INSERT INTO test VALUES (2)
+
+@connection(id=1)
+statement ok
+COMMIT
+
+@connection(id=2)
+statement ok
+COMMIT
+
+@connection(id=1)
+query T
+SELECT k FROM test
+----
+1
+2
+
+@connection(id=2)
+query T
+SELECT k FROM test
+----
+1
+2
+
+@connection(id=1)
+statement ok
+DROP TABLE test
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list