Changeset: 043642d1d5ba for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=043642d1d5ba
Added Files:
        sql/jdbc/tests/Tests/Bug_IsValid_Timeout_Bug_6782.SQL.bat
        sql/jdbc/tests/Tests/Bug_IsValid_Timeout_Bug_6782.SQL.sh
        sql/jdbc/tests/Tests/Bug_IsValid_Timeout_Bug_6782.stable.err
        sql/jdbc/tests/Tests/Bug_IsValid_Timeout_Bug_6782.stable.out
Modified Files:
        clients/mapiclient/tomograph.c
        gdk/gdk.h
        monetdb5/mal/mal_profiler.c
        monetdb5/modules/mal/clients.c
        sql/backends/monet5/UDF/pyapi/pyapi.c
        sql/jdbc/tests/Tests/All
        sql/test/BugTracker-2019/Tests/double-free.Bug-6757.sql
        sql/test/emptydb-upgrade-chain-hge/Tests/upgrade.stable.out.int128
        
sql/test/emptydb-upgrade-chain-hge/Tests/upgrade.stable.out.powerpc64.int128
        sql/test/emptydb-upgrade-chain/Tests/upgrade.stable.out
        sql/test/emptydb-upgrade-chain/Tests/upgrade.stable.out.32bit
        sql/test/emptydb-upgrade-chain/Tests/upgrade.stable.out.int128
        sql/test/emptydb-upgrade-chain/Tests/upgrade.stable.out.powerpc64
        sql/test/emptydb-upgrade-chain/Tests/upgrade.stable.out.powerpc64.int128
        sql/test/emptydb-upgrade-hge/Tests/upgrade.stable.out.int128
        sql/test/emptydb-upgrade/Tests/upgrade.stable.out
        sql/test/emptydb-upgrade/Tests/upgrade.stable.out.32bit
        sql/test/emptydb-upgrade/Tests/upgrade.stable.out.int128
        sql/test/testdb-upgrade-chain-hge/Tests/upgrade.stable.out.int128
        sql/test/testdb-upgrade-chain/Tests/upgrade.stable.out
        sql/test/testdb-upgrade-chain/Tests/upgrade.stable.out.32bit
        sql/test/testdb-upgrade-chain/Tests/upgrade.stable.out.int128
        sql/test/testdb-upgrade-hge/Tests/upgrade.stable.out.int128
        sql/test/testdb-upgrade/Tests/upgrade.stable.out
        sql/test/testdb-upgrade/Tests/upgrade.stable.out.32bit
        sql/test/testdb-upgrade/Tests/upgrade.stable.out.int128
        tools/merovingian/daemon/controlrunner.c
        tools/merovingian/utils/control.c
Branch: default
Log Message:

Merge with Nov2019 branch.


diffs (truncated from 706 to 300 lines):

diff --git a/clients/mapiclient/tomograph.c b/clients/mapiclient/tomograph.c
--- a/clients/mapiclient/tomograph.c
+++ b/clients/mapiclient/tomograph.c
@@ -1688,7 +1688,7 @@ main(int argc, char **argv)
                                break;
                        if( *optarg == '=')
                                optarg++;
-                       cnt = sscanf(optarg,"%"PRId64"-%"PRId64, 
&startrange,&endrange);
+                       cnt = sscanf(optarg,"%"SCNd64"-%"SCNd64, 
&startrange,&endrange);
                        if( cnt != 2)
                                usageTomograph();
                                
diff --git a/gdk/gdk.h b/gdk/gdk.h
--- a/gdk/gdk.h
+++ b/gdk/gdk.h
@@ -509,6 +509,8 @@ typedef char *str;
 #define LL_CONSTANT(val)       INT64_C(val)
 #define LLFMT                  "%" PRId64
 #define ULLFMT                 "%" PRIu64
+#define LLSCN                  "%" SCNd64
+#define ULLSCN                 "%" SCNu64
 
 typedef oid var_t;             /* type used for heap index of var-sized BAT */
 #define SIZEOF_VAR_T   SIZEOF_OID
