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
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to