MonetDB: default - More clean up

2020-12-15 Thread Ying Zhang
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"

2020-12-15 Thread Ying Zhang
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

2020-12-15 Thread Ying Zhang
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

2020-12-15 Thread Ying Zhang
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

2020-12-15 Thread Ying Zhang
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...

2020-12-15 Thread Ying Zhang
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 ...

2020-12-15 Thread Ying Zhang
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

2020-12-15 Thread Ying Zhang
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...

2020-12-15 Thread Pedro Ferreira
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

2020-12-15 Thread Pedro Ferreira
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...

2020-12-15 Thread Sjoerd Mullender
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

2020-12-15 Thread svetlin
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...

2020-12-15 Thread Pedro Ferreira
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.

2020-12-15 Thread Sjoerd Mullender
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 ...

2020-12-15 Thread svetlin
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

2020-12-15 Thread Ying Zhang
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...

2020-12-15 Thread Pedro Ferreira
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...

2020-12-15 Thread Pedro Ferreira
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

2020-12-15 Thread Niels Nes
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

2020-12-15 Thread Niels Nes
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

2020-12-15 Thread Pedro Ferreira
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.

2020-12-15 Thread Sjoerd Mullender
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.

2020-12-15 Thread Sjoerd Mullender
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 ...

2020-12-15 Thread Sjoerd Mullender
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 ...

2020-12-15 Thread Sjoerd Mullender
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

2020-12-15 Thread Niels Nes
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

2020-12-15 Thread Pedro Ferreira
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...

2020-12-15 Thread Pedro Ferreira
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...

2020-12-15 Thread Pedro Ferreira
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...

2020-12-15 Thread Niels Nes
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...

2020-12-15 Thread Niels Nes
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

2020-12-15 Thread Pedro Ferreira
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

2020-12-15 Thread svetlin
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...

2020-12-15 Thread Pedro Ferreira
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

2020-12-15 Thread Pedro Ferreira
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

2020-12-15 Thread svetlin
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

2020-12-15 Thread Niels Nes
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

2020-12-15 Thread Niels Nes
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

2020-12-15 Thread svetlin
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

2020-12-15 Thread svetlin
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

2020-12-15 Thread Pedro Ferreira
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

2020-12-15 Thread svetlin
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

2020-12-15 Thread svetlin
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

2020-12-15 Thread svetlin
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.

2020-12-15 Thread Sjoerd Mullender
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

2020-12-15 Thread Niels Nes
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

2020-12-15 Thread Pedro Ferreira
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.

2020-12-15 Thread Sjoerd Mullender
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

2020-12-15 Thread Pedro Ferreira
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

2020-12-15 Thread Pedro Ferreira
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...

2020-12-15 Thread Pedro Ferreira
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

2020-12-15 Thread Niels Nes
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

2020-12-15 Thread Niels Nes
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