Changeset: 976fd94c269e for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=976fd94c269e
Added Files:
        sql/test/2-phase-commit/Tests/TwoPrecommits.SQL.py
Modified Files:
        sql/test/2-phase-commit/Tests/All
Branch: 2PC
Log Message:

Add test for conflicting updates


diffs (61 lines):

diff --git a/sql/test/2-phase-commit/Tests/All 
b/sql/test/2-phase-commit/Tests/All
--- a/sql/test/2-phase-commit/Tests/All
+++ b/sql/test/2-phase-commit/Tests/All
@@ -28,3 +28,4 @@ PersistBeforePrecommit-1
 PersistBeforePrecommit-2
 PersistBeforePrecommitWithRollback-1
 PersistBeforePrecommitWithRollback-2
+TwoPrecommits
diff --git a/sql/test/2-phase-commit/Tests/TwoPrecommits.SQL.py 
b/sql/test/2-phase-commit/Tests/TwoPrecommits.SQL.py
new file mode 100644
--- /dev/null
+++ b/sql/test/2-phase-commit/Tests/TwoPrecommits.SQL.py
@@ -0,0 +1,48 @@
+try:
+    from MonetDBtesting import process
+except ImportError:
+    import process
+
+import sys, time, monetdb.sql, os
+
+
+def connect(autocommit):
+    return monetdb.sql.connect(database = os.getenv('TSTDB'),
+                               hostname = 'localhost',
+                               port = int(os.getenv('MAPIPORT')),
+                               username = 'monetdb',
+                               password = 'monetdb',
+                               autocommit = autocommit)
+
+def query(conn, sql):
+    print(sql)
+    cur = conn.cursor()
+    cur.execute(sql)
+    r = cur.fetchall()
+    cur.close()
+    print(r)
+
+def run(conn, sql):
+    print(sql)
+    r = conn.execute(sql)
+    print(r)
+
+
+c1 = connect(False)
+run(c1, 'INSERT INTO htmtest VALUES (4, 40)')
+
+c2 = connect(False)
+run(c2, 'INSERT INTO htmtest VALUES (5, 50)')
+
+#c3 = connect(False)
+#run(c3, 'INSERT INTO htmtest VALUES (6, 60)')
+
+run(c2, 'CALL precommit(2)')
+run(c1, 'CALL precommit(1)')
+#run(c3, 'CALL precommit(3)')
+
+run(c1, 'CALL persistcommit(1)')
+run(c2, 'CALL persistcommit(2)')
+
+query(c1, 'SELECT * FROM htmtest')
+query(c2, 'SELECT * FROM htmtest')
_______________________________________________
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to