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