Changeset: 54b957e21921 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=54b957e21921
Added Files:
sql/test/BugTracker-2009/Tests/SingleServer
sql/test/BugTracker-2009/Tests/create_on_ro_db_crash.SF-2830238.SQL.py
sql/test/BugTracker-2009/Tests/lost_update.SF-2790020.SQL.py
sql/test/BugTracker-2010/Tests/SingleServer
sql/test/BugTracker-2010/Tests/new-readonly-db.Bug-2695.SQL.py
sql/test/BugTracker-2010/alter-table-restart-crash.SF-2975018/Tests/SingleServer
sql/test/BugTracker-2010/alter-table-restart-crash.SF-2975022/Tests/SingleServer
sql/test/BugTracker-2011/Tests/SingleServer
sql/test/BugTracker-2011/Tests/interrupted-initialization.Bug-2875.SQL.py
sql/test/BugTracker-2012/Tests/SingleServer
sql/test/BugTracker-2013/Tests/SingleServer
sql/test/BugTracker-2013/Tests/corrupt-after-restart.Bug-3282.SQL.py
sql/test/BugTracker-2014/Tests/SingleServer
sql/test/BugTracker-2015/Tests/SingleServer
sql/test/BugTracker-2016/Tests/SingleServer
sql/test/BugTracker-2017/Tests/SingleServer
sql/test/BugTracker-2017/Tests/shutdown.Bug-6182.SQL.py
sql/test/BugTracker-2018/Tests/SingleServer
sql/test/BugTracker-2018/Tests/grant-role-not-idempotent.Bug-6660.SQL.py
sql/test/BugTracker-2019/Tests/SingleServer
sql/test/BugTracker-2020/Tests/SingleServer
sql/test/BugTracker-2020/Tests/functions-not-persist.Bug-6819.SQL.py
sql/test/Skyserver/bugs/Tests/SingleServer
sql/test/UserDump/Tests/SingleServer
sql/test/VOC/Tests/SingleServer
sql/test/remote/Tests/SingleServer
sql/test/rename/Tests/SingleServer
sql/test/rename/Tests/rename00.SQL.py
sql/test/sql_xml/Tests/SingleServer
Removed Files:
sql/test/BugTracker-2009/Tests/create_on_ro_db_crash.SF-2830238.py
sql/test/BugTracker-2009/Tests/lost_update.SF-2790020.py
sql/test/BugTracker-2010/Tests/new-readonly-db.Bug-2695.py
sql/test/BugTracker-2011/Tests/interrupted-initialization.Bug-2875.py
sql/test/BugTracker-2013/Tests/corrupt-after-restart.Bug-3282.py
sql/test/BugTracker-2017/Tests/shutdown.Bug-6182.sql
sql/test/BugTracker-2018/Tests/grant-role-not-idempotent.Bug-6660.py
sql/test/BugTracker-2020/Tests/functions-not-persist.Bug-6819.py
sql/test/BugTracker/Tests/connect_crash.SF-1436626.py
sql/test/BugTracker/Tests/mdb_starts_with_sql_debug_64.SF-1999354.py
sql/test/BugTracker/Tests/set_a_new_user_password.SF-1844050.py
sql/test/BugTracker/Tests/set_sql_debug_64__breaking_the_DB.SF-1906287.py
sql/test/rename/Tests/rename00.py
Modified Files:
monetdb5/mal/mal_import.c
sql/test/BugTracker-2019/Tests/alter_table_drop_column.Bug-6749.py
sql/test/BugTracker-2019/Tests/grant-select-column.Bug-6765.py
sql/test/BugTracker-2019/Tests/msqldump-mapi-cache.Bug-6777.py
sql/test/BugTracker-2019/Tests/python-loader-string.Bug-6759.py
sql/test/BugTracker-2020/Tests/alter-table-add-column.Bug-6816.py
sql/test/BugTracker/Tests/mdb_starts_with_sql_debug_64.SF-1999354.SQL.py
sql/test/BugTracker/Tests/set_a_new_user_password.SF-1844050.SQL.py
sql/test/BugTracker/Tests/set_sql_debug_64__breaking_the_DB.SF-1906287.SQL.py
sql/test/merge-partitions/Tests/mergepart23.SQL.py
sql/test/merge-partitions/Tests/mergepart23.stable.out
Branch: linear-hashing
Log Message:
Merged with Nov2019
diffs (truncated from 947 to 300 lines):
diff --git a/monetdb5/mal/mal_import.c b/monetdb5/mal/mal_import.c
--- a/monetdb5/mal/mal_import.c
+++ b/monetdb5/mal/mal_import.c
@@ -425,7 +425,7 @@ callString(Client cntxt, str s, int list
GDKfree(qry);
throw(MAL,"callstring", SQLSTATE(HY013) MAL_MALLOC_FAIL);
}
- c= MCinitClient((oid)0, bs,0);
+ c= MCinitClient((oid)0, bs, cntxt->fdout);
if( c == NULL){
GDKfree(b);
GDKfree(qry);
@@ -448,10 +448,13 @@ callString(Client cntxt, str s, int list
c->usermodule = 0;
GDKfree(b);
GDKfree(qry);
+ c->fdout = GDKstdout;
MCcloseClient(c);
return msg;
}
- if((msg = runScenario(c,1)) != MAL_SUCCEED) {
+ msg = runScenario(c,1);
+ c->fdout = GDKstdout;
+ if (msg != MAL_SUCCEED) {
c->usermodule = 0;
GDKfree(b);
GDKfree(qry);
diff --git a/sql/test/BugTracker-2009/Tests/SingleServer
b/sql/test/BugTracker-2009/Tests/SingleServer
new file mode 100644
diff --git a/sql/test/BugTracker-2009/Tests/create_on_ro_db_crash.SF-2830238.py
b/sql/test/BugTracker-2009/Tests/create_on_ro_db_crash.SF-2830238.SQL.py
rename from sql/test/BugTracker-2009/Tests/create_on_ro_db_crash.SF-2830238.py
rename to sql/test/BugTracker-2009/Tests/create_on_ro_db_crash.SF-2830238.SQL.py
--- a/sql/test/BugTracker-2009/Tests/create_on_ro_db_crash.SF-2830238.py
+++ b/sql/test/BugTracker-2009/Tests/create_on_ro_db_crash.SF-2830238.SQL.py
@@ -1,15 +1,22 @@
-import sys
-import os
+import os, socket, sys, tempfile, shutil
try:
from MonetDBtesting import process
except ImportError:
import process
+def freeport():
+ sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
+ sock.bind(('', 0))
+ port = sock.getsockname()[1]
+ sock.close()
+ return port
+
+farm_dir = tempfile.mkdtemp()
+os.mkdir(os.path.join(farm_dir, 'db1'))
+myport = freeport()
+
def client(input):
- c = process.client('sql',
- stdin = process.PIPE,
- stdout = process.PIPE,
- stderr = process.PIPE)
+ c = process.client('sql', port = myport, dbname='db1', stdin =
process.PIPE, stdout = process.PIPE, stderr = process.PIPE)
out, err = c.communicate(input)
sys.stdout.write(out)
sys.stderr.write(err)
@@ -19,14 +26,19 @@ create table t2 (a int);
'''
def main():
- s = process.server(args = ["--set", "gdk_readonly=yes"],
- stdin = process.PIPE,
- stdout = process.PIPE,
- stderr = process.PIPE)
+ s = process.server(mapiport=myport, dbname='db1',
dbfarm=os.path.join(farm_dir, 'db1'), stdin = process.PIPE,
+ stdout = process.PIPE, stderr = process.PIPE) # Start
the server without readonly one time to initialize catalog
+ out, err = s.communicate()
+ sys.stdout.write(out)
+ sys.stderr.write(err)
+ s = process.server(args = ["--set", "gdk_readonly=yes"], mapiport=myport,
dbname='db1', dbfarm=os.path.join(farm_dir, 'db1'), stdin = process.PIPE,
+ stdout = process.PIPE, stderr = process.PIPE)
client(script1)
out, err = s.communicate()
sys.stdout.write(out)
sys.stderr.write(err)
+ shutil.rmtree(farm_dir)
+
if __name__ == '__main__':
main()
diff --git a/sql/test/BugTracker-2009/Tests/lost_update.SF-2790020.py
b/sql/test/BugTracker-2009/Tests/lost_update.SF-2790020.SQL.py
rename from sql/test/BugTracker-2009/Tests/lost_update.SF-2790020.py
rename to sql/test/BugTracker-2009/Tests/lost_update.SF-2790020.SQL.py
--- a/sql/test/BugTracker-2009/Tests/lost_update.SF-2790020.py
+++ b/sql/test/BugTracker-2009/Tests/lost_update.SF-2790020.SQL.py
@@ -1,15 +1,24 @@
-import sys
-import os
+import sys, os, socket, sys, tempfile, shutil
try:
from MonetDBtesting import process
except ImportError:
import process
+def freeport():
+ sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
+ sock.bind(('', 0))
+ port = sock.getsockname()[1]
+ sock.close()
+ return port
+
+farm_dir = tempfile.mkdtemp()
+os.mkdir(os.path.join(farm_dir, 'db1'))
+myport = freeport()
+
def server():
- return process.server(stdin = process.PIPE,
- stdout = process.PIPE,
- stderr = process.PIPE)
+ return process.server(mapiport=myport, dbname='db1',
dbfarm=os.path.join(farm_dir, 'db1'), stdin = process.PIPE,
+ stdout = process.PIPE, stderr = process.PIPE)
def server_stop(s):
out, err = s.communicate()
@@ -17,10 +26,7 @@ def server_stop(s):
sys.stderr.write(err)
def client(input):
- c = process.client('sql',
- stdin = process.PIPE,
- stdout = process.PIPE,
- stderr = process.PIPE)
+ c = process.client('sql', port = myport, dbname='db1', stdin =
process.PIPE, stdout = process.PIPE, stderr = process.PIPE)
out, err = c.communicate(input)
sys.stdout.write(out)
sys.stderr.write(err)
@@ -73,5 +79,7 @@ def main():
client(cleanup)
server_stop(s)
+ shutil.rmtree(farm_dir)
+
if __name__ == '__main__':
main()
diff --git a/sql/test/BugTracker-2010/Tests/SingleServer
b/sql/test/BugTracker-2010/Tests/SingleServer
new file mode 100644
diff --git a/sql/test/BugTracker-2010/Tests/new-readonly-db.Bug-2695.py
b/sql/test/BugTracker-2010/Tests/new-readonly-db.Bug-2695.SQL.py
rename from sql/test/BugTracker-2010/Tests/new-readonly-db.Bug-2695.py
rename to sql/test/BugTracker-2010/Tests/new-readonly-db.Bug-2695.SQL.py
--- a/sql/test/BugTracker-2010/Tests/new-readonly-db.Bug-2695.py
+++ b/sql/test/BugTracker-2010/Tests/new-readonly-db.Bug-2695.SQL.py
@@ -1,24 +1,24 @@
-from __future__ import print_function
-
+import os, socket, sys, tempfile, shutil
try:
from MonetDBtesting import process
except ImportError:
import process
-import os
-dbfarm = os.getenv('GDK_DBFARM')
-tstdb = os.getenv('TSTDB')
-
-if not tstdb or not dbfarm:
- print('No TSTDB or GDK_DBFARM in environment')
- sys.exit(1)
+def freeport():
+ sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
+ sock.bind(('', 0))
+ port = sock.getsockname()[1]
+ sock.close()
+ return port
-dbname = tstdb + '-2695'
+farm_dir = tempfile.mkdtemp()
+os.mkdir(os.path.join(farm_dir, 'db1'))
+myport = freeport()
-# clean up before we start
-if os.path.exists(os.path.join(dbfarm, dbname)):
- import shutil
- shutil.rmtree(os.path.join(dbfarm, dbname))
+s = process.server(args = ['--readonly'], mapiport=myport, dbname='db1',
dbfarm=os.path.join(farm_dir, 'db1'), stdin = process.PIPE,
+ stdout = process.PIPE, stderr = process.PIPE)
+out, err = s.communicate()
+sys.stdout.write(out)
+sys.stderr.write(err)
-s = process.server(args = ['--readonly'], dbname = dbname)
-s.wait()
+shutil.rmtree(farm_dir)
diff --git
a/sql/test/BugTracker-2010/alter-table-restart-crash.SF-2975018/Tests/SingleServer
b/sql/test/BugTracker-2010/alter-table-restart-crash.SF-2975018/Tests/SingleServer
new file mode 100644
diff --git
a/sql/test/BugTracker-2010/alter-table-restart-crash.SF-2975022/Tests/SingleServer
b/sql/test/BugTracker-2010/alter-table-restart-crash.SF-2975022/Tests/SingleServer
new file mode 100644
diff --git a/sql/test/BugTracker-2011/Tests/SingleServer
b/sql/test/BugTracker-2011/Tests/SingleServer
new file mode 100644
diff --git
a/sql/test/BugTracker-2011/Tests/interrupted-initialization.Bug-2875.py
b/sql/test/BugTracker-2011/Tests/interrupted-initialization.Bug-2875.SQL.py
rename from
sql/test/BugTracker-2011/Tests/interrupted-initialization.Bug-2875.py
rename to
sql/test/BugTracker-2011/Tests/interrupted-initialization.Bug-2875.SQL.py
--- a/sql/test/BugTracker-2011/Tests/interrupted-initialization.Bug-2875.py
+++ b/sql/test/BugTracker-2011/Tests/interrupted-initialization.Bug-2875.SQL.py
@@ -1,37 +1,32 @@
from __future__ import print_function
-import os, sys
+import os, socket, sys, tempfile, shutil
try:
from MonetDBtesting import process
except ImportError:
import process
-dbfarm = os.getenv('GDK_DBFARM')
-tstdb = os.getenv('TSTDB')
-
-if not tstdb or not dbfarm:
- print('No TSTDB or GDK_DBFARM in environment')
- sys.exit(1)
-
-dbname = tstdb + '-bug2875'
+def freeport():
+ sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
+ sock.bind(('', 0))
+ port = sock.getsockname()[1]
+ sock.close()
+ return port
-# clean up before we start
-if os.path.exists(os.path.join(dbfarm, dbname)):
- import shutil
- shutil.rmtree(os.path.join(dbfarm, dbname))
+farm_dir = tempfile.mkdtemp()
+os.mkdir(os.path.join(farm_dir, 'db1'))
+myport = freeport()
-s = process.server(stdin = process.PIPE,
- stdout = process.PIPE,
- stderr = process.PIPE,
- dbname = dbname)
+s = process.server(mapiport=myport, dbname='db1',
dbfarm=os.path.join(farm_dir, 'db1'), stdin = process.PIPE,
+ stdout = process.PIPE, stderr = process.PIPE)
out, err = s.communicate()
sys.stdout.write(out)
sys.stderr.write(err)
-s = process.server(stdin = process.PIPE,
- stdout = process.PIPE,
- stderr = process.PIPE,
- dbname = dbname)
+s = process.server(mapiport=myport, dbname='db1',
dbfarm=os.path.join(farm_dir, 'db1'), stdin = process.PIPE,
+ stdout = process.PIPE, stderr = process.PIPE)
c = process.client(lang = 'sqldump',
+ port=myport,
+ dbname='db1',
stdin = process.PIPE,
stdout = process.PIPE,
stderr = process.PIPE,
@@ -42,3 +37,5 @@ sys.stderr.write(err)
out, err = s.communicate()
sys.stdout.write(out)
sys.stderr.write(err)
+
+shutil.rmtree(farm_dir)
diff --git a/sql/test/BugTracker-2012/Tests/SingleServer
b/sql/test/BugTracker-2012/Tests/SingleServer
new file mode 100644
diff --git a/sql/test/BugTracker-2013/Tests/SingleServer
b/sql/test/BugTracker-2013/Tests/SingleServer
new file mode 100644
diff --git a/sql/test/BugTracker-2013/Tests/corrupt-after-restart.Bug-3282.py
b/sql/test/BugTracker-2013/Tests/corrupt-after-restart.Bug-3282.SQL.py
rename from sql/test/BugTracker-2013/Tests/corrupt-after-restart.Bug-3282.py
rename to sql/test/BugTracker-2013/Tests/corrupt-after-restart.Bug-3282.SQL.py
--- a/sql/test/BugTracker-2013/Tests/corrupt-after-restart.Bug-3282.py
+++ b/sql/test/BugTracker-2013/Tests/corrupt-after-restart.Bug-3282.SQL.py
@@ -1,12 +1,23 @@
+import os, socket, sys, tempfile, shutil
try:
from MonetDBtesting import process
except ImportError:
import process
-import sys
+def freeport():
+ sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
+ sock.bind(('', 0))
+ port = sock.getsockname()[1]
+ sock.close()
+ return port
-s = process.server(stdin = process.PIPE, stdout = process.PIPE, stderr =
process.PIPE)
-c = process.client('sql', stdin = process.PIPE, stdout = process.PIPE, stderr
= process.PIPE)
+farm_dir = tempfile.mkdtemp()
+os.mkdir(os.path.join(farm_dir, 'db1'))
+myport = freeport()
+
+s = process.server(mapiport=myport, dbname='db1',
dbfarm=os.path.join(farm_dir, 'db1'), stdin = process.PIPE,
+ stdout = process.PIPE, stderr = process.PIPE)
+c = process.client('sql', port=myport, dbname='db1', stdin = process.PIPE,
stdout = process.PIPE, stderr = process.PIPE)
out, err = c.communicate('''start transaction;
create table table3282 (i int);
insert into table3282 values (0);
@@ -39,8 +50,9 @@ sys.stderr.write(err)
out, err = s.communicate()
sys.stdout.write(out)
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list