Changeset: e8665094a787 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=e8665094a787
Added Files:
        
sql/test/BugTracker-2008/Tests/too_many_nested_operators.SF-2102167.timeout
Modified Files:
        monetdb5/extras/mal_optimizer_template/Tests/opt_sql_append.sql
        
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
        sql/backends/monet5/sql_scenario.c
        tools/mserver/mserver5.c
Branch: linear-hashing
Log Message:

Merged with Nov2019


diffs (257 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
--- a/monetdb5/extras/mal_optimizer_template/Tests/opt_sql_append.sql
+++ b/monetdb5/extras/mal_optimizer_template/Tests/opt_sql_append.sql
@@ -1,6 +1,6 @@
 set optimizer = 'sequential_pipe'; -- to get predictable errors
 
-create table ttt (a int, b int, c int);
+create table ttt 
(averylongcolumnnametomakeitlargeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
 int, b int, c int);
 select optimizer;
 select def from optimizers() where name = optimizer;
 
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/opt_sql_append.stable.err.Windows
@@ -34,18 +34,10 @@ MAPI  = monetdb@LAB03:37903
 QUERY = explain copy into ttt from '/tmp/xyz';
 ERROR = !COPY INTO: filename must have absolute path: "/tmp/xyz"
 CODE  = 42000
-MAPI  = monetdb@WIN2K12R2:34268
-QUERY = explain copy into ttt from E'\\tmp/xyz';
-ERROR = !COPY INTO: filename must have absolute path: "\\tmp/xyz"
-CODE  = 42000
 MAPI  = monetdb@LAB03:37903
 QUERY = explain copy into ttt from '/tmp/xyz';
 ERROR = !COPY INTO: filename must have absolute path: "/tmp/xyz"
 CODE  = 42000
-MAPI  = monetdb@WIN2K12R2:34268
-QUERY = explain copy into ttt from E'\\tmp/xyz';
-ERROR = !COPY INTO: filename must have absolute path: "\\tmp/xyz"
-CODE  = 42000
 
 # 22:58:58 >  
 # 22:58:58 >  "Done."
diff --git 
a/monetdb5/extras/mal_optimizer_template/Tests/opt_sql_append.stable.out 
b/monetdb5/extras/mal_optimizer_template/Tests/opt_sql_append.stable.out
--- a/monetdb5/extras/mal_optimizer_template/Tests/opt_sql_append.stable.out
+++ b/monetdb5/extras/mal_optimizer_template/Tests/opt_sql_append.stable.out
@@ -59,12 +59,12 @@ stdout of test 'opt_sql_append` in direc
 % .explain # table_name
 % mal # name
 % clob # type
-% 186 # length
+% 235 # length
 function user.s10_0():void;
     X_1:void := querylog.define("explain copy into ttt from 
\\'/tmp/xyz\\';":str, "sequential_pipe":str, 22:int);
     X_4:int := sql.mvc();
-    (X_26:bat[:int], X_27:bat[:int], X_28:bat[:int]) := 
sql.copy_from(0x2e73790:ptr, "|":str, "\n":str, nil:str, "null":str, 
"/tmp/xyz":str, -1:lng, 0:lng, 0:int, 0:int, nil:str, 0:int);
-    X_30:int := sql.append(X_4:int, "sys":str, "ttt":str, "a":str, 
X_26:bat[:int]);
+    (X_26:bat[:int], X_27:bat[:int], X_28:bat[:int]) := 
sql.copy_from(0x3698b20:ptr, "|":str, "\n":str, nil:str, "null":str, 
"/tmp/xyz":str, -1:lng, 0:lng, 0:int, 0:int, nil:str, 0:int);
+    X_30:int := sql.append(X_4:int, "sys":str, "ttt":str, 
"averylongcolumnnametomakeitlargeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee":str,
 X_26:bat[:int]);
     X_35:int := sql.append(X_30:int, "sys":str, "ttt":str, "b":str, 
X_27:bat[:int]);
     X_38:int := sql.append(X_35:int, "sys":str, "ttt":str, "c":str, 
X_28:bat[:int]);
     X_40:lng := aggr.count(X_28:bat[:int]);
@@ -118,12 +118,12 @@ end user.s10_0;
 % .explain # table_name
 % mal # name
 % clob # type
-% 186 # length
+% 235 # length
 function user.s26_0():void;
     X_1:void := querylog.define("explain copy into ttt from 
\\'/tmp/xyz\\';":str, "user_0":str, 22:int);
     X_4:int := sql.mvc();
-    (X_26:bat[:int], X_27:bat[:int], X_28:bat[:int]) := 
sql.copy_from(0x2e73790:ptr, "|":str, "\n":str, nil:str, "null":str, 
"/tmp/xyz":str, -1:lng, 0:lng, 0:int, 0:int, nil:str, 0:int);
-    X_30:int := sql.append(X_4:int, "sys":str, "ttt":str, "a":str, 
X_26:bat[:int]);
+    (X_26:bat[:int], X_27:bat[:int], X_28:bat[:int]) := 
sql.copy_from(0x3698b20:ptr, "|":str, "\n":str, nil:str, "null":str, 
"/tmp/xyz":str, -1:lng, 0:lng, 0:int, 0:int, nil:str, 0:int);
+    X_30:int := sql.append(X_4:int, "sys":str, "ttt":str, 
"averylongcolumnnametomakeitlargeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee":str,
 X_26:bat[:int]);
     X_35:int := sql.append(X_30:int, "sys":str, "ttt":str, "b":str, 
X_27:bat[:int]);
     X_40:lng := aggr.count(X_28:bat[:int]);
     X_38:int := sql.append(X_35:int, "sys":str, "ttt":str, "c":str, 
X_28:bat[:int]);
diff --git 
a/monetdb5/extras/mal_optimizer_template/Tests/opt_sql_append.stable.out.Windows
 
b/monetdb5/extras/mal_optimizer_template/Tests/opt_sql_append.stable.out.Windows
--- 
a/monetdb5/extras/mal_optimizer_template/Tests/opt_sql_append.stable.out.Windows
+++ 
b/monetdb5/extras/mal_optimizer_template/Tests/opt_sql_append.stable.out.Windows
@@ -66,21 +66,62 @@ stdout of test 'opt_sql_append` in direc
 % clob # type
 % 580 # length
 [ 
"optimizer.inline();optimizer.remap();optimizer.costModel();optimizer.coercions();optimizer.aliases();optimizer.evaluate();optimizer.emptybind();optimizer.pushselect();optimizer.aliases();optimizer.mergetable();optimizer.deadcode();optimizer.aliases();optimizer.constants();optimizer.commonTerms();optimizer.projectionpath();optimizer.deadcode();optimizer.reorder();optimizer.matpack();optimizer.querylog();optimizer.multiplex();optimizer.generator();optimizer.profiler();optimizer.candidates();optimizer.deadcode();optimizer.postfix();optimizer.wlc();optimizer.garbageCollector();"
       ]
-#explain copy into ttt from E'a:\\tmp/xyz';
+#explain copy into ttt from E'\\tmp/xyz';
 % .explain # table_name
 % mal # name
 % clob # type
-% 183 # length
+% 235 # length
 function user.s10_0():void;
-    X_1:void := querylog.define("explain copy into ttt from 
E\\'a:\\\\\\\\tmp/xyz\\';":str, "sequential_pipe":str, 22:int);
+    X_1:void := querylog.define("explain copy into ttt from 
E\\'\\\\\\\\tmp/xyz\\';":str, "sequential_pipe":str, 22:int);
     X_4:int := sql.mvc();
-    (X_26:bat[:int], X_27:bat[:int], X_28:bat[:int]) := 
sql.copy_from(0x2e73790:ptr, "|":str, "\n":str, nil:str, "null":str, 
"a:\\tmp/xyz":str, -1:lng, 0:lng, 0:int, 0:int, nil:str, 0:int);
-    X_30:int := sql.append(X_4:int, "sys":str, "ttt":str, "a":str, 
X_26:bat[:int]);
+    (X_26:bat[:int], X_27:bat[:int], X_28:bat[:int]) := 
sql.copy_from(0x3698b20:ptr, "|":str, "\n":str, nil:str, "null":str, 
"\\tmp/xyz":str, -1:lng, 0:lng, 0:int, 0:int, nil:str, 0:int);
+    X_30:int := sql.append(X_4:int, "sys":str, "ttt":str, 
"averylongcolumnnametomakeitlargeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee":str,
 X_26:bat[:int]);
     X_35:int := sql.append(X_30:int, "sys":str, "ttt":str, "b":str, 
X_27:bat[:int]);
     X_38:int := sql.append(X_35:int, "sys":str, "ttt":str, "c":str, 
X_28:bat[:int]);
     X_40:lng := aggr.count(X_28:bat[:int]);
     sql.affectedRows(X_38:int, X_40:lng);
 end user.s10_0;
+#inline               actions= 0 time=0 usec 
+#remap                actions= 0 time=0 usec 
+#costmodel            actions= 1 time=0 usec 
+#coercion             actions=12 time=0 usec 
+#aliases              actions=12 time=0 usec 
+#evaluate             actions= 0 time=0 usec 
+#emptybind            actions= 0 time=0 usec 
+#pushselect           actions= 0 time=0 usec 
+#aliases              actions= 0 time=0 usec 
+#mergetable           actions= 0 time=0 usec 
+#deadcode             actions= 0 time=0 usec 
+#aliases              actions= 0 time=0 usec 
+#constants            actions= 0 time=0 usec 
+#commonTerms          actions= 0 time=0 usec 
+#projectionpath       actions= 0 time=0 usec 
+#deadcode             actions= 0 time=0 usec 
+#reorder              actions= 1 time=0 usec 
+#matpack              actions= 0 time=0 usec 
+#multiplex            actions= 0 time=0 usec 
+#profiler             actions= 1 time=0 usec 
+#candidates           actions= 1 time=0 usec 
+#deadcode             actions= 0 time=0 usec 
+#postfix              actions= 0 time=0 usec 
+#wlc                  actions= 0 time=0 usec 
+#garbagecollector     actions= 1 time=0 usec 
+#total                actions=27 time=0 usec 
+#explain copy into ttt from E'a:\\tmp/xyz';
+% .explain # table_name
+% mal # name
+% clob # type
+% 235 # length
+function user.s12_0():void;
+    X_1:void := querylog.define("explain copy into ttt from 
E\\'a:\\\\\\\\tmp/xyz\\';":str, "sequential_pipe":str, 22:int);
+    X_4:int := sql.mvc();
+    (X_26:bat[:int], X_27:bat[:int], X_28:bat[:int]) := 
sql.copy_from(0x3698b20:ptr, "|":str, "\n":str, nil:str, "null":str, 
"a:\\tmp/xyz":str, -1:lng, 0:lng, 0:int, 0:int, nil:str, 0:int);
+    X_30:int := sql.append(X_4:int, "sys":str, "ttt":str, 
"averylongcolumnnametomakeitlargeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee":str,
 X_26:bat[:int]);
+    X_35:int := sql.append(X_30:int, "sys":str, "ttt":str, "b":str, 
X_27:bat[:int]);
+    X_38:int := sql.append(X_35:int, "sys":str, "ttt":str, "c":str, 
X_28:bat[:int]);
+    X_40:lng := aggr.count(X_28:bat[:int]);
+    sql.affectedRows(X_38:int, X_40:lng);
+end user.s12_0;
 #inline               actions= 0 time=1 usec 
 #remap                actions= 0 time=2 usec 
 #costmodel            actions= 1 time=1 usec 
@@ -121,21 +162,63 @@ end user.s10_0;
 % clob # type
 % 603 # length
 [ 
"optimizer.inline();optimizer.remap();optimizer.costModel();optimizer.coercions();optimizer.aliases();optimizer.evaluate();optimizer.emptybind();optimizer.pushselect();optimizer.aliases();optimizer.mergetable();optimizer.deadcode();optimizer.aliases();optimizer.constants();optimizer.commonTerms();optimizer.projectionpath();optimizer.deadcode();optimizer.reorder();optimizer.matpack();optimizer.querylog();optimizer.multiplex();optimizer.generator();optimizer.profiler();optimizer.candidates();optimizer.deadcode();optimizer.postfix();optimizer.wlc();optimizer.sql_append();optimizer.garbageCollector();"
        ]
+#explain copy into ttt from E'\\tmp/xyz';
+% .explain # table_name
+% mal # name
+% clob # type
+% 235 # length
+function user.s28_0():void;
+    X_1:void := querylog.define("explain copy into ttt from 
E\\'\\\\\\\\tmp/xyz\\';":str, "user_0":str, 22:int);
+    X_4:int := sql.mvc();
+    (X_26:bat[:int], X_27:bat[:int], X_28:bat[:int]) := 
sql.copy_from(0x3698b20:ptr, "|":str, "\n":str, nil:str, "null":str, 
"\\tmp/xyz":str, -1:lng, 0:lng, 0:int, 0:int, nil:str, 0:int);
+    X_30:int := sql.append(X_4:int, "sys":str, "ttt":str, 
"averylongcolumnnametomakeitlargeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee":str,
 X_26:bat[:int]);
+    X_35:int := sql.append(X_30:int, "sys":str, "ttt":str, "b":str, 
X_27:bat[:int]);
+    X_40:lng := aggr.count(X_28:bat[:int]);
+    X_38:int := sql.append(X_35:int, "sys":str, "ttt":str, "c":str, 
X_28:bat[:int]);
+    sql.affectedRows(X_38:int, X_40:lng);
+end user.s28_0;
+#inline               actions= 0 time=0 usec 
+#remap                actions= 0 time=0 usec 
+#costmodel            actions= 1 time=0 usec 
+#coercion             actions=12 time=0 usec 
+#aliases              actions=12 time=0 usec 
+#evaluate             actions= 0 time=0 usec 
+#emptybind            actions= 0 time=0 usec 
+#pushselect           actions= 0 time=0 usec 
+#aliases              actions= 0 time=0 usec 
+#mergetable           actions= 0 time=0 usec 
+#deadcode             actions= 0 time=0 usec 
+#aliases              actions= 0 time=0 usec 
+#constants            actions= 0 time=0 usec 
+#commonTerms          actions= 0 time=0 usec 
+#projectionpath       actions= 0 time=0 usec 
+#deadcode             actions= 0 time=0 usec 
+#reorder              actions= 1 time=0 usec 
+#matpack              actions= 0 time=0 usec 
+#multiplex            actions= 0 time=0 usec 
+#profiler             actions= 1 time=0 usec 
+#candidates           actions= 1 time=0 usec 
+#deadcode             actions= 0 time=0 usec 
+#postfix              actions= 0 time=0 usec 
+#wlc                  actions= 0 time=0 usec 
+#optimizer.sql_append actions= 1 time=0 usec 
+#garbagecollector     actions= 1 time=0 usec 
+#total                actions=28 time=0 usec 
 #explain copy into ttt from 'Z:/tmp/xyz';
 % .explain # table_name
 % mal # name
 % clob # type
-% 182 # length
-function user.s26_0():void;
+% 235 # length
+function user.s30_0():void;
     X_1:void := querylog.define("explain copy into ttt from 
\\'Z:/tmp/xyz\\';":str, "user_0":str, 22:int);
     X_4:int := sql.mvc();
-    (X_26:bat[:int], X_27:bat[:int], X_28:bat[:int]) := 
sql.copy_from(0x2e73790:ptr,, "|":str, "\n":str, nil:str, "null":str, 
"Z:/tmp/xyz":str, -1:lng, 0:lng, 0:int, 0:int, nil:str, 0:int);
-    X_30:int := sql.append(X_4:int, "sys":str, "ttt":str, "a":str, 
X_26:bat[:int]);
+    (X_26:bat[:int], X_27:bat[:int], X_28:bat[:int]) := 
sql.copy_from(0x2e73790:ptr, "|":str, "\n":str, nil:str, "null":str, 
"Z:/tmp/xyz":str, -1:lng, 0:lng, 0:int, 0:int, nil:str, 0:int);
+    X_30:int := sql.append(X_4:int, "sys":str, "ttt":str, 
"averylongcolumnnametomakeitlargeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee":str,
 X_26:bat[:int]);
     X_35:int := sql.append(X_30:int, "sys":str, "ttt":str, "b":str, 
X_27:bat[:int]);
     X_40:lng := aggr.count(X_28:bat[:int]);
     X_38:int := sql.append(X_35:int, "sys":str, "ttt":str, "c":str, 
X_28:bat[:int]);
     sql.affectedRows(X_38:int, X_40:lng);
-end user.s26_0;
+end user.s30_0;
 #inline               actions= 0 time=0 usec 
 #remap                actions= 0 time=2 usec 
 #costmodel            actions= 1 time=1 usec 
diff --git a/sql/backends/monet5/sql_scenario.c 
b/sql/backends/monet5/sql_scenario.c
--- a/sql/backends/monet5/sql_scenario.c
+++ b/sql/backends/monet5/sql_scenario.c
@@ -1032,6 +1032,7 @@ SQLparser(Client c)
        be->vtop = oldvtop;
        m = be->mvc;
        m->type = Q_PARSE;
+       m->Topt = 0;
        /* clean up old stuff */
        q = m->query;
        m->query = NULL;
diff --git 
a/sql/test/BugTracker-2008/Tests/too_many_nested_operators.SF-2102167.timeout 
b/sql/test/BugTracker-2008/Tests/too_many_nested_operators.SF-2102167.timeout
new file mode 100644
--- /dev/null
+++ 
b/sql/test/BugTracker-2008/Tests/too_many_nested_operators.SF-2102167.timeout
@@ -0,0 +1,1 @@
+2
diff --git a/tools/mserver/mserver5.c b/tools/mserver/mserver5.c
--- a/tools/mserver/mserver5.c
+++ b/tools/mserver/mserver5.c
@@ -154,16 +154,24 @@ monet_hello(void)
                sz_mem_h /= 1024.0;
                qi++;
        }
-       printf("# Found %.3f %ciB available main-memory",
-                       sz_mem_h, qc[qi]);
+       printf("# Found %.3f %ciB available main-memory", sz_mem_h, qc[qi]);
        sz_mem_h = (double) GDK_mem_maxsize;
        qi = 0;
        while (sz_mem_h >= 1000.0 && qi < 6) {
                sz_mem_h /= 1024.0;
                qi++;
        }
-       printf(" of which we use %.3f %ciB\n",
-                       sz_mem_h, qc[qi]);
+       printf(" of which we use %.3f %ciB\n", sz_mem_h, qc[qi]);
+       if (GDK_vm_maxsize < GDK_VM_MAXSIZE) {
+               sz_mem_h = (double) GDK_vm_maxsize;
+               qi = 0;
+               while (sz_mem_h >= 1000.0 && qi < 6) {
+                       sz_mem_h /= 1024.0;
+                       qi++;
+               }
+               printf("# Virtual memory usage limited to %.3f %ciB\n",
+                      sz_mem_h, qc[qi]);
+       }
 #ifdef MONET_GLOBAL_DEBUG
        printf("# Database path:%s\n", GDKgetenv("gdk_dbpath"));
        printf("# Module path:%s\n", GDKgetenv("monet_mod_path"));
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to