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