Changeset: ff1cdb60d507 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/ff1cdb60d507
Added Files:
        sql/test/BugTracker-2021/Tests/truncate-restart.Bug-7173.py
Modified Files:
        sql/test/BugTracker-2021/Tests/All
Branch: Jul2021
Log Message:

Added test for bug #7173 Somehow it always succeeds on my setup


diffs (57 lines):

diff --git a/sql/test/BugTracker-2021/Tests/All 
b/sql/test/BugTracker-2021/Tests/All
--- a/sql/test/BugTracker-2021/Tests/All
+++ b/sql/test/BugTracker-2021/Tests/All
@@ -27,3 +27,4 @@ HAVE_LIBPY3?python-aggregates-empty.Bug-
 remote-join-idxs.Bug-7165
 shutdown-force.Bug-7167
 merge-table-join.Bug-7172
+truncate-restart.Bug-7173
diff --git a/sql/test/BugTracker-2021/Tests/truncate-restart.Bug-7173.py 
b/sql/test/BugTracker-2021/Tests/truncate-restart.Bug-7173.py
new file mode 100644
--- /dev/null
+++ b/sql/test/BugTracker-2021/Tests/truncate-restart.Bug-7173.py
@@ -0,0 +1,44 @@
+import os, socket, tempfile
+try:
+    from MonetDBtesting import process
+except ImportError:
+    import process
+
+from MonetDBtesting.sqltest import SQLTestCase
+
+sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
+sock.bind(('', 0))
+port = sock.getsockname()[1]
+sock.close()
+
+with tempfile.TemporaryDirectory() as farm_dir:
+    os.mkdir(os.path.join(farm_dir, 'mydb'))
+
+    with process.server(mapiport=port, dbname='mydb', 
dbfarm=os.path.join(farm_dir, 'mydb'),
+                        stdin = process.PIPE, stdout = process.PIPE, stderr = 
process.PIPE) as s:
+        with SQLTestCase() as mdb:
+            mdb.connect(username="monetdb", password="monetdb")
+            mdb.execute("create table test (col int);").assertSucceeded()
+            mdb.execute("insert into test values (1), (2), 
(3);").assertSucceeded().assertRowCount(3)
+
+            mdb.execute("begin transaction;").assertSucceeded()
+            mdb.execute("create table test_new (col int);").assertSucceeded()
+            mdb.execute("commit;").assertSucceeded()
+
+            mdb.execute("begin transaction;").assertSucceeded()
+            mdb.execute("truncate table test_new;").assertSucceeded()
+            mdb.execute("insert into test_new select * from 
test;").assertSucceeded().assertRowCount(3)
+            mdb.execute("drop table test;").assertSucceeded()
+            mdb.execute("alter table test_new rename to 
test;").assertSucceeded()
+            mdb.execute("commit;").assertSucceeded()
+
+            mdb.execute("select * from 
test;").assertSucceeded().assertDataResultMatch([(1,),(2,),(3,)])
+        s.communicate()
+
+    with process.server(mapiport=port, dbname='mydb', 
dbfarm=os.path.join(farm_dir, 'mydb'),
+                        stdin = process.PIPE, stdout = process.PIPE, stderr = 
process.PIPE) as s:
+        with SQLTestCase() as mdb:
+            mdb.connect(username="monetdb", password="monetdb")
+            mdb.execute("select * from 
test;").assertSucceeded().assertDataResultMatch([(1,),(2,),(3,)])
+            mdb.execute("drop table test;").assertSucceeded()
+        s.communicate()
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to