Changeset: 56316ab5615a for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/56316ab5615a
Added Files:
        sql/test/miscellaneous/Tests/transaction_isolation2.SQL.py
Modified Files:
        sql/test/miscellaneous/Tests/All
Branch: Jul2021
Log Message:

Another leak


diffs (39 lines):

diff --git a/sql/test/miscellaneous/Tests/All b/sql/test/miscellaneous/Tests/All
--- a/sql/test/miscellaneous/Tests/All
+++ b/sql/test/miscellaneous/Tests/All
@@ -20,3 +20,4 @@ simple_plans
 vessels
 prepare
 transaction_isolation
+transaction_isolation2
diff --git a/sql/test/miscellaneous/Tests/transaction_isolation2.SQL.py 
b/sql/test/miscellaneous/Tests/transaction_isolation2.SQL.py
new file mode 100644
--- /dev/null
+++ b/sql/test/miscellaneous/Tests/transaction_isolation2.SQL.py
@@ -0,0 +1,26 @@
+from MonetDBtesting.sqltest import SQLTestCase
+
+with SQLTestCase() as mdb1:
+    with SQLTestCase() as mdb2:
+        mdb1.connect(username="monetdb", password="monetdb")
+        mdb2.connect(username="monetdb", password="monetdb")
+        mdb1.execute('start transaction;').assertSucceeded()
+        mdb1.execute("CREATE TABLE integers (i int);").assertSucceeded()
+        mdb1.execute("insert into integers values 
(1),(2),(3),(NULL);").assertSucceeded()
+        mdb1.execute("CREATE TABLE longs (i bigint);").assertSucceeded()
+        mdb1.execute("insert into longs values (1),(2),(3);").assertSucceeded()
+        mdb1.execute("insert into integers values 
(1),(2),(3);").assertSucceeded()
+        mdb1.execute("alter table longs add primary key (i)").assertSucceeded()
+        mdb1.execute('commit;').assertSucceeded()
+
+        mdb1.execute('start transaction;').assertSucceeded()
+        mdb2.execute('start transaction;').assertSucceeded()
+        mdb1.execute('alter table integers add foreign key(i) references 
longs(i);').assertSucceeded()
+        mdb2.execute('alter table integers add foreign key(i) references 
longs(i);').assertFailed(err_code="42000", err_message="ALTER TABLE: 
sys_integers_integers_i_fkey conflicts with another transaction")
+        mdb1.execute('commit;').assertSucceeded()
+        mdb2.execute('rollback;').assertSucceeded()
+
+        mdb1.execute('start transaction;').assertSucceeded()
+        mdb1.execute("drop table integers;").assertSucceeded()
+        mdb1.execute("drop table longs;").assertSucceeded()
+        mdb1.execute('commit;').assertSucceeded()
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to