Changeset: 487cb3d637ff for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=487cb3d637ff
Modified Files:
monetdb5/extras/mal_optimizer_template/Tests/opt_sql_append.stable.err
monetdb5/extras/mal_optimizer_template/Tests/opt_sql_append.stable.out
monetdb5/mal/mal_profiler.c
monetdb5/modules/mal/querylog.mal
monetdb5/optimizer/opt_garbageCollector.c
sql/benchmarks/ssbm/Tests/01-explain.stable.out
sql/benchmarks/ssbm/Tests/01-explain.stable.out.int128
sql/benchmarks/ssbm/Tests/02-explain.stable.out
sql/benchmarks/ssbm/Tests/02-explain.stable.out.int128
sql/benchmarks/ssbm/Tests/03-explain.stable.out
sql/benchmarks/ssbm/Tests/03-explain.stable.out.int128
sql/benchmarks/ssbm/Tests/04-explain.stable.out
sql/benchmarks/ssbm/Tests/04-explain.stable.out.int128
sql/benchmarks/ssbm/Tests/05-explain.stable.out
sql/benchmarks/ssbm/Tests/05-explain.stable.out.int128
sql/benchmarks/ssbm/Tests/06-explain.stable.out
sql/benchmarks/ssbm/Tests/06-explain.stable.out.int128
sql/benchmarks/ssbm/Tests/07-explain.stable.out
sql/benchmarks/ssbm/Tests/07-explain.stable.out.int128
sql/benchmarks/ssbm/Tests/08-explain.stable.out
sql/benchmarks/ssbm/Tests/08-explain.stable.out.int128
sql/benchmarks/ssbm/Tests/09-explain.stable.out
sql/benchmarks/ssbm/Tests/09-explain.stable.out.int128
sql/benchmarks/ssbm/Tests/10-explain.stable.out
sql/benchmarks/ssbm/Tests/10-explain.stable.out.int128
sql/benchmarks/ssbm/Tests/11-explain.stable.out
sql/benchmarks/ssbm/Tests/11-explain.stable.out.int128
sql/benchmarks/ssbm/Tests/12-explain.stable.out
sql/benchmarks/ssbm/Tests/12-explain.stable.out.int128
sql/benchmarks/ssbm/Tests/13-explain.stable.out
sql/benchmarks/ssbm/Tests/13-explain.stable.out.int128
sql/benchmarks/tpch/Tests/01-explain.stable.out.int128
sql/benchmarks/tpch/Tests/02-explain.stable.out
sql/benchmarks/tpch/Tests/03-explain.stable.out.int128
sql/benchmarks/tpch/Tests/04-explain.stable.out
sql/benchmarks/tpch/Tests/04-explain.stable.out.32bit
sql/benchmarks/tpch/Tests/05-explain.stable.out.int128
sql/benchmarks/tpch/Tests/06-explain.stable.out.int128
sql/benchmarks/tpch/Tests/07-explain.stable.out.int128
sql/benchmarks/tpch/Tests/08-explain.stable.out.int128
sql/benchmarks/tpch/Tests/09-explain.stable.out.int128
sql/benchmarks/tpch/Tests/10-explain.stable.out.int128
sql/benchmarks/tpch/Tests/11-explain.stable.out.int128
sql/benchmarks/tpch/Tests/12-explain.stable.out
sql/benchmarks/tpch/Tests/12-explain.stable.out.int128
sql/benchmarks/tpch/Tests/13-explain.stable.out
sql/benchmarks/tpch/Tests/13-explain.stable.out.32bit
sql/benchmarks/tpch/Tests/14-explain.stable.out.int128
sql/benchmarks/tpch/Tests/15-explain.stable.out.int128
sql/benchmarks/tpch/Tests/16-explain.stable.out
sql/benchmarks/tpch/Tests/17-explain.stable.out.int128
sql/benchmarks/tpch/Tests/18-explain.stable.out.int128
sql/benchmarks/tpch/Tests/19-explain.stable.out.int128
sql/benchmarks/tpch/Tests/20-explain.stable.out.int128
sql/benchmarks/tpch/Tests/21-explain.stable.out
sql/benchmarks/tpch/Tests/21-explain.stable.out.32bit
sql/benchmarks/tpch/Tests/22-explain.stable.out
sql/benchmarks/tpch/Tests/22-explain.stable.out.32bit
sql/benchmarks/tpch/Tests/22-explain.stable.out.int128
sql/test/BugTracker-2009/Tests/POWER_vs_prod.SF-2596114.stable.out
sql/test/BugTracker-2010/Tests/LIMIT_OFFSET_big-endian.Bug-2622.stable.out
sql/test/BugTracker-2010/Tests/group-by_ordered_column.Bug-2564.stable.out
sql/test/BugTracker-2011/Tests/crash_on_alias.Bug-2798.stable.out.int128
sql/test/BugTracker-2011/Tests/func_iter_vs_bulk.Bug-2826.stable.out
sql/test/BugTracker-2012/Tests/conditions_when_for_triggers_do_not_work.Bug-2073.stable.out
sql/test/BugTracker-2012/Tests/rewrite_like_into_likesubselect.Bug-3179.stable.out
sql/test/BugTracker-2013/Tests/between.Bug-3259.stable.out.int128
sql/test/BugTracker-2014/Tests/case-sqrt.Bug-3627.stable.err
sql/test/BugTracker-2014/Tests/case-sqrt.Bug-3627.stable.out
sql/test/BugTracker-2014/Tests/manifold.Bug-3556.stable.out
sql/test/BugTracker-2014/Tests/nil_2dec_lng.Bug-3592.stable.out
sql/test/BugTracker/Tests/explain.SF-1739353.stable.out
sql/test/BugTracker/Tests/jdbc_no_debug.SF-1739356.stable.out
sql/test/leaks/Tests/check1_bam.stable.out.int128
sql/test/leaks/Tests/check2_bam.stable.out.int128
sql/test/leaks/Tests/check3_bam.stable.out.int128
sql/test/leaks/Tests/check4_bam.stable.out.int128
sql/test/leaks/Tests/check5_bam.stable.out.int128
sql/test/mapi/Tests/sql_int128.stable.out
sql/test/mergetables/Tests/mergequery.stable.out
Branch: default
Log Message:
Add query plan size and Estimated Time to Completion
The query.define statement now includes the actual size
of the MAL plan under execution.
The START event usec column now contains the estimated time
to completion based on previous runs in the same session.
It can be picked up using stethoscope to implement progress bars.
diffs (truncated from 1820 to 300 lines):
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
@@ -30,16 +30,16 @@ stderr of test 'opt_sql_append` in direc
# 22:58:57 > "mclient" "-lsql" "-ftest" "-Eutf-8" "-i" "-e" "--host=rome"
"--port=36275"
# 22:58:57 >
-MAPI = (monetdb) /var/tmp/mtest-21398/.s.monetdb.39125
+MAPI = (monetdb) /var/tmp/mtest-10895/.s.monetdb.31956
QUERY = explain copy into ttt from '\tmp/xyz';
ERROR = !COPY INTO: filename must have absolute path: \tmp/xyz
-MAPI = (monetdb) /var/tmp/mtest-21398/.s.monetdb.39125
+MAPI = (monetdb) /var/tmp/mtest-10895/.s.monetdb.31956
QUERY = explain copy into ttt from 'a:\tmp/xyz';
ERROR = !COPY INTO: filename must have absolute path: a:\tmp/xyz
-MAPI = (monetdb) /var/tmp/mtest-21398/.s.monetdb.39125
+MAPI = (monetdb) /var/tmp/mtest-10895/.s.monetdb.31956
QUERY = explain copy into ttt from '\tmp/xyz';
ERROR = !COPY INTO: filename must have absolute path: \tmp/xyz
-MAPI = (monetdb) /var/tmp/mtest-21398/.s.monetdb.39125
+MAPI = (monetdb) /var/tmp/mtest-10895/.s.monetdb.31956
QUERY = explain copy into ttt from 'Z:/tmp/xyz';
ERROR = !COPY INTO: filename must have absolute path: Z:/tmp/xyz
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
@@ -63,7 +63,7 @@ Ready.
% clob # type
% 150 # length
function user.s4_1{autoCommit=true}():void;
- X_25:void := querylog.define("explain copy into ttt from
\\'/tmp/xyz\\';","default_pipe");
+ X_25:void := querylog.define("explain copy into ttt from
\\'/tmp/xyz\\';","default_pipe",12);
barrier X_34 := language.dataflow();
X_2 := sql.mvc();
(X_13:bat[:oid,:int] ,X_14:bat[:oid,:int] ,X_15:bat[:oid,:int] ) :=
sql.copy_from("sys","ttt","|","\\n",nil:str,"null","/tmp/xyz",-1:lng,0:lng,0);
@@ -97,7 +97,7 @@ end user.s4_1;
% clob # type
% 150 # length
function user.s12_1{autoCommit=true}():void;
- X_25:void := querylog.define("explain copy into ttt from
\\'/tmp/xyz\\';","user_1");
+ X_25:void := querylog.define("explain copy into ttt from
\\'/tmp/xyz\\';","user_1",12);
barrier X_35 := language.dataflow();
X_2 := sql.mvc();
(X_13:bat[:oid,:int] ,X_14:bat[:oid,:int] ,X_15:bat[:oid,:int] ) :=
sql.copy_from("sys","ttt","|","\\n",nil:str,"null","/tmp/xyz",-1:lng,0:lng,0);
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
@@ -33,6 +33,7 @@
#include "mal_debugger.h"
stream *eventstream = 0;
+stream *progressstream = 0;
static int offlineProfiling = FALSE;
static int cachedProfiling = FALSE;
@@ -198,7 +199,12 @@ offlineProfilerEvent(MalBlkPtr mb, MalSt
} else
if( start){
logadd("\"start\",\t");
- logadd(LLFMT ",\t", pci->ticks);
+ // determine the Estimated Time of Completion
+ if ( pci->calls){
+ logadd(LLFMT ",\t", pci->totticks/pci->calls);
+ } else{
+ logadd(LLFMT ",\t", pci->ticks);
+ }
} else {
logadd("\"done \",\t");
logadd(LLFMT ",\t", pci->ticks);
diff --git a/monetdb5/modules/mal/querylog.mal
b/monetdb5/modules/mal/querylog.mal
--- a/monetdb5/modules/mal/querylog.mal
+++ b/monetdb5/modules/mal/querylog.mal
@@ -45,6 +45,10 @@ command define(q:str, pipe:str)
address QLOGdefineNaive
comment "Noop operation, just marking the query";
+command define(q:str, pipe:str, size:int)
+address QLOGdefineNaive
+comment "Noop operation, just marking the query";
+
pattern call(tick1:timestamp, tick2:timestamp, arg:str, tuples:wrd, xtime:lng,
rtime:lng, cpu:int, iowait:int)
address QLOGcall
comment "Add a new query call to the query log";
diff --git a/monetdb5/optimizer/opt_garbageCollector.c
b/monetdb5/optimizer/opt_garbageCollector.c
--- a/monetdb5/optimizer/opt_garbageCollector.c
+++ b/monetdb5/optimizer/opt_garbageCollector.c
@@ -54,6 +54,7 @@ OPTgarbageCollectorImplementation(Client
for(i = 2; i< limit; i++){
if( getModuleId(mb->stmt[i]) == querylogRef &&
getFunctionId(mb->stmt[i]) == defineRef ){
p= mb->stmt[i];
+ p = pushInt(mb,p,mb->stop);
break;
}
}
diff --git a/sql/benchmarks/ssbm/Tests/01-explain.stable.out
b/sql/benchmarks/ssbm/Tests/01-explain.stable.out
--- a/sql/benchmarks/ssbm/Tests/01-explain.stable.out
+++ b/sql/benchmarks/ssbm/Tests/01-explain.stable.out
@@ -36,9 +36,9 @@ Ready.
% .explain # table_name
% mal # name
% clob # type
-% 263 # length
+% 266 # length
function user.s2_1{autoCommit=true}(A0:int,A1:int,A2:int,A3:int):void;
- X_72:void := querylog.define("explain\nselect
sum(lo_extendedprice*lo_discount) as revenue\n\tfrom lineorder, dwdate\n\twhere
lo_orderdate = d_datekey\n\t\tand d_year = 1993\n\t\tand lo_discount between 1
and 3\n\t\tand lo_quantity < 25;","sequential_pipe");
+ X_72:void := querylog.define("explain\nselect
sum(lo_extendedprice*lo_discount) as revenue\n\tfrom lineorder, dwdate\n\twhere
lo_orderdate = d_datekey\n\t\tand d_year = 1993\n\t\tand lo_discount between 1
and 3\n\t\tand lo_quantity < 25;","sequential_pipe",44);
X_6 := sql.mvc();
X_10:bat[:oid,:int] := sql.bind(X_6,"sys","lineorder","lo_quantity",0);
X_18:bat[:oid,:int] := sql.bind(X_6,"sys","lineorder","lo_discount",0);
diff --git a/sql/benchmarks/ssbm/Tests/01-explain.stable.out.int128
b/sql/benchmarks/ssbm/Tests/01-explain.stable.out.int128
--- a/sql/benchmarks/ssbm/Tests/01-explain.stable.out.int128
+++ b/sql/benchmarks/ssbm/Tests/01-explain.stable.out.int128
@@ -36,9 +36,9 @@ Ready.
% .explain # table_name
% mal # name
% clob # type
-% 263 # length
+% 266 # length
function user.s2_1{autoCommit=true}(A0:int,A1:int,A2:int,A3:int):void;
- X_72:void := querylog.define("explain\nselect
sum(lo_extendedprice*lo_discount) as revenue\n\tfrom lineorder, dwdate\n\twhere
lo_orderdate = d_datekey\n\t\tand d_year = 1993\n\t\tand lo_discount between 1
and 3\n\t\tand lo_quantity < 25;","sequential_pipe");
+ X_72:void := querylog.define("explain\nselect
sum(lo_extendedprice*lo_discount) as revenue\n\tfrom lineorder, dwdate\n\twhere
lo_orderdate = d_datekey\n\t\tand d_year = 1993\n\t\tand lo_discount between 1
and 3\n\t\tand lo_quantity < 25;","sequential_pipe",44);
X_6 := sql.mvc();
X_10:bat[:oid,:int] := sql.bind(X_6,"sys","lineorder","lo_quantity",0);
X_18:bat[:oid,:int] := sql.bind(X_6,"sys","lineorder","lo_discount",0);
diff --git a/sql/benchmarks/ssbm/Tests/02-explain.stable.out
b/sql/benchmarks/ssbm/Tests/02-explain.stable.out
--- a/sql/benchmarks/ssbm/Tests/02-explain.stable.out
+++ b/sql/benchmarks/ssbm/Tests/02-explain.stable.out
@@ -36,9 +36,9 @@ Ready.
% .explain # table_name
% mal # name
% clob # type
-% 286 # length
+% 289 # length
function user.s2_1{autoCommit=true}(A0:int,A1:int,A2:int,A3:int,A4:int):void;
- X_72:void := querylog.define("explain\nselect
sum(lo_extendedprice*lo_discount) as revenue\n\tfrom lineorder, dwdate\n\twhere
lo_orderdate = d_datekey\n\t\tand d_yearmonthnum = 199401\n\t\tand lo_discount
between 4 and 6\n\t\tand lo_quantity between 26 and 35;","sequential_pipe");
+ X_72:void := querylog.define("explain\nselect
sum(lo_extendedprice*lo_discount) as revenue\n\tfrom lineorder, dwdate\n\twhere
lo_orderdate = d_datekey\n\t\tand d_yearmonthnum = 199401\n\t\tand lo_discount
between 4 and 6\n\t\tand lo_quantity between 26 and 35;","sequential_pipe",44);
X_7 := sql.mvc();
X_11:bat[:oid,:int] := sql.bind(X_7,"sys","lineorder","lo_quantity",0);
X_19:bat[:oid,:int] := sql.bind(X_7,"sys","lineorder","lo_discount",0);
diff --git a/sql/benchmarks/ssbm/Tests/02-explain.stable.out.int128
b/sql/benchmarks/ssbm/Tests/02-explain.stable.out.int128
--- a/sql/benchmarks/ssbm/Tests/02-explain.stable.out.int128
+++ b/sql/benchmarks/ssbm/Tests/02-explain.stable.out.int128
@@ -36,9 +36,9 @@ Ready.
% .explain # table_name
% mal # name
% clob # type
-% 286 # length
+% 289 # length
function user.s2_1{autoCommit=true}(A0:int,A1:int,A2:int,A3:int,A4:int):void;
- X_72:void := querylog.define("explain\nselect
sum(lo_extendedprice*lo_discount) as revenue\n\tfrom lineorder, dwdate\n\twhere
lo_orderdate = d_datekey\n\t\tand d_yearmonthnum = 199401\n\t\tand lo_discount
between 4 and 6\n\t\tand lo_quantity between 26 and 35;","sequential_pipe");
+ X_72:void := querylog.define("explain\nselect
sum(lo_extendedprice*lo_discount) as revenue\n\tfrom lineorder, dwdate\n\twhere
lo_orderdate = d_datekey\n\t\tand d_yearmonthnum = 199401\n\t\tand lo_discount
between 4 and 6\n\t\tand lo_quantity between 26 and 35;","sequential_pipe",44);
X_7 := sql.mvc();
X_11:bat[:oid,:int] := sql.bind(X_7,"sys","lineorder","lo_quantity",0);
X_19:bat[:oid,:int] := sql.bind(X_7,"sys","lineorder","lo_discount",0);
diff --git a/sql/benchmarks/ssbm/Tests/03-explain.stable.out
b/sql/benchmarks/ssbm/Tests/03-explain.stable.out
--- a/sql/benchmarks/ssbm/Tests/03-explain.stable.out
+++ b/sql/benchmarks/ssbm/Tests/03-explain.stable.out
@@ -36,9 +36,9 @@ Ready.
% .explain # table_name
% mal # name
% clob # type
-% 300 # length
+% 303 # length
function
user.s2_1{autoCommit=true}(A0:int,A1:int,A2:int,A3:int,A4:int,A5:int):void;
- X_82:void := querylog.define("explain\nselect
sum(lo_extendedprice*lo_discount) as revenue\n\tfrom lineorder, dwdate\n\twhere
lo_orderdate = d_datekey\n\t\tand d_weeknuminyear = 6 and d_year =
1994\n\t\tand lo_discount between 5 and 7\n\t\tand lo_quantity between 36 and
40;","sequential_pipe");
+ X_82:void := querylog.define("explain\nselect
sum(lo_extendedprice*lo_discount) as revenue\n\tfrom lineorder, dwdate\n\twhere
lo_orderdate = d_datekey\n\t\tand d_weeknuminyear = 6 and d_year =
1994\n\t\tand lo_discount between 5 and 7\n\t\tand lo_quantity between 36 and
40;","sequential_pipe",51);
X_8 := sql.mvc();
X_12:bat[:oid,:int] := sql.bind(X_8,"sys","lineorder","lo_quantity",0);
X_20:bat[:oid,:int] := sql.bind(X_8,"sys","lineorder","lo_discount",0);
diff --git a/sql/benchmarks/ssbm/Tests/03-explain.stable.out.int128
b/sql/benchmarks/ssbm/Tests/03-explain.stable.out.int128
--- a/sql/benchmarks/ssbm/Tests/03-explain.stable.out.int128
+++ b/sql/benchmarks/ssbm/Tests/03-explain.stable.out.int128
@@ -36,9 +36,9 @@ Ready.
% .explain # table_name
% mal # name
% clob # type
-% 300 # length
+% 303 # length
function
user.s2_1{autoCommit=true}(A0:int,A1:int,A2:int,A3:int,A4:int,A5:int):void;
- X_82:void := querylog.define("explain\nselect
sum(lo_extendedprice*lo_discount) as revenue\n\tfrom lineorder, dwdate\n\twhere
lo_orderdate = d_datekey\n\t\tand d_weeknuminyear = 6 and d_year =
1994\n\t\tand lo_discount between 5 and 7\n\t\tand lo_quantity between 36 and
40;","sequential_pipe");
+ X_82:void := querylog.define("explain\nselect
sum(lo_extendedprice*lo_discount) as revenue\n\tfrom lineorder, dwdate\n\twhere
lo_orderdate = d_datekey\n\t\tand d_weeknuminyear = 6 and d_year =
1994\n\t\tand lo_discount between 5 and 7\n\t\tand lo_quantity between 36 and
40;","sequential_pipe",51);
X_8 := sql.mvc();
X_12:bat[:oid,:int] := sql.bind(X_8,"sys","lineorder","lo_quantity",0);
X_20:bat[:oid,:int] := sql.bind(X_8,"sys","lineorder","lo_discount",0);
diff --git a/sql/benchmarks/ssbm/Tests/04-explain.stable.out
b/sql/benchmarks/ssbm/Tests/04-explain.stable.out
--- a/sql/benchmarks/ssbm/Tests/04-explain.stable.out
+++ b/sql/benchmarks/ssbm/Tests/04-explain.stable.out
@@ -39,9 +39,9 @@ Ready.
% .explain # table_name
% mal # name
% clob # type
-% 410 # length
+% 413 # length
function user.s2_1{autoCommit=true}(A0:str,A1:str):void;
- X_137:void := querylog.define("explain\nselect sum(lo_revenue), d_year,
p_brand1\n\tfrom lineorder, dwdate, part, supplier\n\twhere lo_orderdate =
d_datekey\n\t\tand lo_partkey = p_partkey\n\t\tand lo_suppkey =
s_suppkey\n\t\tand p_category = \\'MFGR#12\\' -- OK to add p_mfgr =
’MFGR#1’\n\t\tand s_region = \\'AMERICA\\'\n\tgroup by d_year,
p_brand1\n\torder by d_year, p_brand1;","sequential_pipe");
+ X_137:void := querylog.define("explain\nselect sum(lo_revenue), d_year,
p_brand1\n\tfrom lineorder, dwdate, part, supplier\n\twhere lo_orderdate =
d_datekey\n\t\tand lo_partkey = p_partkey\n\t\tand lo_suppkey =
s_suppkey\n\t\tand p_category = \\'MFGR#12\\' -- OK to add p_mfgr =
’MFGR#1’\n\t\tand s_region = \\'AMERICA\\'\n\tgroup by d_year,
p_brand1\n\torder by d_year, p_brand1;","sequential_pipe",74);
X_4 := sql.mvc();
X_5:bat[:oid,:oid] := sql.tid(X_4,"sys","lineorder");
X_8:bat[:oid,:oid] :=
sql.bind_idxbat(X_4,"sys","lineorder","lineorder_lo_partkey_fkey",0);
diff --git a/sql/benchmarks/ssbm/Tests/04-explain.stable.out.int128
b/sql/benchmarks/ssbm/Tests/04-explain.stable.out.int128
--- a/sql/benchmarks/ssbm/Tests/04-explain.stable.out.int128
+++ b/sql/benchmarks/ssbm/Tests/04-explain.stable.out.int128
@@ -39,9 +39,9 @@ Ready.
% .explain # table_name
% mal # name
% clob # type
-% 410 # length
+% 413 # length
function user.s2_1{autoCommit=true}(A0:str,A1:str):void;
- X_137:void := querylog.define("explain\nselect sum(lo_revenue), d_year,
p_brand1\n\tfrom lineorder, dwdate, part, supplier\n\twhere lo_orderdate =
d_datekey\n\t\tand lo_partkey = p_partkey\n\t\tand lo_suppkey =
s_suppkey\n\t\tand p_category = \\'MFGR#12\\' -- OK to add p_mfgr =
’MFGR#1’\n\t\tand s_region = \\'AMERICA\\'\n\tgroup by d_year,
p_brand1\n\torder by d_year, p_brand1;","sequential_pipe");
+ X_137:void := querylog.define("explain\nselect sum(lo_revenue), d_year,
p_brand1\n\tfrom lineorder, dwdate, part, supplier\n\twhere lo_orderdate =
d_datekey\n\t\tand lo_partkey = p_partkey\n\t\tand lo_suppkey =
s_suppkey\n\t\tand p_category = \\'MFGR#12\\' -- OK to add p_mfgr =
’MFGR#1’\n\t\tand s_region = \\'AMERICA\\'\n\tgroup by d_year,
p_brand1\n\torder by d_year, p_brand1;","sequential_pipe",74);
X_4 := sql.mvc();
X_5:bat[:oid,:oid] := sql.tid(X_4,"sys","lineorder");
X_8:bat[:oid,:oid] :=
sql.bind_idxbat(X_4,"sys","lineorder","lineorder_lo_partkey_fkey",0);
diff --git a/sql/benchmarks/ssbm/Tests/05-explain.stable.out
b/sql/benchmarks/ssbm/Tests/05-explain.stable.out
--- a/sql/benchmarks/ssbm/Tests/05-explain.stable.out
+++ b/sql/benchmarks/ssbm/Tests/05-explain.stable.out
@@ -41,9 +41,9 @@ Ready.
% .explain # table_name
% mal # name
% clob # type
-% 479 # length
+% 482 # length
function user.s2_1{autoCommit=true}(A0:str,A1:str,A2:str):void;
- X_131:void := querylog.define("explain\nselect sum(lo_revenue), d_year,
p_brand1\n\tfrom lineorder, dwdate, part, supplier\n\twhere lo_orderdate =
d_datekey\n\t\tand lo_partkey = p_partkey\n\t\tand lo_suppkey =
s_suppkey\n\t\t-- OK to add p_mfgr=’MFGR#2’\n\t\t-- OK to add
p_category=’MFGR#22’\n\t\tand p_brand1 between \\'MFGR#2221\\' and
\\'MFGR#2228\\'\n\t\tand s_region = \\'ASIA\\'\n\tgroup by d_year,
p_brand1\n\torder by d_year, p_brand1;","sequential_pipe");
+ X_131:void := querylog.define("explain\nselect sum(lo_revenue), d_year,
p_brand1\n\tfrom lineorder, dwdate, part, supplier\n\twhere lo_orderdate =
d_datekey\n\t\tand lo_partkey = p_partkey\n\t\tand lo_suppkey =
s_suppkey\n\t\t-- OK to add p_mfgr=’MFGR#2’\n\t\t-- OK to add
p_category=’MFGR#22’\n\t\tand p_brand1 between \\'MFGR#2221\\' and
\\'MFGR#2228\\'\n\t\tand s_region = \\'ASIA\\'\n\tgroup by d_year,
p_brand1\n\torder by d_year, p_brand1;","sequential_pipe",71);
X_5 := sql.mvc();
X_6:bat[:oid,:oid] := sql.tid(X_5,"sys","lineorder");
X_9:bat[:oid,:oid] :=
sql.bind_idxbat(X_5,"sys","lineorder","lineorder_lo_partkey_fkey",0);
diff --git a/sql/benchmarks/ssbm/Tests/05-explain.stable.out.int128
b/sql/benchmarks/ssbm/Tests/05-explain.stable.out.int128
--- a/sql/benchmarks/ssbm/Tests/05-explain.stable.out.int128
+++ b/sql/benchmarks/ssbm/Tests/05-explain.stable.out.int128
@@ -41,9 +41,9 @@ Ready.
% .explain # table_name
% mal # name
% clob # type
-% 479 # length
+% 482 # length
function user.s2_1{autoCommit=true}(A0:str,A1:str,A2:str):void;
- X_131:void := querylog.define("explain\nselect sum(lo_revenue), d_year,
p_brand1\n\tfrom lineorder, dwdate, part, supplier\n\twhere lo_orderdate =
d_datekey\n\t\tand lo_partkey = p_partkey\n\t\tand lo_suppkey =
s_suppkey\n\t\t-- OK to add p_mfgr=’MFGR#2’\n\t\t-- OK to add
p_category=’MFGR#22’\n\t\tand p_brand1 between \\'MFGR#2221\\' and
\\'MFGR#2228\\'\n\t\tand s_region = \\'ASIA\\'\n\tgroup by d_year,
p_brand1\n\torder by d_year, p_brand1;","sequential_pipe");
+ X_131:void := querylog.define("explain\nselect sum(lo_revenue), d_year,
p_brand1\n\tfrom lineorder, dwdate, part, supplier\n\twhere lo_orderdate =
d_datekey\n\t\tand lo_partkey = p_partkey\n\t\tand lo_suppkey =
s_suppkey\n\t\t-- OK to add p_mfgr=’MFGR#2’\n\t\t-- OK to add
p_category=’MFGR#22’\n\t\tand p_brand1 between \\'MFGR#2221\\' and
\\'MFGR#2228\\'\n\t\tand s_region = \\'ASIA\\'\n\tgroup by d_year,
p_brand1\n\torder by d_year, p_brand1;","sequential_pipe",71);
X_5 := sql.mvc();
X_6:bat[:oid,:oid] := sql.tid(X_5,"sys","lineorder");
X_9:bat[:oid,:oid] :=
sql.bind_idxbat(X_5,"sys","lineorder","lineorder_lo_partkey_fkey",0);
diff --git a/sql/benchmarks/ssbm/Tests/06-explain.stable.out
b/sql/benchmarks/ssbm/Tests/06-explain.stable.out
--- a/sql/benchmarks/ssbm/Tests/06-explain.stable.out
+++ b/sql/benchmarks/ssbm/Tests/06-explain.stable.out
@@ -41,9 +41,9 @@ Ready.
% .explain # table_name
% mal # name
% clob # type
-% 455 # length
+% 458 # length
function user.s2_1{autoCommit=true}(A0:str,A1:str):void;
- X_130:void := querylog.define("explain\nselect sum(lo_revenue), d_year,
p_brand1\n\tfrom lineorder, dwdate, part, supplier\n\twhere lo_orderdate =
d_datekey\n\t\tand lo_partkey = p_partkey\n\t\tand lo_suppkey =
s_suppkey\n\t\t-- OK to add p_mfgr=’MFGR#2’\n\t\t-- OK to add
p_category=’MFGR#22’\n\t\tand p_brand1 = \\'MFGR#2221\\'\n\t\tand s_region =
\\'EUROPE\\'\n\tgroup by d_year, p_brand1\n\torder by d_year,
p_brand1;","sequential_pipe");
+ X_130:void := querylog.define("explain\nselect sum(lo_revenue), d_year,
p_brand1\n\tfrom lineorder, dwdate, part, supplier\n\twhere lo_orderdate =
d_datekey\n\t\tand lo_partkey = p_partkey\n\t\tand lo_suppkey =
s_suppkey\n\t\t-- OK to add p_mfgr=’MFGR#2’\n\t\t-- OK to add
p_category=’MFGR#22’\n\t\tand p_brand1 = \\'MFGR#2221\\'\n\t\tand s_region =
\\'EUROPE\\'\n\tgroup by d_year, p_brand1\n\torder by d_year,
p_brand1;","sequential_pipe",71);
X_4 := sql.mvc();
X_5:bat[:oid,:oid] := sql.tid(X_4,"sys","lineorder");
X_8:bat[:oid,:oid] :=
sql.bind_idxbat(X_4,"sys","lineorder","lineorder_lo_partkey_fkey",0);
diff --git a/sql/benchmarks/ssbm/Tests/06-explain.stable.out.int128
b/sql/benchmarks/ssbm/Tests/06-explain.stable.out.int128
--- a/sql/benchmarks/ssbm/Tests/06-explain.stable.out.int128
+++ b/sql/benchmarks/ssbm/Tests/06-explain.stable.out.int128
@@ -41,9 +41,9 @@ Ready.
% .explain # table_name
% mal # name
% clob # type
-% 455 # length
+% 458 # length
function user.s2_1{autoCommit=true}(A0:str,A1:str):void;
- X_130:void := querylog.define("explain\nselect sum(lo_revenue), d_year,
p_brand1\n\tfrom lineorder, dwdate, part, supplier\n\twhere lo_orderdate =
d_datekey\n\t\tand lo_partkey = p_partkey\n\t\tand lo_suppkey =
s_suppkey\n\t\t-- OK to add p_mfgr=’MFGR#2’\n\t\t-- OK to add
p_category=’MFGR#22’\n\t\tand p_brand1 = \\'MFGR#2221\\'\n\t\tand s_region =
\\'EUROPE\\'\n\tgroup by d_year, p_brand1\n\torder by d_year,
p_brand1;","sequential_pipe");
+ X_130:void := querylog.define("explain\nselect sum(lo_revenue), d_year,
p_brand1\n\tfrom lineorder, dwdate, part, supplier\n\twhere lo_orderdate =
d_datekey\n\t\tand lo_partkey = p_partkey\n\t\tand lo_suppkey =
s_suppkey\n\t\t-- OK to add p_mfgr=’MFGR#2’\n\t\t-- OK to add
p_category=’MFGR#22’\n\t\tand p_brand1 = \\'MFGR#2221\\'\n\t\tand s_region =
\\'EUROPE\\'\n\tgroup by d_year, p_brand1\n\torder by d_year,
p_brand1;","sequential_pipe",71);
X_4 := sql.mvc();
X_5:bat[:oid,:oid] := sql.tid(X_4,"sys","lineorder");
X_8:bat[:oid,:oid] :=
sql.bind_idxbat(X_4,"sys","lineorder","lineorder_lo_partkey_fkey",0);
diff --git a/sql/benchmarks/ssbm/Tests/07-explain.stable.out
b/sql/benchmarks/ssbm/Tests/07-explain.stable.out
--- a/sql/benchmarks/ssbm/Tests/07-explain.stable.out
+++ b/sql/benchmarks/ssbm/Tests/07-explain.stable.out
@@ -40,9 +40,9 @@ Ready.
% .explain # table_name
% mal # name
% clob # type
-% 453 # length
+% 456 # length
function user.s2_1{autoCommit=true}(A0:str,A1:str,A2:int,A3:int):void;
- X_154:void := querylog.define("explain\nselect c_nation, s_nation,
d_year, sum(lo_revenue) as revenue\n\tfrom customer, lineorder, supplier,
dwdate\n\twhere lo_custkey = c_custkey\n\t\tand lo_suppkey = s_suppkey\n\t\tand
lo_orderdate = d_datekey\n\t\tand c_region = \\'ASIA\\'\n\t\tand s_region =
\\'ASIA\\'\n\t\tand d_year >= 1992 and d_year <= 1997\n\tgroup by c_nation,
s_nation, d_year\n\torder by d_year asc, revenue desc;","sequential_pipe");
+ X_154:void := querylog.define("explain\nselect c_nation, s_nation,
d_year, sum(lo_revenue) as revenue\n\tfrom customer, lineorder, supplier,
dwdate\n\twhere lo_custkey = c_custkey\n\t\tand lo_suppkey = s_suppkey\n\t\tand
lo_orderdate = d_datekey\n\t\tand c_region = \\'ASIA\\'\n\t\tand s_region =
\\'ASIA\\'\n\t\tand d_year >= 1992 and d_year <= 1997\n\tgroup by c_nation,
s_nation, d_year\n\torder by d_year asc, revenue desc;","sequential_pipe",87);
X_6 := sql.mvc();
X_7:bat[:oid,:oid] := sql.tid(X_6,"sys","lineorder");
X_10:bat[:oid,:oid] :=
sql.bind_idxbat(X_6,"sys","lineorder","lineorder_lo_custkey_fkey",0);
diff --git a/sql/benchmarks/ssbm/Tests/07-explain.stable.out.int128
b/sql/benchmarks/ssbm/Tests/07-explain.stable.out.int128
--- a/sql/benchmarks/ssbm/Tests/07-explain.stable.out.int128
+++ b/sql/benchmarks/ssbm/Tests/07-explain.stable.out.int128
@@ -40,9 +40,9 @@ Ready.
% .explain # table_name
% mal # name
% clob # type
-% 453 # length
+% 456 # length
function user.s2_1{autoCommit=true}(A0:str,A1:str,A2:int,A3:int):void;
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list