diff --git a/monetdb5/mal/mal_profiler.c b/monetdb5/mal/mal_profiler.c
--- a/monetdb5/mal/mal_profiler.c
+++ b/monetdb5/mal/mal_profiler.c
@@ -445,7 +445,7 @@ getCPULoad(char cpuload[BUFSIZ]){
                                break;
 
                        while( *s && isspace((unsigned char)*s)) s++;
-                       i= sscanf(s,LLFMT" "LLFMT" "LLFMT" "LLFMT" "LLFMT,  
&user, &nice, &system, &idle, &iowait);
+                       i= sscanf(s,LLSCN" "LLSCN" "LLSCN" "LLSCN" "LLSCN,  
&user, &nice, &system, &idle, &iowait);
                        if ( i != 5 )
                                goto skip;
                        newload = (user - corestat[cpu].user + nice - 
corestat[cpu].nice + system - corestat[cpu].system);
diff --git a/monetdb5/modules/mal/clients.c b/monetdb5/modules/mal/clients.c
--- a/monetdb5/modules/mal/clients.c
+++ b/monetdb5/modules/mal/clients.c
@@ -481,6 +481,9 @@ CLTsetPrintTimeout(void *ret, int *secs)
 str CLTmd5sum(str *ret, str *pw) {
 #ifdef HAVE_MD5_UPDATE
        char *mret = mcrypt_MD5Sum(*pw, strlen(*pw));
+
+       if (!mret)
+               throw(MAL, "clients.md5sum", SQLSTATE(HY001) MAL_MALLOC_FAIL);
        *ret = GDKstrdup(mret);
        free(mret);
        if(*ret == NULL)
@@ -496,6 +499,9 @@ str CLTmd5sum(str *ret, str *pw) {
 str CLTsha1sum(str *ret, str *pw) {
 #ifdef HAVE_SHA1_UPDATE
        char *mret = mcrypt_SHA1Sum(*pw, strlen(*pw));
+
+       if (!mret)
+               throw(MAL, "clients.sha1sum", SQLSTATE(HY001) MAL_MALLOC_FAIL);
        *ret = GDKstrdup(mret);
        free(mret);
        if(*ret == NULL)
@@ -511,6 +517,9 @@ str CLTsha1sum(str *ret, str *pw) {
 str CLTripemd160sum(str *ret, str *pw) {
 #ifdef HAVE_RIPEMD160_UPDATE
        char *mret = mcrypt_RIPEMD160Sum(*pw, strlen(*pw));
+
+       if (!mret)
+               throw(MAL, "clients.ripemd160sum", SQLSTATE(HY001) 
MAL_MALLOC_FAIL);
        *ret = GDKstrdup(mret);
        free(mret);
        if(*ret == NULL)
@@ -550,6 +559,9 @@ str CLTsha2sum(str *ret, str *pw, int *b
                        throw(ILLARG, "clients.sha2sum", "wrong number of bits "
                                        "for SHA2 sum: %d", *bits);
        }
+
+       if (!mret)
+               throw(MAL, "clients.sha2sum", SQLSTATE(HY001) MAL_MALLOC_FAIL);
        *ret = GDKstrdup(mret);
        free(mret);
        if(*ret == NULL)
@@ -641,7 +653,8 @@ str CLTcheckPermission(Client cntxt, Mal
 
        (void)mb;
 
-       pwd = mcrypt_SHA1Sum(*pw, strlen(*pw));
+       if (!(pwd = mcrypt_SHA1Sum(*pw, strlen(*pw))))
+               throw(MAL, "clients.checkPermission", SQLSTATE(HY001) 
MAL_MALLOC_FAIL);
        msg = AUTHcheckCredentials(&id, cntxt, *usr, pwd, ch, algo);
        free(pwd);
        return msg;
diff --git a/sql/backends/monet5/UDF/pyapi/pyapi.c 
b/sql/backends/monet5/UDF/pyapi/pyapi.c
--- a/sql/backends/monet5/UDF/pyapi/pyapi.c
+++ b/sql/backends/monet5/UDF/pyapi/pyapi.c
@@ -1403,7 +1403,7 @@ char *PyError_CreateException(char *erro
                                // no traceback info, this means we are dealing 
with a parsing
                                // error
                                // line information should be in the error 
message
-                               sscanf(py_error_string, "%*[^0-9]" LLFMT, 
&line_number);
+                               sscanf(py_error_string, "%*[^0-9]" LLSCN, 
&line_number);
                                if (line_number < 0)
                                        goto finally;
                        } else {
diff --git a/sql/jdbc/tests/Tests/All b/sql/jdbc/tests/Tests/All
--- a/sql/jdbc/tests/Tests/All
+++ b/sql/jdbc/tests/Tests/All
@@ -43,3 +43,4 @@ HAVE_JDBCTESTS?Bug_PrepStmtSetObject_CLO
 HAVE_JDBCTESTS?Bug_Connect_as_voc_getMetaData_Failure_Bug_6388
 HAVE_JDBCTESTS?Bug_PrepStmtSetString_6382
 HAVE_JDBCTESTS?Bug_LargeQueries_6571_6693
+HAVE_JDBCTESTS?Bug_IsValid_Timeout_Bug_6782
diff --git a/sql/jdbc/tests/Tests/Bug_IsValid_Timeout_Bug_6782.SQL.bat 
b/sql/jdbc/tests/Tests/Bug_IsValid_Timeout_Bug_6782.SQL.bat
new file mode 100755
--- /dev/null
+++ b/sql/jdbc/tests/Tests/Bug_IsValid_Timeout_Bug_6782.SQL.bat
@@ -0,0 +1,1 @@
+@call "%TSTSRCDIR%\Test.SQL.bat" %*
diff --git a/sql/jdbc/tests/Tests/Bug_IsValid_Timeout_Bug_6782.SQL.sh 
b/sql/jdbc/tests/Tests/Bug_IsValid_Timeout_Bug_6782.SQL.sh
new file mode 100755
--- /dev/null
+++ b/sql/jdbc/tests/Tests/Bug_IsValid_Timeout_Bug_6782.SQL.sh
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+$TSTSRCDIR/Test.SQL.sh $*
diff --git a/sql/jdbc/tests/Tests/Bug_IsValid_Timeout_Bug_6782.stable.err 
b/sql/jdbc/tests/Tests/Bug_IsValid_Timeout_Bug_6782.stable.err
new file mode 100644
--- /dev/null
+++ b/sql/jdbc/tests/Tests/Bug_IsValid_Timeout_Bug_6782.stable.err
@@ -0,0 +1,35 @@
+stderr of test 'Bug_IsValid_Timeout_Bug_6782` in directory 'sql/jdbc/tests` 
itself:
+
+
+# 14:40:20 >  
+# 14:40:20 >  "mserver5" "--debug=10" "--set" "gdk_nr_threads=0" "--set" 
"mapi_open=true" "--set" "mapi_port=32022" "--set" 
"mapi_usock=/var/tmp/mtest-214681/.s.monetdb.32022" "--forcemito" 
"--dbpath=/home/ferreira/repositories/MonetDB-Nov2019/BUILD/var/MonetDB/mTests_sql_jdbc_tests"
 "--set" "embedded_c=true"
+# 14:40:20 >  
+
+# builtin opt  gdk_dbpath = 
/home/ferreira/repositories/MonetDB-Nov2019/BUILD/var/monetdb5/dbfarm/demo
+# builtin opt  mapi_port = 50000
+# builtin opt  mapi_open = false
+# builtin opt  mapi_ipv6 = 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 = 32022
+# cmdline opt  mapi_usock = /var/tmp/mtest-214681/.s.monetdb.32022
+# cmdline opt  gdk_dbpath = 
/home/ferreira/repositories/MonetDB-Nov2019/BUILD/var/MonetDB/mTests_sql_jdbc_tests
+# cmdline opt  embedded_c = true
+
+# 14:40:20 >  
+# 14:40:20 >  "./Bug_IsValid_Timeout_Bug_6782.SQL.sh" 
"Bug_IsValid_Timeout_Bug_6782"
+# 14:40:20 >  
+
+
+# 14:40:20 >  
+# 14:40:20 >  java Bug_IsValid_Timeout_Bug_6782 
"jdbc:monetdb://localhost:32022/mTests_sql_jdbc_tests?user=monetdb&password=monetdb"
+# 14:40:20 >  
+
+
+# 14:40:21 >  
+# 14:40:21 >  "Done."
+# 14:40:21 >  
+
diff --git a/sql/jdbc/tests/Tests/Bug_IsValid_Timeout_Bug_6782.stable.out 
b/sql/jdbc/tests/Tests/Bug_IsValid_Timeout_Bug_6782.stable.out
new file mode 100644
--- /dev/null
+++ b/sql/jdbc/tests/Tests/Bug_IsValid_Timeout_Bug_6782.stable.out
@@ -0,0 +1,78 @@
+stdout of test 'Bug_IsValid_Timeout_Bug_6782` in directory 'sql/jdbc/tests` 
itself:
+
+
+# 14:40:20 >  
+# 14:40:20 >  "mserver5" "--debug=10" "--set" "gdk_nr_threads=0" "--set" 
"mapi_open=true" "--set" "mapi_port=32022" "--set" 
"mapi_usock=/var/tmp/mtest-214681/.s.monetdb.32022" "--forcemito" 
"--dbpath=/home/ferreira/repositories/MonetDB-Nov2019/BUILD/var/MonetDB/mTests_sql_jdbc_tests"
 "--set" "embedded_c=true"
+# 14:40:20 >  
+
+# MonetDB 5 server v11.35.0 (hg id: fa18e9dd4cf2+)
+# This is an unreleased version
+# Serving database 'mTests_sql_jdbc_tests', using 8 threads
+# Compiled for x86_64-pc-linux-gnu/64bit with 128bit integers
+# Found 15.504 GiB available main-memory.
+# Copyright (c) 1993 - July 2008 CWI.
+# Copyright (c) August 2008 - 2019 MonetDB B.V., all rights reserved
+# Visit https://www.monetdb.org/ for further information
+# Listening for connection requests on 
mapi:monetdb://localhost.localdomain:32022/
+# Listening for UNIX domain connection requests on 
mapi:monetdb:///var/tmp/mtest-214681/.s.monetdb.32022
+# MonetDB/GIS module loaded
+# SQL catalog created, loading sql scripts once
+# loading sql script: 09_like.sql
+# loading sql script: 10_math.sql
+# loading sql script: 12_url.sql
+# loading sql script: 13_date.sql
+# loading sql script: 14_inet.sql
+# loading sql script: 15_querylog.sql
+# loading sql script: 16_tracelog.sql
+# loading sql script: 17_temporal.sql
+# loading sql script: 18_index.sql
+# loading sql script: 20_vacuum.sql
+# loading sql script: 21_dependency_views.sql
+# loading sql script: 22_clients.sql
+# loading sql script: 23_skyserver.sql
+# loading sql script: 25_debug.sql
+# loading sql script: 26_sysmon.sql
+# loading sql script: 27_rejects.sql
+# loading sql script: 39_analytics.sql
+# loading sql script: 39_analytics_hge.sql
+# loading sql script: 40_geom.sql
+# loading sql script: 40_json.sql
+# loading sql script: 40_json_hge.sql
+# loading sql script: 41_md5sum.sql
+# loading sql script: 45_uuid.sql
+# loading sql script: 46_profiler.sql
+# loading sql script: 51_sys_schema_extension.sql
+# loading sql script: 60_wlcr.sql
+# loading sql script: 61_wlcr.sql
+# loading sql script: 72_fits.sql
+# loading sql script: 74_netcdf.sql
+# loading sql script: 75_lidar.sql
+# loading sql script: 75_shp.sql
+# loading sql script: 75_storagemodel.sql
+# loading sql script: 80_statistics.sql
+# loading sql script: 80_udf.sql
+# loading sql script: 80_udf_hge.sql
+# loading sql script: 85_bam.sql
+# loading sql script: 90_generator.sql
+# loading sql script: 90_generator_hge.sql
+# loading sql script: 99_system.sql
+# MonetDB/SQL module loaded
+
+# 14:40:20 >  
+# 14:40:20 >  "./Bug_IsValid_Timeout_Bug_6782.SQL.sh" 
"Bug_IsValid_Timeout_Bug_6782"
+# 14:40:20 >  
+
+
+# 14:40:20 >  
+# 14:40:20 >  java Bug_IsValid_Timeout_Bug_6782 
"jdbc:monetdb://localhost:32022/mTests_sql_jdbc_tests?user=monetdb&password=monetdb"
+# 14:40:20 >  
+
+getQueryTimeout must give 5: 5
+getQueryTimeout must give 0: 0
+getQueryTimeout must give 0: 0
+getQueryTimeout must give 5: 5
+
+# 14:40:21 >  
+# 14:40:21 >  "Done."
+# 14:40:21 >  
+
diff --git a/sql/test/BugTracker-2019/Tests/double-free.Bug-6757.sql 
b/sql/test/BugTracker-2019/Tests/double-free.Bug-6757.sql
--- a/sql/test/BugTracker-2019/Tests/double-free.Bug-6757.sql
+++ b/sql/test/BugTracker-2019/Tests/double-free.Bug-6757.sql
@@ -974,3 +974,4 @@ q0_x103 AS (SELECT a1, sum(prob) AS prob
 q0_x113 AS (SELECT a1, prob FROM (SELECT q0_x111.a1 AS a1, q0_x111.prob * 
t__x154.prob AS prob FROM q0_x111,(SELECT prob FROM (SELECT CASE WHEN prob > 
CAST(0 AS DOUBLE) THEN CAST(1 AS DOUBLE) ELSE CAST(0 AS DOUBLE) END AS prob 
FROM q0_x112) AS t__x153 WHERE prob > 0.0) AS t__x154 UNION ALL SELECT 
q0_x103.a1 AS a1, q0_x103.prob * t__x157.prob AS prob FROM q0_x103,(SELECT prob 
FROM (SELECT CASE WHEN prob > CAST(0 AS DOUBLE) THEN CAST(0 AS DOUBLE) ELSE 
CAST(1 AS DOUBLE) END AS prob FROM q0_x112) AS t__x156 WHERE prob > 0.0) AS 
t__x157) AS t__x158),
 q0_x114 AS (SELECT a1, prob FROM (SELECT q0_x113.a1 AS a1, _cachedrel_77.a1 AS 
a2, q0_x113.prob * _cachedrel_77.prob AS prob FROM q0_x113,_cachedrel_77 WHERE 
q0_x113.a1 = _cachedrel_77.a1) AS t__x160) SELECT a1, prob FROM (SELECT 
q0_x16.a1 AS a1, q0_x16.prob * t__x2.prob AS prob FROM q0_x16,(SELECT prob FROM 
(SELECT CASE WHEN prob > CAST(0 AS DOUBLE) THEN CAST(1 AS DOUBLE) ELSE CAST(0 
AS DOUBLE) END AS prob FROM q0_x115) AS t__x1 WHERE prob > 0.0) AS t__x2 UNION 
ALL SELECT q0_x114.a1 AS a1, q0_x114.prob * t__x5.prob AS prob FROM 
q0_x114,(SELECT prob FROM (SELECT CASE WHEN prob > CAST(0 AS DOUBLE) THEN 
CAST(0 AS DOUBLE) ELSE CAST(1 AS DOUBLE) END AS prob FROM q0_x115) AS t__x4 
WHERE prob > 0.0) AS t__x5) AS t__x6;
 
+rollback;
diff --git a/sql/test/emptydb-upgrade-chain-hge/Tests/upgrade.stable.out.int128 
b/sql/test/emptydb-upgrade-chain-hge/Tests/upgrade.stable.out.int128
--- a/sql/test/emptydb-upgrade-chain-hge/Tests/upgrade.stable.out.int128
+++ b/sql/test/emptydb-upgrade-chain-hge/Tests/upgrade.stable.out.int128
@@ -5736,7 +5736,7 @@ insert into sys.args values (29455, 1500
 insert into sys.args values (29456, 1500, 'arg_5', 'int', 32, 0, 1, 5);
 insert into sys.functions values (1501, 'copyfrom', 'copy_from', 'sql', 0, 5, 
false, true, false, 2000, true);
 insert into sys.args values (29457, 1501, 'res_0', 'table', 0, 0, 0, 0);
-insert into sys.args values (29458, 1501, 'arg_1', 'varchar', 0, 0, 1, 1);
+insert into sys.args values (29458, 1501, 'arg_1', 'ptr', 0, 0, 1, 1);
 insert into sys.args values (29459, 1501, 'arg_2', 'varchar', 0, 0, 1, 2);
 insert into sys.args values (29460, 1501, 'arg_3', 'varchar', 0, 0, 1, 3);
 insert into sys.args values (29461, 1501, 'arg_4', 'varchar', 0, 0, 1, 4);
@@ -6010,6 +6010,9 @@ update sys.functions set system = true w
 update sys.functions set system = true where schema_id = (select id from 
sys.schemas where name = 'wlc') and name in ('master', 'stop', 'flush', 'beat') 
and type = 2;
 update sys.functions set system = true where schema_id = (select id from 
sys.schemas where name = 'wlr') and name in ('clock', 'tick') and type = 1;
 update sys.functions set system = true where schema_id = (select id from 
sys.schemas where name = 'wlr') and name in ('master', 'stop', 'accept', 
'replicate', 'beat') and type = 2;
+drop function json.text(string);
+drop function json.text(int);
+update "sys"."args" set "type" = 'ptr' where "func_id" = (select "id" from 
"sys"."functions" where "name" = 'copyfrom' and "func" = 'copy_from' and "mod" 
= 'sql') and "name" = 'arg_1';
 set schema "sys";
 
 Running database upgrade commands:
diff --git 
a/sql/test/emptydb-upgrade-chain-hge/Tests/upgrade.stable.out.powerpc64.int128 
b/sql/test/emptydb-upgrade-chain-hge/Tests/upgrade.stable.out.powerpc64.int128
--- 
a/sql/test/emptydb-upgrade-chain-hge/Tests/upgrade.stable.out.powerpc64.int128
+++ 
b/sql/test/emptydb-upgrade-chain-hge/Tests/upgrade.stable.out.powerpc64.int128
@@ -5736,7 +5736,7 @@ insert into sys.args values (29450, 1500
 insert into sys.args values (29451, 1500, 'arg_5', 'int', 32, 0, 1, 5);
 insert into sys.functions values (1501, 'copyfrom', 'copy_from', 'sql', 0, 5, 
false, true, false, 2000, true);
 insert into sys.args values (29452, 1501, 'res_0', 'table', 0, 0, 0, 0);
-insert into sys.args values (29453, 1501, 'arg_1', 'varchar', 0, 0, 1, 1);
+insert into sys.args values (29453, 1501, 'arg_1', 'ptr', 0, 0, 1, 1);
 insert into sys.args values (29454, 1501, 'arg_2', 'varchar', 0, 0, 1, 2);
 insert into sys.args values (29455, 1501, 'arg_3', 'varchar', 0, 0, 1, 3);
 insert into sys.args values (29456, 1501, 'arg_4', 'varchar', 0, 0, 1, 4);
@@ -6010,6 +6010,9 @@ update sys.functions set system = true w
 update sys.functions set system = true where schema_id = (select id from 
sys.schemas where name = 'wlc') and name in ('master', 'stop', 'flush', 'beat') 
and type = 2;
 update sys.functions set system = true where schema_id = (select id from 
sys.schemas where name = 'wlr') and name in ('clock', 'tick') and type = 1;
 update sys.functions set system = true where schema_id = (select id from 
sys.schemas where name = 'wlr') and name in ('master', 'stop', 'accept', 
'replicate', 'beat') and type = 2;
+drop function json.text(string);
+drop function json.text(int);
+update "sys"."args" set "type" = 'ptr' where "func_id" = (select "id" from 
"sys"."functions" where "name" = 'copyfrom' and "func" = 'copy_from' and "mod" 
= 'sql') and "name" = 'arg_1';
 set schema "sys";
 
 Running database upgrade commands:
diff --git a/sql/test/emptydb-upgrade-chain/Tests/upgrade.stable.out 
b/sql/test/emptydb-upgrade-chain/Tests/upgrade.stable.out
--- a/sql/test/emptydb-upgrade-chain/Tests/upgrade.stable.out
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to