[prev in list] [next in list] [prev in thread] [next in thread]
List: monetdb-checkins
Subject: MonetDB: Jul2021 - Testing transaction conflicts. Some have yet ...
From: Pedro_Ferreira <commits+pedro.ferreira=monetdbsolutions.com () mon
Date: 2021-05-31 17:00:48
Message-ID: hg.531d592a2f02.1622480448.3281151514287324535 () monetdb-vm0 ! spin-off ! cwi ! nl
[Download RAW message or body]
Changeset: 531d592a2f02 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/531d592a2f02
Modified Files:
sql/test/miscellaneous/Tests/transaction_isolation2.SQL.py
Branch: Jul2021
Log Message:
Testing transaction conflicts. Some have yet to be fixed
diffs (60 lines):
diff --git a/sql/test/miscellaneous/Tests/transaction_isolation2.SQL.py \
b/sql/test/miscellaneous/Tests/transaction_isolation2.SQL.py
--- a/sql/test/miscellaneous/Tests/transaction_isolation2.SQL.py
+++ b/sql/test/miscellaneous/Tests/transaction_isolation2.SQL.py
@@ -65,6 +65,56 @@ with SQLTestCase() as mdb1:
mdb1.execute('commit;').assertSucceeded()
mdb2.execute('rollback;').assertSucceeded()
+ mdb1.execute('create merge table parent(a int);').assertSucceeded()
+ mdb1.execute('create table child1(c int);').assertSucceeded()
+ mdb1.execute('create table child2(c int);').assertSucceeded()
+ mdb1.execute('start transaction;').assertSucceeded()
+ mdb2.execute('start transaction;').assertSucceeded()
+ mdb1.execute("ALTER TABLE parent ADD TABLE child1;").assertSucceeded()
+ mdb2.execute("ALTER TABLE parent ADD TABLE \
child2;").assertFailed(err_code="42000", err_message="ALTER TABLE: transaction \
conflict detected") + mdb1.execute('commit;').assertSucceeded()
+ mdb2.execute('rollback;').assertSucceeded()
+ mdb1.execute('ALTER TABLE parent DROP TABLE child1;').assertSucceeded()
+ mdb1.execute('DROP TABLE parent;').assertSucceeded()
+ mdb1.execute('DROP TABLE child1;').assertSucceeded()
+ mdb1.execute('DROP TABLE child2;').assertSucceeded()
+
+ mdb1.execute('create merge table parent(a int) PARTITION BY RANGE ON \
(a);').assertSucceeded() + mdb1.execute('create table child1(c \
int);').assertSucceeded() + mdb1.execute('create table child2(c \
int);').assertSucceeded() + mdb1.execute('start \
transaction;').assertSucceeded() + mdb2.execute('start \
transaction;').assertSucceeded() + mdb1.execute("ALTER TABLE parent ADD TABLE \
child1 AS PARTITION FROM '1' TO '2';").assertSucceeded() + mdb2.execute("ALTER \
TABLE parent ADD TABLE child2 AS PARTITION FROM '0' TO \
'4';").assertFailed(err_code="42000", err_message="ALTER TABLE: failed due to \
conflict with another transaction") + \
mdb1.execute('commit;').assertSucceeded() + \
mdb2.execute('rollback;').assertSucceeded() + mdb1.execute('ALTER TABLE parent \
DROP TABLE child1;').assertSucceeded() + mdb1.execute('DROP TABLE \
parent;').assertSucceeded() + mdb1.execute('DROP TABLE \
child1;').assertSucceeded() + mdb1.execute('DROP TABLE \
child2;').assertSucceeded() +
+ mdb1.execute('create merge table parent1(a int) PARTITION BY RANGE ON \
(a);').assertSucceeded() + mdb1.execute('create merge table parent2(a int) \
PARTITION BY RANGE ON (a);').assertSucceeded() + mdb1.execute('create table \
child(c int);').assertSucceeded() + mdb1.execute('start \
transaction;').assertSucceeded() + mdb2.execute('start \
transaction;').assertSucceeded() + mdb1.execute("ALTER TABLE parent1 ADD TABLE \
child AS PARTITION FROM '1' TO '2';").assertSucceeded() + mdb2.execute("ALTER \
TABLE parent2 ADD TABLE child AS PARTITION FROM '0' TO \
'4';").assertFailed(err_code="42000", err_message="ALTER TABLE: failed due to \
conflict with another transaction") + \
mdb1.execute('commit;').assertSucceeded() + \
mdb2.execute('rollback;').assertSucceeded() + mdb1.execute('ALTER TABLE \
parent1 DROP TABLE child;').assertSucceeded() + mdb1.execute('DROP TABLE \
parent1;').assertSucceeded() + mdb1.execute('DROP TABLE \
parent2;').assertSucceeded() + mdb1.execute('DROP TABLE \
child;').assertSucceeded() +
+ mdb1.execute('start transaction;').assertSucceeded()
+ mdb2.execute('start transaction;').assertSucceeded()
+ mdb1.execute('CREATE FUNCTION myfunc() RETURNS INT RETURN \
1;').assertSucceeded() + mdb2.execute('CREATE FUNCTION myfunc() RETURNS INT \
RETURN 2;').assertFailed(err_code="42000", err_message="CREATE FUNCTION: transaction \
conflict detected") + mdb1.execute('commit;').assertSucceeded()
+ mdb2.execute('rollback;').assertSucceeded()
+ mdb1.execute('DROP FUNCTION myfunc;').assertSucceeded()
+
mdb1.execute('start transaction;').assertSucceeded()
mdb1.execute('DROP schema mysch;').assertSucceeded()
mdb1.execute('DROP TYPE myurl;').assertSucceeded()
_______________________________________________
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic