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

Reply via email to