[prev in list] [next in list] [prev in thread] [next in thread]
List: monetdb-checkins
Subject: MonetDB: Jul2021 - One more problem yet to be fixed: in-memory m...
From: Pedro_Ferreira <commits+pedro.ferreira=monetdbsolutions.com () mon
Date: 2021-05-31 10:30:15
Message-ID: hg.09061d25d35e.1622457015.8508725912892905401 () monetdb-vm0 ! spin-off ! cwi ! nl
[Download RAW message or body]
Changeset: 09061d25d35e for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/09061d25d35e
Added Files:
sql/test/miscellaneous/Tests/mserver5-in-memory.SQL.py
Modified Files:
sql/test/miscellaneous/Tests/All
Branch: Jul2021
Log Message:
One more problem yet to be fixed: in-memory mode connection
diffs (66 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
@@ -21,3 +21,4 @@ vessels
prepare
transaction_isolation
transaction_isolation2
+mserver5-in-memory
diff --git a/sql/test/miscellaneous/Tests/mserver5-in-memory.SQL.py \
b/sql/test/miscellaneous/Tests/mserver5-in-memory.SQL.py new file mode 100644
--- /dev/null
+++ b/sql/test/miscellaneous/Tests/mserver5-in-memory.SQL.py
@@ -0,0 +1,53 @@
+import socket, subprocess, time
+from MonetDBtesting.sqltest import SQLTestCase
+
+def freeport():
+ sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
+ sock.bind(('', 0))
+ port = sock.getsockname()[1]
+ sock.close()
+ return port
+
+def wait_server_to_start(port):
+ started = False
+ mserver_process.poll()
+ if mserver_process.returncode is not None:
+ mserver_process.wait()
+ raise Exception("The server terminated early")
+ retry = 0
+ while retry < 3:
+ retry += 1
+ try:
+ sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
+ sock.connect(('localhost', port))
+ flag = sock.recv(2)
+ started = True
+ except socket.error:
+ pass
+ time.sleep(0.4)
+ if not started:
+ raise Exception("The server did not start?")
+
+prt = freeport()
+cmd = ['mserver5', '--in-memory', '--set', 'mapi_port=%d' % (prt,)]
+mserver_process = subprocess.Popen(cmd, stdout=subprocess.PIPE, \
stderr=subprocess.PIPE) +wait_server_to_start(prt)
+with SQLTestCase() as mdb:
+ mdb.connect(database=None, port=prt, username="monetdb", password="monetdb")
+ mdb.execute("""
+ start transaction;
+ create table iwontpersist (mycol int);
+ insert into iwontpersist values (1);
+ commit;
+ """).assertSucceeded()
+ mdb.execute('SELECT mycol FROM iwontpersist;').assertDataResultMatch([(1,)])
+mserver_process.terminate()
+
+prt = freeport()
+cmd = ['mserver5', '--in-memory', '--set', 'mapi_port=%d' % (prt,)]
+mserver_process = subprocess.Popen(cmd, stdout=subprocess.PIPE, \
stderr=subprocess.PIPE) +wait_server_to_start(prt)
+with SQLTestCase() as mdb:
+ mdb.connect(database=None, port=prt, username="monetdb", password="monetdb")
+ mdb.execute('SELECT mycol FROM iwontpersist;').assertFailed(err_code="42S02", \
err_message="SELECT: no such table 'iwontpersist'") +mserver_process.terminate()
_______________________________________________
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