MonetDB: default - More clean up
Changeset: 39d47e39fd49 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=39d47e39fd49 Added Files: sql/test/Users/Tests/createSetUp.sql sql/test/Users/Tests/privs.sql sql/test/Users/Tests/privs2.sql Removed Files: sql/test/Users/Tests/createSetUp.sql.src sql/test/Users/Tests/createSetUp.stable.err sql/test/Users/Tests/createSetUp.stable.out sql/test/Users/Tests/privs.sql.src sql/test/Users/Tests/privs.stable.err sql/test/Users/Tests/privs.stable.out sql/test/Users/Tests/privs2.sql.src sql/test/Users/Tests/privs2.stable.err sql/test/Users/Tests/privs2.stable.out sql/test/Users/Tests/test_privs2_p1.stable.err sql/test/Users/Tests/test_privs2_p1.stable.out sql/test/Users/Tests/test_privs2_p2.stable.err sql/test/Users/Tests/test_privs2_p2.stable.out sql/test/Users/Tests/test_privs_p1.stable.err sql/test/Users/Tests/test_privs_p1.stable.out sql/test/Users/Tests/test_privs_p2.stable.err sql/test/Users/Tests/test_privs_p2.stable.out sql/test/Users/createSetUp.sql sql/test/Users/privs.sql sql/test/Users/privs2.sql sql/test/Users/table.sql sql/test/Users/test_privs.sql sql/test/Users/test_privs2.sql Modified Files: sql/test/Users/Tests/createSetUp.test sql/test/Users/Tests/privs2.test Branch: default Log Message: More clean up - replaced the unnecessary .src files with just the .sql contents - removed stable.{err,out} diffs (truncated from 936 to 300 lines): diff --git a/sql/test/Users/Tests/createSetUp.sql.src b/sql/test/Users/Tests/createSetUp.sql rename from sql/test/Users/Tests/createSetUp.sql.src rename to sql/test/Users/Tests/createSetUp.sql --- a/sql/test/Users/Tests/createSetUp.sql.src +++ b/sql/test/Users/Tests/createSetUp.sql @@ -1,1 +1,14 @@ -$RELSRCDIR/../createSetUp.sql +CREATE SCHEMA library; +CREATE TABLE library.orders(price int, name VARCHAR(100)); + +CREATE ROLE bankAdmin; +CREATE SCHEMA bank AUTHORIZATION bankAdmin; +CREATE TABLE bank.accounts(nr int, name VARCHAR(100)); +CREATE TABLE bank.loans(nr int, amount int); + +CREATE USER alice WITH PASSWORD 'alice' name 'alice' schema library; +CREATE USER april WITH PASSWORD 'april' name 'april' schema bank; + +GRANT ALL ON bank.accounts to april; +GRANT bankAdmin to april; + diff --git a/sql/test/Users/Tests/createSetUp.stable.err b/sql/test/Users/Tests/createSetUp.stable.err deleted file mode 100644 --- a/sql/test/Users/Tests/createSetUp.stable.err +++ /dev/null @@ -1,37 +0,0 @@ -stderr of test 'createSetUp` in directory 'sql/test/Users` itself: - - -# 23:01:30 > -# 23:01:30 > "mserver5" "--debug=10" "--set" "gdk_nr_threads=0" "--set" "mapi_open=true" "--set" "mapi_port=36242" "--set" "mapi_usock=/var/tmp/mtest-7070/.s.monetdb.36242" "--set" "monet_prompt=" "--forcemito" "--set" "mal_listing=2" "--dbpath=/home/vera/Desktop/MonetDB/BUILD/var/MonetDB/mTests_sql_test_Users" "--set" "mal_listing=0" "--set" "embedded_r=yes" -# 23:01:30 > - -# builtin opt gdk_dbpath = /home/vera/Desktop/MonetDB/BUILD/var/monetdb5/dbfarm/demo -# builtin opt gdk_debug = 0 -# builtin opt gdk_vmtrim = no -# builtin opt monet_prompt = > -# builtin opt monet_daemon = no -# builtin opt mapi_port = 5 -# builtin opt mapi_open = false -# builtin opt mapi_autosense = false -# builtin opt sql_optimizer = default_pipe -# builtin opt sql_debug = 0 -# cmdline opt gdk_nr_threads = 0 -# cmdline opt mapi_open = true -# cmdline opt mapi_port = 36242 -# cmdline opt mapi_usock = /var/tmp/mtest-7070/.s.monetdb.36242 -# cmdline opt monet_prompt = -# cmdline opt mal_listing = 2 -# cmdline opt gdk_dbpath = /home/vera/Desktop/MonetDB/BUILD/var/MonetDB/mTests_sql_test_Users -# cmdline opt mal_listing = 0 -# cmdline opt embedded_r = yes -# cmdline opt gdk_debug = 536870922 - -# 23:01:31 > -# 23:01:31 > "mclient" "-lsql" "-ftest" "-Eutf-8" "-i" "-e" "--host=/var/tmp/mtest-7070" "--port=36242" -# 23:01:31 > - - -# 23:01:31 > -# 23:01:31 > "Done." -# 23:01:31 > - diff --git a/sql/test/Users/Tests/createSetUp.stable.out b/sql/test/Users/Tests/createSetUp.stable.out deleted file mode 100644 --- a/sql/test/Users/Tests/createSetUp.stable.out +++ /dev/null @@ -1,45 +0,0 @@ -stdout of test 'createSetUp` in directory 'sql/test/Users` itself: - - -# 23:01:30 > -# 23:01:30 > "mserver5" "--debug=10" "--set" "gdk_nr_threads=0" "--set" "mapi_open=true" "--set" "mapi_port=36242" "--set" "mapi_usock=/var/tmp/mtest-7070/.s.monetdb.36242" "--set" "monet_prompt=" "--forcemito" "--set" "mal_listing=2" "--dbpath=/home/vera/Desktop/MonetDB/BUILD/var/MonetDB/mTests_sql_test_Users" "--set" "mal_listing=0" "--set" "embedded_r=yes" -# 23:01:30 > - -# MonetDB 5 server v11.22.0 -# This is an unreleased version -# Serving database 'mTests_sql_test_Users', using 8 threads -# Compiled for x86_64-unknown-linux-gnu/64bit with 6
MonetDB: default - cleaned up "schema", ROLE test moved to "role"
Changeset: b6dd4222609f for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=b6dd4222609f Added Files: sql/test/Users/Tests/schema.sql Removed Files: sql/test/Users/Tests/schema.sql.src sql/test/Users/Tests/schema.stable.err sql/test/Users/Tests/schema.stable.out sql/test/Users/schema.sql Modified Files: sql/test/Users/Tests/role.SQL.py sql/test/Users/Tests/schema.test Branch: default Log Message: cleaned up "schema", ROLE test moved to "role" diffs (145 lines): diff --git a/sql/test/Users/Tests/role.SQL.py b/sql/test/Users/Tests/role.SQL.py --- a/sql/test/Users/Tests/role.SQL.py +++ b/sql/test/Users/Tests/role.SQL.py @@ -8,6 +8,7 @@ # 5. check that we can DROP a ROLE after REVOKE # 6. check that we cannot REVOKE a non-GRANTed ROLE # 7. check that afer a ROLE is REVOKEd the USER can no longer assume it. +# 8. check that we cannot GRANT an unexisting ROLE. ### from MonetDBtesting.sqltest import SQLTestCase @@ -23,8 +24,8 @@ with SQLTestCase() as tc: tc.execute("CREATE ROLE role1;").assertFailed(err_code="0P000", err_message="Role 'role1' already exists") tc.execute("CREATE USER alice with password 'alice' name 'alice' schema sys;") -tc.execute("GRANT role1 to alice;").assertSucceeded() -tc.execute("GRANT role2 to alice;").assertSucceeded() +tc.execute("GRANT role1 TO alice;").assertSucceeded() +tc.execute("GRANT role2 TO alice;").assertSucceeded() #tc.execute("DROP ROLE role1;").assertFailed() tc.connect(username="alice", password="alice") @@ -32,17 +33,18 @@ with SQLTestCase() as tc: tc.execute("SET ROLE role3;").assertFailed(err_code="42000", err_message="Role (role3) missing") tc.connect(username="monetdb", password="monetdb") -tc.execute("REVOKE role1 from alice;").assertSucceeded() -tc.execute("REVOKE role2 from alice;").assertSucceeded() +tc.execute("REVOKE role1 FROM alice;").assertSucceeded() +tc.execute("REVOKE role2 FROM alice;").assertSucceeded() tc.execute("DROP ROLE role2;").assertSucceeded() -tc.execute("REVOKE role3 from alice;").assertFailed(err_code="01006", err_message="REVOKE: User 'alice' does not have ROLE 'role3'") +tc.execute("REVOKE role3 FROM alice;").assertFailed(err_code="01006", err_message="REVOKE: User 'alice' does not have ROLE 'role3'") tc.connect(username="alice", password="alice") tc.execute("SET ROLE role1;").assertFailed(err_code="42000", err_message="Role (role1) missing") tc.execute("SET ROLE role2;").assertFailed(err_code="42000", err_message="Role (role2) missing") tc.connect(username="monetdb", password="monetdb") +tc.execute("GRANT non_existing_role TO alice;").assertFailed(err_code="M1M05", err_message="GRANT: Cannot grant ROLE 'non_existing_role' to user 'alice'") tc.execute("DROP ROLE role1;").assertSucceeded() tc.execute("DROP ROLE role3;").assertSucceeded() tc.execute("DROP USER alice;").assertSucceeded() diff --git a/sql/test/Users/Tests/schema.sql.src b/sql/test/Users/Tests/schema.sql rename from sql/test/Users/Tests/schema.sql.src rename to sql/test/Users/Tests/schema.sql --- a/sql/test/Users/Tests/schema.sql.src +++ b/sql/test/Users/Tests/schema.sql @@ -1,1 +1,9 @@ -$RELSRCDIR/../schema.sql +CREATE ROLE my_role; + +CREATE SCHEMA my_schema AUTHORIZATION my_role; + +CREATE USER my_user with password 'p1' name 'User with role' schema "my_schema"; + +GRANT my_role to my_user; + +CREATE USER my_user2 with password 'p2' name 'User without role' schema "my_schema"; diff --git a/sql/test/Users/Tests/schema.stable.err b/sql/test/Users/Tests/schema.stable.err deleted file mode 100644 --- a/sql/test/Users/Tests/schema.stable.err +++ /dev/null @@ -1,21 +0,0 @@ -stderr of test 'schema` in directory 'sql/test/Users` itself: - - -# 14:00:57 > -# 14:00:57 > Mtimeout -timeout 180 Mserver "--config=/ufs/niels/scratch/rc/Linux-x86_64/etc/MonetDB.conf" --debug=10 --set "monet_mod_path=/ufs/niels/scratch/rc/Linux-x86_64/lib/MonetDB4:/ufs/niels/scratch/rc/Linux-x86_64/lib/MonetDB4/lib:/ufs/niels/scratch/rc/Linux-x86_64/lib/MonetDB4/bin" --set "gdk_dbfarm=/ufs/niels/scratch/rc/Linux-x86_64/var/MonetDB4/dbfarm" --set "sql_logdir=/ufs/niels/scratch/rc/Linux-x86_64/var/MonetDB4/sql_logs" --set "xquery_logdir=/ufs/niels/scratch/rc/Linux-x86_64/var/MonetDB4/xquery_logs" --set mapi_port=35107 --set xrpc_port=40472 --set monet_prompt= --trace "--dbname=mTests_src_test_Users" --dbinit=" module(sql_server);" ; echo ; echo Over.. -# 14:00:57 > - - -# 14:00:57 > -# 14:00:57 > Mtimeout -timeout 60 MapiClient -lsql -umonetdb -Pmonetdb --host=localhost --port=35107 < schema.sql -# 14:00:57 > - -MAPI = (monetdb) /var/tmp/mtest-26250/.s.monetdb.37381 -QUERY = GRANT my_owner to my_user; -- error wrong non existing role -ERROR = !GRANT: Cannot grant ROLE 'my_owner' to user 'my_user' -CODE = M1M05 - -# 14:00:57 > -# 14:00:57 > Done. -# 14:00:57 > - di
MonetDB: default - minor fix
Changeset: 0ccf3d4e20e0 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=0ccf3d4e20e0 Modified Files: sql/test/Users/Tests/role.SQL.py Branch: default Log Message: minor fix diffs (11 lines): diff --git a/sql/test/Users/Tests/role.SQL.py b/sql/test/Users/Tests/role.SQL.py --- a/sql/test/Users/Tests/role.SQL.py +++ b/sql/test/Users/Tests/role.SQL.py @@ -42,6 +42,7 @@ with SQLTestCase() as tc: tc.execute("SET ROLE role1;").assertFailed(err_code="42000", err_message="Role (role1) missing") tc.execute("SET ROLE role2;").assertFailed(err_code="42000", err_message="Role (role2) missing") +tc.connect(username="monetdb", password="monetdb") tc.execute("DROP ROLE role1;").assertSucceeded() tc.execute("DROP ROLE role3;").assertSucceeded() tc.execute("DROP USER alice;").assertSucceeded() ___ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list
MonetDB: default - Clean up at the end of the test
Changeset: e8878e441cf5 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=e8878e441cf5 Modified Files: sql/test/Users/Tests/role.SQL.py Branch: default Log Message: Clean up at the end of the test diffs (10 lines): diff --git a/sql/test/Users/Tests/role.SQL.py b/sql/test/Users/Tests/role.SQL.py --- a/sql/test/Users/Tests/role.SQL.py +++ b/sql/test/Users/Tests/role.SQL.py @@ -42,3 +42,6 @@ with SQLTestCase() as tc: tc.execute("SET ROLE role1;").assertFailed(err_code="42000", err_message="Role (role1) missing") tc.execute("SET ROLE role2;").assertFailed(err_code="42000", err_message="Role (role2) missing") +tc.execute("DROP ROLE role1;").assertSucceeded() +tc.execute("DROP ROLE role3;").assertSucceeded() +tc.execute("DROP USER alice;").assertSucceeded() ___ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list
MonetDB: default - more clean up
Changeset: 18e2b2f331e2 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=18e2b2f331e2 Removed Files: sql/test/Users/role.sql Branch: default Log Message: more clean up diffs (6 lines): diff --git a/sql/test/Users/role.sql b/sql/test/Users/role.sql deleted file mode 100644 --- a/sql/test/Users/role.sql +++ /dev/null @@ -1,1 +0,0 @@ -SET ROLE my_role; ___ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list
MonetDB: default - Clean up, merge and extend all ROLE tests int...
Changeset: cfeca9262b44 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=cfeca9262b44 Removed Files: sql/test/Users/Tests/role.stable.err sql/test/Users/Tests/role.stable.out sql/test/Users/Tests/role1.SQL.py Modified Files: sql/test/Users/Tests/All sql/test/Users/Tests/role.SQL.py Branch: default Log Message: Clean up, merge and extend all ROLE tests into "role" diffs (243 lines): diff --git a/sql/test/Users/Tests/All b/sql/test/Users/Tests/All --- a/sql/test/Users/Tests/All +++ b/sql/test/Users/Tests/All @@ -1,4 +1,4 @@ -role1 +role schema table unknown_user @@ -14,7 +14,6 @@ columnRights changePasswordUser renameUser changeSchemaUser -role grantMonetdb copyinto schemaRights diff --git a/sql/test/Users/Tests/role.SQL.py b/sql/test/Users/Tests/role.SQL.py --- a/sql/test/Users/Tests/role.SQL.py +++ b/sql/test/Users/Tests/role.SQL.py @@ -1,46 +1,44 @@ ### -# Revoke role and confirm user can no longer assume it. -# Assess there is an error message if dropping unexisting role. -# Assess it is not possible to recreate an existing role. +# Tests for roles and users +# +# 1. check that we cannot DROP an unexisting ROLE. +# 2. check that it is not possible to reCREATE an existing ROLE. +# 3. check that we cannot DROP a ROLE GRANTed TO a USER +# 4. check that a USER can SET a GRANTed ROLE but cannot SET a non-GRANTed ROLE +# 5. check that we can DROP a ROLE after REVOKE +# 6. check that we cannot REVOKE a non-GRANTed ROLE +# 7. check that afer a ROLE is REVOKEd the USER can no longer assume it. ### from MonetDBtesting.sqltest import SQLTestCase with SQLTestCase() as tc: tc.connect(username="monetdb", password="monetdb") -tc.execute(""" -REVOKE bankAdmin from april; -CREATE ROLE bankAdmin2; -GRANT bankAdmin2 to april; -DROP ROLE bankAdmin2; -""").assertSucceeded() -tc.execute("DROP ROLE bankAdmin3; -- role doesn't exist").assertFailed() + +tc.execute("DROP ROLE non_existing_role;").assertFailed(err_code="0P000", err_message="DROP ROLE: no such role 'non_existing_role'") -tc.connect(username="april", password="april") -tc.execute("SET ROLE bankAdmin; -- role revoked").assertFailed() -tc.execute("SET ROLE bankAdmin2; -- role no longer exists").assertFailed() +tc.execute("CREATE ROLE role1;").assertSucceeded() +tc.execute("CREATE ROLE role2;").assertSucceeded() +tc.execute("CREATE ROLE role3;").assertSucceeded() +tc.execute("CREATE ROLE role1;").assertFailed(err_code="0P000", err_message="Role 'role1' already exists") -# import os, sys -# try: -# from MonetDBtesting import process -# except ImportError: -# import process +tc.execute("CREATE USER alice with password 'alice' name 'alice' schema sys;") +tc.execute("GRANT role1 to alice;").assertSucceeded() +tc.execute("GRANT role2 to alice;").assertSucceeded() +#tc.execute("DROP ROLE role1;").assertFailed() -# def sql_test_client(user, passwd, input): -# with process.client(lang="sql", user=user, passwd=passwd, communicate=True, -# stdin=process.PIPE, stdout=process.PIPE, stderr=process.PIPE, -# input=input, port=int(os.getenv("MAPIPORT"))) as c: -# c.communicate() +tc.connect(username="alice", password="alice") +tc.execute("SET ROLE role1;").assertSucceeded() +tc.execute("SET ROLE role3;").assertFailed(err_code="42000", err_message="Role (role3) missing") -# sql_test_client('monetdb', 'monetdb', input="""\ -# REVOKE bankAdmin from april; -# CREATE ROLE bankAdmin2; -# GRANT bankAdmin2 to april; -# DROP ROLE bankAdmin2; -# DROP ROLE bankAdmin3; -- role doesn't exist -# """) +tc.connect(username="monetdb", password="monetdb") +tc.execute("REVOKE role1 from alice;").assertSucceeded() +tc.execute("REVOKE role2 from alice;").assertSucceeded() +tc.execute("DROP ROLE role2;").assertSucceeded() -# sql_test_client('april', 'april', input="""\ -# SET ROLE bankAdmin; -- role revoked -# SET ROLE bankAdmin2; -- role no longer exists -# """) +tc.execute("REVOKE role3 from alice;").assertFailed(err_code="01006", err_message="REVOKE: User 'alice' does not have ROLE 'role3'") + +tc.connect(username="alice", password="alice") +tc.execute("SET ROLE role1;").assertFailed(err_code="42000", err_message="Role (role1) missing") +tc.execute("SET ROLE role2;").assertFailed(err_code="42000", err_message="Role (role2) missing") + diff --git a/sql/test/Users/Tests/role.stable.err b/sql/test/Users/Tests/role.stable.err deleted file mode 100644 --- a/sql/test/Users/Tests/role.stable.err +++ /dev/null @@ -1,49 +0,0 @@ -stderr of test 'role` in directory 'sql/test/Users` itself: - - -# 23:01:33 > -# 23:01:33 > "mserver5" "--debug=10" "--set" "gdk_nr_threads=0" "--set" "mapi_open=true" "--set" "mapi_port=36242" "--set" "mapi_usock=/var/tmp/mtest-7070/.s.monetdb.36242" "--set" "monet_prompt="
MonetDB: default - Merged "role1" and "role2" into "role1", and ...
Changeset: 1f9033522773 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=1f9033522773 Removed Files: sql/test/Users/Tests/role1.reqtests sql/test/Users/Tests/role1.stable.err sql/test/Users/Tests/role1.stable.out sql/test/Users/Tests/role2.SQL.py sql/test/Users/Tests/role2.reqtests sql/test/Users/Tests/role2.stable.err sql/test/Users/Tests/role2.stable.out Modified Files: sql/test/Users/Tests/All sql/test/Users/Tests/role1.SQL.py Branch: default Log Message: Merged "role1" and "role2" into "role1", and removed its dependency on the test "schema" diffs (271 lines): diff --git a/sql/test/Users/Tests/All b/sql/test/Users/Tests/All --- a/sql/test/Users/Tests/All +++ b/sql/test/Users/Tests/All @@ -1,6 +1,5 @@ +role1 schema -role1 -role2 table unknown_user privs @@ -22,4 +21,4 @@ schemaRights metadataConsistency sessioncontrol createUserRollback -HAVE_PYMONETDB?userCallFunction +userCallFunction diff --git a/sql/test/Users/Tests/role1.SQL.py b/sql/test/Users/Tests/role1.SQL.py --- a/sql/test/Users/Tests/role1.SQL.py +++ b/sql/test/Users/Tests/role1.SQL.py @@ -1,5 +1,6 @@ ### # SET a GRANTed ROLE for a USER (possible). +# SET a non-GRANTed ROLE for a USER (not possible). ### import os, sys @@ -8,11 +9,34 @@ import pymonetdb db=os.getenv("TSTDB") port=int(os.getenv("MAPIPORT")) +mdbconn = pymonetdb.connect(database=db, port=port, autocommit=True, user='monetdb', password='monetdb') +mdb = mdbconn.cursor() +mdb.execute("CREATE ROLE my_role") +mdb.execute("CREATE SCHEMA my_schema AUTHORIZATION my_role") +mdb.execute("CREATE USER my_user with password 'p1' name 'User with role' schema my_schema") +mdb.execute("GRANT my_role to my_user") +mdb.execute("CREATE USER my_user2 with password 'p2' name 'User without role' schema my_schema") + client = pymonetdb.connect(database=db, port=port, autocommit=True, user='my_user', password='p1') cursor = client.cursor() - # exceptions will output cursor.execute("SET ROLE my_role") - cursor.close() client.close() + +client = pymonetdb.connect(database=db, port=port, autocommit=True, user='my_user2', password='p2') +cursor = client.cursor() +# exception "!Role (my_role) missing" is expected +try: +cursor.execute("SET ROLE my_role") +except: +pass +cursor.close() +client.close() + +mdb.execute("DROP USER my_user") +mdb.execute("DROP USER my_user2") +mdb.execute("DROP ROLE my_role") +mdb.execute("DROP SCHEMA my_schema") +mdb.close() +mdbconn.close() diff --git a/sql/test/Users/Tests/role1.reqtests b/sql/test/Users/Tests/role1.reqtests deleted file mode 100644 --- a/sql/test/Users/Tests/role1.reqtests +++ /dev/null @@ -1,1 +0,0 @@ -schema diff --git a/sql/test/Users/Tests/role1.stable.err b/sql/test/Users/Tests/role1.stable.err deleted file mode 100644 --- a/sql/test/Users/Tests/role1.stable.err +++ /dev/null @@ -1,17 +0,0 @@ -stderr of test 'role1` in directory 'sql/test/Users` itself: - - -# 15:30:50 > -# 15:30:50 > Mtimeout -timeout 180 Mserver "--config=/ufs/niels/scratch/rc/Linux-x86_64/etc/MonetDB.conf" --debug=10 --set "monet_mod_path=/ufs/niels/scratch/rc/Linux-x86_64/lib/MonetDB4:/ufs/niels/scratch/rc/Linux-x86_64/lib/MonetDB4/lib:/ufs/niels/scratch/rc/Linux-x86_64/lib/MonetDB4/bin" --set "gdk_dbfarm=/ufs/niels/scratch/rc/Linux-x86_64/var/MonetDB4/dbfarm" --set "sql_logdir=/ufs/niels/scratch/rc/Linux-x86_64/var/MonetDB4/sql_logs" --set "xquery_logdir=/ufs/niels/scratch/rc/Linux-x86_64/var/MonetDB4/xquery_logs" --set mapi_port=37763 --set xrpc_port=45703 --set monet_prompt= --trace "--dbname=mTests_src_test_Users" --dbinit=" module(sql_server);" ; echo ; echo Over.. -# 15:30:50 > - - -# 15:30:50 > -# 15:30:50 > Mtimeout -timeout 60 ./role1.SQL role1 -# 15:30:50 > - - -# 15:42:19 > -# 15:42:19 > Done. -# 15:42:19 > - diff --git a/sql/test/Users/Tests/role1.stable.out b/sql/test/Users/Tests/role1.stable.out deleted file mode 100644 --- a/sql/test/Users/Tests/role1.stable.out +++ /dev/null @@ -1,24 +0,0 @@ -stdout of test 'role1` in directory 'sql/test/Users` itself: - - -# 15:30:50 > -# 15:30:50 > Mtimeout -timeout 180 Mserver "--config=/ufs/niels/scratch/rc/Linux-x86_64/etc/MonetDB.conf" --debug=10 --set "monet_mod_path=/ufs/niels/scratch/rc/Linux-x86_64/lib/MonetDB4:/ufs/niels/scratch/rc/Linux-x86_64/lib/MonetDB4/lib:/ufs/niels/scratch/rc/Linux-x86_64/lib/MonetDB4/bin" --set "gdk_dbfarm=/ufs/niels/scratch/rc/Linux-x86_64/var/MonetDB4/dbfarm" --set "sql_logdir=/ufs/niels/scratch/rc/Linux-x86_64/var/MonetDB4/sql_logs" --set "xquery_logdir=/ufs/niels/scratch/rc/Linux-x86_64/var/MonetDB4/xquery_logs" --set mapi_port=37763 --set xrpc_port=45703 --set monet_prompt= --trace "--dbname=mTests_src_test_Users" --dbinit=" module(sql_server);" ; echo ; echo Over.. -# 15:30:50 > - -# Monet Database Server V4.16.2 -# Copyright (c) 1993-2007, CWI. All rights reserved. -# Compiled for x86_64-redhat-linux-gnu/64bit with
MonetDB: default - Cleaned up and extended the test
Changeset: a9a817016125 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=a9a817016125 Modified Files: sql/test/Users/Tests/copyinto.SQL.py Branch: default Log Message: Cleaned up and extended the test diffs (130 lines): diff --git a/sql/test/Users/Tests/copyinto.SQL.py b/sql/test/Users/Tests/copyinto.SQL.py --- a/sql/test/Users/Tests/copyinto.SQL.py +++ b/sql/test/Users/Tests/copyinto.SQL.py @@ -1,77 +1,60 @@ -import os, sys +### +# Check that to execute COPY INTO and COPY FROM, a user does not only need the +# INSERT and SELECT privileges but also the COPY INTO and COPY FROM +# privileges. +### -TSTSRCBASE = os.environ['TSTSRCBASE'] -SRCDIR = os.path.join(TSTSRCBASE, "sql", "benchmarks", "tpch") -DATADIR = os.path.join(SRCDIR,"SF-0.01") - +import os, sys from MonetDBtesting.sqltest import SQLTestCase -with SQLTestCase() as tc: -tc.connect(username="monetdb", password="monetdb") -tc.execute("CREATE TABLE REGION ( R_REGIONKEY INTEGER NOT NULL, R_NAME CHAR(25) NOT NULL, R_COMMENT VARCHAR(152));\n").assertSucceeded() -tc.execute("COPY 5 RECORDS INTO region from r'%s' USING DELIMITERS '|', E'|\\n';\n" % os.path.join(DATADIR, 'region.tbl')) -tc.execute("select count(*) from region;\n") -tc.execute("CREATE USER copyuser WITH PASSWORD 'copyuser' name 'copyuser' schema sys;\n") -tc.execute("GRANT INSERT, SELECT on region to copyuser;\n") +BASEDIR = os.environ.get('TSTTRGDIR') +INPUT = os.path.join(BASEDIR, "copyfrom.csv") +OUTPUT = os.path.join(BASEDIR, "copyinto.csv") -tc.connect(username="copyuser", password="copyuser") -tc.execute("COPY 5 RECORDS INTO region from r'%s' USING DELIMITERS '|', E'|\\n';\n" % os.path.join(DATADIR, 'region.tbl')).assertFailed() -tc.execute("select count(*) from region;\n").assertSucceeded() - -tc.connect(username="monetdb", password="monetdb") -tc.execute("GRANT COPY FROM, COPY INTO to copyuser;\n").assertSucceeded() +with open(INPUT, 'w') as csvin: +csvin.write("24\n42\n") -tc.connect(username="copyuser", password="copyuser") -tc.execute("COPY 5 RECORDS INTO region from r'%s' USING DELIMITERS '|', E'|\\n';\n" % os.path.join(DATADIR, 'region.tbl')).assertSucceeded() -tc.execute("select count(*) from region;\n").assertSucceeded() - -tc.connect(username="monetdb", password="monetdb") -tc.execute("REVOKE COPY FROM, COPY INTO from copyuser;\n").assertSucceeded() - - +with SQLTestCase() as mdb: +mdb.connect(username="monetdb", password="monetdb") +mdb.execute("CREATE TABLE t (i INT);").assertSucceeded() +mdb.execute("COPY 2 RECORDS INTO t FROM r'%s' USING DELIMITERS ',', E'\\n','\"';" % INPUT).assertSucceeded() +mdb.execute("CREATE USER copyuser WITH PASSWORD 'copyuser' name 'copyuser' schema sys;").assertSucceeded() -# import os, sys -# try: -# from MonetDBtesting import process -# except ImportError: -# import process - -# TSTSRCBASE = os.environ['TSTSRCBASE'] -# SRCDIR = os.path.join(TSTSRCBASE, "sql", "benchmarks", "tpch") -# DATADIR = os.path.join(SRCDIR,"SF-0.01") +# TODO: add check for COPY STDIN +with SQLTestCase() as usr: +# The user has no privileges +usr.connect(username="copyuser", password="copyuser") +usr.execute("SELECT * FROM t;").assertFailed(err_code="42000", err_message="SELECT: access denied for copyuser to table 'sys.t'") +usr.execute("INSERT INTO t VALUES (888);").assertFailed(err_code="42000", err_message="INSERT INTO: insufficient privileges for user 'copyuser' to insert into table 't'") +usr.execute("COPY 2 RECORDS INTO t FROM r'%s' USING DELIMITERS ',', E'\\n','\"';" % INPUT).assertFailed(err_code="42000", err_message="COPY INTO: insufficient privileges for user 'copyuser' to copy into table 't'") -# with process.client('sql', stdin = process.PIPE, stdout = process.PIPE, stderr = process.PIPE) as c: -# c.stdin.write("CREATE TABLE REGION ( R_REGIONKEY INTEGER NOT NULL, R_NAME CHAR(25) NOT NULL, R_COMMENT VARCHAR(152));\n") -# c.stdin.write("COPY 5 RECORDS INTO region from r'%s' USING DELIMITERS '|', E'|\\n';\n" % os.path.join(DATADIR, 'region.tbl')) -# c.stdin.write("select count(*) from region;\n") -# c.stdin.write("CREATE USER copyuser WITH PASSWORD 'copyuser' name 'copyuser' schema sys;\n") -# c.stdin.write("GRANT INSERT, SELECT on region to copyuser;\n") -# out, err = c.communicate() -# sys.stdout.write(out) -# sys.stderr.write(err.replace(DATADIR, '$DATADIR').replace(DATADIR.replace('\\', r'\\'), '$DATADIR').replace(r'DIR\\', 'DIR/').replace('DIR\\', 'DIR/')) +# Check that for COPY INTO FROM , the user needs both +# INSERT and COPY FROM privileges +mdb.execute("GRANT INSERT ON t TO copyuser;").assertSucceeded() +usr.execute("INSERT INTO t VALUES (888);").assertSucceeded() +usr.execute("COPY 2 RECORDS INTO t FROM r'%s' USING DELIMITERS ',', E'\\n','\"';" % INPUT).assertFailed(er
MonetDB: indirect-privs - Updated test outputs due to scoping ch...
Changeset: 658a114ec0f0 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=658a114ec0f0 Modified Files: sql/test/BugTracker-2010/Tests/crashonschema.Bug-2547.test sql/test/BugTracker-2012/Tests/name_resolution_in_proc.Bug-3074.test sql/test/BugTracker-2015/Tests/create-temp-table-using-like.Bug-3767.test sql/test/BugTracker-2015/Tests/schema_view2.Bug-3766.test sql/test/Dependencies/Tests/dependency_loop.test sql/test/Dependencies/Tests/dependency_owner_schema_3.test sql/test/merge-partitions/Tests/mergepart20.test sql/test/sys-schema/Tests/check_ForeignKey_referential_integrity.test sql/test/sys-schema/Tests/check_Not_Nullable_columns.test Branch: indirect-privs Log Message: Updated test outputs due to scoping changes diffs (222 lines): diff --git a/sql/test/BugTracker-2010/Tests/crashonschema.Bug-2547.test b/sql/test/BugTracker-2010/Tests/crashonschema.Bug-2547.test --- a/sql/test/BugTracker-2010/Tests/crashonschema.Bug-2547.test +++ b/sql/test/BugTracker-2010/Tests/crashonschema.Bug-2547.test @@ -23,14 +23,14 @@ drop schema intro1 statement ok create table t2010(i int) -statement error +statement ok create schema intro3 grant insert on t2010 to monetdb statement ok drop table t2010 -statement error +statement ok drop schema intro3 diff --git a/sql/test/BugTracker-2012/Tests/name_resolution_in_proc.Bug-3074.test b/sql/test/BugTracker-2012/Tests/name_resolution_in_proc.Bug-3074.test --- a/sql/test/BugTracker-2012/Tests/name_resolution_in_proc.Bug-3074.test +++ b/sql/test/BugTracker-2012/Tests/name_resolution_in_proc.Bug-3074.test @@ -14,13 +14,13 @@ create table dc.lta( tag timestamp ) -statement error +statement ok create procedure dc.archive() begin insert into runningcatalog select * from dc.lta; end -statement error +statement ok call dc.archive() statement ok diff --git a/sql/test/BugTracker-2015/Tests/create-temp-table-using-like.Bug-3767.test b/sql/test/BugTracker-2015/Tests/create-temp-table-using-like.Bug-3767.test --- a/sql/test/BugTracker-2015/Tests/create-temp-table-using-like.Bug-3767.test +++ b/sql/test/BugTracker-2015/Tests/create-temp-table-using-like.Bug-3767.test @@ -1,13 +1,14 @@ statement ok create table t1 (i int) -statement error +statement ok create temp table tmp (like t1) -statement error +query I rowsort select * from tmp + -statement error +statement ok drop table tmp statement ok diff --git a/sql/test/BugTracker-2015/Tests/schema_view2.Bug-3766.test b/sql/test/BugTracker-2015/Tests/schema_view2.Bug-3766.test --- a/sql/test/BugTracker-2015/Tests/schema_view2.Bug-3766.test +++ b/sql/test/BugTracker-2015/Tests/schema_view2.Bug-3766.test @@ -4,20 +4,22 @@ create table t1 (i int) statement ok create schema tst -statement error +statement ok create view tst.v1 (i) as select * from t1 -statement error +query I rowsort select * from tst.v1 + -query ITITITII rowsort -select * from sys._tables where name like '%v1%' +query T rowsort +select "name" from sys._tables where name like '%v1%' +v1 statement error create view tst.v1 (i) as select * from t1 -statement error +statement ok drop view tst.v1 statement ok diff --git a/sql/test/Dependencies/Tests/dependency_loop.test b/sql/test/Dependencies/Tests/dependency_loop.test --- a/sql/test/Dependencies/Tests/dependency_loop.test +++ b/sql/test/Dependencies/Tests/dependency_loop.test @@ -174,6 +174,6 @@ UNION query I rowsort select count(*) from dependencies where depend_type = 5 -584 +585 diff --git a/sql/test/Dependencies/Tests/dependency_owner_schema_3.test b/sql/test/Dependencies/Tests/dependency_owner_schema_3.test --- a/sql/test/Dependencies/Tests/dependency_owner_schema_3.test +++ b/sql/test/Dependencies/Tests/dependency_owner_schema_3.test @@ -117,7 +117,7 @@ DEP_FUNC query TTT rowsort SELECT c.name, v.name, 'DEP_VIEW' from sys.columns as c, sys.tables as v, sys.dependencies as dep where c.id = dep.id AND v.id = dep.depend_id AND dep.depend_type = 5 AND v.type in (1, 11, 21, 31) order by c.name, v.name -1131 values hashing to 217c0dddc280dd654bc83c6dc79720c4 +1134 values hashing to 9b1d4d4cac08bf1ea7e754c7a552595c query TTT rowsort SELECT c.name, k.name, 'DEP_KEY' from sys.columns as c, sys.objects as kc, sys.keys as k where kc."name" = c.name AND kc.id = k.id AND k.table_id = c.table_id AND k.rkey = -1 order by c.name, k.name diff --git a/sql/test/merge-partitions/Tests/mergepart20.test b/sql/test/merge-partitions/Tests/mergepart20.test --- a/sql/test/merge-partitions/Tests/mergepart20.test +++ b/sql/test/merge-partitions/Tests/mergepart20.test @@ -1,5 +1,5 @@ statement ok -CREATE MERGE TABLE testme (a int, b varchar(32)) PARTITION BY RANGE USING (md5(a)) +CREATE MERGE TABLE testme (a int, b varchar(32)) PARTITION BY RANGE USING (sys.md5(a)) statement ok CREATE TABLE subtable1 (a int, b varchar(32)) @@ -76,7
MonetDB: indirect-privs - Merged with default
Changeset: 0826726fcd2a for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=0826726fcd2a Removed Files: sql/test/Dependencies/Tests/Dependencies.stable.out sql/test/Dependencies/Tests/Dependencies.stable.out.int128 sql/test/Dependencies/Tests/dependency_loop.stable.out.int128 sql/test/SQLancer/Tests/sqlancer07.stable.err.int128 sql/test/SQLancer/Tests/sqlancer07.stable.out.int128 sql/test/testdb-reload/Tests/reload.stable.out Modified Files: common/stream/Tests/read_iconv.py common/stream/Tests/urlstream.py common/stream/Tests/write_iconv.py sql/backends/monet5/sql_upgrades.c sql/server/rel_optimizer.c sql/test/BugTracker-2012/Tests/incorrect_cast_from_double_to_int.Bug-2579.stable.err sql/test/BugTracker-2012/Tests/incorrect_cast_from_double_to_int.Bug-2579.stable.out sql/test/BugTracker-2012/Tests/name_resolution_in_proc.Bug-3074.stable.err sql/test/BugTracker-2012/Tests/table_returning_func_returns_too_many_columns.Bug-3077.stable.err sql/test/BugTracker-2012/Tests/url_script_test.Bug-2972.stable.err sql/test/BugTracker-2013/Tests/psm_functions_and_accessrights.Bug-3300.SQL.py sql/test/BugTracker-2013/Tests/psm_functions_and_accessrights.Bug-3300.stable.err sql/test/BugTracker-2020/Tests/global_table_propagation.Bug-6846.py sql/test/BugTracker-2020/Tests/global_table_propagation.Bug-6846.stable.err sql/test/SQLancer/Tests/sqlancer07.stable.err sql/test/SQLancer/Tests/sqlancer07.stable.out sql/test/Tests/comment-on.stable.err sql/test/Triggers/Tests/trigger_owner.SQL.py sql/test/Triggers/Tests/trigger_owner.stable.err sql/test/Users/Tests/privs2.test sql/test/Users/Tests/test_privs2_p1.SQL.py sql/test/Users/Tests/test_privs2_p1.stable.out sql/test/Users/Tests/test_privs2_p2.SQL.py sql/test/Users/Tests/test_privs2_p2.stable.err sql/test/pg_regress/Tests/alter_table.stable.err sql/test/pg_regress/Tests/int8.stable.err sql/test/pg_regress/Tests/int8.stable.err.int128 sql/test/pg_regress/Tests/int8.stable.out sql/test/prepare/Tests/sqlancer_prepare.stable.err sql/test/prepare/Tests/sqlancer_prepare.stable.err.int128 sql/test/testdb/Tests/dump.stable.out Branch: indirect-privs Log Message: Merged with default diffs (truncated from 2974663 to 300 lines): diff --git a/MonetDB.spec b/MonetDB.spec --- a/MonetDB.spec +++ b/MonetDB.spec @@ -672,30 +672,9 @@ program that uses MonetDB as an embeddab %{_includedir}/monetdb/monetdbe.h %{_libdir}/pkgconfig/monetdbe.pc -%package testing -Summary: MonetDB - Monet Database Management System -Group: Applications/Databases - -%description testing -MonetDB is a database management system that is developed from a -main-memory perspective with use of a fully decomposed storage model, -automatic index management, extensibility of data types and search -accelerators. It also has an SQL front end. - -This package contains the programs and files needed for testing the -MonetDB packages. You probably don't need this, unless you are a -developer. If you do want to test, install %{name}-testing-python. - -%files testing -%license COPYING -%defattr(-,root,root) -%{_bindir}/Mdiff -%{_bindir}/Mlog - %package testing-python Summary: MonetDB - Monet Database Management System Group: Applications/Databases -Requires: %{name}-testing = %{version}-%{release} Requires: %{name}-client-tests = %{version}-%{release} Requires: /usr/bin/python3 BuildArch: noarch @@ -712,7 +691,6 @@ developer, but if you do want to test, t %files testing-python %defattr(-,root,root) -%{_bindir}/Mapprove.py %{_bindir}/Mtest.py %dir %{python3_sitelib}/MonetDBtesting %{python3_sitelib}/MonetDBtesting/* diff --git a/clients/R/Tests/All b/clients/R/Tests/All deleted file mode 100644 --- a/clients/R/Tests/All +++ /dev/null @@ -1,8 +0,0 @@ -HAVE_LIBR?deps-install -HAVE_LIBR?install -HAVE_LIBR?deps-test -HAVE_LIBR?dbi -#HAVE_LIBR?dplyr too slow -#HAVE_LIBR?dplyr-flights they keep changing this -HAVE_LIBR?copy_into_fwf -HAVE_LIBR&NOT_WIN32?dbapply diff --git a/clients/R/Tests/SingleServer b/clients/R/Tests/SingleServer deleted file mode 100644 --- a/clients/R/Tests/SingleServer +++ /dev/null @@ -1,1 +0,0 @@ ---set embedded_r=yes diff --git a/clients/R/Tests/copy_into_fwf.R b/clients/R/Tests/copy_into_fwf.R deleted file mode 100644 --- a/clients/R/Tests/copy_into_fwf.R +++ /dev/null @@ -1,35 +0,0 @@ -if (Sys.getenv("TSTTRGDIR") != "") { - .libPaths(c(.libPaths(), paste0(Sys.getenv("TSTTRGDIR"),"/rlibdir"))) -} -library(DBI, quietly = T) - -args <- commandArgs(trailingOnly = TRUE) -dbport <- 5 -dbname <- "mTests_clients_R" -if (length(args) > 0) - dbport <- args[[1]] -if (length(args) > 1) - dbname <- args[[2]] - -con <- dbConnect(MonetDBLite::MonetDB(), port = db
MonetDB: default - Copy or symlink all files referred to by .src...
Changeset: 93c6bb452ade for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=93c6bb452ade Modified Files: testing/Mz.py.in Branch: default Log Message: Copy or symlink all files referred to by .src files. This fixes the emptydb-upgrade* check tests which use a .stable.out.src file to refer to the one in emptydb/Tests. diffs (47 lines): diff --git a/testing/Mz.py.in b/testing/Mz.py.in --- a/testing/Mz.py.in +++ b/testing/Mz.py.in @@ -1131,6 +1131,17 @@ def RunTest(env, test, oktests, pSrvr): except OSError: if not env.get('NOCLEAN'): raise +if f.endswith('.src'): +with open(f) as fp: +src = expandvars(fp.readline().strip(), env) +if os.path.isfile(src): +f = f[:-4] +try: +SymlinkOrCopy(src, f) +links.append(f) +except IOError as err: +ErrMsg("SymlinkOrCopy('%s','%s') in '%s' failed with #%d: '%s'." + % (os.path.join(dir_, f), f, os.getcwd(), err.errno, err.strerror)) # Check for available sockets and block them until we're ready to run the actual test if pSrvr is None: MAPIsockets, reason = CheckSocket2(env, "MAPI") #, SrvrErr) @@ -1140,24 +1151,7 @@ def RunTest(env, test, oktests, pSrvr): else: MAPIsockets = None -if test.get('is_src_link', False) and not os.path.isfile(TST + EXT): -with open(test.get('test_path') + test.get('tail'), 'r') as f: -TSTSRC = expandvars(f.readline().strip(), env) -if os.path.isfile(TSTSRC): -try: -SymlinkOrCopy(TSTSRC, TST + EXT) -links.append(TST + EXT) -except IOError as err: -ErrMsg("SymlinkOrCopy('%s','%s') in '%s' failed with #%d: '%s'." - % (TSTSRC, TST + EXT, os.getcwd(), err.errno, err.strerror)) -else: -reason = "as source file '%s` is missing." % TSTSRC -if MAPIsockets is not None: -# Release reserved sockets before bailing out -MAPIsockets[0].close() -MAPIsockets[1].close() -return TX,F_SKIP,reason,links -elif test.get('is_input', False) and not os.path.isfile(TST+EXT): +if test.get('is_input', False) and not os.path.isfile(TST+EXT): with open(os.path.join(TSTTRGDIR, TST + EXT), 'w') as fout: with open(test.get('test_path') + test.get('tail'), 'r') as f: for l in f: ___ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list
MonetDB: default - adding wrongly deleted KNOWNFAIL check Mz
Changeset: d08d612dc5b2 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=d08d612dc5b2 Modified Files: testing/Mz.py.in Branch: default Log Message: adding wrongly deleted KNOWNFAIL check Mz diffs (12 lines): diff --git a/testing/Mz.py.in b/testing/Mz.py.in --- a/testing/Mz.py.in +++ b/testing/Mz.py.in @@ -2406,6 +2406,8 @@ def main(argv) : testweb = opts.testweb CONDITIONALS['RELEASERUN'] = opts.releaserun nomito = opts.nomito +if testweb or int(MonetDB_VERSION[1])%2 == 0 or opts.alltests or CONDITIONALS['MERCURIAL']: +CONDITIONALS['KNOWNFAIL'] = 'execute' par['TIMEOUT'] = opts.timeout env['GDK_DEBUG'] = str(opts.debug) env['GDK_NR_THREADS'] = str(opts.nr_threads) ___ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list
MonetDB: default - This test has different outputs between int12...
Changeset: a23aa4e899a0 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=a23aa4e899a0 Added Files: sql/test/pg_regress/Tests/int8.SQL.py Removed Files: sql/test/pg_regress/Tests/int8.test Modified Files: sql/test/pg_regress/Tests/int8.stable.err sql/test/pg_regress/Tests/int8.stable.err.int128 sql/test/pg_regress/Tests/int8.stable.out sql/test/pg_regress/Tests/int8.stable.out.int128 Branch: default Log Message: This test has different outputs between int128 vs no-int128 diffs (truncated from 374 to 300 lines): diff --git a/sql/test/pg_regress/Tests/int8.SQL.py b/sql/test/pg_regress/Tests/int8.SQL.py new file mode 100644 --- /dev/null +++ b/sql/test/pg_regress/Tests/int8.SQL.py @@ -0,0 +1,20 @@ +from MonetDBtesting.sqltest import SQLTestCase +import pymonetdb, os + +conn1 = pymonetdb.connect(database=os.getenv("TSTDB"), port=int(os.getenv("MAPIPORT")), autocommit=True) +cur1 = conn1.cursor() +try: +cur1.execute('select cast(1 as hugeint)') +suffix = '.int128' +except pymonetdb.DatabaseError as e: +suffix = '' +cur1.close() +conn1.close() + +with SQLTestCase() as tc: +# optional or default connection +tc.connect() +with open('int8.sql') as f: +tc.execute(query=None, client='mclient', stdin=f)\ +.assertMatchStableOut(fout='int8.stable.out%s' % (suffix))\ +.assertMatchStableError(ferr='int8.stable.err%s' % (suffix)) diff --git a/sql/test/pg_regress/Tests/int8.stable.err b/sql/test/pg_regress/Tests/int8.stable.err --- a/sql/test/pg_regress/Tests/int8.stable.err +++ b/sql/test/pg_regress/Tests/int8.stable.err @@ -1,34 +1,3 @@ -stderr of test 'int8` in directory 'sql/test/pg_regress` itself: - - -# 17:11:18 > -# 17:11:18 > "mserver5" "--debug=10" "--set" "gdk_nr_threads=0" "--set" "mapi_open=true" "--set" "mapi_port=38959" "--set" "mapi_usock=/var/tmp/mtest-1142/.s.monetdb.38959" "--set" "monet_prompt=" "--forcemito" "--set" "mal_listing=2" "--dbpath=/ufs/dinther/INSTALL/var/MonetDB/mTests_sql_test_pg_regress" "--set" "mal_listing=0" -# 17:11:18 > - -# builtin opt gdk_dbpath = /ufs/dinther/INSTALL/var/monetdb5/dbfarm/demo -# builtin opt gdk_debug = 0 -# builtin opt gdk_vmtrim = no -# builtin opt monet_prompt = > -# builtin opt monet_daemon = no -# builtin opt mapi_port = 5 -# builtin opt mapi_open = false -# builtin opt mapi_autosense = false -# builtin opt sql_optimizer = default_pipe -# builtin opt sql_debug = 0 -# cmdline opt gdk_nr_threads = 0 -# cmdline opt mapi_open = true -# cmdline opt mapi_port = 38959 -# cmdline opt mapi_usock = /var/tmp/mtest-1142/.s.monetdb.38959 -# cmdline opt monet_prompt = -# cmdline opt mal_listing = 2 -# cmdline opt gdk_dbpath = /ufs/dinther/INSTALL/var/MonetDB/mTests_sql_test_pg_regress -# cmdline opt mal_listing = 0 -# cmdline opt gdk_debug = 536870922 - -# 17:11:19 > -# 17:11:19 > "mclient" "-lsql" "-ftest" "-Eutf-8" "-i" "-e" "--host=/var/tmp/mtest-1142" "--port=38959" -# 17:11:19 > - MAPI = (monetdb) /var/tmp/mtest-19737/.s.monetdb.30205 QUERY = INSERT INTO INT8_TBL(q1) VALUES (' '); ERROR = !conversion of string ' ' to type lng failed. @@ -133,8 +102,3 @@ MAPI = (monetdb) /var/tmp/mtest-3604/.s QUERY = SELECT '' AS to_char_17, to_char(q2, '99SG99') FROM INT8_TBL; ERROR = !SELECT: no such binary operator 'to_char(bigint,char)' CODE = 42000 - -# 17:11:19 > -# 17:11:19 > "Done." -# 17:11:19 > - diff --git a/sql/test/pg_regress/Tests/int8.stable.err.int128 b/sql/test/pg_regress/Tests/int8.stable.err.int128 --- a/sql/test/pg_regress/Tests/int8.stable.err.int128 +++ b/sql/test/pg_regress/Tests/int8.stable.err.int128 @@ -1,34 +1,3 @@ -stderr of test 'int8` in directory 'sql/test/pg_regress` itself: - - -# 17:11:18 > -# 17:11:18 > "mserver5" "--debug=10" "--set" "gdk_nr_threads=0" "--set" "mapi_open=true" "--set" "mapi_port=38959" "--set" "mapi_usock=/var/tmp/mtest-1142/.s.monetdb.38959" "--set" "monet_prompt=" "--forcemito" "--set" "mal_listing=2" "--dbpath=/ufs/dinther/INSTALL/var/MonetDB/mTests_sql_test_pg_regress" "--set" "mal_listing=0" -# 17:11:18 > - -# builtin opt gdk_dbpath = /ufs/dinther/INSTALL/var/monetdb5/dbfarm/demo -# builtin opt gdk_debug = 0 -# builtin opt gdk_vmtrim = no -# builtin opt monet_prompt = > -# builtin opt monet_daemon = no -# builtin opt mapi_port = 5 -# builtin opt mapi_open = false -# builtin opt mapi_autosense = false -# builtin opt sql_optimizer = default_pipe -# builtin opt sql_debug = 0 -# cmdline opt gdk_nr_threads = 0 -# cmdline opt mapi_open = true -# cmdline opt mapi_port = 38959 -# cmdline opt mapi_usock = /var/tmp/mtest-1142/.s.monetdb.38959 -# cmdline opt monet_prompt = -# cmdline opt mal_listing = 2 -# cmdline opt gdk_dbpath = /ufs/dinther/INSTALL/var/MonetDB/mTests_sql_test_pg_regress -# cmdline opt mal_listing = 0 -# cmdline opt gdk_debug = 536870922 - -# 17:11:19 > -# 17:11:19 > "mclien
MonetDB: default - Windows defines SHORT, so use something else.
Changeset: ee86b2958aee for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=ee86b2958aee Modified Files: clients/odbc/samples/testgetinfo.c Branch: default Log Message: Windows defines SHORT, so use something else. diffs (238 lines): diff --git a/clients/odbc/samples/testgetinfo.c b/clients/odbc/samples/testgetinfo.c --- a/clients/odbc/samples/testgetinfo.c +++ b/clients/odbc/samples/testgetinfo.c @@ -79,7 +79,7 @@ const struct { enum { STRING, INTEGER, - SHORT, + SHORTINT, } type; char *name; union { @@ -161,7 +161,7 @@ const struct { { .info = SQL_CATALOG_LOCATION, .name = "SQL_CATALOG_LOCATION", - .type = SHORT, + .type = SHORTINT, .s = 0, }, { @@ -203,7 +203,7 @@ const struct { { .info = SQL_CONCAT_NULL_BEHAVIOR, .name = "SQL_CONCAT_NULL_BEHAVIOR", - .type = SHORT, + .type = SHORTINT, .s = SQL_CB_NULL, }, { @@ -341,7 +341,7 @@ const struct { { .info = SQL_CORRELATION_NAME, .name = "SQL_CORRELATION_NAME", - .type = SHORT, + .type = SHORTINT, .s = SQL_CN_ANY, }, { @@ -395,13 +395,13 @@ const struct { { .info = SQL_CURSOR_COMMIT_BEHAVIOR, .name = "SQL_CURSOR_COMMIT_BEHAVIOR", - .type = SHORT, + .type = SHORTINT, .s = SQL_CB_DELETE, }, { .info = SQL_CURSOR_ROLLBACK_BEHAVIOR, .name = "SQL_CURSOR_ROLLBACK_BEHAVIOR", - .type = SHORT, + .type = SHORTINT, .s = SQL_CB_DELETE, }, { @@ -565,7 +565,7 @@ const struct { { .info = SQL_FILE_USAGE, .name = "SQL_FILE_USAGE", - .type = SHORT, + .type = SHORTINT, .s = SQL_FILE_NOT_SUPPORTED, }, { @@ -589,13 +589,13 @@ const struct { { .info = SQL_GROUP_BY, .name = "SQL_GROUP_BY", - .type = SHORT, + .type = SHORTINT, .s = SQL_GB_NO_RELATION, }, { .info = SQL_IDENTIFIER_CASE, .name = "SQL_IDENTIFIER_CASE", - .type = SHORT, + .type = SHORTINT, .s = SQL_IC_LOWER, }, { @@ -667,7 +667,7 @@ const struct { { .info = SQL_MAX_CATALOG_NAME_LEN, .name = "SQL_MAX_CATALOG_NAME_LEN", - .type = SHORT, + .type = SHORTINT, .s = 0, }, { @@ -679,55 +679,55 @@ const struct { { .info = SQL_MAX_COLUMN_NAME_LEN, .name = "SQL_MAX_COLUMN_NAME_LEN", - .type = SHORT, + .type = SHORTINT, .s = 1024, }, { .info = SQL_MAX_COLUMNS_IN_GROUP_BY, .name = "SQL_MAX_COLUMNS_IN_GROUP_BY", - .type = SHORT, + .type = SHORTINT, .s = 0, }, { .info = SQL_MAX_COLUMNS_IN_INDEX, .name = "SQL_MAX_COLUMNS_IN_INDEX", - .type = SHORT, + .type = SHORTINT, .s = 0, }, { .info = SQL_MAX_COLUMNS_IN_ORDER_BY, .name = "SQL_MAX_COLUMNS_IN_ORDER_BY", - .type = SHORT, + .type = SHORTINT, .s = 0, }, { .info = SQL_MAX_COLUMNS_IN_SELECT, .name = "SQL_MAX_COLUMNS_IN_SELECT", - .type = SHORT, + .type = SHORTINT, .s = 0, }, { .info = SQL_MAX_COLUMNS_IN_TABLE, .name = "SQL_MAX_COLUMNS_IN_TABLE", - .type = SHORT, + .type = SHORTINT, .s = 0, }, { .info = SQL_MAX_CURSOR_NAME_LEN, .name = "SQL_MAX_CURSOR_NAME_LEN", - .type = SHORT, + .type = SHORTINT, .s = 0, }, { .info = SQL_MAX_DRIVER_CONNECTIONS, .name = "SQL_MAX_DRIVER_CONNECTIONS", - .type = SHORT, + .type = SHORTINT, .s = 64, }, { .info = SQL_MAX_IDENTIFIER_LEN, .name = "SQL_MAX_IDENTIFIER_LEN", - .type = SHORT, + .type = SHORTINT, .s = 1024, }, { @@ -739,7 +739,7 @@ const struct { { .info = SQL_MAX_PROCEDURE_NAME_LEN, .name = "SQL_MAX_PROCE
MonetDB: default - summary list of failing tests with --verbose ...
Changeset: f6ddd3b14ea1 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=f6ddd3b14ea1 Modified Files: testing/Mz.py.in Branch: default Log Message: summary list of failing tests with --verbose option diffs (30 lines): diff --git a/testing/Mz.py.in b/testing/Mz.py.in --- a/testing/Mz.py.in +++ b/testing/Mz.py.in @@ -2808,6 +2808,7 @@ def main(argv) : fl = openutf8(fn+"lst","w") Failure = [[] for i in FAILURES] SKIPPED_TESTS = [] +FAILED_TESTS = [] for TSTDIR, TST, tt, ms, FtErr, reason in TIMES: fl.write('%s:\t%s\t%s\t%s\n' % (url(os.path.join(TSTDIR, TST)), tt, @@ -2817,6 +2818,8 @@ def main(argv) : Failure[FtErr].append(os.path.join(TSTDIR,TST)) if FtErr == F_SKIP: SKIPPED_TESTS.append((TSTDIR, TST, reason)) +if TST and FtErr == F_ERROR: +FAILED_TESTS.append((TSTDIR, TST)) fl.write(":\t%7.3f\t\n" % t_) fl.close() @@ -2840,6 +2843,9 @@ def main(argv) : print('failed={}, skipped={}'.format(failed, skipped)) print('Ran {} test in {:7.3f}'.format(test_count - skipped, t_)) if verbose: +for TSTDIR, TST in FAILED_TESTS: +prred('ERROR\t') +print('{} {}'.format(TSTDIR, TST)) for TSTDIR, TST, reason in SKIPPED_TESTS: prpurple('SKIP\t') print('{} {} {}'.format(TSTDIR, TST, reason)) ___ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list
MonetDB: default - Cleaned up the test and extended it a bit
Changeset: 73a7a5e87887 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=73a7a5e87887 Removed Files: sql/test/Users/Tests/unknown_user.reqtests sql/test/Users/Tests/unknown_user.stable.err sql/test/Users/Tests/unknown_user.stable.out Modified Files: sql/test/Users/Tests/unknown_user.SQL.py Branch: default Log Message: Cleaned up the test and extended it a bit diffs (184 lines): diff --git a/sql/test/Users/Tests/unknown_user.SQL.py b/sql/test/Users/Tests/unknown_user.SQL.py --- a/sql/test/Users/Tests/unknown_user.SQL.py +++ b/sql/test/Users/Tests/unknown_user.SQL.py @@ -1,5 +1,7 @@ ### -# Authenticate unknown USER (not possible). +# Check that a non-existing user cannot log in. +# Check that granting schema, role and privileges to a non-existing user is not +# possible. ### from MonetDBtesting.sqltest import SQLTestCase @@ -7,30 +9,20 @@ import logging logging.basicConfig(level=logging.FATAL) -err_msg = "InvalidCredentialsException:checkCredentials:invalid credentials for user 'this_user_does_not_exist'".strip() +usr = "this_user_does_not_exist" with SQLTestCase() as tc: -tc.connect(username="this_user_does_not_exist", password="this_password_does_not_exist") -tc.execute("SELECT * FROM sys;").assertFailed(err_message=err_msg) - - -# import sys,os -# import pymonetdb - -# import logging - -# logging.basicConfig(level=logging.FATAL) +tc.connect(username=usr, password=usr) +tc.execute("select 1;").assertFailed(err_code=None, err_message="InvalidCredentialsException:checkCredentials:invalid credentials for user '"+usr+"'") -# error = False -# db=os.getenv("TSTDB") -# port=int(os.getenv("MAPIPORT")) -# try: -# client = pymonetdb.connect(database=db, port=port, autocommit=True, -# user='this_user_does_not_exist', password='this_password_does_not_exist') -# except pymonetdb.exceptions.DatabaseError: -# error = True -# pass +tc.connect(username="monetdb", password="monetdb") +tc.execute(""" +CREATE ROLE r1; +CREATE TABLE t (i INT); +""").assertSucceeded() -# if not error: -# print("Logged in with invalid credentials") -# sys.exit(-1) +tc.execute("GRANT r1 TO "+usr).assertFailed(err_code="M1M05", err_message="GRANT: Cannot grant ROLE 'r1' to user '"+usr+"'") +tc.execute("GRANT ALL ON t TO "+usr).assertFailed(err_code="01007", err_message="GRANT: User/role '"+usr+"' unknown") +tc.execute("GRANT COPY INTO TO "+usr).assertFailed(err_code="01007", err_message="GRANT: User/role '"+usr+"' unknown") +tc.execute("GRANT COPY FROM TO "+usr).assertFailed(err_code="01007", err_message="GRANT: User/role '"+usr+"' unknown") + diff --git a/sql/test/Users/Tests/unknown_user.reqtests b/sql/test/Users/Tests/unknown_user.reqtests deleted file mode 100644 --- a/sql/test/Users/Tests/unknown_user.reqtests +++ /dev/null @@ -1,1 +0,0 @@ -schema diff --git a/sql/test/Users/Tests/unknown_user.stable.err b/sql/test/Users/Tests/unknown_user.stable.err deleted file mode 100644 --- a/sql/test/Users/Tests/unknown_user.stable.err +++ /dev/null @@ -1,88 +0,0 @@ -stderr of test 'unknown_user` in directory 'sql/test/Users` itself: - - -# 20:38:25 > -# 20:38:25 > mserver5 "--config=/ufs/niels/scratch/monetdb/Linux-x86_64/etc/monetdb5.conf" --debug=10 --set gdk_nr_threads=4 --set "monet_mod_path=/ufs/niels/scratch/monetdb/Linux-x86_64/lib/MonetDB5:/ufs/niels/scratch/monetdb/Linux-x86_64/lib/MonetDB5/lib:/ufs/niels/scratch/monetdb/Linux-x86_64/lib/MonetDB5/bin" --set "gdk_dbfarm=/ufs/niels/scratch/monetdb/Linux-x86_64/var/MonetDB5/dbfarm" --set "sql_logdir=/ufs/niels/scratch/monetdb/Linux-x86_64/var/MonetDB5/sql_logs" --set mapi_open=true --set xrpc_open=true --set mapi_port=31333 --set xrpc_port=43851 --set monet_prompt= --trace "--dbname=mTests_src_test_Users" --set mal_listing=0 "--dbinit= include sql;" ; echo ; echo Over.. -# 20:38:25 > - -# builtin opt gdk_arch = 64bitx86_64-unknown-linux-gnu -# builtin opt gdk_version = 1.27.0 -# builtin opt monet_pid = 9952 -# builtin opt prefix = /ufs/niels/scratch/monetdb/Linux-x86_64 -# builtin opt exec_prefix = ${prefix} -# builtin opt gdk_dbname = tst -# builtin opt gdk_dbfarm = ${prefix}/var/MonetDB -# builtin opt gdk_debug = 8 -# builtin opt gdk_mem_bigsize = 262144 -# builtin opt gdk_alloc_map = yes -# builtin opt gdk_mem_pagebits = 14 -# builtin opt gdk_vmtrim = yes -# builtin opt monet_admin = adm -# builtin opt monet_prompt = > -# builtin opt monet_welcome = yes -# builtin opt monet_mod_path = ${exec_prefix}/lib/MonetDB:${exec_prefix}/lib/bin -# builtin opt monet_daemon = yes -# builtin opt host = localhost -# builtin opt mapi_port = 5 -# builtin opt mapi_noheaders = no -# builtin opt mapi_debug = 0 -# builtin opt mapi_clients = 2 -# builtin opt sql_debug = 0 -# builtin opt sql_logdir = ${prefix}/var/MonetDB -# builtin opt xquery_logdir = ${prefix}/var/MonetDB -# builtin opt stando
MonetDB: Oct2020 - Give a clearer error message when a user or a...
Changeset: 4df298ac8ea2 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=4df298ac8ea2 Modified Files: sql/server/sql_privileges.c sql/test/Users/Tests/schema.stable.err Branch: Oct2020 Log Message: Give a clearer error message when a user or a role is not found when granting the role diffs (33 lines): diff --git a/sql/server/sql_privileges.c b/sql/server/sql_privileges.c --- a/sql/server/sql_privileges.c +++ b/sql/server/sql_privileges.c @@ -532,7 +532,7 @@ sql_grant_role(mvc *m, str grantee, str rid = table_funcs.column_find_row(m->session->tr, auths_name, role, NULL); if (is_oid_nil(rid)) - throw(SQL, "sql.grant_role", SQLSTATE(M1M05) "GRANT: Cannot grant ROLE '%s' to user '%s'", role, grantee); + throw(SQL, "sql.grant_role", SQLSTATE(M1M05) "GRANT: no such role '%s' or grantee '%s'", role, grantee); role_id = table_funcs.column_find_sqlid(m->session->tr, auths_id, rid); if (backend_find_user(m, role) >= 0) throw(SQL,"sql.grant_role", SQLSTATE(M1M05) "GRANT: '%s' is a USER not a ROLE", role); @@ -540,7 +540,7 @@ sql_grant_role(mvc *m, str grantee, str throw(SQL,"sql.grant_role", SQLSTATE(0P000) "GRANT: Insufficient privileges to grant ROLE '%s'", role); rid = table_funcs.column_find_row(m->session->tr, auths_name, grantee, NULL); if (is_oid_nil(rid)) - throw(SQL,"sql.grant_role", SQLSTATE(M1M05) "GRANT: Cannot grant ROLE '%s' to user '%s'", role, grantee); + throw(SQL,"sql.grant_role", SQLSTATE(M1M05) "GRANT: no such role '%s' or grantee '%s'", role, grantee); grantee_id = table_funcs.column_find_sqlid(m->session->tr, auths_id, rid); rid = table_funcs.column_find_row(m->session->tr, find_sql_column(roles, "login_id"), &grantee_id, find_sql_column(roles, "role_id"), &role_id, NULL); if (!is_oid_nil(rid)) diff --git a/sql/test/Users/Tests/schema.stable.err b/sql/test/Users/Tests/schema.stable.err --- a/sql/test/Users/Tests/schema.stable.err +++ b/sql/test/Users/Tests/schema.stable.err @@ -12,7 +12,7 @@ stderr of test 'schema` in directory 'sq MAPI = (monetdb) /var/tmp/mtest-26250/.s.monetdb.37381 QUERY = GRANT my_owner to my_user; -- error wrong non existing role -ERROR = !GRANT: Cannot grant ROLE 'my_owner' to user 'my_user' +ERROR = !GRANT: no such role 'my_owner' or grantee 'my_user' CODE = M1M05 # 14:00:57 > ___ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list
MonetDB: default - On Windows, Python multiprocessing code canno...
Changeset: 654eead2c112 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=654eead2c112 Modified Files: sql/test/sysmon/Tests/sys_queue_expand.SQL.py Branch: default Log Message: On Windows, Python multiprocessing code cannot be at the top level, ie must be inside a function diffs (123 lines): diff --git a/sql/test/sysmon/Tests/sys_queue_expand.SQL.py b/sql/test/sysmon/Tests/sys_queue_expand.SQL.py --- a/sql/test/sysmon/Tests/sys_queue_expand.SQL.py +++ b/sql/test/sysmon/Tests/sys_queue_expand.SQL.py @@ -6,10 +6,8 @@ ### import pymonetdb -import os, sys +import os import multiprocessing as mp -import traceback -import time db = os.environ['TSTDB'] pt = int(os.environ['MAPIPORT']) @@ -32,55 +30,61 @@ def do_error(query, res, expected_res): print("query results:\n" + str(res)) print("expected:\n" + str(expected_res)) -mstdbh = None -try: -mstdbh = pymonetdb.connect(database=db, port=pt, autocommit=True) -mstcur = mstdbh.cursor() +def main(): +mstdbh = None +mstcur = None +try: +mstdbh = pymonetdb.connect(database=db, port=pt, autocommit=True) +mstcur = mstdbh.cursor() -query = 'create procedure sleep(i int) external name alarm.sleep;' -mstcur.execute(query) +query = 'create procedure sleep(i int) external name alarm.sleep;' +mstcur.execute(query) -query = 'select username, status, query from sys.queue() where status = \'running\' order by query' -expected_res = [('monetdb', 'running', 'select username, status, query from sys.queue() where status = \\\'running\\\' order by query\n;')] -rowcnt = mstcur.execute(query) -res = mstcur.fetchall() -if rowcnt != len(expected_res) or res != expected_res: -do_error(query, res, expected_res) +query = 'select username, status, query from sys.queue() where status = \'running\' order by query' +expected_res = [('monetdb', 'running', 'select username, status, query from sys.queue() where status = \\\'running\\\' order by query\n;')] +rowcnt = mstcur.execute(query) +res = mstcur.fetchall() +if rowcnt != len(expected_res) or res != expected_res: +do_error(query, res, expected_res) -# Setup a list of processes that we want to run -jobs = [mp.Process(target=worker_task, args=()) for x in range(3)] -# Run processes -[p.start() for p in jobs] +# Setup a list of processes that we want to run +jobs = [mp.Process(target=worker_task, args=()) for x in range(3)] +# Run processes +[p.start() for p in jobs] -# Check the long running query, but lets first wait for a moment for the -# workers to start with their queries -mstcur.execute('call sys.sleep(500)') -query = 'select username, status, query from sys.queue() where query like \'call sys.sleep(5000)%\' order by query' -expected_res = [ -('monetdb', 'running', 'call sys.sleep('+SLEEP_TIME+')\n;'), -('monetdb', 'running', 'call sys.sleep('+SLEEP_TIME+')\n;'), -('monetdb', 'running', 'call sys.sleep('+SLEEP_TIME+')\n;')] -rowcnt = mstcur.execute(query) -res = mstcur.fetchall() -if rowcnt != len(expected_res) or res != expected_res: -do_error(query, res, expected_res) +# Check the long running query, but lets first wait for a moment for the +# workers to start with their queries +mstcur.execute('call sys.sleep(500)') +query = 'select username, status, query from sys.queue() where query like \'call sys.sleep(5000)%\' order by query' +expected_res = [ +('monetdb', 'running', 'call sys.sleep('+SLEEP_TIME+')\n;'), +('monetdb', 'running', 'call sys.sleep('+SLEEP_TIME+')\n;'), +('monetdb', 'running', 'call sys.sleep('+SLEEP_TIME+')\n;')] +rowcnt = mstcur.execute(query) +res = mstcur.fetchall() +if rowcnt != len(expected_res) or res != expected_res: +do_error(query, res, expected_res) -# Exit the completed processes -[p.join() for p in jobs] +# Exit the completed processes +[p.join() for p in jobs] -# sys.queue() should have been expanded from 4 to 8, so we should be able -# to have 7 queries in the queue -mstcur.execute('select 6') -mstcur.execute('select 7') -query = 'select count(*) from sys.queue()' -expected_res = 7 -rowcnt = mstcur.execute(query) -res = mstcur.fetchall() -if rowcnt != 1 or res[0][0] != expected_res: -do_error(query, res, expected_res) -except pymonetdb.exceptions.Error as e: -print(e) -finally: -if mstdbh is not None: -mstcur.execute('drop procedure sleep;') -mstdbh.close() +# sys.queue() should have been expanded from 4 to 8, so we should be able +# to have 7 queries in the queue +mstcur.execute('select 6') +mstcur.execute('select 7') +query = 'select count(*) from sys.queue()
MonetDB: unlock - fix compilation issue
Changeset: be4434057907 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=be4434057907 Modified Files: gdk/gdk_private.h Branch: unlock Log Message: fix compilation issue diffs (21 lines): diff --git a/gdk/gdk_private.h b/gdk/gdk_private.h --- a/gdk/gdk_private.h +++ b/gdk/gdk_private.h @@ -266,7 +266,7 @@ BAT *virtualize(BAT *bn) BATcount(b),\ b->hseqbase,\ ATOMname(b->ttype), \ - !b->batTransient ? "P" : b->theap.parentid ? "V" : b->tvheap && b->tvheap->parentid != b->batCacheid ? "v" : "T", \ + !b->batTransient ? "P" : b->theap->parentid ? "V" : b->tvheap && b->tvheap->parentid != b->batCacheid ? "v" : "T", \ BATtdense(b) ? "D" : b->ttype == TYPE_void && b->tvheap ? "X" : ATOMstorage(b->ttype) == TYPE_str && GDK_ELIMDOUBLES(b->tvheap) ? "E" : "", \ b->tsorted ? "S" : b->tnosorted ? "!s" : "",\ b->trevsorted ? "R" : b->tnorevsorted ? "!r" : "", \ @@ -286,7 +286,7 @@ BAT *virtualize(BAT *bn) b ? "[" : "", \ b ? ATOMname(b->ttype) : "",\ b ? "]" : "", \ - b ? !b->batTransient ? "P" : b->theap.parentid ? "V" : b->tvheap && b->tvheap->parentid != b->batCacheid ? "v" : "T" : "", \ + b ? !b->batTransient ? "P" : b->theap->parentid ? "V" : b->tvheap && b->tvheap->parentid != b->batCacheid ? "v" : "T" : "", \ b ? BATtdense(b) ? "D" : b->ttype == TYPE_void && b->tvheap ? "X" : ATOMstorage(b->ttype) == TYPE_str && GDK_ELIMDOUBLES(b->tvheap) ? "E" : "" : "", \ b ? b->tsorted ? "S" : b->tnosorted ? "!s" : "" : "", \ b ? b->trevsorted ? "R" : b->tnorevsorted ? "!r" : "" : "", \ ___ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list
MonetDB: unlock - merged
Changeset: 73978c3d7c9a for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=73978c3d7c9a Removed Files: sql/test/sys-schema/Tests/systemfunctions.stable.out sql/test/sys-schema/Tests/systemfunctions.stable.out.int128 sql/test/sys-schema/Tests/systemfunctions.test Modified Files: gdk/gdk_align.c gdk/gdk_bat.c gdk/gdk_batop.c gdk/gdk_private.h gdk/gdk_project.c monetdb5/mal/mal_parser.c sql/backends/monet5/CMakeLists.txt sql/test/pg_regress/Tests/without_oid.sql sql/test/pg_regress/Tests/without_oid.test Branch: unlock Log Message: merged diffs (truncated from 9210 to 300 lines): diff --git a/clients/examples/python/sqlsample.py b/clients/examples/python/sqlsample.py --- a/clients/examples/python/sqlsample.py +++ b/clients/examples/python/sqlsample.py @@ -11,28 +11,33 @@ import sys dbh = pymonetdb.connect(port=int(sys.argv[1]),database=sys.argv[2],hostname=sys.argv[3],autocommit=True) -cursor = dbh.cursor(); +cursor = dbh.cursor() cursor.execute('select 1;') -print(cursor.fetchall()) +if cursor.fetchall() != [(1,)]: +sys.stderr.write("Just row (1,) expected") -cursor = dbh.cursor(); +cursor = dbh.cursor() cursor.execute('select 2;') -print(cursor.fetchone()) +if cursor.fetchall() != [(2,)]: +sys.stderr.write("Just row (2,) expected") # deliberately executing a wrong SQL statement: try: cursor.execute('select commit_action, access from tables group by access;') +sys.stderr.write("Grouping error expected") except pymonetdb.OperationalError as e: -print(e) +if 'SELECT: cannot use non GROUP BY column \'commit_action\' in query results without an aggregate function' not in str(e): +raise e -cursor.execute('create table python_table (i smallint,s string);'); -cursor.execute('insert into python_table values ( 3, \'three\');'); -cursor.execute('insert into python_table values ( 7, \'seven\');'); -cursor.execute('select * from python_table;'); -print(cursor.fetchall()) +cursor.execute('create table python_table (i smallint,s string);') +cursor.execute('insert into python_table values ( 3, \'three\');') +cursor.execute('insert into python_table values ( 7, \'seven\');') +cursor.execute('select * from python_table;') +if cursor.fetchall() != [(3, 'three'), (7, 'seven')]: +sys.stderr.write("Result set [(3, 'three'), (7, 'seven')] expected") s = ((0, 'row1'), (1, 'row2')) -x = cursor.executemany("insert into python_table VALUES (%s, %s);", s) -print(x); +if cursor.executemany("insert into python_table VALUES (%s, %s);", s) != 2: +sys.stderr.write("2 rows inserted expected") -cursor.execute('drop table python_table;'); +cursor.execute('drop table python_table;') diff --git a/gdk/gdk_align.c b/gdk/gdk_align.c --- a/gdk/gdk_align.c +++ b/gdk/gdk_align.c @@ -146,7 +146,7 @@ VIEWcreate(oid seq, BAT *b) GDKfree(bn); return NULL; } - TRC_DEBUG(ALGO, "VIEWcreate(" ALGOBATFMT ")=" ALGOBATFMT "\n", + TRC_DEBUG(ALGO, ALGOBATFMT " -> " ALGOBATFMT "\n", ALGOBATPAR(b), ALGOBATPAR(bn)); return bn; } diff --git a/gdk/gdk_bat.c b/gdk/gdk_bat.c --- a/gdk/gdk_bat.c +++ b/gdk/gdk_bat.c @@ -926,7 +926,7 @@ COLcopy(BAT *b, int tt, bool writable, r } if (!writable) bn->batRestricted = BAT_READ; - TRC_DEBUG(ALGO, "COLcopy(" ALGOBATFMT ")=" ALGOBATFMT "\n", + TRC_DEBUG(ALGO, ALGOBATFMT " -> " ALGOBATFMT "\n", ALGOBATPAR(b), ALGOBATPAR(bn)); return bn; bunins_failed: diff --git a/gdk/gdk_batop.c b/gdk/gdk_batop.c --- a/gdk/gdk_batop.c +++ b/gdk/gdk_batop.c @@ -2080,11 +2080,11 @@ BATsort(BAT **sorted, BAT **order, BAT * } *groups = gn; } - TRC_DEBUG(ALGO, "BATsort(b=" ALGOBATFMT ",o=" + TRC_DEBUG(ALGO, "b=" ALGOBATFMT ",o=" ALGOOPTBATFMT ",g=" ALGOOPTBATFMT ",reverse=%d,nilslast=%d,stable=%d) = (" ALGOOPTBATFMT "," ALGOOPTBATFMT "," - ALGOOPTBATFMT ") -- trivial (" LLFMT + ALGOOPTBATFMT " -- trivial (" LLFMT " usec)\n", ALGOBATPAR(b), ALGOOPTBATPAR(o), ALGOOPTBATPAR(g), reverse, nilslast, stable, @@ -2168,11 +2168,11 @@ BATsort(BAT **sorted, BAT **order, BAT * BBPunfix(on->batCacheid); on = NULL; } - TRC_DEBUG(ALGO, "BATsort(b=" ALGOBATFMT ",o=" + TRC_DEBUG(ALGO, "b=" ALGOBATFMT ",o=" ALGOOPTBATFMT ",g=" ALGOOPTBATFMT ",reverse=%d,nilslast=%d,stable=%d) = (" ALGOOPTBATFMT "," ALGOOPTBATFMT "," - ALGOOPTBATFMT ") -- orderidx (" LLFMT
MonetDB: default - Silenced Python tests
Changeset: 571204370adb for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=571204370adb Modified Files: clients/examples/python/sqlsample.py sql/test/mapi/Tests/python3_dbapi.stable.err sql/test/mapi/Tests/python3_dbapi.stable.out sql/test/mapi/Tests/python3_dec38.stable.err sql/test/mapi/Tests/python3_dec38.stable.out.int128 sql/test/mapi/Tests/python3_int128.stable.out.int128 sql/test/mapi/Tests/python_dec38.py sql/test/mapi/Tests/python_int128.py Branch: default Log Message: Silenced Python tests diffs (268 lines): diff --git a/clients/examples/python/sqlsample.py b/clients/examples/python/sqlsample.py --- a/clients/examples/python/sqlsample.py +++ b/clients/examples/python/sqlsample.py @@ -11,28 +11,33 @@ import sys dbh = pymonetdb.connect(port=int(sys.argv[1]),database=sys.argv[2],hostname=sys.argv[3],autocommit=True) -cursor = dbh.cursor(); +cursor = dbh.cursor() cursor.execute('select 1;') -print(cursor.fetchall()) +if cursor.fetchall() != [(1,)]: +sys.stderr.write("Just row (1,) expected") -cursor = dbh.cursor(); +cursor = dbh.cursor() cursor.execute('select 2;') -print(cursor.fetchone()) +if cursor.fetchall() != [(2,)]: +sys.stderr.write("Just row (2,) expected") # deliberately executing a wrong SQL statement: try: cursor.execute('select commit_action, access from tables group by access;') +sys.stderr.write("Grouping error expected") except pymonetdb.OperationalError as e: -print(e) +if 'SELECT: cannot use non GROUP BY column \'commit_action\' in query results without an aggregate function' not in str(e): +raise e -cursor.execute('create table python_table (i smallint,s string);'); -cursor.execute('insert into python_table values ( 3, \'three\');'); -cursor.execute('insert into python_table values ( 7, \'seven\');'); -cursor.execute('select * from python_table;'); -print(cursor.fetchall()) +cursor.execute('create table python_table (i smallint,s string);') +cursor.execute('insert into python_table values ( 3, \'three\');') +cursor.execute('insert into python_table values ( 7, \'seven\');') +cursor.execute('select * from python_table;') +if cursor.fetchall() != [(3, 'three'), (7, 'seven')]: +sys.stderr.write("Result set [(3, 'three'), (7, 'seven')] expected") s = ((0, 'row1'), (1, 'row2')) -x = cursor.executemany("insert into python_table VALUES (%s, %s);", s) -print(x); +if cursor.executemany("insert into python_table VALUES (%s, %s);", s) != 2: +sys.stderr.write("2 rows inserted expected") -cursor.execute('drop table python_table;'); +cursor.execute('drop table python_table;') diff --git a/sql/test/mapi/Tests/python3_dbapi.stable.err b/sql/test/mapi/Tests/python3_dbapi.stable.err --- a/sql/test/mapi/Tests/python3_dbapi.stable.err +++ b/sql/test/mapi/Tests/python3_dbapi.stable.err @@ -7,16 +7,6 @@ stderr of test 'python3_dbapi` in direct # 22:24:36 > -# 22:24:36 > Mtimeout -timeout 180 ./python_dbapi.SQL.sh python_dbapi -# 22:24:36 > - - -# 22:24:36 > -# 22:24:36 > sqlsample.py 33515 mTests_src_test_mapi -# 22:24:36 > - - -# 22:24:36 > # 22:24:36 > Done. # 22:24:36 > diff --git a/sql/test/mapi/Tests/python3_dbapi.stable.out b/sql/test/mapi/Tests/python3_dbapi.stable.out --- a/sql/test/mapi/Tests/python3_dbapi.stable.out +++ b/sql/test/mapi/Tests/python3_dbapi.stable.out @@ -5,35 +5,6 @@ stdout of test 'python3_dbapi` in direct # 20:08:06 > mserver5 "--config=/ufs/niels/scratch/rc/Linux-x86_64/etc/monetdb5.conf" --debug=10 --set gdk_nr_threads=0 --set "monet_mod_path=/ufs/niels/scratch/rc/Linux-x86_64/lib/MonetDB5:/ufs/niels/scratch/rc/Linux-x86_64/lib/MonetDB5/lib:/ufs/niels/scratch/rc/Linux-x86_64/lib/MonetDB5/bin" --set "gdk_dbfarm=/ufs/niels/scratch/rc/Linux-x86_64/var/MonetDB5/dbfarm" --set mapi_open=true --set xrpc_open=true --set mapi_port=32187 --set xrpc_port=41560 --set monet_prompt= --trace "--dbname=mTests_src_test_mapi" --set mal_listing=0 "--dbinit= include sql;" ; echo ; echo Over.. # 20:08:06 > -# MonetDB server v5.12.1, based on kernel v1.30.1 -# Serving database 'mTests_src_test_mapi', using 4 threads -# Compiled for x86_64-unknown-linux-gnu/64bit with 64bit OIDs dynamically linked -# Copyright (c) 1993-July 2008 CWI. -# Copyright (c) August 2008-2009 MonetDB B.V., all rights reserved -# Visit http://monetdb.cwi.nl/ for further information -# Listening for connection requests on mapi:monetdb://alf.ins.cwi.nl:32187/ -# MonetDB/SQL module v2.30.1 loaded - -#function user.main():void; -#clients.quit(); -#end main; - - -# 22:24:36 > -# 22:24:36 > Mtimeout -timeout 180 ./python_dbapi.SQL.sh python_dbapi -# 22:24:36 > - - -# 22:24:36 > -# 22:24:36 > sqlsample.py 33515 mTests_src_test_mapi -# 22:24:36 > - -[(1,)] -(2,) -42000!SELECT: cannot use non GROUP BY column 'commit_action' in query results without an aggregate function - -[(3, 'three'), (7, 'seven')] -2 # 22:24:36 >
MonetDB: default - Merge with Oct2020 branch.
Changeset: 54ce0f451386 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=54ce0f451386 Modified Files: gdk/gdk_bat.c gdk/gdk_batop.c gdk/gdk_private.h monetdb5/mal/mal_instruction.c monetdb5/mal/mal_scenario.c sql/backends/monet5/CMakeLists.txt tools/mserver/mserver5.c Branch: default Log Message: Merge with Oct2020 branch. diffs (truncated from 346 to 300 lines): diff --git a/gdk/gdk_align.c b/gdk/gdk_align.c --- a/gdk/gdk_align.c +++ b/gdk/gdk_align.c @@ -141,7 +141,7 @@ VIEWcreate(oid seq, BAT *b) GDKfree(bn); return NULL; } - TRC_DEBUG(ALGO, "VIEWcreate(" ALGOBATFMT ")=" ALGOBATFMT "\n", + TRC_DEBUG(ALGO, ALGOBATFMT " -> " ALGOBATFMT "\n", ALGOBATPAR(b), ALGOBATPAR(bn)); return bn; } diff --git a/gdk/gdk_bat.c b/gdk/gdk_bat.c --- a/gdk/gdk_bat.c +++ b/gdk/gdk_bat.c @@ -842,7 +842,7 @@ COLcopy(BAT *b, int tt, bool writable, r } if (!writable) bn->batRestricted = BAT_READ; - TRC_DEBUG(ALGO, "COLcopy(" ALGOBATFMT ")=" ALGOBATFMT "\n", + TRC_DEBUG(ALGO, ALGOBATFMT " -> " ALGOBATFMT "\n", ALGOBATPAR(b), ALGOBATPAR(bn)); return bn; bunins_failed: diff --git a/gdk/gdk_batop.c b/gdk/gdk_batop.c --- a/gdk/gdk_batop.c +++ b/gdk/gdk_batop.c @@ -1817,11 +1817,11 @@ BATsort(BAT **sorted, BAT **order, BAT * } *groups = gn; } - TRC_DEBUG(ALGO, "BATsort(b=" ALGOBATFMT ",o=" + TRC_DEBUG(ALGO, "b=" ALGOBATFMT ",o=" ALGOOPTBATFMT ",g=" ALGOOPTBATFMT ",reverse=%d,nilslast=%d,stable=%d) = (" ALGOOPTBATFMT "," ALGOOPTBATFMT "," - ALGOOPTBATFMT ") -- trivial (" LLFMT + ALGOOPTBATFMT " -- trivial (" LLFMT " usec)\n", ALGOBATPAR(b), ALGOOPTBATPAR(o), ALGOOPTBATPAR(g), reverse, nilslast, stable, @@ -1904,11 +1904,11 @@ BATsort(BAT **sorted, BAT **order, BAT * BBPunfix(on->batCacheid); on = NULL; } - TRC_DEBUG(ALGO, "BATsort(b=" ALGOBATFMT ",o=" + TRC_DEBUG(ALGO, "b=" ALGOBATFMT ",o=" ALGOOPTBATFMT ",g=" ALGOOPTBATFMT ",reverse=%d,nilslast=%d,stable=%d) = (" ALGOOPTBATFMT "," ALGOOPTBATFMT "," - ALGOOPTBATFMT ") -- orderidx (" LLFMT + ALGOOPTBATFMT " -- orderidx (" LLFMT " usec)\n", ALGOBATPAR(b), ALGOOPTBATPAR(o), ALGOOPTBATPAR(g), reverse, nilslast, stable, @@ -2006,12 +2006,12 @@ BATsort(BAT **sorted, BAT **order, BAT * goto error; *groups = gn; } - TRC_DEBUG(ALGO, "BATsort(b=" ALGOBATFMT + TRC_DEBUG(ALGO, "b=" ALGOBATFMT ",o=" ALGOOPTBATFMT ",g=" ALGOBATFMT ",reverse=%d,nilslast=%d,stable=%d" ") = (" ALGOOPTBATFMT "," ALGOOPTBATFMT "," ALGOOPTBATFMT - ") -- key group (" LLFMT " usec)\n", + " -- key group (" LLFMT " usec)\n", ALGOBATPAR(b), ALGOOPTBATPAR(o), ALGOBATPAR(g), reverse, nilslast, stable, ALGOOPTBATPAR(bn), @@ -2128,10 +2128,10 @@ BATsort(BAT **sorted, BAT **order, BAT * bn = NULL; } - TRC_DEBUG(ALGO, "BATsort(b=" ALGOBATFMT ",o=" ALGOOPTBATFMT + TRC_DEBUG(ALGO, "b=" ALGOBATFMT ",o=" ALGOOPTBATFMT ",g=" ALGOOPTBATFMT ",reverse=%d,nilslast=%d," "stable=%d) = (" ALGOOPTBATFMT "," ALGOOPTBATFMT "," - ALGOOPTBATFMT ") -- %ssort (" LLFMT " usec)\n", + ALGOOPTBATFMT " -- %ssort (" LLFMT " usec)\n", ALGOBATPAR(b), ALGOOPTBATPAR(o), ALGOOPTBATPAR(g), reverse, nilslast, stable, ALGOOPTBATPAR(bn), ALGOOPTBATPAR(gn), ALGOOPTBATPAR(on), diff --git a/gdk/gdk_private.h b/gdk/gdk_private.h --- a/gdk/gdk_private.h +++ b/gdk/gdk_private.h @@ -265,8 +265,8 @@ BAT *virtualize(BAT *bn) BATcount(b),\ b->hseqbase,\ ATOMname(b->ttype), \ - !b->batTransient ? "P" : isVIEW(b) ? "V" : "T", \ - BATtdense(b) ? "D" : b->ttype == TYPE_void && b-
MonetDB: Oct2020 - Merge with Jun2020 branch.
Changeset: eba191c0b714 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=eba191c0b714 Modified Files: gdk/gdk_batop.c gdk/gdk_project.c Branch: Oct2020 Log Message: Merge with Jun2020 branch. diffs (121 lines): diff --git a/gdk/gdk_align.c b/gdk/gdk_align.c --- a/gdk/gdk_align.c +++ b/gdk/gdk_align.c @@ -141,7 +141,7 @@ VIEWcreate(oid seq, BAT *b) GDKfree(bn); return NULL; } - TRC_DEBUG(ALGO, "VIEWcreate(" ALGOBATFMT ")=" ALGOBATFMT "\n", + TRC_DEBUG(ALGO, ALGOBATFMT " -> " ALGOBATFMT "\n", ALGOBATPAR(b), ALGOBATPAR(bn)); return bn; } diff --git a/gdk/gdk_bat.c b/gdk/gdk_bat.c --- a/gdk/gdk_bat.c +++ b/gdk/gdk_bat.c @@ -842,7 +842,7 @@ COLcopy(BAT *b, int tt, bool writable, r } if (!writable) bn->batRestricted = BAT_READ; - TRC_DEBUG(ALGO, "COLcopy(" ALGOBATFMT ")=" ALGOBATFMT "\n", + TRC_DEBUG(ALGO, ALGOBATFMT " -> " ALGOBATFMT "\n", ALGOBATPAR(b), ALGOBATPAR(bn)); return bn; bunins_failed: diff --git a/gdk/gdk_batop.c b/gdk/gdk_batop.c --- a/gdk/gdk_batop.c +++ b/gdk/gdk_batop.c @@ -1767,11 +1767,11 @@ BATsort(BAT **sorted, BAT **order, BAT * } *groups = gn; } - TRC_DEBUG(ALGO, "BATsort(b=" ALGOBATFMT ",o=" + TRC_DEBUG(ALGO, "b=" ALGOBATFMT ",o=" ALGOOPTBATFMT ",g=" ALGOOPTBATFMT ",reverse=%d,nilslast=%d,stable=%d) = (" ALGOOPTBATFMT "," ALGOOPTBATFMT "," - ALGOOPTBATFMT ") -- trivial (" LLFMT + ALGOOPTBATFMT " -- trivial (" LLFMT " usec)\n", ALGOBATPAR(b), ALGOOPTBATPAR(o), ALGOOPTBATPAR(g), reverse, nilslast, stable, @@ -1854,11 +1854,11 @@ BATsort(BAT **sorted, BAT **order, BAT * BBPunfix(on->batCacheid); on = NULL; } - TRC_DEBUG(ALGO, "BATsort(b=" ALGOBATFMT ",o=" + TRC_DEBUG(ALGO, "b=" ALGOBATFMT ",o=" ALGOOPTBATFMT ",g=" ALGOOPTBATFMT ",reverse=%d,nilslast=%d,stable=%d) = (" ALGOOPTBATFMT "," ALGOOPTBATFMT "," - ALGOOPTBATFMT ") -- orderidx (" LLFMT + ALGOOPTBATFMT " -- orderidx (" LLFMT " usec)\n", ALGOBATPAR(b), ALGOOPTBATPAR(o), ALGOOPTBATPAR(g), reverse, nilslast, stable, @@ -1956,12 +1956,12 @@ BATsort(BAT **sorted, BAT **order, BAT * goto error; *groups = gn; } - TRC_DEBUG(ALGO, "BATsort(b=" ALGOBATFMT + TRC_DEBUG(ALGO, "b=" ALGOBATFMT ",o=" ALGOOPTBATFMT ",g=" ALGOBATFMT ",reverse=%d,nilslast=%d,stable=%d" ") = (" ALGOOPTBATFMT "," ALGOOPTBATFMT "," ALGOOPTBATFMT - ") -- key group (" LLFMT " usec)\n", + " -- key group (" LLFMT " usec)\n", ALGOBATPAR(b), ALGOOPTBATPAR(o), ALGOBATPAR(g), reverse, nilslast, stable, ALGOOPTBATPAR(bn), @@ -2078,10 +2078,10 @@ BATsort(BAT **sorted, BAT **order, BAT * bn = NULL; } - TRC_DEBUG(ALGO, "BATsort(b=" ALGOBATFMT ",o=" ALGOOPTBATFMT + TRC_DEBUG(ALGO, "b=" ALGOBATFMT ",o=" ALGOOPTBATFMT ",g=" ALGOOPTBATFMT ",reverse=%d,nilslast=%d," "stable=%d) = (" ALGOOPTBATFMT "," ALGOOPTBATFMT "," - ALGOOPTBATFMT ") -- %ssort (" LLFMT " usec)\n", + ALGOOPTBATFMT " -- %ssort (" LLFMT " usec)\n", ALGOBATPAR(b), ALGOOPTBATPAR(o), ALGOOPTBATPAR(g), reverse, nilslast, stable, ALGOOPTBATPAR(bn), ALGOOPTBATPAR(gn), ALGOOPTBATPAR(on), diff --git a/gdk/gdk_private.h b/gdk/gdk_private.h --- a/gdk/gdk_private.h +++ b/gdk/gdk_private.h @@ -265,8 +265,8 @@ BAT *virtualize(BAT *bn) BATcount(b),\ b->hseqbase,\ ATOMname(b->ttype), \ - !b->batTransient ? "P" : isVIEW(b) ? "V" : "T", \ - BATtdense(b) ? "D" : b->ttype == TYPE_void && b->tvheap ? "X" :"", \ + !b->batTransient ? "P" : b->theap.parentid ? "V" : b->tvheap && b->tvheap->parentid != b->batCacheid ? "v" : "T", \ + BATtdense(b) ? "D" : b->ttype == TYPE_voi
MonetDB: Jun2020 - No need to restrict second projection bat to ...
Changeset: 4f448b864e8c for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=4f448b864e8c Modified Files: gdk/gdk_project.c Branch: Jun2020 Log Message: No need to restrict second projection bat to not being double eliminated. diffs (13 lines): diff --git a/gdk/gdk_project.c b/gdk/gdk_project.c --- a/gdk/gdk_project.c +++ b/gdk/gdk_project.c @@ -577,8 +577,7 @@ BATproject2(BAT *restrict l, BAT *restri } else if (l->tnonil && r2 != NULL && (r1->tvheap == r2->tvheap || - (!GDK_ELIMDOUBLES(r1->tvheap) && -!GDK_ELIMDOUBLES(r2->tvheap) /* && size tests */))) { + (!GDK_ELIMDOUBLES(r1->tvheap) /* && size tests */))) { /* r1 and r2 may explicitly share their vheap, * if they do, the result will also share the * vheap; this also means that for this case we ___ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list
MonetDB: Jun2020 - Enhanced a few ALGO debug prints, especially ...
Changeset: fcf08d66faf5 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=fcf08d66faf5 Modified Files: gdk/gdk_align.c gdk/gdk_bat.c gdk/gdk_batop.c gdk/gdk_private.h Branch: Jun2020 Log Message: Enhanced a few ALGO debug prints, especially some BAT properties. diffs (108 lines): diff --git a/gdk/gdk_align.c b/gdk/gdk_align.c --- a/gdk/gdk_align.c +++ b/gdk/gdk_align.c @@ -141,7 +141,7 @@ VIEWcreate(oid seq, BAT *b) GDKfree(bn); return NULL; } - TRC_DEBUG(ALGO, "VIEWcreate(" ALGOBATFMT ")=" ALGOBATFMT "\n", + TRC_DEBUG(ALGO, ALGOBATFMT " -> " ALGOBATFMT "\n", ALGOBATPAR(b), ALGOBATPAR(bn)); return bn; } diff --git a/gdk/gdk_bat.c b/gdk/gdk_bat.c --- a/gdk/gdk_bat.c +++ b/gdk/gdk_bat.c @@ -842,7 +842,7 @@ COLcopy(BAT *b, int tt, bool writable, r } if (!writable) bn->batRestricted = BAT_READ; - TRC_DEBUG(ALGO, "COLcopy(" ALGOBATFMT ")=" ALGOBATFMT "\n", + TRC_DEBUG(ALGO, ALGOBATFMT " -> " ALGOBATFMT "\n", ALGOBATPAR(b), ALGOBATPAR(bn)); return bn; bunins_failed: diff --git a/gdk/gdk_batop.c b/gdk/gdk_batop.c --- a/gdk/gdk_batop.c +++ b/gdk/gdk_batop.c @@ -1767,11 +1767,11 @@ BATsort(BAT **sorted, BAT **order, BAT * } *groups = gn; } - TRC_DEBUG(ALGO, "BATsort(b=" ALGOBATFMT ",o=" + TRC_DEBUG(ALGO, "b=" ALGOBATFMT ",o=" ALGOOPTBATFMT ",g=" ALGOOPTBATFMT ",reverse=%d,nilslast=%d,stable=%d) = (" ALGOOPTBATFMT "," ALGOOPTBATFMT "," - ALGOOPTBATFMT ") -- trivial (" LLFMT + ALGOOPTBATFMT " -- trivial (" LLFMT " usec)\n", ALGOBATPAR(b), ALGOOPTBATPAR(o), ALGOOPTBATPAR(g), reverse, nilslast, stable, @@ -1854,11 +1854,11 @@ BATsort(BAT **sorted, BAT **order, BAT * BBPunfix(on->batCacheid); on = NULL; } - TRC_DEBUG(ALGO, "BATsort(b=" ALGOBATFMT ",o=" + TRC_DEBUG(ALGO, "b=" ALGOBATFMT ",o=" ALGOOPTBATFMT ",g=" ALGOOPTBATFMT ",reverse=%d,nilslast=%d,stable=%d) = (" ALGOOPTBATFMT "," ALGOOPTBATFMT "," - ALGOOPTBATFMT ") -- orderidx (" LLFMT + ALGOOPTBATFMT " -- orderidx (" LLFMT " usec)\n", ALGOBATPAR(b), ALGOOPTBATPAR(o), ALGOOPTBATPAR(g), reverse, nilslast, stable, @@ -1956,12 +1956,12 @@ BATsort(BAT **sorted, BAT **order, BAT * goto error; *groups = gn; } - TRC_DEBUG(ALGO, "BATsort(b=" ALGOBATFMT + TRC_DEBUG(ALGO, "b=" ALGOBATFMT ",o=" ALGOOPTBATFMT ",g=" ALGOBATFMT ",reverse=%d,nilslast=%d,stable=%d" ") = (" ALGOOPTBATFMT "," ALGOOPTBATFMT "," ALGOOPTBATFMT - ") -- key group (" LLFMT " usec)\n", + " -- key group (" LLFMT " usec)\n", ALGOBATPAR(b), ALGOOPTBATPAR(o), ALGOBATPAR(g), reverse, nilslast, stable, ALGOOPTBATPAR(bn), @@ -2078,10 +2078,10 @@ BATsort(BAT **sorted, BAT **order, BAT * bn = NULL; } - TRC_DEBUG(ALGO, "BATsort(b=" ALGOBATFMT ",o=" ALGOOPTBATFMT + TRC_DEBUG(ALGO, "b=" ALGOBATFMT ",o=" ALGOOPTBATFMT ",g=" ALGOOPTBATFMT ",reverse=%d,nilslast=%d," "stable=%d) = (" ALGOOPTBATFMT "," ALGOOPTBATFMT "," - ALGOOPTBATFMT ") -- %ssort (" LLFMT " usec)\n", + ALGOOPTBATFMT " -- %ssort (" LLFMT " usec)\n", ALGOBATPAR(b), ALGOOPTBATPAR(o), ALGOOPTBATPAR(g), reverse, nilslast, stable, ALGOOPTBATPAR(bn), ALGOOPTBATPAR(gn), ALGOOPTBATPAR(on), diff --git a/gdk/gdk_private.h b/gdk/gdk_private.h --- a/gdk/gdk_private.h +++ b/gdk/gdk_private.h @@ -265,8 +265,8 @@ BAT *virtualize(BAT *bn) BATcount(b),\ b->hseqbase,\ ATOMname(b->ttype), \ - !b->batTransient ? "P" : isVIEW(b) ? "V" : "T", \ - BATtdense(b) ? "D" : b->ttype == TYPE_void && b->tvheap ? "X" :"", \ + !b->batTransient ? "P" : b->theap.parentid ? "V" : b->tvheap && b->tvheap->paren
MonetDB: unlock - merged with defaul
Changeset: 1bad78432eaf for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=1bad78432eaf Removed Files: monetdb5/extras/mal_optimizer_template/Tests/opt_sql_append.test Modified Files: monetdb5/extras/mal_optimizer_template/Tests/opt_sql_append.stable.out Branch: unlock Log Message: merged with defaul diffs (truncated from 555 to 300 lines): diff --git a/monetdb5/extras/mal_optimizer_template/Tests/opt_sql_append.sql b/monetdb5/extras/mal_optimizer_template/Tests/opt_sql_append.SQL.py copy from monetdb5/extras/mal_optimizer_template/Tests/opt_sql_append.sql copy to monetdb5/extras/mal_optimizer_template/Tests/opt_sql_append.SQL.py --- a/monetdb5/extras/mal_optimizer_template/Tests/opt_sql_append.sql +++ b/monetdb5/extras/mal_optimizer_template/Tests/opt_sql_append.SQL.py @@ -1,27 +1,15 @@ -set optimizer = 'sequential_pipe'; -- to get predictable errors - -create table ttt (averylongcolumnnametomakeitlargee int, b int, c int); -select optimizer; -select def from optimizers() where name = optimizer; +from MonetDBtesting.sqltest import SQLTestCase +import platform -explain copy into ttt from '/tmp/xyz'; -explain copy into ttt from E'\\tmp/xyz'; -explain copy into ttt from E'a:\\tmp/xyz'; - -start transaction; -create local temp table "opt_pipe_name" ("opt_pipe_name" string); -insert into "opt_pipe_name" values ((select optimizer)); +if platform.system() == 'Windows': +suffix = '.Windows' +else: +suffix = '' -set optimizer = substring((select def from optimizers() where name = (select opt_pipe_name from "opt_pipe_name")),0, -length((select def from optimizers() where name = (select opt_pipe_name from "opt_pipe_name")))-length('optimizer.garbageCollector();')) || 'optimizer.sql_append();optimizer.garbageCollector();'; -select optimizer; - -select def from optimizers() where name = optimizer; -rollback; - -explain copy into ttt from '/tmp/xyz'; -explain copy into ttt from E'\\tmp/xyz'; -explain copy into ttt from 'Z:/tmp/xyz'; -drop table ttt; - -set optimizer = 'default_pipe'; +with SQLTestCase() as tc: +# optional or default connection +tc.connect() +with open('opt_sql_append.sql') as f: +tc.execute(query=None, client='mclient', stdin=f)\ +.assertMatchStableOut(fout='opt_sql_append.stable.out%s' % (suffix))\ +.assertMatchStableError(ferr='opt_sql_append.stable.err%s' % (suffix)) diff --git a/monetdb5/extras/mal_optimizer_template/Tests/opt_sql_append.stable.err b/monetdb5/extras/mal_optimizer_template/Tests/opt_sql_append.stable.err --- a/monetdb5/extras/mal_optimizer_template/Tests/opt_sql_append.stable.err +++ b/monetdb5/extras/mal_optimizer_template/Tests/opt_sql_append.stable.err @@ -1,35 +1,3 @@ -stderr of test 'opt_sql_append` in directory 'monetdb5/extras/mal_optimizer_template` itself: - - -# 22:58:57 > -# 22:58:57 > "mserver5" "--debug=10" "--set" "gdk_nr_threads=0" "--set" "gdk_dbfarm=/ufs/manegold/_/Monet/HG/default/prefix/_/var/MonetDB" "--set" "mapi_open=true" "--set" "mapi_port=36275" "--set" "monet_prompt=" "--trace" "--forcemito" "--set" "mal_listing=2" "--dbname=mTests_extras_mal_optimizer_template" "--set" "mal_listing=0" -# 22:58:57 > - -# builtin opt gdk_dbname = demo -# builtin opt gdk_dbfarm = /ufs/manegold/_/Monet/HG/default/prefix/_/var/monetdb5/dbfarm -# builtin opt gdk_debug = 0 -# builtin opt gdk_alloc_map = no -# builtin opt gdk_vmtrim = yes -# builtin opt monet_prompt = > -# builtin opt monet_daemon = no -# builtin opt mapi_port = 5 -# builtin opt mapi_open = false -# builtin opt mapi_autosense = false -# builtin opt sql_optimizer = default_pipe -# builtin opt sql_debug = 0 -# cmdline opt gdk_nr_threads = 0 -# cmdline opt gdk_dbfarm = /ufs/manegold/_/Monet/HG/default/prefix/_/var/MonetDB -# cmdline opt mapi_open = true -# cmdline opt mapi_port = 36275 -# cmdline opt monet_prompt = -# cmdline opt mal_listing = 2 -# cmdline opt gdk_dbname = mTests_extras_mal_optimizer_template -# cmdline opt mal_listing = 0 - -# 22:58:57 > -# 22:58:57 > "mclient" "-lsql" "-ftest" "-Eutf-8" "-i" "-e" "--host=rome" "--port=36275" -# 22:58:57 > - MAPI = (monetdb) /var/tmp/mtest-20069/.s.monetdb.34504 QUERY = explain copy into ttt from E'\\tmp/xyz'; ERROR = !COPY INTO: filename must have absolute path: "\\tmp/xyz" @@ -47,7 +15,3 @@ QUERY = explain copy into ttt from 'Z:/t ERROR = !COPY INTO: filename must have absolute path: "Z:/tmp/xyz" CODE = 42000 -# 22:58:58 > -# 22:58:58 > "Done." -# 22:58:58 > - diff --git a/monetdb5/extras/mal_optimizer_template/Tests/opt_sql_append.stable.err.Windows b/monetdb5/extras/mal_optimizer_template/Tests/opt_sql_append.stable.err.Windows --- a/monetdb5/extras/mal_optimizer_template/Tests/opt_sql_append.stable.err.Windows +++ b/monetdb5/extras/mal_optimizer_template/Tests/op
MonetDB: default - Don't output oid sizes
Changeset: bd516407b5ba for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=bd516407b5ba Modified Files: sql/test/pg_regress/Tests/without_oid.sql sql/test/pg_regress/Tests/without_oid.test Branch: default Log Message: Don't output oid sizes diffs (27 lines): diff --git a/sql/test/pg_regress/Tests/without_oid.sql b/sql/test/pg_regress/Tests/without_oid.sql --- a/sql/test/pg_regress/Tests/without_oid.sql +++ b/sql/test/pg_regress/Tests/without_oid.sql @@ -51,7 +51,7 @@ SELECT min(relpages) < max(relpages), mi WHERE relname IN ('wi', 'wo'); */ SELECT "schema", "table", "column", type, count, typewidth, columnsize, heapsize, hashes, "imprints", sorted FROM sys.storage - WHERE "table" IN ('wi', 'wo'); + WHERE "table" IN ('wi', 'wo') and "type" <> 'oid'; DROP TABLE wi; DROP TABLE wo; diff --git a/sql/test/pg_regress/Tests/without_oid.test b/sql/test/pg_regress/Tests/without_oid.test --- a/sql/test/pg_regress/Tests/without_oid.test +++ b/sql/test/pg_regress/Tests/without_oid.test @@ -98,9 +98,9 @@ analyze sys.wo query IIT rowsort SELECT "schema", "table", "column", type, count, typewidth, columnsize, heapsize, hashes, "imprints", sorted FROM sys.storage - WHERE "table" IN ('wi', 'wo') + WHERE "table" IN ('wi', 'wo') and "type" <> 'oid' -209 values hashing to b471ced9cc0c6af49bd55cb30cf67c67 +198 values hashing to 3de091cc6989bce835396ea36df775e7 statement ok DROP TABLE wi ___ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list
MonetDB: default - Removed systemfunctions test. It was redundan...
Changeset: 7b39adf76de7 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=7b39adf76de7 Removed Files: sql/test/sys-schema/Tests/systemfunctions.sql sql/test/sys-schema/Tests/systemfunctions.stable.err sql/test/sys-schema/Tests/systemfunctions.stable.out sql/test/sys-schema/Tests/systemfunctions.stable.out.int128 sql/test/sys-schema/Tests/systemfunctions.test Modified Files: sql/test/sys-schema/Tests/All Branch: default Log Message: Removed systemfunctions test. It was redundant compared to the dump tests diffs (truncated from 8310 to 300 lines): diff --git a/sql/test/sys-schema/Tests/All b/sql/test/sys-schema/Tests/All --- a/sql/test/sys-schema/Tests/All +++ b/sql/test/sys-schema/Tests/All @@ -9,8 +9,6 @@ check_MaxStrLength_violations HAVE_GEOM?geom_tables_checks HAVE_NETCDF?netcdf_tables_checks -HAVE_FITS&HAVE_GEOM&HAVE_SHP&HAVE_NETCDF?systemfunctions - utilities HAVE_JDBCCLIENT_JAR?ValidateSystemCatalogTables diff --git a/sql/test/sys-schema/Tests/systemfunctions.sql b/sql/test/sys-schema/Tests/systemfunctions.sql deleted file mode 100644 --- a/sql/test/sys-schema/Tests/systemfunctions.sql +++ /dev/null @@ -1,6 +0,0 @@ -select s.name as "schema", f.name as "function", a.number as "argno", a.type as "argtype", case a.number when 0 then f.func else '' end as "definition" - from sys.functions f, sys.schemas s, sys.args a - where s.id = f.schema_id - and f.id = a.func_id - and f.system - order by s.name, f.name, f.id, a.number; diff --git a/sql/test/sys-schema/Tests/systemfunctions.stable.err b/sql/test/sys-schema/Tests/systemfunctions.stable.err deleted file mode 100644 --- a/sql/test/sys-schema/Tests/systemfunctions.stable.err +++ /dev/null @@ -1,35 +0,0 @@ -stderr of test 'systemfunctions` in directory 'sql/test/sys-schema` itself: - - -# 16:20:24 > -# 16:20:24 > "mserver5" "--debug=10" "--set" "gdk_nr_threads=0" "--set" "mapi_open=true" "--set" "mapi_port=36066" "--set" "mapi_usock=/var/tmp/mtest-26153/.s.monetdb.36066" "--set" "monet_prompt=" "--forcemito" "--set" "mal_listing=2" "--dbpath=/ufs/sjoerd/Monet-candidate/var/MonetDB/mTests_sql_test" "--set" "mal_listing=0" -# 16:20:24 > - -# builtin opt gdk_dbpath = /ufs/sjoerd/Monet-candidate/var/monetdb5/dbfarm/demo -# builtin opt gdk_debug = 0 -# builtin opt gdk_vmtrim = yes -# builtin opt monet_prompt = > -# builtin opt monet_daemon = no -# builtin opt mapi_port = 5 -# builtin opt mapi_open = false -# builtin opt mapi_autosense = false -# builtin opt sql_optimizer = default_pipe -# builtin opt sql_debug = 0 -# cmdline opt gdk_nr_threads = 0 -# cmdline opt mapi_open = true -# cmdline opt mapi_port = 36066 -# cmdline opt mapi_usock = /var/tmp/mtest-26153/.s.monetdb.36066 -# cmdline opt monet_prompt = -# cmdline opt mal_listing = 2 -# cmdline opt gdk_dbpath = /ufs/sjoerd/Monet-candidate/var/MonetDB/mTests_sql_test -# cmdline opt mal_listing = 0 - -# 16:20:25 > -# 16:20:25 > "mclient" "-lsql" "-ftest" "-Eutf-8" "-i" "-e" "--host=/var/tmp/mtest-26153" "--port=36066" -# 16:20:25 > - - -# 16:20:25 > -# 16:20:25 > "Done." -# 16:20:25 > - diff --git a/sql/test/sys-schema/Tests/systemfunctions.stable.out b/sql/test/sys-schema/Tests/systemfunctions.stable.out deleted file mode 100644 --- a/sql/test/sys-schema/Tests/systemfunctions.stable.out +++ /dev/null @@ -1,3860 +0,0 @@ -stdout of test 'systemfunctions` in directory 'sql/test/sys-schema` itself: - - -# 16:20:24 > -# 16:20:24 > "mserver5" "--debug=10" "--set" "gdk_nr_threads=0" "--set" "mapi_open=true" "--set" "mapi_port=36066" "--set" "mapi_usock=/var/tmp/mtest-26153/.s.monetdb.36066" "--set" "monet_prompt=" "--forcemito" "--set" "mal_listing=2" "--dbpath=/ufs/sjoerd/Monet-candidate/var/MonetDB/mTests_sql_test" "--set" "mal_listing=0" -# 16:20:24 > - -# MonetDB 5 server v11.33.4 (hg id: e20e95cd4eff+) -# This is an unreleased version -# Serving database 'mTests_sql_test', using 8 threads -# Compiled for x86_64-unknown-linux-gnu/64bit with 64bit integers -# Found 31.305 GiB available main-memory. -# Copyright (c) 1993 - July 2008 CWI. -# Copyright (c) August 2008 - 2020 MonetDB B.V., all rights reserved -# Visit https://www.monetdb.org/ for further information -# Listening for connection requests on mapi:monetdb://madrid.ins.cwi.nl:36066/ -# Listening for UNIX domain connection requests on mapi:monetdb:///var/tmp/mtest-26153/.s.monetdb.36066 -# MonetDB/GIS module loaded -# MonetDB/SQL module loaded - - -#select s.name as "schema", f.name as "function", a.number as "argno", a.type as "argtype", case a.number when 0 then f.func else '' end as "definition" -# from sys.functions f, sys.schemas s, sys.args a -# where s.id = f.schema_id -# and f.id = a.func_id -# and f.system -# order by s.name, f.name, f.id, a.number; -% sys.,sys., sys., sys., . # table_name -% schema, function, argno, argtype,definition # name -% varchar, varch
MonetDB: default - Use unicode_varchar-bug-sf-1041324 test for t...
Changeset: 0163b866b68f for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=0163b866b68f Removed Files: sql/test/bugs/Tests/unicode_varchar-bug-sf-1041324_JdbcClient.SQL.bat sql/test/bugs/Tests/unicode_varchar-bug-sf-1041324_JdbcClient.SQL.sh sql/test/bugs/Tests/unicode_varchar-bug-sf-1041324_JdbcClient.stable.err sql/test/bugs/Tests/unicode_varchar-bug-sf-1041324_JdbcClient.stable.out sql/test/bugs/Tests/unicode_varchar-bug-sf-1041324_JdbcClient.stable.out.Windows sql/test/bugs/Tests/unicode_varchar-bug-sf-1041324_MapiClient.sql.src sql/test/bugs/Tests/unicode_varchar-bug-sf-1041324_MapiClient.stable.err sql/test/bugs/Tests/unicode_varchar-bug-sf-1041324_MapiClient.stable.out sql/test/bugs/Tests/unicode_varchar-bug-sf-1041324_MapiClient.test Modified Files: sql/test/bugs/Tests/All Branch: default Log Message: Use unicode_varchar-bug-sf-1041324 test for this bug. The mapi and jdbc clients are no longer required diffs (273 lines): diff --git a/sql/test/bugs/Tests/All b/sql/test/bugs/Tests/All --- a/sql/test/bugs/Tests/All +++ b/sql/test/bugs/Tests/All @@ -46,11 +46,10 @@ trimtest-bug-sf-1023588 savepoint_rollback-bug-sf-1023652 select_orderby_alias-bug-sf-1024615 like-bug-sf-1031435 -unicode_varchar-bug-sf-1041324_MapiClient -HAVE_JDBCCLIENT_JAR?unicode_varchar-bug-sf-1041324_JdbcClient +unicode_varchar-bug-sf-1041324 unique-bug-sf-1043512 # like-bug-sf-1043521 # covered by like_tests -HAVE_JDBCCLIENT_JAR?except-union-intersect-bug-sf-1146079 +except-union-intersect-bug-sf-1146079 timestamp_comparison-bug-sf-1158581 selectlist_subquery-sf-1208599 interval_data_commutative_add_bug-sf-1263928 diff --git a/sql/test/bugs/Tests/unicode_varchar-bug-sf-1041324_JdbcClient.SQL.bat b/sql/test/bugs/Tests/unicode_varchar-bug-sf-1041324_JdbcClient.SQL.bat deleted file mode 100755 --- a/sql/test/bugs/Tests/unicode_varchar-bug-sf-1041324_JdbcClient.SQL.bat +++ /dev/null @@ -1,11 +0,0 @@ -@echo off - -echo user=monetdb> .monetdb -echo password=monetdb>>.monetdb - -prompt # $t $g -echo on - -call java nl.cwi.monetdb.client.JdbcClient -h %HOST% -p %MAPIPORT% -d %TSTDB% -f "%RELSRCDIR%\unicode_varchar-bug-sf-1041324.sql" - -@del .monetdb diff --git a/sql/test/bugs/Tests/unicode_varchar-bug-sf-1041324_JdbcClient.SQL.sh b/sql/test/bugs/Tests/unicode_varchar-bug-sf-1041324_JdbcClient.SQL.sh deleted file mode 100755 --- a/sql/test/bugs/Tests/unicode_varchar-bug-sf-1041324_JdbcClient.SQL.sh +++ /dev/null @@ -1,13 +0,0 @@ -#!/bin/sh - -cat << EOF > .monetdb -user=monetdb -password=monetdb -EOF - -LC_ALL="`locale -a | grep -i en_us | grep -i utf | head -n 1`" -export LC_ALL - -java nl.cwi.monetdb.client.JdbcClient -h $HOST -p $MAPIPORT -d ${TSTDB} -f "$RELSRCDIR/unicode_varchar-bug-sf-1041324.sql" - -rm -f .monetdb diff --git a/sql/test/bugs/Tests/unicode_varchar-bug-sf-1041324_JdbcClient.stable.err b/sql/test/bugs/Tests/unicode_varchar-bug-sf-1041324_JdbcClient.stable.err deleted file mode 100644 --- a/sql/test/bugs/Tests/unicode_varchar-bug-sf-1041324_JdbcClient.stable.err +++ /dev/null @@ -1,22 +0,0 @@ -stderr of test 'unicode_varchar-bug-sf-1041324_JdbcClient` in directory 'sql/test/bugs` itself: - - -# 19:28:39 > -# 19:28:39 > Mtimeout -timeout 180 Mserver "--config=/var/tmp/_4.4.0_PREFIX_MONETDB_GNU_32_d_--enable-debug_/etc/MonetDB.conf" --debug=10 --set "monet_mod_path=/var/tmp/_4.4.0_PREFIX_SQL_GNU_32_d_--enable-debug_/lib/MonetDB:/var/tmp/_4.4.0_PREFIX_MONETDB_GNU_32_d_--enable-debug_/lib/MonetDB" --set "gdk_dbfarm=/var/tmp/_4.4.0_PREFIX_MONETDB_GNU_32_d_--enable-debug_/var/MonetDB/dbfarm" --set "sql_logdir=/var/tmp/_4.4.0_PREFIX_MONETDB_GNU_32_d_--enable-debug_/var/MonetDB/log" --set mapi_port=46000 --set sql_port=56954 --set monet_prompt= --trace "--dbname=mTests_src_test_bugs" "/var/tmp/_4.4.0_BUILD_SQL_GNU_32_d_--enable-debug_/src/backends/monet4/sql_server.mil" ; echo ; echo Over.. -# 19:28:39 > - - -# 19:28:41 > -# 19:28:41 > Mtimeout -timeout 60 ./unicode_varchar-bug-sf-1041324_JdbcClient.SQL bug-sf-1041324_JdbcClient -# 19:28:41 > - - -# 19:59:40 > -# 19:59:40 > Mtimeout -timeout 9 java -jar /var/tmp/_4.4.0_BUILD_SQL_GNU_32_d_--enable-debug_/src/jdbc/MonetDB_JDBC.jar -p 50830 -f ../../../../../../../ufs/manegold/Monet/4.4.0/sql/src/test/bugs/Tests/../bug-sf-1041324_weird-char.sql -# 19:59:40 > - - -# 19:59:41 > -# 19:59:41 > Done. -# 19:59:41 > - diff --git a/sql/test/bugs/Tests/unicode_varchar-bug-sf-1041324_JdbcClient.stable.out b/sql/test/bugs/Tests/unicode_varchar-bug-sf-1041324_JdbcClient.stable.out deleted file mode 100644 --- a/sql/test/bugs/Tests/unicode_varchar-bug-sf-1041324_JdbcClient.stable.out +++ /dev/null @@ -1,52 +0,0 @@ -stdout of test 'unicode_varchar-bug-sf-1041324_JdbcClient` in directory 'sql/test/bugs` itself: - - -# 14:10:32 > -# 14:10:32 > "mserver5" "--debug=10" "--set" "gdk_nr_threads=0" "--set" "mapi_open=true" "
MonetDB: Oct2020 - add simple way to extend loaded modules (--lo...
Changeset: 1b4543ea524a for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=1b4543ea524a Modified Files: tools/mserver/mserver5.c Branch: Oct2020 Log Message: add simple way to extend loaded modules (--loadmodule=modname) can be repeated. diffs (98 lines): diff --git a/tools/mserver/mserver5.c b/tools/mserver/mserver5.c --- a/tools/mserver/mserver5.c +++ b/tools/mserver/mserver5.c @@ -296,10 +296,43 @@ main(int argc, char **av) { "transactions", no_argument, NULL, 0 }, { "read-password-initialize-and-exit", no_argument, NULL, 0 }, + { "loadmodule", required_argument, NULL, 0 }, { NULL, 0, NULL, 0 } }; +#define MAX_MODULES 32 + char *modules[MAX_MODULES+1]; + int mods = 0; + + modules[mods++] = "sql"; + modules[mods++] = "generator"; + modules[mods++] = "opt_sql_append"; +#ifdef HAVE_GEOM + modules[mods++] = "geom"; +#endif +#ifdef HAVE_LIBR + /* TODO check for used */ + modules[mods++] = "rapi"; +#endif +#ifdef HAVE_LIBPY3 + /* TODO check for used */ + modules[mods++] = "pyapi3"; +#endif +#ifdef HAVE_CUDF + modules[mods++] = "capi"; +#endif + modules[mods++] = "udf"; +#ifdef HAVE_FITS + modules[mods++] = "fits"; +#endif +#ifdef HAVE_NETCDF + modules[mods++] = "netcdf"; +#endif +#ifdef HAVE_SHP + modules[mods++] = "shp"; +#endif + #if defined(_MSC_VER) && defined(__cplusplus) set_terminate(mserver_abort); #endif @@ -435,6 +468,11 @@ main(int argc, char **av) readpwdxit = true; break; } + if (strcmp(long_options[option_index].name, "loadmodule") == 0) { + if (mods < MAX_MODULES) + modules[mods++]=optarg; + break; + } usage(prog, -1); /* not reached */ case 'c': @@ -730,38 +768,7 @@ main(int argc, char **av) } } - char *modules[16]; - int mods = 0; - - modules[mods++] = "sql"; - modules[mods++] = "generator"; - modules[mods++] = "opt_sql_append"; -#ifdef HAVE_GEOM - modules[mods++] = "geom"; -#endif -#ifdef HAVE_LIBR - /* TODO check for used */ - modules[mods++] = "rapi"; -#endif -#ifdef HAVE_LIBPY3 - /* TODO check for used */ - modules[mods++] = "pyapi3"; -#endif -#ifdef HAVE_CUDF - modules[mods++] = "capi"; -#endif - modules[mods++] = "udf"; -#ifdef HAVE_FITS - modules[mods++] = "fits"; -#endif -#ifdef HAVE_NETCDF - modules[mods++] = "netcdf"; -#endif -#ifdef HAVE_SHP - modules[mods++] = "shp"; -#endif modules[mods++] = 0; - if (mal_init(modules, 0)) { /* don't show this as a crash */ if (!GDKinmemory()) ___ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list
MonetDB: Oct2020 - export missing include files (and include les...
Changeset: 45d8304b335f for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=45d8304b335f Modified Files: monetdb5/mal/CMakeLists.txt monetdb5/mal/mal_import.c monetdb5/mal/mal_import.h monetdb5/mal/mal_parser.c monetdb5/mal/mal_prelude.h monetdb5/mal/mal_scenario.c sql/backends/monet5/CMakeLists.txt Branch: Oct2020 Log Message: export missing include files (and include less with in .h files) diffs (115 lines): diff --git a/monetdb5/mal/CMakeLists.txt b/monetdb5/mal/CMakeLists.txt --- a/monetdb5/mal/CMakeLists.txt +++ b/monetdb5/mal/CMakeLists.txt @@ -17,7 +17,9 @@ set(mal_public_headers ${CMAKE_CURRENT_SOURCE_DIR}/mal_linker.h ${CMAKE_CURRENT_SOURCE_DIR}/mal_namespace.h ${CMAKE_CURRENT_SOURCE_DIR}/mal_stack.h - ${CMAKE_CURRENT_SOURCE_DIR}/mal_type.h) + ${CMAKE_CURRENT_SOURCE_DIR}/mal_type.h + ${CMAKE_CURRENT_SOURCE_DIR}/mal_prelude.h + ${CMAKE_CURRENT_SOURCE_DIR}/mel.h) add_library(mal OBJECT) @@ -53,7 +55,6 @@ target_sources(mal mal_embedded.c mal_embedded.h mal_private.h mal_internal.h mal_prelude.c - mel.h PUBLIC ${mal_public_headers}) 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 @@ -32,6 +32,8 @@ #include "mal_parser.h" #include "mal_authorize.h" #include "mal_private.h" +#include "mal_session.h" +#include "mal_utils.h" void slash_2_dir_sep(str fname) diff --git a/monetdb5/mal/mal_import.h b/monetdb5/mal/mal_import.h --- a/monetdb5/mal/mal_import.h +++ b/monetdb5/mal/mal_import.h @@ -11,8 +11,6 @@ #include "mal_exception.h" #include "mal_client.h" -#include "mal_session.h" -#include "mal_utils.h" #include "mal_prelude.h" mal_export str malIncludeString(Client c, const str name, const str mal, int listing, MALfcn address); diff --git a/monetdb5/mal/mal_parser.c b/monetdb5/mal/mal_parser.c --- a/monetdb5/mal/mal_parser.c +++ b/monetdb5/mal/mal_parser.c @@ -20,6 +20,7 @@ #include "mal_utils.h" #include "mal_builder.h" #include "mal_type.h" +#include "mal_session.h" #include "mal_private.h" #define FATALINPUT MAXERRORS+1 diff --git a/monetdb5/mal/mal_prelude.h b/monetdb5/mal/mal_prelude.h --- a/monetdb5/mal/mal_prelude.h +++ b/monetdb5/mal/mal_prelude.h @@ -11,8 +11,6 @@ #include "mal_exception.h" #include "mal_client.h" -#include "mal_session.h" -#include "mal_utils.h" #include "mel.h" diff --git a/monetdb5/mal/mal_scenario.c b/monetdb5/mal/mal_scenario.c --- a/monetdb5/mal/mal_scenario.c +++ b/monetdb5/mal/mal_scenario.c @@ -97,6 +97,7 @@ #include "mal_exception.h" #include "mal_profiler.h" #include "mal_private.h" +#include "mal_session.h" #ifdef HAVE_SYS_TIMES_H # include diff --git a/sql/backends/monet5/CMakeLists.txt b/sql/backends/monet5/CMakeLists.txt --- a/sql/backends/monet5/CMakeLists.txt +++ b/sql/backends/monet5/CMakeLists.txt @@ -48,11 +48,6 @@ if(HAVE_HGE) endif() create_include_object( - MAL_LANGUAGE - name_module "sql" - modules_list ${include_mal_files}) - -create_include_object( SQL_LANGUAGE name_module "sql" path "${CMAKE_SOURCE_DIR}/sql/scripts/" @@ -119,7 +114,8 @@ set_target_properties(sql PROPERTIES OUTPUT_NAME monetdbsql VERSION ${MONETDB_VERSION} - SOVERSION ${MONETDB_VERSION_MAJOR}) + SOVERSION ${MONETDB_VERSION_MAJOR} + PUBLIC_HEADER "${sql_public_headers}") target_compile_definitions(sql PRIVATE @@ -129,6 +125,9 @@ target_compile_definitions(sql install(TARGETS sql EXPORT sqlTargets + PUBLIC_HEADER + DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/monetdb + COMPONENT sql RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} LIBRARY ___ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list
MonetDB: default - Better solution, use R type
Changeset: b4feb557eb91 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=b4feb557eb91 Modified Files: monetdb5/extras/rapi/Tests/rapi03.maltest Branch: default Log Message: Better solution, use R type diffs (64 lines): diff --git a/monetdb5/extras/rapi/Tests/rapi03.maltest b/monetdb5/extras/rapi/Tests/rapi03.maltest --- a/monetdb5/extras/rapi/Tests/rapi03.maltest +++ b/monetdb5/extras/rapi/Tests/rapi03.maltest @@ -37,38 +37,38 @@ io.print(b) 20 values hashing to 74a3c631a4c9ac875a281da7c6d5441c statement ok -(t:bat[:dbl], s:bat[:dbl]) := rapi.eval(nil:ptr,"someval2 <- Re(fft(arg1)); print(someval2); return(round(data.frame(someval2,someval2),2));",b); +(t:bat[:dbl], s:bat[:dbl]) := rapi.eval(nil:ptr,"someval2 <- Re(fft(arg1)); print(someval2); return(data.frame(someval2,someval2));",b); -query TTT nosort +query TRR nosort io.print(t,s) 0 -12585340037.0 -12585340037.0 +12585340037.000 +12585340037.000 1 -525771362.91 -525771362.91 +525771362.908 +525771362.908 2 --879667492.32 --879667492.32 +-879667492.324 +-879667492.324 3 -2456894287.59 -2456894287.59 +2456894287.592 +2456894287.592 4 -158316768.82 -158316768.82 +158316768.824 +158316768.824 5 -934923939.0 -934923939.0 +934923939.000 +934923939.000 6 -158316768.82 -158316768.82 +158316768.824 +158316768.824 7 -2456894287.59 -2456894287.59 +2456894287.592 +2456894287.592 8 --879667492.32 --879667492.32 +-879667492.324 +-879667492.324 9 -525771362.91 -525771362.91 +525771362.908 +525771362.908 ___ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list
MonetDB: default - add singlekeycontsraint test
Changeset: e9aa03331582 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=e9aa03331582 Added Files: sql/test/mergetables/Tests/singlekeyconstraint.test Branch: default Log Message: add singlekeycontsraint test diffs (104 lines): diff --git a/sql/test/mergetables/Tests/singlekeyconstraint.test b/sql/test/mergetables/Tests/singlekeyconstraint.test new file mode 100644 --- /dev/null +++ b/sql/test/mergetables/Tests/singlekeyconstraint.test @@ -0,0 +1,99 @@ +statement ok +CREATE TABLE part1 ( x double, y double, z double) + +statement ok +ALTER TABLE part1 ADD PRIMARY KEY (x) + +statement ok +COPY 2 RECORDS INTO part1 FROM stdin USING DELIMITERS ' ',E'\n' + +0.0 0.0 0.0 +1.0 0.0 0.0 + +statement ok +CREATE TABLE part2 ( x double, y double, z double) + +statement ok +ALTER TABLE part2 ADD PRIMARY KEY (x) + +statement ok +COPY 2 RECORDS INTO part2 FROM stdin USING DELIMITERS ' ',E'\n' + +2.0 0.0 0.0 +3.0 0.0 0.0 + +statement ok +CREATE MERGE TABLE complete ( x double, y double, z double) + +statement error +ALTER TABLE complete ADD TABLE part1 + +statement error +ALTER TABLE complete ADD TABLE part2 + +statement ok +ALTER TABLE complete ADD PRIMARY KEY (x) + +statement ok +ALTER TABLE complete ADD TABLE part1 + +statement ok +ALTER TABLE complete ADD TABLE part2 + +query RRR rowsort +SELECT * FROM COMPLETE + +0.000 +0.000 +0.000 +1.000 +0.000 +0.000 +2.000 +0.000 +0.000 +3.000 +0.000 +0.000 + +statement error +INSERT INTO part2 VALUES(2.0, 0.0, 1.0) + +statement error +INSERT INTO part1 VALUES(0.0, 0.0, 2.0) + +statement error +INSERT INTO part2 VALUES(0.0, 0.0, 3.0) + +statement error +INSERT INTO complete VALUES(4.0, 0.0, 4.0) + +query RRR rowsort +SELECT * FROM complete + +0.000 +0.000 +0.000 +0.000 +0.000 +3.000 +1.000 +0.000 +0.000 +2.000 +0.000 +0.000 +3.000 +0.000 +0.000 + +statement ok +DROP TABLE complete + +statement ok +DROP TABLE part1 + +statement ok +DROP TABLE part2 + + ___ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list
MonetDB: default - Round values to avoid architecture specific o...
Changeset: c9911b4338a8 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=c9911b4338a8 Modified Files: monetdb5/extras/rapi/Tests/rapi03.maltest Branch: default Log Message: Round values to avoid architecture specific output diffs (58 lines): diff --git a/monetdb5/extras/rapi/Tests/rapi03.maltest b/monetdb5/extras/rapi/Tests/rapi03.maltest --- a/monetdb5/extras/rapi/Tests/rapi03.maltest +++ b/monetdb5/extras/rapi/Tests/rapi03.maltest @@ -37,7 +37,7 @@ io.print(b) 20 values hashing to 74a3c631a4c9ac875a281da7c6d5441c statement ok -(t:bat[:dbl], s:bat[:dbl]) := rapi.eval(nil:ptr,"someval2 <- Re(fft(arg1)); print(someval2); return(data.frame(someval2,someval2));",b); +(t:bat[:dbl], s:bat[:dbl]) := rapi.eval(nil:ptr,"someval2 <- Re(fft(arg1)); print(someval2); return(round(data.frame(someval2,someval2),2));",b); query TTT nosort io.print(t,s) @@ -46,29 +46,29 @@ 0 12585340037.0 12585340037.0 1 -525771362.9083645 -525771362.9083645 +525771362.91 +525771362.91 2 --879667492.3235922 --879667492.3235922 +-879667492.32 +-879667492.32 3 -2456894287.5916357 -2456894287.5916357 +2456894287.59 +2456894287.59 4 -158316768.82359338 -158316768.82359338 +158316768.82 +158316768.82 5 934923939.0 934923939.0 6 -158316768.82359338 -158316768.82359338 +158316768.82 +158316768.82 7 -2456894287.591635 -2456894287.591635 +2456894287.59 +2456894287.59 8 --879667492.3235922 --879667492.3235922 +-879667492.32 +-879667492.32 9 -525771362.90836453 -525771362.90836453 +525771362.91 +525771362.91 ___ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list
MonetDB: default - Check OS before matching outputs
Changeset: f35de8963808 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=f35de8963808 Added Files: monetdb5/extras/mal_optimizer_template/Tests/opt_sql_append.SQL.py Removed Files: monetdb5/extras/mal_optimizer_template/Tests/opt_sql_append.test Modified Files: monetdb5/extras/mal_optimizer_template/Tests/opt_sql_append.stable.err monetdb5/extras/mal_optimizer_template/Tests/opt_sql_append.stable.err.Windows monetdb5/extras/mal_optimizer_template/Tests/opt_sql_append.stable.out monetdb5/extras/mal_optimizer_template/Tests/opt_sql_append.stable.out.Windows Branch: default Log Message: Check OS before matching outputs diffs (truncated from 373 to 300 lines): diff --git a/monetdb5/extras/mal_optimizer_template/Tests/opt_sql_append.sql b/monetdb5/extras/mal_optimizer_template/Tests/opt_sql_append.SQL.py copy from monetdb5/extras/mal_optimizer_template/Tests/opt_sql_append.sql copy to monetdb5/extras/mal_optimizer_template/Tests/opt_sql_append.SQL.py --- a/monetdb5/extras/mal_optimizer_template/Tests/opt_sql_append.sql +++ b/monetdb5/extras/mal_optimizer_template/Tests/opt_sql_append.SQL.py @@ -1,27 +1,15 @@ -set optimizer = 'sequential_pipe'; -- to get predictable errors - -create table ttt (averylongcolumnnametomakeitlargee int, b int, c int); -select optimizer; -select def from optimizers() where name = optimizer; +from MonetDBtesting.sqltest import SQLTestCase +import platform -explain copy into ttt from '/tmp/xyz'; -explain copy into ttt from E'\\tmp/xyz'; -explain copy into ttt from E'a:\\tmp/xyz'; - -start transaction; -create local temp table "opt_pipe_name" ("opt_pipe_name" string); -insert into "opt_pipe_name" values ((select optimizer)); +if platform.system() == 'Windows': +suffix = '.Windows' +else: +suffix = '' -set optimizer = substring((select def from optimizers() where name = (select opt_pipe_name from "opt_pipe_name")),0, -length((select def from optimizers() where name = (select opt_pipe_name from "opt_pipe_name")))-length('optimizer.garbageCollector();')) || 'optimizer.sql_append();optimizer.garbageCollector();'; -select optimizer; - -select def from optimizers() where name = optimizer; -rollback; - -explain copy into ttt from '/tmp/xyz'; -explain copy into ttt from E'\\tmp/xyz'; -explain copy into ttt from 'Z:/tmp/xyz'; -drop table ttt; - -set optimizer = 'default_pipe'; +with SQLTestCase() as tc: +# optional or default connection +tc.connect() +with open('opt_sql_append.sql') as f: +tc.execute(query=None, client='mclient', stdin=f)\ +.assertMatchStableOut(fout='opt_sql_append.stable.out%s' % (suffix))\ +.assertMatchStableError(ferr='opt_sql_append.stable.err%s' % (suffix)) diff --git a/monetdb5/extras/mal_optimizer_template/Tests/opt_sql_append.stable.err b/monetdb5/extras/mal_optimizer_template/Tests/opt_sql_append.stable.err --- a/monetdb5/extras/mal_optimizer_template/Tests/opt_sql_append.stable.err +++ b/monetdb5/extras/mal_optimizer_template/Tests/opt_sql_append.stable.err @@ -1,35 +1,3 @@ -stderr of test 'opt_sql_append` in directory 'monetdb5/extras/mal_optimizer_template` itself: - - -# 22:58:57 > -# 22:58:57 > "mserver5" "--debug=10" "--set" "gdk_nr_threads=0" "--set" "gdk_dbfarm=/ufs/manegold/_/Monet/HG/default/prefix/_/var/MonetDB" "--set" "mapi_open=true" "--set" "mapi_port=36275" "--set" "monet_prompt=" "--trace" "--forcemito" "--set" "mal_listing=2" "--dbname=mTests_extras_mal_optimizer_template" "--set" "mal_listing=0" -# 22:58:57 > - -# builtin opt gdk_dbname = demo -# builtin opt gdk_dbfarm = /ufs/manegold/_/Monet/HG/default/prefix/_/var/monetdb5/dbfarm -# builtin opt gdk_debug = 0 -# builtin opt gdk_alloc_map = no -# builtin opt gdk_vmtrim = yes -# builtin opt monet_prompt = > -# builtin opt monet_daemon = no -# builtin opt mapi_port = 5 -# builtin opt mapi_open = false -# builtin opt mapi_autosense = false -# builtin opt sql_optimizer = default_pipe -# builtin opt sql_debug = 0 -# cmdline opt gdk_nr_threads = 0 -# cmdline opt gdk_dbfarm = /ufs/manegold/_/Monet/HG/default/prefix/_/var/MonetDB -# cmdline opt mapi_open = true -# cmdline opt mapi_port = 36275 -# cmdline opt monet_prompt = -# cmdline opt mal_listing = 2 -# cmdline opt gdk_dbname = mTests_extras_mal_optimizer_template -# cmdline opt mal_listing = 0 - -# 22:58:57 > -# 22:58:57 > "mclient" "-lsql" "-ftest" "-Eutf-8" "-i" "-e" "--host=rome" "--port=36275" -# 22:58:57 > - MAPI = (monetdb) /var/tmp/mtest-20069/.s.monetdb.34504 QUERY = explain copy into ttt from E'\\tmp/xyz'; ERROR = !COPY INTO: filename must have absolute path: "\\tmp/xyz" @@ -47,7 +15,3 @@ QUERY = explain copy into ttt from 'Z:/t ERROR = !COPY INTO: filename must have absolute path: "Z:/tmp/xyz" CODE = 42000 -# 22:58:58 >
MonetDB: default - disable progress when quiet
Changeset: 2de06374672b for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=2de06374672b Modified Files: testing/Mz.py.in Branch: default Log Message: disable progress when quiet diffs (13 lines): diff --git a/testing/Mz.py.in b/testing/Mz.py.in --- a/testing/Mz.py.in +++ b/testing/Mz.py.in @@ -1035,7 +1035,8 @@ def RunTest(env, test, oktests, pSrvr): test_counter = env.get('test_counter', 1) # print progress -progress(test_counter, env.get('test_count'), os.path.join(TSTDIR, TST + EXT)) +if not quiet: +progress(test_counter, env.get('test_count'), os.path.join(TSTDIR, TST + EXT)) # change to test target directory os.chdir(TSTTRGDIR) ___ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list
MonetDB: unlock - merged with default
Changeset: d69f421af559 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=d69f421af559 Removed Files: sql/test/BugTracker-2009/Tests/copy_multiple_files.SF-2902320.test Modified Files: sql/test/BugTracker-2009/Tests/copy_multiple_files.SF-2902320.stable.out Branch: unlock Log Message: merged with default diffs (truncated from 18619 to 300 lines): diff --git a/clients/odbc/samples/testgetinfo.c b/clients/odbc/samples/testgetinfo.c --- a/clients/odbc/samples/testgetinfo.c +++ b/clients/odbc/samples/testgetinfo.c @@ -13,6 +13,7 @@ #include #include #include +#include / Define the ODBC Version this ODBC driver complies with / /* also see ODBCGlobal.h */ @@ -73,6 +74,1012 @@ check(SQLRETURN ret, SQLSMALLINT tpe, SQ return false; } +const struct { + SQLUSMALLINT info; + enum { + STRING, + INTEGER, + SHORT, + } type; + char *name; + union { + char *str; + SQLUSMALLINT s; + SQLUINTEGER i; + }; +} sqlinfo[] = { + { + .info = SQL_ACCESSIBLE_PROCEDURES, + .name = "SQL_ACCESSIBLE_PROCEDURES", + .type = STRING, + .str = "N", + }, + { + .info = SQL_ACCESSIBLE_TABLES, + .name = "SQL_ACCESSIBLE_TABLES", + .type = STRING, + .str = "N", + }, + { + .info = SQL_AGGREGATE_FUNCTIONS, + .name = "SQL_AGGREGATE_FUNCTIONS", + .type = INTEGER, + .i = SQL_AF_ALL | SQL_AF_AVG | SQL_AF_COUNT | SQL_AF_DISTINCT | SQL_AF_MAX | SQL_AF_MIN | SQL_AF_SUM, + }, + { + .info = SQL_ALTER_DOMAIN, + .name = "SQL_ALTER_DOMAIN", + .type = INTEGER, + .i = 0, + }, + { + .info = SQL_ALTER_TABLE, + .name = "SQL_ALTER_TABLE", + .type = INTEGER, + .i = SQL_AT_ADD_COLUMN | SQL_AT_ADD_COLUMN_DEFAULT | SQL_AT_ADD_COLUMN_SINGLE | SQL_AT_ADD_CONSTRAINT | SQL_AT_ADD_TABLE_CONSTRAINT | SQL_AT_CONSTRAINT_NAME_DEFINITION | SQL_AT_DROP_COLUMN | SQL_AT_DROP_COLUMN_CASCADE | SQL_AT_DROP_COLUMN_DEFAULT | SQL_AT_DROP_COLUMN_RESTRICT | SQL_AT_DROP_TABLE_CONSTRAINT_CASCADE | SQL_AT_DROP_TABLE_CONSTRAINT_RESTRICT | SQL_AT_SET_COLUMN_DEFAULT, + }, +#ifdef SQL_ASYNC_DBC_FUNCTIONS + { + .info = SQL_ASYNC_DBC_FUNCTIONS, + .name = "SQL_ASYNC_DBC_FUNCTIONS", + .type = INTEGER, + .i = 0, + }, +#endif + { + .info = SQL_ASYNC_MODE, + .name = "SQL_ASYNC_MODE", + .type = INTEGER, + .i = SQL_AM_NONE, + }, +#ifdef SQL_ASYNC_NOTIFICATION + { + .info = SQL_ASYNC_NOTIFICATION, + .name = "SQL_ASYNC_NOTIFICATION", + .type = INTEGER, + .i = 0, + }, +#endif + { + .info = SQL_BATCH_ROW_COUNT, + .name = "SQL_BATCH_ROW_COUNT", + .type = INTEGER, + .i = SQL_BRC_EXPLICIT, + }, + { + .info = SQL_BATCH_SUPPORT, + .name = "SQL_BATCH_SUPPORT", + .type = INTEGER, + .i = SQL_BS_SELECT_EXPLICIT | SQL_BS_ROW_COUNT_EXPLICIT, + }, + { + .info = SQL_BOOKMARK_PERSISTENCE, + .name = "SQL_BOOKMARK_PERSISTENCE", + .type = INTEGER, + .i = 0, + }, + { + .info = SQL_CATALOG_LOCATION, + .name = "SQL_CATALOG_LOCATION", + .type = SHORT, + .s = 0, + }, + { + .info = SQL_CATALOG_NAME, + .name = "SQL_CATALOG_NAME", + .type = STRING, + .str = "N", + }, + { + .info = SQL_CATALOG_NAME_SEPARATOR, + .name = "SQL_CATALOG_NAME_SEPARATOR", + .type = STRING, + .str = "", + }, + { + .info = SQL_CATALOG_TERM, + .name = "SQL_CATALOG_TERM", + .type = STRING, + .str = "", + }, + { + .info = SQL_CATALOG_USAGE, + .name = "SQL_CATALOG_USAGE", + .type = INTEGER, + .i = 0, + }, + { + .info = SQL_COLLATION_SEQ, + .name = "SQL_COLLATION_SEQ", + .type = STRING, + .str = "UTF-8", + }, + { + .info = SQL_COLUMN_ALIAS, + .name = "SQL_COLUMN_ALIAS", + .type = STRING, + .str = "Y", + }, + { + .info = SQL_CONCAT_NULL_BEHAVIOR, + .name = "SQL_CONCAT_NULL_BEHAVIOR", + .type = SHORT, + .s = SQL_CB
MonetDB: unlock - fixes for tests as vacuum and friends are gone
Changeset: 58df7d0d5887 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=58df7d0d5887 Modified Files: sql/test/miscellaneous/Tests/groupby_error.test sql/test/orderidx/Tests/simpletable.test sql/test/orderidx/Tests/smalltable.test sql/test/pg_regress/Tests/alter_table.test sql/test/pg_regress/Tests/numeric.test sql/test/pg_regress/Tests/without_oid.test sql/test/sys-schema/Tests/systemfunctions.test Branch: unlock Log Message: fixes for tests as vacuum and friends are gone diffs (139 lines): diff --git a/sql/test/miscellaneous/Tests/groupby_error.test b/sql/test/miscellaneous/Tests/groupby_error.test --- a/sql/test/miscellaneous/Tests/groupby_error.test +++ b/sql/test/miscellaneous/Tests/groupby_error.test @@ -405,7 +405,7 @@ project ( | | | table(sys.tab1) [ "tab1"."part" as "myalias0"."part", "tab1"."tet" as "myalias0"."tet" ] COUNT , | | | table(sys.tab2) [ "tab2"."myk" as "myalias1"."myk", "tab2"."ups" as "myalias1"."ups" ] COUNT | | ) [ "myalias0"."part" = "myalias1"."myk" ] -| ) [ "myalias0"."part", "myalias0"."tet" as "track", "myalias1"."ups" ] [ "myalias0"."part", "track", sys.count() NOT NULL as "%1"."%1" ] +| ) [ "myalias1"."ups", "myalias0"."part", "myalias0"."tet" as "track" ] [ "myalias0"."part", "track", sys.count() NOT NULL as "%1"."%1" ] ) [ "myalias0"."part", "track" as "tet", "%1"."%1" NOT NULL as "mycount", "track" ] query rowsort diff --git a/sql/test/orderidx/Tests/simpletable.test b/sql/test/orderidx/Tests/simpletable.test --- a/sql/test/orderidx/Tests/simpletable.test +++ b/sql/test/orderidx/Tests/simpletable.test @@ -32,7 +32,7 @@ 12 0 False 0 -False +NULL False statement ok @@ -53,8 +53,8 @@ 12 0 False 0 +NULL False -True query I rowsort SELECT * FROM xtmp1 WHERE i<0 diff --git a/sql/test/orderidx/Tests/smalltable.test b/sql/test/orderidx/Tests/smalltable.test --- a/sql/test/orderidx/Tests/smalltable.test +++ b/sql/test/orderidx/Tests/smalltable.test @@ -106,7 +106,7 @@ 3 0 False 0 -False +NULL False statement ok @@ -127,8 +127,8 @@ 3 0 False 0 +NULL False -True query I rowsort SELECT * FROM xtmp4 WHERE i>=0 AND i<8 diff --git a/sql/test/pg_regress/Tests/alter_table.test b/sql/test/pg_regress/Tests/alter_table.test --- a/sql/test/pg_regress/Tests/alter_table.test +++ b/sql/test/pg_regress/Tests/alter_table.test @@ -1147,15 +1147,6 @@ analyze atacc1(a) statement error analyze atacc1("pg.dropped.1") -statement error -vacuum analyze atacc1(a) - -statement error -vacuum analyze atacc1("pg.dropped.1") - -statement ok -call vacuum('sys', 'atacc1') - statement ok call analyze(0, 0, 'sys', 'atacc1') diff --git a/sql/test/pg_regress/Tests/numeric.test b/sql/test/pg_regress/Tests/numeric.test --- a/sql/test/pg_regress/Tests/numeric.test +++ b/sql/test/pg_regress/Tests/numeric.test @@ -1382,30 +1382,6 @@ statement ok INSERT INTO num_data VALUES (9, '-24926804.045047420') statement ok -call vacuum('sys', 'num_exp_add') - -statement ok -call vacuum('sys', 'num_exp_sub') - -statement ok -call vacuum('sys', 'num_exp_div') - -statement ok -call vacuum('sys', 'num_exp_mul') - -statement ok -call vacuum('sys', 'num_exp_sqrt') - -statement ok -call vacuum('sys', 'num_exp_ln') - -statement ok -call vacuum('sys', 'num_exp_log10') - -statement ok -call vacuum('sys', 'num_exp_power_10_ln') - -statement ok CREATE UNIQUE INDEX num_exp_add_idx ON num_exp_add (id1, id2) statement ok diff --git a/sql/test/pg_regress/Tests/without_oid.test b/sql/test/pg_regress/Tests/without_oid.test --- a/sql/test/pg_regress/Tests/without_oid.test +++ b/sql/test/pg_regress/Tests/without_oid.test @@ -85,15 +85,9 @@ SELECT count(i) FROM wo 9136 statement ok -call vacuum('sys', 'wi') - -statement ok analyze sys.wi statement ok -call vacuum('sys', 'wo') - -statement ok analyze sys.wo query IIT rowsort diff --git a/sql/test/sys-schema/Tests/systemfunctions.test b/sql/test/sys-schema/Tests/systemfunctions.test --- a/sql/test/sys-schema/Tests/systemfunctions.test +++ b/sql/test/sys-schema/Tests/systemfunctions.test @@ -6,6 +6,6 @@ select s.name as "schema", f.name as "fu and f.system order by s.name, f.name, f.id, a.number -21770 values hashing to 654890d1d2aec83280cd4629f387f937 +21735 values hashing to 6c5e19f87f5f32ba4387ee54b026514c ___ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list
MonetDB: default - merge
Changeset: f69c11496f24 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=f69c11496f24 Branch: default Log Message: merge diffs (truncated from 12496 to 300 lines): diff --git a/sql/test/BugTracker-2016/Tests/convert-function-test.Bug-3460.SQL.py b/sql/test/BugTracker-2016/Tests/convert-function-test.Bug-3460.SQL.py new file mode 100644 --- /dev/null +++ b/sql/test/BugTracker-2016/Tests/convert-function-test.Bug-3460.SQL.py @@ -0,0 +1,19 @@ +from MonetDBtesting.sqltest import SQLTestCase +import pymonetdb, os + +conn1 = pymonetdb.connect(database=os.getenv("TSTDB"), port=int(os.getenv("MAPIPORT")), autocommit=True) +cur1 = conn1.cursor() +try: +cur1.execute('select cast(1 as hugeint)') +suffix = '.int128' +except pymonetdb.DatabaseError as e: +suffix = '' +cur1.close() +conn1.close() + +with SQLTestCase() as tc: +tc.connect() +with open('convert-function-test.Bug-3460.sql') as f: +tc.execute(query=None, client='mclient', stdin=f)\ + .assertMatchStableOut(fout='convert-function-test.Bug-3460.stable.out%s' % (suffix))\ + .assertMatchStableError(ferr='convert-function-test.Bug-3460.stable.err%s' % (suffix)) diff --git a/sql/test/BugTracker-2016/Tests/convert-function-test.Bug-3460.stable.err b/sql/test/BugTracker-2016/Tests/convert-function-test.Bug-3460.stable.err --- a/sql/test/BugTracker-2016/Tests/convert-function-test.Bug-3460.stable.err +++ b/sql/test/BugTracker-2016/Tests/convert-function-test.Bug-3460.stable.err @@ -1,3275 +1,3240 @@ -stderr of test 'convert-function-test.Bug-3460` in directory 'sql/test/BugTracker-2016` itself: - - -# 19:10:34 > -# 19:10:34 > "mserver5" "--debug=10" "--set" "gdk_nr_threads=0" "--set" "mapi_open=true" "--set" "mapi_port=37752" "--set" "mapi_usock=/var/tmp/mtest-10540/.s.monetdb.37752" "--set" "monet_prompt=" "--forcemito" "--dbpath=/export/scratch2/dinther/INSTALL/var/MonetDB/mTests_sql_test_BugTracker-2016" "--set" "embedded_r=yes" -# 19:10:34 > - -# builtin opt gdk_dbpath = /export/scratch2/dinther/INSTALL/var/monetdb5/dbfarm/demo -# builtin opt gdk_debug = 0 -# builtin opt gdk_vmtrim = no -# builtin opt monet_prompt = > -# builtin opt monet_daemon = no -# builtin opt mapi_port = 5 -# builtin opt mapi_open = false -# builtin opt mapi_autosense = false -# builtin opt sql_optimizer = default_pipe -# builtin opt sql_debug = 0 -# cmdline opt gdk_nr_threads = 0 -# cmdline opt mapi_open = true -# cmdline opt mapi_port = 37752 -# cmdline opt mapi_usock = /var/tmp/mtest-10540/.s.monetdb.37752 -# cmdline opt monet_prompt = -# cmdline opt gdk_dbpath = /export/scratch2/dinther/INSTALL/var/MonetDB/mTests_sql_test_BugTracker-2016 -# cmdline opt embedded_r = yes -# cmdline opt gdk_debug = 536870922 - -# 19:10:35 > -# 19:10:35 > "mclient" "-lsql" "-ftest" "-Eutf-8" "-i" "-e" "--host=/var/tmp/mtest-10540" "--port=37752" -# 19:10:35 > - -MAPI = (monetdb) /var/tmp/mtest-10540/.s.monetdb.37752 +MAPI = (monetdb) /var/tmp/mtest-146634/.s.monetdb.36912 QUERY = SELECT v, convert(v, bit) from T_BOOLEAN; -- BIT not valid data type ERROR = !Type (bit) unknown in: "select v, convert(v, bit)" -!syntax error, unexpected FROM in: "from" +!syntax error in: "from" CODE = 22000 -MAPI = (monetdb) /var/tmp/mtest-24770/.s.monetdb.36959 +MAPI = (monetdb) /var/tmp/mtest-146634/.s.monetdb.36912 QUERY = SELECT v, convert(v, hugeint) from T_BOOLEAN; ERROR = !Type (hugeint) unknown in: "select v, convert(v, hugeint)" -!syntax error, unexpected FROM in: "from" +!syntax error in: "from" CODE = 22000 -MAPI = (monetdb) /var/tmp/mtest-24770/.s.monetdb.36959 +MAPI = (monetdb) /var/tmp/mtest-146634/.s.monetdb.36912 QUERY = SELECT v, convert(v, float) from T_BOOLEAN; -- conversion not supported ERROR = !types boolean(1,0) and double(53,0) are not equal for column 'v' CODE = 42000 -MAPI = (monetdb) /var/tmp/mtest-30274/.s.monetdb.37685 +MAPI = (monetdb) /var/tmp/mtest-146634/.s.monetdb.36912 QUERY = SELECT v, convert(v, float(24)) from T_BOOLEAN; -- conversion not supported ERROR = !types boolean(1,0) and real(24,0) are not equal for column 'v' CODE = 42000 -MAPI = (monetdb) /var/tmp/mtest-30274/.s.monetdb.37685 +MAPI = (monetdb) /var/tmp/mtest-146634/.s.monetdb.36912 QUERY = SELECT v, convert(v, real) from T_BOOLEAN; -- conversion not supported ERROR = !types boolean(1,0) and real(24,0) are not equal for column 'v' CODE = 42000 -MAPI = (monetdb) /var/tmp/mtest-30274/.s.monetdb.37685 +MAPI = (monetdb) /var/tmp/mtest-146634/.s.monetdb.36912 QUERY = SELECT v, convert(v, double) from T_BOOLEAN; -- conversion not supported ERROR = !types boolean(1,0) and double(53,0) are not equal for column 'v' CODE = 42000 -MAPI = (monetdb) /var/tmp/mtest-30274/.s.monetdb.37685 +MAPI = (monetdb) /var/tmp/mtest-146634/.s.monetdb.36912 QUERY = SELECT v, convert(v, double precision) from T_BOOLEAN; -- conversion not supported ERROR = !types
MonetDB: default - put back box.test
Changeset: ebc92dd59104 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=ebc92dd59104 Added Files: sql/test/pg_regress/Tests/box.test Removed Files: sql/test/pg_regress/Tests/box.SQL.py Branch: default Log Message: put back box.test diffs (118 lines): diff --git a/sql/test/pg_regress/Tests/box.SQL.py b/sql/test/pg_regress/Tests/box.SQL.py deleted file mode 100644 --- a/sql/test/pg_regress/Tests/box.SQL.py +++ /dev/null @@ -1,9 +0,0 @@ -from MonetDBtesting.sqltest import SQLTestCase - -with SQLTestCase() as tc: -# optional or default connection -tc.connect() -with open('box.sql') as f: -tc.execute(query=None, client='mclient', stdin=f)\ -.assertMatchStableOut(fout='box.stable.out')\ -.assertMatchStableError(ferr='box.stable.err') diff --git a/sql/test/pg_regress/Tests/box.test b/sql/test/pg_regress/Tests/box.test new file mode 100644 --- /dev/null +++ b/sql/test/pg_regress/Tests/box.test @@ -0,0 +1,99 @@ +statement ok +set optimizer = 'sequential_pipe' + +statement ok +-- 3 o +-- | o| +-- 2 +-+-+ | +-- | | | | +-- 1 | o-+-o +-- | | +-- 0 +---+ +-- +-- 0 1 2 3 +-- +-- boxes are specified by two points, given by four floats x1,y1,x2,y2 +-- DROP TABLE BOX_TBL + +statement ok +CREATE TABLE BOX_TBL (f1 mbr) + +statement ok +INSERT INTO BOX_TBL (f1) VALUES (MBR('linestring(2.0 2.0, 0.0 0.0)')) + +statement ok +INSERT INTO BOX_TBL (f1) VALUES (MBR('linestring(1.0 1.0, 3.0 3.0)')) + +statement ok +INSERT INTO BOX_TBL (f1) VALUES (MBR('linestring(2.5 2.5, 2.5 3.5)')) + +statement ok +INSERT INTO BOX_TBL (f1) VALUES (MBR('linestring(3.0 3.0, 3.0 3.0)')) + +statement error +INSERT INTO BOX_TBL (f1) VALUES (MBR('(2.3, 4.5)')) + +statement error +INSERT INTO BOX_TBL (f1) VALUES (MBR('linestring(2.3, 4.5)')) + +statement error +INSERT INTO BOX_TBL (f1) VALUES (MBR('asdfasdf(ad')) + +statement error +INSERT INTO BOX_TBL (f1) VALUES (MBR('linestring(asdfasdf(ad)')) + +statement error +SELECT '' AS four, BOX_TBL.* FROM BOX_TBL + +statement error +SELECT '' AS four, b.f1, cast(f1 as varchar(44)) as txt FROM BOX_TBL b + +statement ok +CREATE VIEW BOX_TBL_VW AS SELECT f1, cast(f1 as varchar(44)) as txt FROM BOX_TBL + +statement error +SELECT * FROM BOX_TBL_VW + +statement error +SELECT '' AS three, b.f1 FROM BOX_TBL_VW b WHERE b.f1 && mbr('linestring(2.5 2.5, 1.0 1.0)') + +statement error +SELECT '' AS three, b.f1 FROM BOX_TBL_VW b WHERE ST_Overlaps(b.f1, mbr('linestring(2.5 2.5, 1.0 1.0)')) + +statement error +SELECT '' AS two, b1.* FROM BOX_TBL_VW b1 WHERE b1.f1 &< mbr('linestring(2.0 2.0, 2.5 2.5)') + +statement error +SELECT '' AS two, b1.* FROM BOX_TBL_VW b1 WHERE b1.f1 &> mbr('linestring(2.0 2.0, 2.5 2.5)') + +statement error +SELECT '' AS two, b.f1 FROM BOX_TBL_VW b WHERE b.f1 << mbr('linestring(3.0 3.0, 5.0 5.0)') + +statement error +SELECT '' AS three, b.f1 FROM BOX_TBL_VW b WHERE b.f1 @ mbr('linestring(0 0, 3 3)') + +statement error +SELECT '' AS three, b.f1 FROM BOX_TBL_VW b WHERE mbr('linestring(0 0, 3 3)') ~ b.f1 + +statement error +SELECT '' AS one, b.f1 FROM BOX_TBL_VW b WHERE mbr('linestring(1 1, 3 3)') ~= b.f1 + +statement error +SELECT '' AS four, @@(b1.f1) AS p FROM BOX_TBL_VW b1 + +statement error +SELECT '' AS one, b1.*, b2.* FROM BOX_TBL_VW b1, BOX_TBL_VW b2 WHERE b1.f1 ~ b2.f1 and not b1.f1 ~= b2.f1 + +statement error +SELECT '' AS four, height(f1), width(f1) FROM BOX_TBL_VW + +statement ok +DROP VIEW BOX_TBL_VW + +statement ok +DROP TABLE BOX_TBL + +statement ok +set optimizer = 'default_pipe' + + ___ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list
MonetDB: default - Test for int128 existance before testing output
Changeset: e3382578a92d for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=e3382578a92d Added Files: sql/test/BugTracker-2016/Tests/convert-function-test.Bug-3460.SQL.py Removed Files: sql/test/BugTracker-2016/Tests/convert-function-test.Bug-3460.test Modified Files: sql/test/BugTracker-2016/Tests/convert-function-test.Bug-3460.stable.err sql/test/BugTracker-2016/Tests/convert-function-test.Bug-3460.stable.err.int128 sql/test/BugTracker-2016/Tests/convert-function-test.Bug-3460.stable.out sql/test/BugTracker-2016/Tests/convert-function-test.Bug-3460.stable.out.int128 Branch: default Log Message: Test for int128 existance before testing output diffs (truncated from 12496 to 300 lines): diff --git a/sql/test/BugTracker-2016/Tests/convert-function-test.Bug-3460.SQL.py b/sql/test/BugTracker-2016/Tests/convert-function-test.Bug-3460.SQL.py new file mode 100644 --- /dev/null +++ b/sql/test/BugTracker-2016/Tests/convert-function-test.Bug-3460.SQL.py @@ -0,0 +1,19 @@ +from MonetDBtesting.sqltest import SQLTestCase +import pymonetdb, os + +conn1 = pymonetdb.connect(database=os.getenv("TSTDB"), port=int(os.getenv("MAPIPORT")), autocommit=True) +cur1 = conn1.cursor() +try: +cur1.execute('select cast(1 as hugeint)') +suffix = '.int128' +except pymonetdb.DatabaseError as e: +suffix = '' +cur1.close() +conn1.close() + +with SQLTestCase() as tc: +tc.connect() +with open('convert-function-test.Bug-3460.sql') as f: +tc.execute(query=None, client='mclient', stdin=f)\ + .assertMatchStableOut(fout='convert-function-test.Bug-3460.stable.out%s' % (suffix))\ + .assertMatchStableError(ferr='convert-function-test.Bug-3460.stable.err%s' % (suffix)) diff --git a/sql/test/BugTracker-2016/Tests/convert-function-test.Bug-3460.stable.err b/sql/test/BugTracker-2016/Tests/convert-function-test.Bug-3460.stable.err --- a/sql/test/BugTracker-2016/Tests/convert-function-test.Bug-3460.stable.err +++ b/sql/test/BugTracker-2016/Tests/convert-function-test.Bug-3460.stable.err @@ -1,3275 +1,3240 @@ -stderr of test 'convert-function-test.Bug-3460` in directory 'sql/test/BugTracker-2016` itself: - - -# 19:10:34 > -# 19:10:34 > "mserver5" "--debug=10" "--set" "gdk_nr_threads=0" "--set" "mapi_open=true" "--set" "mapi_port=37752" "--set" "mapi_usock=/var/tmp/mtest-10540/.s.monetdb.37752" "--set" "monet_prompt=" "--forcemito" "--dbpath=/export/scratch2/dinther/INSTALL/var/MonetDB/mTests_sql_test_BugTracker-2016" "--set" "embedded_r=yes" -# 19:10:34 > - -# builtin opt gdk_dbpath = /export/scratch2/dinther/INSTALL/var/monetdb5/dbfarm/demo -# builtin opt gdk_debug = 0 -# builtin opt gdk_vmtrim = no -# builtin opt monet_prompt = > -# builtin opt monet_daemon = no -# builtin opt mapi_port = 5 -# builtin opt mapi_open = false -# builtin opt mapi_autosense = false -# builtin opt sql_optimizer = default_pipe -# builtin opt sql_debug = 0 -# cmdline opt gdk_nr_threads = 0 -# cmdline opt mapi_open = true -# cmdline opt mapi_port = 37752 -# cmdline opt mapi_usock = /var/tmp/mtest-10540/.s.monetdb.37752 -# cmdline opt monet_prompt = -# cmdline opt gdk_dbpath = /export/scratch2/dinther/INSTALL/var/MonetDB/mTests_sql_test_BugTracker-2016 -# cmdline opt embedded_r = yes -# cmdline opt gdk_debug = 536870922 - -# 19:10:35 > -# 19:10:35 > "mclient" "-lsql" "-ftest" "-Eutf-8" "-i" "-e" "--host=/var/tmp/mtest-10540" "--port=37752" -# 19:10:35 > - -MAPI = (monetdb) /var/tmp/mtest-10540/.s.monetdb.37752 +MAPI = (monetdb) /var/tmp/mtest-146634/.s.monetdb.36912 QUERY = SELECT v, convert(v, bit) from T_BOOLEAN; -- BIT not valid data type ERROR = !Type (bit) unknown in: "select v, convert(v, bit)" -!syntax error, unexpected FROM in: "from" +!syntax error in: "from" CODE = 22000 -MAPI = (monetdb) /var/tmp/mtest-24770/.s.monetdb.36959 +MAPI = (monetdb) /var/tmp/mtest-146634/.s.monetdb.36912 QUERY = SELECT v, convert(v, hugeint) from T_BOOLEAN; ERROR = !Type (hugeint) unknown in: "select v, convert(v, hugeint)" -!syntax error, unexpected FROM in: "from" +!syntax error in: "from" CODE = 22000 -MAPI = (monetdb) /var/tmp/mtest-24770/.s.monetdb.36959 +MAPI = (monetdb) /var/tmp/mtest-146634/.s.monetdb.36912 QUERY = SELECT v, convert(v, float) from T_BOOLEAN; -- conversion not supported ERROR = !types boolean(1,0) and double(53,0) are not equal for column 'v' CODE = 42000 -MAPI = (monetdb) /var/tmp/mtest-30274/.s.monetdb.37685 +MAPI = (monetdb) /var/tmp/mtest-146634/.s.monetdb.36912 QUERY = SELECT v, convert(v, float(24)) from T_BOOLEAN; -- conversion not supported ERROR = !types boolean(1,0) and real(24,0) are not equal for column 'v' CODE = 42000 -MAPI = (monetdb) /var/tmp/mtest-30274/.s.monetdb.37685 +MAPI = (monetdb) /var/tmp/mtest-146634/.s.monetdb.36912 QUERY = SELECT v, convert(v, real) from T_BOOLEAN; -- conversion not supported ERROR = !types boole
MonetDB: default - merge
Changeset: eb3898dc329c for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=eb3898dc329c Branch: default Log Message: merge diffs (truncated from 2277 to 300 lines): diff --git a/clients/odbc/samples/testgetinfo.c b/clients/odbc/samples/testgetinfo.c --- a/clients/odbc/samples/testgetinfo.c +++ b/clients/odbc/samples/testgetinfo.c @@ -88,176 +88,996 @@ const struct { SQLUINTEGER i; }; } sqlinfo[] = { - {.info = SQL_ACCESSIBLE_PROCEDURES, .name = "SQL_ACCESSIBLE_PROCEDURES", .type = STRING, .str = "N", }, - {.info = SQL_ACCESSIBLE_TABLES, .name = "SQL_ACCESSIBLE_TABLES", .type = STRING, .str = "N", }, - {.info = SQL_AGGREGATE_FUNCTIONS, .name = "SQL_AGGREGATE_FUNCTIONS", .type = INTEGER, .i = SQL_AF_ALL | SQL_AF_AVG | SQL_AF_COUNT | SQL_AF_DISTINCT | SQL_AF_MAX | SQL_AF_MIN | SQL_AF_SUM, }, - {.info = SQL_ALTER_DOMAIN, .name = "SQL_ALTER_DOMAIN", .type = INTEGER, .i = 0, }, - {.info = SQL_ALTER_TABLE, .name = "SQL_ALTER_TABLE", .type = INTEGER, .i = SQL_AT_ADD_COLUMN | SQL_AT_ADD_COLUMN_DEFAULT | SQL_AT_ADD_COLUMN_SINGLE | SQL_AT_ADD_CONSTRAINT | SQL_AT_ADD_TABLE_CONSTRAINT | SQL_AT_CONSTRAINT_NAME_DEFINITION | SQL_AT_DROP_COLUMN | SQL_AT_DROP_COLUMN_CASCADE | SQL_AT_DROP_COLUMN_DEFAULT | SQL_AT_DROP_COLUMN_RESTRICT | SQL_AT_DROP_TABLE_CONSTRAINT_CASCADE | SQL_AT_DROP_TABLE_CONSTRAINT_RESTRICT | SQL_AT_SET_COLUMN_DEFAULT, }, + { + .info = SQL_ACCESSIBLE_PROCEDURES, + .name = "SQL_ACCESSIBLE_PROCEDURES", + .type = STRING, + .str = "N", + }, + { + .info = SQL_ACCESSIBLE_TABLES, + .name = "SQL_ACCESSIBLE_TABLES", + .type = STRING, + .str = "N", + }, + { + .info = SQL_AGGREGATE_FUNCTIONS, + .name = "SQL_AGGREGATE_FUNCTIONS", + .type = INTEGER, + .i = SQL_AF_ALL | SQL_AF_AVG | SQL_AF_COUNT | SQL_AF_DISTINCT | SQL_AF_MAX | SQL_AF_MIN | SQL_AF_SUM, + }, + { + .info = SQL_ALTER_DOMAIN, + .name = "SQL_ALTER_DOMAIN", + .type = INTEGER, + .i = 0, + }, + { + .info = SQL_ALTER_TABLE, + .name = "SQL_ALTER_TABLE", + .type = INTEGER, + .i = SQL_AT_ADD_COLUMN | SQL_AT_ADD_COLUMN_DEFAULT | SQL_AT_ADD_COLUMN_SINGLE | SQL_AT_ADD_CONSTRAINT | SQL_AT_ADD_TABLE_CONSTRAINT | SQL_AT_CONSTRAINT_NAME_DEFINITION | SQL_AT_DROP_COLUMN | SQL_AT_DROP_COLUMN_CASCADE | SQL_AT_DROP_COLUMN_DEFAULT | SQL_AT_DROP_COLUMN_RESTRICT | SQL_AT_DROP_TABLE_CONSTRAINT_CASCADE | SQL_AT_DROP_TABLE_CONSTRAINT_RESTRICT | SQL_AT_SET_COLUMN_DEFAULT, + }, #ifdef SQL_ASYNC_DBC_FUNCTIONS - {.info = SQL_ASYNC_DBC_FUNCTIONS, .name = "SQL_ASYNC_DBC_FUNCTIONS", .type = INTEGER, .i = 0, }, + { + .info = SQL_ASYNC_DBC_FUNCTIONS, + .name = "SQL_ASYNC_DBC_FUNCTIONS", + .type = INTEGER, + .i = 0, + }, #endif - {.info = SQL_ASYNC_MODE, .name = "SQL_ASYNC_MODE", .type = INTEGER, .i = SQL_AM_NONE, }, + { + .info = SQL_ASYNC_MODE, + .name = "SQL_ASYNC_MODE", + .type = INTEGER, + .i = SQL_AM_NONE, + }, #ifdef SQL_ASYNC_NOTIFICATION - {.info = SQL_ASYNC_NOTIFICATION, .name = "SQL_ASYNC_NOTIFICATION", .type = INTEGER, .i = 0, }, + { + .info = SQL_ASYNC_NOTIFICATION, + .name = "SQL_ASYNC_NOTIFICATION", + .type = INTEGER, + .i = 0, + }, #endif - {.info = SQL_BATCH_ROW_COUNT, .name = "SQL_BATCH_ROW_COUNT", .type = INTEGER, .i = SQL_BRC_EXPLICIT, }, - {.info = SQL_BATCH_SUPPORT, .name = "SQL_BATCH_SUPPORT", .type = INTEGER, .i = SQL_BS_SELECT_EXPLICIT | SQL_BS_ROW_COUNT_EXPLICIT, }, - {.info = SQL_BOOKMARK_PERSISTENCE, .name = "SQL_BOOKMARK_PERSISTENCE", .type = INTEGER, .i = 0, }, - {.info = SQL_CATALOG_LOCATION, .name = "SQL_CATALOG_LOCATION", .type = SHORT, .s = 0, }, - {.info = SQL_CATALOG_NAME, .name = "SQL_CATALOG_NAME", .type = STRING, .str = "N", }, - {.info = SQL_CATALOG_NAME_SEPARATOR, .name = "SQL_CATALOG_NAME_SEPARATOR", .type = STRING, .str = "", }, - {.info = SQL_CATALOG_TERM, .name = "SQL_CATALOG_TERM", .type = STRING, .str = "", }, - {.info = SQL_CATALOG_USAGE, .name = "SQL_CATALOG_USAGE", .type = INTEGER, .i = 0, }, - {.info = SQL_COLLATION_SEQ, .name = "SQL_COLLATION_SEQ", .type = STRING, .str = "UTF-8", }, - {.info = SQL_COLUMN_ALIAS, .name = "SQL_COLUMN_ALIAS", .type = STRING, .str = "Y", }, - {.info = SQL_CONCAT_NULL_BEHAVIOR, .name = "SQL_CONCAT_NULL_BEHAVIOR", .type = SHORT, .s = SQL_CB_NULL, }, - {.info = SQL_CONVERT_BIGINT, .name = "SQL_CONVERT_BIGINT", .type = INTEGER, .i = SQL_CVT_BIGINT | SQL_CVT_BIT | SQL_CVT_CHAR | SQ
MonetDB: default - merge heads
Changeset: 6e2a286c7534 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=6e2a286c7534 Branch: default Log Message: merge heads diffs (6 lines): diff --git a/sql/test/pg_regress/Tests/vacuum.reqtests b/sql/test/pg_regress/Tests/vacuum.reqtests new file mode 100644 --- /dev/null +++ b/sql/test/pg_regress/Tests/vacuum.reqtests @@ -0,0 +1,1 @@ +loadwisconsin ___ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list
MonetDB: default - fix box test
Changeset: 5992196c2e3c for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=5992196c2e3c Added Files: sql/test/pg_regress/Tests/box.SQL.py Removed Files: sql/test/pg_regress/Tests/box.test Branch: default Log Message: fix box test diffs (205 lines): diff --git a/sql/test/pg_regress/Tests/box.SQL.py b/sql/test/pg_regress/Tests/box.SQL.py new file mode 100644 --- /dev/null +++ b/sql/test/pg_regress/Tests/box.SQL.py @@ -0,0 +1,9 @@ +from MonetDBtesting.sqltest import SQLTestCase + +with SQLTestCase() as tc: +# optional or default connection +tc.connect() +with open('box.sql') as f: +tc.execute(query=None, client='mclient', stdin=f)\ +.assertMatchStableOut(fout='box.stable.out')\ +.assertMatchStableError(ferr='box.stable.err') diff --git a/sql/test/pg_regress/Tests/box.test b/sql/test/pg_regress/Tests/box.test deleted file mode 100644 --- a/sql/test/pg_regress/Tests/box.test +++ /dev/null @@ -1,186 +0,0 @@ -statement ok -set optimizer = 'sequential_pipe' - -statement ok --- 3 o --- | o| --- 2 +-+-+ | --- | | | | --- 1 | o-+-o --- | | --- 0 +---+ --- --- 0 1 2 3 --- --- boxes are specified by two points, given by four floats x1,y1,x2,y2 --- DROP TABLE BOX_TBL - -statement ok -CREATE TABLE BOX_TBL (f1 mbr) - -statement ok -INSERT INTO BOX_TBL (f1) VALUES (MBR('linestring(2.0 2.0, 0.0 0.0)')) - -statement ok -INSERT INTO BOX_TBL (f1) VALUES (MBR('linestring(1.0 1.0, 3.0 3.0)')) - -statement ok -INSERT INTO BOX_TBL (f1) VALUES (MBR('linestring(2.5 2.5, 2.5 3.5)')) - -statement ok -INSERT INTO BOX_TBL (f1) VALUES (MBR('linestring(3.0 3.0, 3.0 3.0)')) - -statement error -INSERT INTO BOX_TBL (f1) VALUES (MBR('(2.3, 4.5)')) - -statement error -INSERT INTO BOX_TBL (f1) VALUES (MBR('linestring(2.3, 4.5)')) - -statement error -INSERT INTO BOX_TBL (f1) VALUES (MBR('asdfasdf(ad')) - -statement error -INSERT INTO BOX_TBL (f1) VALUES (MBR('linestring(asdfasdf(ad)')) - -query TT rowsort -SELECT '' AS four, BOX_TBL.* FROM BOX_TBL - -(empty) -BOX (0.00 0.00, 2.00 2.00) -(empty) -BOX (1.00 1.00, 3.00 3.00) -(empty) -BOX (2.50 2.50, 2.50 3.50) -(empty) -BOX (3.00 3.00, 3.00 3.00) - -query TTT rowsort -SELECT '' AS four, b.f1, cast(f1 as varchar(44)) as txt FROM BOX_TBL b - -(empty) -BOX (0.00 0.00, 2.00 2.00) -BOX (0.00 0.00, 2.00 2.00) -(empty) -BOX (1.00 1.00, 3.00 3.00) -BOX (1.00 1.00, 3.00 3.00) -(empty) -BOX (2.50 2.50, 2.50 3.50) -BOX (2.50 2.50, 2.50 3.50) -(empty) -BOX (3.00 3.00, 3.00 3.00) -BOX (3.00 3.00, 3.00 3.00) - -statement ok -CREATE VIEW BOX_TBL_VW AS SELECT f1, cast(f1 as varchar(44)) as txt FROM BOX_TBL - -query TT rowsort -SELECT * FROM BOX_TBL_VW - -BOX (0.00 0.00, 2.00 2.00) -BOX (0.00 0.00, 2.00 2.00) -BOX (1.00 1.00, 3.00 3.00) -BOX (1.00 1.00, 3.00 3.00) -BOX (2.50 2.50, 2.50 3.50) -BOX (2.50 2.50, 2.50 3.50) -BOX (3.00 3.00, 3.00 3.00) -BOX (3.00 3.00, 3.00 3.00) - -query TT rowsort -SELECT '' AS three, b.f1 FROM BOX_TBL_VW b WHERE b.f1 && mbr('linestring(2.5 2.5, 1.0 1.0)') - -(empty) -BOX (0.00 0.00, 2.00 2.00) -(empty) -BOX (1.00 1.00, 3.00 3.00) -(empty) -BOX (2.50 2.50, 2.50 3.50) - -query TT rowsort -SELECT '' AS three, b.f1 FROM BOX_TBL_VW b WHERE ST_Overlaps(b.f1, mbr('linestring(2.5 2.5, 1.0 1.0)')) - -(empty) -BOX (0.00 0.00, 2.00 2.00) -(empty) -BOX (1.00 1.00, 3.00 3.00) -(empty) -BOX (2.50 2.50, 2.50 3.50) - -query TTT rowsort -SELECT '' AS two, b1.* FROM BOX_TBL_VW b1 WHERE b1.f1 &< mbr('linestring(2.0 2.0, 2.5 2.5)') - -(empty) -BOX (0.00 0.00, 2.00 2.00) -BOX (0.00 0.00, 2.00 2.00) -(empty) -BOX (2.50 2.50, 2.50 3.50) -BOX (2.50 2.50, 2.50 3.50) - -query TTT rowsort -SELECT '' AS two, b1.* FROM BOX_TBL_VW b1 WHERE b1.f1 &> mbr('linestring(2.0 2.0, 2.5 2.5)') - -(empty) -BOX (2.50 2.50, 2.50 3.50) -BOX (2.50 2.50, 2.50 3.50) -(empty) -BOX (3.00 3.00, 3.00 3.00) -BOX (3.00 3.00, 3.00 3.00) - -query TT rowsort -SELECT '' AS two, b.f1 FROM BOX_TBL_VW b WHERE b.f1 << mbr('linestring(3.0 3.0, 5.0 5.0)') - -(empty) -BOX (0.00 0.00, 2.00 2.00) -(empty) -BOX (2.50 2.50, 2.50 3.50) - -query TT rowsort -SELECT '' AS three, b.f1 FROM BOX_TBL_VW b WHERE b.f1 @ mbr('linestring(0 0, 3 3)') - -(empty) -BOX (0.00 0.00, 2.00 2.00) -(empty) -BOX (1.00 1.00, 3.00 3.00) -(empty) -BOX (3.00 3.00, 3.00 3.00) - -query TT rowsort -SELECT ''
MonetDB: default - A little cleanup.
Changeset: bd8b7518bb93 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=bd8b7518bb93 Removed Files: sql/odbc/samples/Tests/odbcsample1.stable.err sql/odbc/samples/Tests/odbcsample1.stable.out sql/odbc/samples/Tests/testgetinfo.stable.err sql/odbc/samples/Tests/testgetinfo.stable.out testing/quicktest testing/testing_getopt.c Modified Files: clients/odbc/samples/testgetinfo.c Branch: default Log Message: A little cleanup. diffs (truncated from 2277 to 300 lines): diff --git a/clients/odbc/samples/testgetinfo.c b/clients/odbc/samples/testgetinfo.c --- a/clients/odbc/samples/testgetinfo.c +++ b/clients/odbc/samples/testgetinfo.c @@ -88,176 +88,996 @@ const struct { SQLUINTEGER i; }; } sqlinfo[] = { - {.info = SQL_ACCESSIBLE_PROCEDURES, .name = "SQL_ACCESSIBLE_PROCEDURES", .type = STRING, .str = "N", }, - {.info = SQL_ACCESSIBLE_TABLES, .name = "SQL_ACCESSIBLE_TABLES", .type = STRING, .str = "N", }, - {.info = SQL_AGGREGATE_FUNCTIONS, .name = "SQL_AGGREGATE_FUNCTIONS", .type = INTEGER, .i = SQL_AF_ALL | SQL_AF_AVG | SQL_AF_COUNT | SQL_AF_DISTINCT | SQL_AF_MAX | SQL_AF_MIN | SQL_AF_SUM, }, - {.info = SQL_ALTER_DOMAIN, .name = "SQL_ALTER_DOMAIN", .type = INTEGER, .i = 0, }, - {.info = SQL_ALTER_TABLE, .name = "SQL_ALTER_TABLE", .type = INTEGER, .i = SQL_AT_ADD_COLUMN | SQL_AT_ADD_COLUMN_DEFAULT | SQL_AT_ADD_COLUMN_SINGLE | SQL_AT_ADD_CONSTRAINT | SQL_AT_ADD_TABLE_CONSTRAINT | SQL_AT_CONSTRAINT_NAME_DEFINITION | SQL_AT_DROP_COLUMN | SQL_AT_DROP_COLUMN_CASCADE | SQL_AT_DROP_COLUMN_DEFAULT | SQL_AT_DROP_COLUMN_RESTRICT | SQL_AT_DROP_TABLE_CONSTRAINT_CASCADE | SQL_AT_DROP_TABLE_CONSTRAINT_RESTRICT | SQL_AT_SET_COLUMN_DEFAULT, }, + { + .info = SQL_ACCESSIBLE_PROCEDURES, + .name = "SQL_ACCESSIBLE_PROCEDURES", + .type = STRING, + .str = "N", + }, + { + .info = SQL_ACCESSIBLE_TABLES, + .name = "SQL_ACCESSIBLE_TABLES", + .type = STRING, + .str = "N", + }, + { + .info = SQL_AGGREGATE_FUNCTIONS, + .name = "SQL_AGGREGATE_FUNCTIONS", + .type = INTEGER, + .i = SQL_AF_ALL | SQL_AF_AVG | SQL_AF_COUNT | SQL_AF_DISTINCT | SQL_AF_MAX | SQL_AF_MIN | SQL_AF_SUM, + }, + { + .info = SQL_ALTER_DOMAIN, + .name = "SQL_ALTER_DOMAIN", + .type = INTEGER, + .i = 0, + }, + { + .info = SQL_ALTER_TABLE, + .name = "SQL_ALTER_TABLE", + .type = INTEGER, + .i = SQL_AT_ADD_COLUMN | SQL_AT_ADD_COLUMN_DEFAULT | SQL_AT_ADD_COLUMN_SINGLE | SQL_AT_ADD_CONSTRAINT | SQL_AT_ADD_TABLE_CONSTRAINT | SQL_AT_CONSTRAINT_NAME_DEFINITION | SQL_AT_DROP_COLUMN | SQL_AT_DROP_COLUMN_CASCADE | SQL_AT_DROP_COLUMN_DEFAULT | SQL_AT_DROP_COLUMN_RESTRICT | SQL_AT_DROP_TABLE_CONSTRAINT_CASCADE | SQL_AT_DROP_TABLE_CONSTRAINT_RESTRICT | SQL_AT_SET_COLUMN_DEFAULT, + }, #ifdef SQL_ASYNC_DBC_FUNCTIONS - {.info = SQL_ASYNC_DBC_FUNCTIONS, .name = "SQL_ASYNC_DBC_FUNCTIONS", .type = INTEGER, .i = 0, }, + { + .info = SQL_ASYNC_DBC_FUNCTIONS, + .name = "SQL_ASYNC_DBC_FUNCTIONS", + .type = INTEGER, + .i = 0, + }, #endif - {.info = SQL_ASYNC_MODE, .name = "SQL_ASYNC_MODE", .type = INTEGER, .i = SQL_AM_NONE, }, + { + .info = SQL_ASYNC_MODE, + .name = "SQL_ASYNC_MODE", + .type = INTEGER, + .i = SQL_AM_NONE, + }, #ifdef SQL_ASYNC_NOTIFICATION - {.info = SQL_ASYNC_NOTIFICATION, .name = "SQL_ASYNC_NOTIFICATION", .type = INTEGER, .i = 0, }, + { + .info = SQL_ASYNC_NOTIFICATION, + .name = "SQL_ASYNC_NOTIFICATION", + .type = INTEGER, + .i = 0, + }, #endif - {.info = SQL_BATCH_ROW_COUNT, .name = "SQL_BATCH_ROW_COUNT", .type = INTEGER, .i = SQL_BRC_EXPLICIT, }, - {.info = SQL_BATCH_SUPPORT, .name = "SQL_BATCH_SUPPORT", .type = INTEGER, .i = SQL_BS_SELECT_EXPLICIT | SQL_BS_ROW_COUNT_EXPLICIT, }, - {.info = SQL_BOOKMARK_PERSISTENCE, .name = "SQL_BOOKMARK_PERSISTENCE", .type = INTEGER, .i = 0, }, - {.info = SQL_CATALOG_LOCATION, .name = "SQL_CATALOG_LOCATION", .type = SHORT, .s = 0, }, - {.info = SQL_CATALOG_NAME, .name = "SQL_CATALOG_NAME", .type = STRING, .str = "N", }, - {.info = SQL_CATALOG_NAME_SEPARATOR, .name = "SQL_CATALOG_NAME_SEPARATOR", .type = STRING, .str = "", }, - {.info = SQL_CATALOG_TERM, .name = "SQL_CATALOG_TERM", .type = STRING, .str = "", }, - {.info = SQL_CATALOG_USAGE, .name = "SQL_CATALOG_USAGE", .type = INTEGER, .i = 0, }, - {.info = SQL_COLLATION_SEQ, .name = "SQL_COLLATION_SEQ", .type = STRING, .str =
MonetDB: default - add missing reqtests file
Changeset: 50809403bddc for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=50809403bddc Added Files: sql/test/pg_regress/Tests/vacuum.reqtests Branch: default Log Message: add missing reqtests file diffs (6 lines): diff --git a/sql/test/pg_regress/Tests/vacuum.reqtests b/sql/test/pg_regress/Tests/vacuum.reqtests new file mode 100644 --- /dev/null +++ b/sql/test/pg_regress/Tests/vacuum.reqtests @@ -0,0 +1,1 @@ +loadwisconsin ___ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list
MonetDB: default - Check OS before matching against the output file
Changeset: fbdc54c18a90 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=fbdc54c18a90 Added Files: sql/test/BugTracker-2009/Tests/copy_multiple_files.SF-2902320.SQL.py Removed Files: sql/test/BugTracker-2009/Tests/copy_multiple_files.SF-2902320.test Modified Files: sql/test/BugTracker-2009/Tests/copy_multiple_files.SF-2902320.stable.err sql/test/BugTracker-2009/Tests/copy_multiple_files.SF-2902320.stable.err.Windows sql/test/BugTracker-2009/Tests/copy_multiple_files.SF-2902320.stable.out sql/test/BugTracker-2009/Tests/copy_multiple_files.SF-2902320.stable.out.Windows Branch: default Log Message: Check OS before matching against the output file diffs (truncated from 310 to 300 lines): diff --git a/sql/test/BugTracker-2009/Tests/copy_multiple_files.SF-2902320.SQL.py b/sql/test/BugTracker-2009/Tests/copy_multiple_files.SF-2902320.SQL.py new file mode 100644 --- /dev/null +++ b/sql/test/BugTracker-2009/Tests/copy_multiple_files.SF-2902320.SQL.py @@ -0,0 +1,15 @@ +from MonetDBtesting.sqltest import SQLTestCase +import platform + +if platform.system() == 'Windows': +suffix = '.Windows' +else: +suffix = '' + +with SQLTestCase() as tc: +# optional or default connection +tc.connect() +with open('copy_multiple_files.SF-2902320.sql') as f: +tc.execute(query=None, client='mclient', stdin=f)\ + .assertMatchStableOut(fout='copy_multiple_files.SF-2902320.stable.out%s' % (suffix))\ + .assertMatchStableError(ferr='copy_multiple_files.SF-2902320.stable.err%s' % (suffix)) diff --git a/sql/test/BugTracker-2009/Tests/copy_multiple_files.SF-2902320.stable.err b/sql/test/BugTracker-2009/Tests/copy_multiple_files.SF-2902320.stable.err --- a/sql/test/BugTracker-2009/Tests/copy_multiple_files.SF-2902320.stable.err +++ b/sql/test/BugTracker-2009/Tests/copy_multiple_files.SF-2902320.stable.err @@ -1,80 +1,3 @@ -stderr of test 'copy_multiple_files.SF-2902320` in directory 'sql/test/BugTracker-2009` itself: - - -# 08:59:53 > -# 08:59:53 > mserver5 "--config=/ufs/niels/scratch/rc/Linux-x86_64/etc/monetdb5.conf" --debug=10 --set gdk_nr_threads=0 --set "monet_mod_path=/ufs/niels/scratch/rc/Linux-x86_64/lib/MonetDB5:/ufs/niels/scratch/rc/Linux-x86_64/lib/MonetDB5/lib:/ufs/niels/scratch/rc/Linux-x86_64/lib/MonetDB5/bin" --set "gdk_dbfarm=/ufs/niels/scratch/rc/Linux-x86_64/var/MonetDB5/dbfarm" --set mapi_open=true --set xrpc_open=true --set mapi_port=36694 --set xrpc_port=47294 --set monet_prompt= --trace "--dbname=mTests_src_test_BugTracker-2009" --set mal_listing=0 "--dbinit= include sql;" ; echo ; echo Over.. -# 08:59:53 > - -# builtin opt gdk_arch = 64bitx86_64-unknown-linux-gnu -# builtin opt gdk_version = 1.34.0 -# builtin opt prefix = /ufs/niels/scratch/rc/Linux-x86_64 -# builtin opt exec_prefix = ${prefix} -# builtin opt gdk_dbname = tst -# builtin opt gdk_dbfarm = ${prefix}/var/MonetDB -# builtin opt gdk_debug = 8 -# builtin opt gdk_alloc_map = yes -# builtin opt gdk_vmtrim = yes -# builtin opt monet_admin = adm -# builtin opt monet_prompt = > -# builtin opt monet_welcome = yes -# builtin opt monet_mod_path = ${exec_prefix}/lib/MonetDB -# builtin opt monet_daemon = yes -# builtin opt host = localhost -# builtin opt mapi_port = 5 -# builtin opt mapi_noheaders = no -# builtin opt mapi_debug = 0 -# builtin opt mapi_clients = 2 -# builtin opt sql_debug = 0 -# builtin opt standoff_ns = http://monetdb.cwi.nl/standoff -# builtin opt standoff_start = start -# builtin opt standoff_end = end -# config opt prefix = /ufs/niels/scratch/rc/Linux-x86_64 -# config opt config = ${prefix}/etc/monetdb5.conf -# config opt prefix = /ufs/niels/scratch/rc/Linux-x86_64 -# config opt exec_prefix = ${prefix} -# config opt gdk_dbfarm = ${prefix}/var/MonetDB5/dbfarm -# config opt gdk_dbname = demo -# config opt gdk_alloc_map = no -# config opt gdk_embedded = no -# config opt gdk_debug = 0 -# config opt monet_mod_path = ${exec_prefix}/lib/MonetDB5:${exec_prefix}/lib/MonetDB5/lib:${exec_prefix}/lib/MonetDB5/bin -# config opt monet_daemon = no -# config opt monet_welcome = yes -# config opt mero_msglog = ${prefix}/var/log/MonetDB/merovingian.log -# config opt mero_errlog = ${prefix}/var/log/MonetDB/merovingian.log -# config opt mero_pidfile = ${prefix}/var/run/MonetDB/merovingian.pid -# config opt mero_controlport = 50001 -# config opt mal_init = ${exec_prefix}/lib/MonetDB5/mal_init.mal -# config opt mal_listing = 2 -# config opt mapi_port = 5 -# config opt mapi_autosense = false -# config opt mapi_open = false -# config opt sql_optimizer = default_pipe -# config opt default_pipe = inline,remap,evaluate,costModel,coercions,emptySet,aliases,mergetable,deadcode,constants,commonTerms,joinPath,deadcode,reduce,garbageCollector,dataflow,history,multiplex -# config opt replication_pipe = inline,remap,evaluate,costModel,coercions,emptySet,ali
MonetDB: default - Converted sqlgetinfo test.
Changeset: 04b2e03228e6 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=04b2e03228e6 Modified Files: clients/odbc/samples/testgetinfo.c Branch: default Log Message: Converted sqlgetinfo test. diffs (truncated from 3328 to 300 lines): diff --git a/clients/odbc/samples/testgetinfo.c b/clients/odbc/samples/testgetinfo.c --- a/clients/odbc/samples/testgetinfo.c +++ b/clients/odbc/samples/testgetinfo.c @@ -13,6 +13,7 @@ #include #include #include +#include / Define the ODBC Version this ODBC driver complies with / /* also see ODBCGlobal.h */ @@ -73,6 +74,192 @@ check(SQLRETURN ret, SQLSMALLINT tpe, SQ return false; } +const struct { + SQLUSMALLINT info; + enum { + STRING, + INTEGER, + SHORT, + } type; + char *name; + union { + char *str; + SQLUSMALLINT s; + SQLUINTEGER i; + }; +} sqlinfo[] = { + {.info = SQL_ACCESSIBLE_PROCEDURES, .name = "SQL_ACCESSIBLE_PROCEDURES", .type = STRING, .str = "N", }, + {.info = SQL_ACCESSIBLE_TABLES, .name = "SQL_ACCESSIBLE_TABLES", .type = STRING, .str = "N", }, + {.info = SQL_AGGREGATE_FUNCTIONS, .name = "SQL_AGGREGATE_FUNCTIONS", .type = INTEGER, .i = SQL_AF_ALL | SQL_AF_AVG | SQL_AF_COUNT | SQL_AF_DISTINCT | SQL_AF_MAX | SQL_AF_MIN | SQL_AF_SUM, }, + {.info = SQL_ALTER_DOMAIN, .name = "SQL_ALTER_DOMAIN", .type = INTEGER, .i = 0, }, + {.info = SQL_ALTER_TABLE, .name = "SQL_ALTER_TABLE", .type = INTEGER, .i = SQL_AT_ADD_COLUMN | SQL_AT_ADD_COLUMN_DEFAULT | SQL_AT_ADD_COLUMN_SINGLE | SQL_AT_ADD_CONSTRAINT | SQL_AT_ADD_TABLE_CONSTRAINT | SQL_AT_CONSTRAINT_NAME_DEFINITION | SQL_AT_DROP_COLUMN | SQL_AT_DROP_COLUMN_CASCADE | SQL_AT_DROP_COLUMN_DEFAULT | SQL_AT_DROP_COLUMN_RESTRICT | SQL_AT_DROP_TABLE_CONSTRAINT_CASCADE | SQL_AT_DROP_TABLE_CONSTRAINT_RESTRICT | SQL_AT_SET_COLUMN_DEFAULT, }, +#ifdef SQL_ASYNC_DBC_FUNCTIONS + {.info = SQL_ASYNC_DBC_FUNCTIONS, .name = "SQL_ASYNC_DBC_FUNCTIONS", .type = INTEGER, .i = 0, }, +#endif + {.info = SQL_ASYNC_MODE, .name = "SQL_ASYNC_MODE", .type = INTEGER, .i = SQL_AM_NONE, }, +#ifdef SQL_ASYNC_NOTIFICATION + {.info = SQL_ASYNC_NOTIFICATION, .name = "SQL_ASYNC_NOTIFICATION", .type = INTEGER, .i = 0, }, +#endif + {.info = SQL_BATCH_ROW_COUNT, .name = "SQL_BATCH_ROW_COUNT", .type = INTEGER, .i = SQL_BRC_EXPLICIT, }, + {.info = SQL_BATCH_SUPPORT, .name = "SQL_BATCH_SUPPORT", .type = INTEGER, .i = SQL_BS_SELECT_EXPLICIT | SQL_BS_ROW_COUNT_EXPLICIT, }, + {.info = SQL_BOOKMARK_PERSISTENCE, .name = "SQL_BOOKMARK_PERSISTENCE", .type = INTEGER, .i = 0, }, + {.info = SQL_CATALOG_LOCATION, .name = "SQL_CATALOG_LOCATION", .type = SHORT, .s = 0, }, + {.info = SQL_CATALOG_NAME, .name = "SQL_CATALOG_NAME", .type = STRING, .str = "N", }, + {.info = SQL_CATALOG_NAME_SEPARATOR, .name = "SQL_CATALOG_NAME_SEPARATOR", .type = STRING, .str = "", }, + {.info = SQL_CATALOG_TERM, .name = "SQL_CATALOG_TERM", .type = STRING, .str = "", }, + {.info = SQL_CATALOG_USAGE, .name = "SQL_CATALOG_USAGE", .type = INTEGER, .i = 0, }, + {.info = SQL_COLLATION_SEQ, .name = "SQL_COLLATION_SEQ", .type = STRING, .str = "UTF-8", }, + {.info = SQL_COLUMN_ALIAS, .name = "SQL_COLUMN_ALIAS", .type = STRING, .str = "Y", }, + {.info = SQL_CONCAT_NULL_BEHAVIOR, .name = "SQL_CONCAT_NULL_BEHAVIOR", .type = SHORT, .s = SQL_CB_NULL, }, + {.info = SQL_CONVERT_BIGINT, .name = "SQL_CONVERT_BIGINT", .type = INTEGER, .i = SQL_CVT_BIGINT | SQL_CVT_BIT | SQL_CVT_CHAR | SQL_CVT_DECIMAL | SQL_CVT_DOUBLE | SQL_CVT_FLOAT | SQL_CVT_INTEGER | SQL_CVT_INTERVAL_YEAR_MONTH | SQL_CVT_INTERVAL_DAY_TIME | SQL_CVT_LONGVARCHAR | SQL_CVT_NUMERIC | SQL_CVT_REAL | SQL_CVT_SMALLINT | SQL_CVT_TINYINT | SQL_CVT_VARCHAR, }, + {.info = SQL_CONVERT_BINARY, .name = "SQL_CONVERT_BINARY", .type = INTEGER, .i = SQL_CVT_BINARY | SQL_CVT_CHAR | SQL_CVT_LONGVARBINARY | SQL_CVT_LONGVARCHAR | SQL_CVT_VARBINARY | SQL_CVT_VARCHAR, }, + {.info = SQL_CONVERT_BIT, .name = "SQL_CONVERT_BIT", .type = INTEGER, .i = SQL_CVT_BIGINT | SQL_CVT_BIT | SQL_CVT_CHAR | SQL_CVT_INTEGER | SQL_CVT_LONGVARCHAR | SQL_CVT_SMALLINT | SQL_CVT_TINYINT | SQL_CVT_VARCHAR, }, + {.info = SQL_CONVERT_CHAR, .name = "SQL_CONVERT_CHAR", .type = INTEGER, .i = SQL_CVT_BIGINT | SQL_CVT_BINARY | SQL_CVT_BIT | SQL_CVT_GUID | SQL_CVT_CHAR | SQL_CVT_DATE | SQL_CVT_DECIMAL | SQL_CVT_DOUBLE | SQL_CVT_FLOAT | SQL_CVT_INTEGER | SQL_CVT_INTERVAL_YEAR_MONTH | SQL_CVT_INTERVAL_DAY_TIME | SQL_CVT_LONGVARBINARY | SQL_CVT_LONGVARCHAR | SQL_CVT_NUMERIC | SQL_CVT_REAL | SQL_CVT_SMALLINT | SQL_CVT_TIME | SQL_CVT_TIMESTAMP | SQL_CVT_TINYINT | SQL_CVT_VARBINARY | SQL_CVT_VARCHAR, }, + {.info = SQL_CONVERT_DATE, .name = "SQL_CONVERT_DATE", .type = INTEGER, .i = SQL_CVT_CHAR | SQL_CVT_DATE | SQL_CVT_LONGVARCHAR | SQL_CVT_TIMESTAMP
MonetDB: default - Attempting to unify ppc64 and no ppc64 outputs
Changeset: c378fc9beda8 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=c378fc9beda8 Added Files: sql/test/BugTracker-2009/Tests/overflow.SF-2853458.py Removed Files: sql/test/BugTracker-2009/Tests/overflow.SF-2853458.sql sql/test/BugTracker-2009/Tests/overflow.SF-2853458.stable.err.ppc64 sql/test/BugTracker-2009/Tests/overflow.SF-2853458.stable.out.ppc64 sql/test/BugTracker-2009/Tests/overflow.SF-2853458.test Modified Files: sql/test/BugTracker-2009/Tests/overflow.SF-2853458.stable.err sql/test/BugTracker-2009/Tests/overflow.SF-2853458.stable.out Branch: default Log Message: Attempting to unify ppc64 and no ppc64 outputs diffs (286 lines): diff --git a/sql/test/BugTracker-2009/Tests/overflow.SF-2853458.sql b/sql/test/BugTracker-2009/Tests/overflow.SF-2853458.py rename from sql/test/BugTracker-2009/Tests/overflow.SF-2853458.sql rename to sql/test/BugTracker-2009/Tests/overflow.SF-2853458.py --- a/sql/test/BugTracker-2009/Tests/overflow.SF-2853458.sql +++ b/sql/test/BugTracker-2009/Tests/overflow.SF-2853458.py @@ -1,2 +1,30 @@ -select cast(power(2,63) as bigint); -select cast(power(2,64) as bigint); +import sys, os, platform, pymonetdb + +db = os.getenv("TSTDB") +port = int(os.getenv("MAPIPORT")) + +conn1 = pymonetdb.connect(database=db, port=port, autocommit=True, username='monetdb', password='monetdb') +cur1 = conn1.cursor() +running_arch = platform.machine() + +try: +cur1.execute("select cast(power(2,63) as bigint);") +if running_arch == 'ppc64': +if cur1.fetchall() != [(9223372036854775807,)]: +sys.stderr.write('[(9223372036854775807,)] expected\n') +else: +sys.stderr.write("Exception expected") +except pymonetdb.DatabaseError as e: +if running_arch == 'ppc64': +raise e +elif "overflow in conversion" not in str(e): +sys.stderr.write('Wrong error %s, expected overflow in conversion' % (str(e))) +try: +cur1.execute("select cast(power(2,64) as bigint);") +sys.stderr.write("Exception expected") +except pymonetdb.DatabaseError as e: +if "overflow in conversion" not in str(e): +sys.stderr.write('Wrong error %s, expected overflow in conversion' % (str(e))) + +cur1.close() +conn1.close() diff --git a/sql/test/BugTracker-2009/Tests/overflow.SF-2853458.stable.err b/sql/test/BugTracker-2009/Tests/overflow.SF-2853458.stable.err --- a/sql/test/BugTracker-2009/Tests/overflow.SF-2853458.stable.err +++ b/sql/test/BugTracker-2009/Tests/overflow.SF-2853458.stable.err @@ -5,76 +5,6 @@ stderr of test 'overflow.SF-2853458` in # 22:26:13 > mserver5 "--config=/ufs/niels/scratch/rc/Linux-x86_64/etc/monetdb5.conf" --debug=10 --set gdk_nr_threads=0 --set "monet_mod_path=/ufs/niels/scratch/rc/Linux-x86_64/lib/MonetDB5:/ufs/niels/scratch/rc/Linux-x86_64/lib/MonetDB5/lib:/ufs/niels/scratch/rc/Linux-x86_64/lib/MonetDB5/bin" --set "gdk_dbfarm=/ufs/niels/scratch/rc/Linux-x86_64/var/MonetDB5/dbfarm" --set mapi_open=true --set xrpc_open=true --set mapi_port=35561 --set xrpc_port=42240 --set monet_prompt= --trace "--dbname=mTests_src_test_BugTracker-2009" --set mal_listing=0 "--dbinit= include sql;" ; echo ; echo Over.. # 22:26:13 > -# builtin opt gdk_arch = 64bitx86_64-unknown-linux-gnu -# builtin opt gdk_version = 1.32.0 -# builtin opt prefix = /ufs/niels/scratch/rc/Linux-x86_64 -# builtin opt exec_prefix = ${prefix} -# builtin opt gdk_dbname = tst -# builtin opt gdk_dbfarm = ${prefix}/var/MonetDB -# builtin opt gdk_debug = 8 -# builtin opt gdk_alloc_map = yes -# builtin opt gdk_vmtrim = yes -# builtin opt monet_admin = adm -# builtin opt monet_prompt = > -# builtin opt monet_welcome = yes -# builtin opt monet_mod_path = ${exec_prefix}/lib/MonetDB -# builtin opt monet_daemon = yes -# builtin opt host = localhost -# builtin opt mapi_port = 5 -# builtin opt mapi_noheaders = no -# builtin opt mapi_debug = 0 -# builtin opt mapi_clients = 2 -# builtin opt sql_debug = 0 -# builtin opt standoff_ns = http://monetdb.cwi.nl/standoff -# builtin opt standoff_start = start -# builtin opt standoff_end = end -# config opt prefix = /ufs/niels/scratch/rc/Linux-x86_64 -# config opt config = ${prefix}/etc/monetdb5.conf -# config opt prefix = /ufs/niels/scratch/rc/Linux-x86_64 -# config opt exec_prefix = ${prefix} -# config opt gdk_dbfarm = ${prefix}/var/MonetDB5/dbfarm -# config opt gdk_dbname = demo -# config opt gdk_alloc_map = no -# config opt gdk_embedded = no -# config opt gdk_debug = 0 -# config opt monet_mod_path = ${exec_prefix}/lib/MonetDB5:${exec_prefix}/lib/MonetDB5/lib:${exec_prefix}/lib/MonetDB5/bin -# config opt monet_daemon = no -# config opt monet_welcome = yes -# config opt mero_msglog = ${prefix}/var/log/MonetDB/merovingian.log -# config opt mero_errlog = ${prefix}/var/log/MonetDB/merovingian.log -# config opt mero_pidfile = ${prefix}/var/run/MonetDB/merovingian.pid -# config opt mal_init
MonetDB: default - Pipe server's stderr so the server keeps silent
Changeset: a21d66903ebb for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=a21d66903ebb Modified Files: sql/test/remote/Tests/creds.SQL.py sql/test/remote/Tests/different_user.SQL.py sql/test/remote/Tests/invalid_creds.SQL.py sql/test/remote/Tests/ssbm.SQL.py Branch: default Log Message: Pipe server's stderr so the server keeps silent diffs (85 lines): diff --git a/sql/test/remote/Tests/creds.SQL.py b/sql/test/remote/Tests/creds.SQL.py --- a/sql/test/remote/Tests/creds.SQL.py +++ b/sql/test/remote/Tests/creds.SQL.py @@ -71,7 +71,7 @@ def create_workers(tmpdir, workers, fn_t } workers.append(workerrec) os.mkdir(workerrec['dbfarm']) -workerrec['proc'] = process.server(mapiport=workerrec['port'], dbname=workerrec['dbname'], dbfarm=workerrec['dbfarm'], stdin=process.PIPE, stdout=process.PIPE) +workerrec['proc'] = process.server(mapiport=workerrec['port'], dbname=workerrec['dbname'], dbfarm=workerrec['dbfarm'], stdin=process.PIPE, stdout=process.PIPE, stderr=process.PIPE) workerrec['conn'] = pymonetdb.connect(database=workerrec['dbname'], port=workerport, autocommit=True) filename = fn_template.format(workerrec['num']) t = threading.Thread(target=worker_load, args=[filename, workerrec, cmovies, ratings_table_def_fk]) @@ -90,7 +90,8 @@ with tempfile.TemporaryDirectory() as tm with process.server(mapiport=supervisorport, dbname="supervisor", dbfarm=os.path.join(tmpdir, "supervisor"), stdin=process.PIPE, -stdout=process.PIPE) as supervisorproc: +stdout=process.PIPE, +stderr=process.PIPE) as supervisorproc: supervisorconn = pymonetdb.connect(database='supervisor', port=supervisorport, autocommit=True) supervisor_uri = "mapi:monetdb://localhost:{}/supervisor".format(supervisorport) c = supervisorconn.cursor() diff --git a/sql/test/remote/Tests/different_user.SQL.py b/sql/test/remote/Tests/different_user.SQL.py --- a/sql/test/remote/Tests/different_user.SQL.py +++ b/sql/test/remote/Tests/different_user.SQL.py @@ -70,7 +70,7 @@ def create_workers(TMPDIR, workers, fn_t } workers.append(workerrec) os.mkdir(workerrec['dbfarm']) -workerrec['proc'] = process.server(mapiport=workerrec['port'], dbname=workerrec['dbname'], dbfarm=workerrec['dbfarm'], stdin=process.PIPE, stdout=process.PIPE) +workerrec['proc'] = process.server(mapiport=workerrec['port'], dbname=workerrec['dbname'], dbfarm=workerrec['dbfarm'], stdin=process.PIPE, stdout=process.PIPE, stderr=process.PIPE) workerrec['conn'] = pymonetdb.connect(database=workerrec['dbname'], port=workerport, autocommit=True) filename = fn_template.format(workerrec['num']) t = threading.Thread(target=worker_load, args=[filename, workerrec, cmovies, ratings_table_def_fk]) @@ -87,7 +87,7 @@ workers = [] with tempfile.TemporaryDirectory() as TMPDIR: os.mkdir(os.path.join(TMPDIR, "supervisor")) -with process.server(mapiport=supervisorport, dbname="supervisor", dbfarm=os.path.join(TMPDIR, "supervisor"), stdin=process.PIPE, stdout=process.PIPE) as supervisorproc: +with process.server(mapiport=supervisorport, dbname="supervisor", dbfarm=os.path.join(TMPDIR, "supervisor"), stdin=process.PIPE, stdout=process.PIPE, stderr=process.PIPE) as supervisorproc: supervisorconn = pymonetdb.connect(database='supervisor', port=supervisorport, autocommit=True) supervisor_uri = "mapi:monetdb://localhost:{}/supervisor".format(supervisorport) c = supervisorconn.cursor() diff --git a/sql/test/remote/Tests/invalid_creds.SQL.py b/sql/test/remote/Tests/invalid_creds.SQL.py --- a/sql/test/remote/Tests/invalid_creds.SQL.py +++ b/sql/test/remote/Tests/invalid_creds.SQL.py @@ -71,7 +71,7 @@ def create_workers(TMPDIR, workers, fn_t } workers.append(workerrec) os.mkdir(workerrec['dbfarm']) -workerrec['proc'] = process.server(mapiport=workerrec['port'], dbname=workerrec['dbname'], dbfarm=workerrec['dbfarm'], stdin=process.PIPE, stdout=process.PIPE) +workerrec['proc'] = process.server(mapiport=workerrec['port'], dbname=workerrec['dbname'], dbfarm=workerrec['dbfarm'], stdin=process.PIPE, stdout=process.PIPE, stderr=process.PIPE) workerrec['conn'] = pymonetdb.connect(database=workerrec['dbname'], port=workerport, autocommit=True) filename = fn_template.format(workerrec['num']) t = threading.Thread(target=worker_load, args=[filename, workerrec, cmovies, ratings_table_def_fk]) @@ -87,7 +87,7 @@ supervisorproc = None workers = [] with tempfile.TemporaryDirectory() as TMPDIR: os.mkdir(os.path.join(TMPDIR, "supervisor")) -with process.server(mapiport=supervisorport, dbname="supervisor", dbfarm=os.path.join(TMPDIR, "supervisor"), st
MonetDB: default - As an easier solution, remove non-ascii chara...
Changeset: ccbdc44af0d3 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=ccbdc44af0d3 Modified Files: sql/test/prepare/Tests/sqlancer_prepare.sql sql/test/prepare/Tests/sqlancer_prepare.stable.out Branch: default Log Message: As an easier solution, remove non-ascii characters from test, instead of creating a new option to specify the encoding to use diffs (25 lines): diff --git a/sql/test/prepare/Tests/sqlancer_prepare.sql b/sql/test/prepare/Tests/sqlancer_prepare.sql --- a/sql/test/prepare/Tests/sqlancer_prepare.sql +++ b/sql/test/prepare/Tests/sqlancer_prepare.sql @@ -39,5 +39,5 @@ PREPARE SELECT round(-'b', ?); PREPARE SELECT sql_max(+ (0.29353363282850464), round(- (sql_min('-Infinity', ?)), ?)) LIMIT 8535194086169274474; PREPARE VALUES (CAST(? >> 1.2 AS INTERVAL SECOND)), (interval '1' second); -- error, types decimal(2,1) and sec_interval(13,0) are not equal -PREPARE (SELECT DISTINCT ((CAST(- (CASE r'' WHEN r'tU1{D^㙝U' THEN 1739172851 WHEN ? THEN -1313600539 WHEN r'X(%4}' THEN NULL WHEN r')帘''舻CD' THEN 95 END) AS BIGINT))&(least(- (-235253756), 64))) +PREPARE (SELECT DISTINCT ((CAST(- (CASE r'' WHEN r'tU1' THEN 1739172851 WHEN ? THEN -1313600539 WHEN r'X(' THEN NULL WHEN r')''CD' THEN 95 END) AS BIGINT))&(least(- (-235253756), 64))) WHERE ((rtrim(r'Z'))LIKE(r'rK'))) UNION ALL (SELECT ALL ? WHERE (scale_down(ifthenelse(TRUE, 18, ?), r'4')) IS NULL); diff --git a/sql/test/prepare/Tests/sqlancer_prepare.stable.out b/sql/test/prepare/Tests/sqlancer_prepare.stable.out --- a/sql/test/prepare/Tests/sqlancer_prepare.stable.out +++ b/sql/test/prepare/Tests/sqlancer_prepare.stable.out @@ -69,9 +69,9 @@ [ "double",53, 17, "", "%2", "%2"] [ "char", 9, 0, NULL, NULL, NULL] [ "tinyint", 8, 0, NULL, NULL, NULL] -#PREPARE (SELECT DISTINCT ((CAST(- (CASE r'' WHEN r'tU1{D^㙝U' THEN 1739172851 WHEN ? THEN -1313600539 WHEN r'X(%4}' THEN NULL WHEN r')帘''舻CD' THEN 95 END) AS BIGINT))&(least(- (-235253756), 64))) +#PREPARE (SELECT DISTINCT ((CAST(- (CASE r'' WHEN r'tU1' THEN 1739172851 WHEN ? THEN -1313600539 WHEN r'X(' THEN NULL WHEN r')''CD' THEN 95 END) AS BIGINT))&(least(- (-235253756), 64))) #WHERE ((rtrim(r'Z'))LIKE(r'rK'))) UNION ALL (SELECT ALL ? WHERE (scale_down(ifthenelse(TRUE, 18, ?), r'4')) IS NULL); -#PREPARE (SELECT DISTINCT ((CAST(- (CASE r'' WHEN r'tU1{D^㙝U' THEN 1739172851 WHEN ? THEN -1313600539 WHEN r'X(%4}' THEN NULL WHEN r')帘''舻CD' THEN 95 END) AS BIGINT))&(least(- (-235253756), 64))) +#PREPARE (SELECT DISTINCT ((CAST(- (CASE r'' WHEN r'tU1' THEN 1739172851 WHEN ? THEN -1313600539 WHEN r'X(' THEN NULL WHEN r')''CD' THEN 95 END) AS BIGINT))&(least(- (-235253756), 64))) #WHERE ((rtrim(r'Z'))LIKE(r'rK'))) UNION ALL (SELECT ALL ? WHERE (scale_down(ifthenelse(TRUE, 18, ?), r'4')) IS NULL); % .prepare,.prepare, .prepare, .prepare, .prepare, .prepare # table_name % type,digits, scale, schema, table, column # name ___ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list
MonetDB: unlock - merged
Changeset: d2a61ad3d62d for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=d2a61ad3d62d Modified Files: sql/test/miscellaneous/Tests/groupby_error.stable.out sql/test/miscellaneous/Tests/groupby_prepare.stable.out sql/test/orderidx/Tests/simpletable.stable.out sql/test/orderidx/Tests/smalltable.stable.out Branch: unlock Log Message: merged diffs (truncated from 5048 to 300 lines): diff --git a/MonetDB.spec b/MonetDB.spec --- a/MonetDB.spec +++ b/MonetDB.spec @@ -672,30 +672,9 @@ program that uses MonetDB as an embeddab %{_includedir}/monetdb/monetdbe.h %{_libdir}/pkgconfig/monetdbe.pc -%package testing -Summary: MonetDB - Monet Database Management System -Group: Applications/Databases - -%description testing -MonetDB is a database management system that is developed from a -main-memory perspective with use of a fully decomposed storage model, -automatic index management, extensibility of data types and search -accelerators. It also has an SQL front end. - -This package contains the programs and files needed for testing the -MonetDB packages. You probably don't need this, unless you are a -developer. If you do want to test, install %{name}-testing-python. - -%files testing -%license COPYING -%defattr(-,root,root) -%{_bindir}/Mdiff -%{_bindir}/Mlog - %package testing-python Summary: MonetDB - Monet Database Management System Group: Applications/Databases -Requires: %{name}-testing = %{version}-%{release} Requires: %{name}-client-tests = %{version}-%{release} Requires: /usr/bin/python3 BuildArch: noarch diff --git a/clients/Tests/mclient-uri.SQL.sh b/clients/Tests/mclient-uri.SQL.sh --- a/clients/Tests/mclient-uri.SQL.sh +++ b/clients/Tests/mclient-uri.SQL.sh @@ -2,13 +2,11 @@ # test the URI parsing capabilities of the MAPI library -#Mlog "mclient -d mapi:monetdb://$HOST:$MAPIPORT/$TSTDB?language=sql&user=monetdb -f test -t none -E utf-8 -s select 1" mclient -d "mapi:monetdb://$HOST:$MAPIPORT/$TSTDB?language=sql&user=monetdb" -f csv -t none -E utf-8 -s 'select 1' | grep -v '^1$' if [ $? -eq 2 ]; then return 2; fi -#Mlog "mclient -d mapi:monetdb://$MAPIHOST/.s.monetdb.$MAPIPORT?database=$TSTDB&language=sql&user=monetdb -f test -t none -E utf-8 -s select 1" mclient -d "mapi:monetdb://$MAPIHOST/.s.monetdb.$MAPIPORT?database=$TSTDB&language=sql&user=monetdb" -f csv -t none -E utf-8 -s 'select 1' | grep -v '^1$' if [ $? -eq 2 ]; then return 2; diff --git a/debian/control b/debian/control --- a/debian/control +++ b/debian/control @@ -274,23 +274,9 @@ Description: MonetDB development files This package contains the library and include files to create a program that uses MonetDB as an embeddable library. -Package: monetdb-testing -Architecture: any -Depends: ${shlibs:Depends}, ${misc:Depends} -Description: MonetDB testing programs - MonetDB is a database management system that is developed from a - main-memory perspective with use of a fully decomposed storage model, - automatic index management, extensibility of data types and search - accelerators. It also has an SQL front end. - . - This package contains the programs and files needed for testing the - MonetDB packages. You probably don't need this, unless you are a - developer. If you do want to test, install monetdb-testing-python. - Package: monetdb-testing-python Architecture: any Depends: ${shlibs:Depends}, ${misc:Depends}, python3, - monetdb-testing (= ${source:Version}), monetdb-client-testing (= ${source:Version}) Description: MonetDB testing Python programs MonetDB is a database management system that is developed from a diff --git a/debian/monetdb-testing.install b/debian/monetdb-testing.install deleted file mode 100644 --- a/debian/monetdb-testing.install +++ /dev/null @@ -1,2 +0,0 @@ -debian/tmp/usr/bin/Mdiff usr/bin -debian/tmp/usr/bin/Mlog usr/bin diff --git a/sql/backends/monet5/Tests/Mbeddedsql5--help b/sql/backends/monet5/Tests/Mbeddedsql5--help --- a/sql/backends/monet5/Tests/Mbeddedsql5--help +++ b/sql/backends/monet5/Tests/Mbeddedsql5--help @@ -1,3 +1,3 @@ #!/bin/sh -Mlog -x Mbeddedsql5 --help +Mbeddedsql5 --help diff --git a/sql/backends/monet5/Tests/shutdown.py b/sql/backends/monet5/Tests/shutdown.py --- a/sql/backends/monet5/Tests/shutdown.py +++ b/sql/backends/monet5/Tests/shutdown.py @@ -11,6 +11,6 @@ try: if os.name == 'nt': os.system('shutdowntest.exe "%s"' % databasedir) else: -os.system('Mlog -x shutdowntest "%s"' % databasedir) +os.system('shutdowntest "%s"' % databasedir) finally: shutil.rmtree(databasedir) diff --git a/sql/jdbc/tests/Tests/Test.SQL.sh b/sql/jdbc/tests/Tests/Test.SQL.sh --- a/sql/jdbc/tests/Tests/Test.SQL.sh +++ b/sql/jdbc/tests/Tests/Test.SQL.sh @@ -3,4 +3,4 @@ URL="jdbc:monetdb://${HOST}:${MAPIPORT}/${TSTDB}?user=monetdb&password=monetdb${JDBC_EXTRA_ARGS}" TST=$1 -Mlog -x "java ${TST} \"${URL}\"" +java ${TST} "${URL}" diff --git a/sql/jdbc/tests/T
MonetDB: unlock - approved output
Changeset: 691a5c06388d for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=691a5c06388d Modified Files: sql/test/FeatureRequests/Tests/foreign_key_outer_join_dead_code_elimination-explain-1join-query.test sql/test/FeatureRequests/Tests/foreign_key_outer_join_dead_code_elimination-explain-1join-view.test sql/test/FeatureRequests/Tests/foreign_key_outer_join_dead_code_elimination-explain-2join-query.test sql/test/FeatureRequests/Tests/foreign_key_outer_join_dead_code_elimination-explain-2join-view.test Branch: unlock Log Message: approved output diffs (66 lines): diff --git a/sql/test/FeatureRequests/Tests/foreign_key_outer_join_dead_code_elimination-explain-1join-query.test b/sql/test/FeatureRequests/Tests/foreign_key_outer_join_dead_code_elimination-explain-1join-query.test --- a/sql/test/FeatureRequests/Tests/foreign_key_outer_join_dead_code_elimination-explain-1join-query.test +++ b/sql/test/FeatureRequests/Tests/foreign_key_outer_join_dead_code_elimination-explain-1join-query.test @@ -53,7 +53,7 @@ 1 sql.tid 2 sql.bind_idxbat -3 +2 sql.delta 1 algebra.projection @@ -93,7 +93,7 @@ 1 sql.tid 2 sql.bind_idxbat -3 +2 sql.delta 1 algebra.projection diff --git a/sql/test/FeatureRequests/Tests/foreign_key_outer_join_dead_code_elimination-explain-1join-view.test b/sql/test/FeatureRequests/Tests/foreign_key_outer_join_dead_code_elimination-explain-1join-view.test --- a/sql/test/FeatureRequests/Tests/foreign_key_outer_join_dead_code_elimination-explain-1join-view.test +++ b/sql/test/FeatureRequests/Tests/foreign_key_outer_join_dead_code_elimination-explain-1join-view.test @@ -53,7 +53,7 @@ 1 sql.tid 2 sql.bind_idxbat -3 +2 sql.delta 1 algebra.projection diff --git a/sql/test/FeatureRequests/Tests/foreign_key_outer_join_dead_code_elimination-explain-2join-query.test b/sql/test/FeatureRequests/Tests/foreign_key_outer_join_dead_code_elimination-explain-2join-query.test --- a/sql/test/FeatureRequests/Tests/foreign_key_outer_join_dead_code_elimination-explain-2join-query.test +++ b/sql/test/FeatureRequests/Tests/foreign_key_outer_join_dead_code_elimination-explain-2join-query.test @@ -53,7 +53,7 @@ 1 sql.tid 2 sql.bind_idxbat -3 +2 sql.delta 1 algebra.projection @@ -93,7 +93,7 @@ 1 sql.tid 3 sql.bind_idxbat -6 +4 sql.delta 2 algebra.projection diff --git a/sql/test/FeatureRequests/Tests/foreign_key_outer_join_dead_code_elimination-explain-2join-view.test b/sql/test/FeatureRequests/Tests/foreign_key_outer_join_dead_code_elimination-explain-2join-view.test --- a/sql/test/FeatureRequests/Tests/foreign_key_outer_join_dead_code_elimination-explain-2join-view.test +++ b/sql/test/FeatureRequests/Tests/foreign_key_outer_join_dead_code_elimination-explain-2join-view.test @@ -53,7 +53,7 @@ 1 sql.tid 3 sql.bind_idxbat -6 +4 sql.delta 2 algebra.projection ___ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list