Changeset: bea7dcf2005f for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=bea7dcf2005f Modified Files: gdk/gdk_join.c sql/backends/monet5/UDF/Tests/udf-fuse.stable.out sql/backends/monet5/UDF/Tests/udf-reverse.stable.out sql/benchmarks/ssbm/Tests/01-explain.stable.out.int128 sql/benchmarks/ssbm/Tests/02-explain.stable.out.int128 sql/benchmarks/ssbm/Tests/03-explain.stable.out.int128 sql/benchmarks/ssbm/Tests/04-explain.stable.out.int128 sql/benchmarks/ssbm/Tests/05-explain.stable.out.int128 sql/benchmarks/ssbm/Tests/06-explain.stable.out.int128 sql/benchmarks/ssbm/Tests/07-explain.stable.out.int128 sql/benchmarks/ssbm/Tests/08-explain.stable.out.int128 sql/benchmarks/ssbm/Tests/09-explain.stable.out.int128 sql/benchmarks/ssbm/Tests/10-explain.stable.out.int128 sql/benchmarks/ssbm/Tests/11-explain.stable.out.int128 sql/benchmarks/ssbm/Tests/12-explain.stable.out.int128 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/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.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 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 sql/benchmarks/tpch/Tests/19-explain.stable.out.int128 sql/benchmarks/tpch/Tests/20-explain.stable.out sql/benchmarks/tpch/Tests/20-explain.stable.out.32bit sql/benchmarks/tpch/Tests/20-explain.stable.out.int128 sql/benchmarks/tpch/Tests/21-explain.stable.out sql/benchmarks/tpch/Tests/22-explain.stable.out.int128 sql/test/BugTracker-2010/Tests/group-by_ordered_column.Bug-2564.stable.out sql/test/BugTracker-2010/Tests/group-by_ordered_column.Bug-2564.stable.out.32bit 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/rewrite_like_into_likesubselect.Bug-3179.stable.out sql/test/BugTracker-2014/Tests/manifold.Bug-3556.stable.out sql/test/BugTracker/Tests/explain.SF-1739353.stable.out sql/test/BugTracker/Tests/jdbc_no_debug.SF-1739356.stable.out sql/test/Tests/setoptimizer.stable.err sql/test/Tests/setoptimizer.stable.out sql/test/Tests/setoptimizer.stable.out.Windows sql/test/leaks/Tests/check1.stable.out.int128 sql/test/leaks/Tests/check2.stable.out.int128 sql/test/leaks/Tests/check3.stable.out.int128 sql/test/leaks/Tests/check4.stable.out.int128 sql/test/leaks/Tests/check5.stable.out.int128 Branch: commonterms Log Message:
Merge with default. and reversing an accidental check-in of gdk_join.C diffs (truncated from 8161 to 300 lines): diff --git a/gdk/gdk_join.c b/gdk/gdk_join.c --- a/gdk/gdk_join.c +++ b/gdk/gdk_join.c @@ -3249,11 +3249,6 @@ BATproject(BAT *l, BAT *r) assert(BAThdense(r)); assert(ATOMtype(l->ttype) == TYPE_oid); - if (lcount == 0 || rcount == 0) { - bn = BATnew(TYPE_void, tpe, 0, TRANSIENT); - return bn; - } - if (BATtdense(l) && BATcount(l) > 0) { lo = l->tseqbase; hi = l->tseqbase + BATcount(l); diff --git a/sql/backends/monet5/UDF/Tests/udf-fuse.stable.out b/sql/backends/monet5/UDF/Tests/udf-fuse.stable.out --- a/sql/backends/monet5/UDF/Tests/udf-fuse.stable.out +++ b/sql/backends/monet5/UDF/Tests/udf-fuse.stable.out @@ -95,7 +95,7 @@ end user.s4_1; % clob # type % 97 # length function user.s8_1{autoCommit=true}():void; - X_43:void := querylog.define("explain select fuse(a,b) from udf_fuse;","sequential_pipe",27); + X_42:void := querylog.define("explain select fuse(a,b) from udf_fuse;","sequential_pipe",27); X_25 := bat.new(nil:oid,nil:str); X_33 := bat.append(X_25,"sys.L"); X_28 := bat.new(nil:oid,nil:str); @@ -127,7 +127,7 @@ end user.s8_1; % clob # type % 97 # length function user.s9_1{autoCommit=true}():void; - X_43:void := querylog.define("explain select fuse(c,d) from udf_fuse;","sequential_pipe",27); + X_42:void := querylog.define("explain select fuse(c,d) from udf_fuse;","sequential_pipe",27); X_25 := bat.new(nil:oid,nil:str); X_33 := bat.append(X_25,"sys.L"); X_28 := bat.new(nil:oid,nil:str); @@ -159,7 +159,7 @@ end user.s9_1; % clob # type % 97 # length function user.s10_1{autoCommit=true}():void; - X_43:void := querylog.define("explain select fuse(e,f) from udf_fuse;","sequential_pipe",27); + X_42:void := querylog.define("explain select fuse(e,f) from udf_fuse;","sequential_pipe",27); X_25 := bat.new(nil:oid,nil:str); X_33 := bat.append(X_25,"sys.L"); X_28 := bat.new(nil:oid,nil:str); diff --git a/sql/backends/monet5/UDF/Tests/udf-reverse.stable.out b/sql/backends/monet5/UDF/Tests/udf-reverse.stable.out --- a/sql/backends/monet5/UDF/Tests/udf-reverse.stable.out +++ b/sql/backends/monet5/UDF/Tests/udf-reverse.stable.out @@ -50,7 +50,7 @@ Ready. % clob # type % 95 # length function user.s2_1{autoCommit=true}(A0:str):void; - X_11:void := querylog.define("explain select reverse(\\'MonetDB\\');","sequential_pipe",5); + X_10:void := querylog.define("explain select reverse(\\'MonetDB\\');","sequential_pipe",5); X_3 := udf.reverse(A0); sql.resultSet(".L","reverse_single_value","clob",0,0,4,X_3); end user.s2_1; 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 @@ -38,47 +38,47 @@ Ready. % clob # type % 265 # length function user.s2_1{autoCommit=true}(A0:int,A1:int,A2:int,A3:int):void; - X_66: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",43); + X_63: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",43); 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); X_7:bat[:oid,:oid] := sql.tid(X_6,"sys","lineorder"); - X_91 := algebra.subselect(X_18,X_7,A1,A2,true,true,false); + X_88 := algebra.subselect(X_18,X_7,A1,A2,true,true,false); (X_20,r1_23) := sql.bind(X_6,"sys","lineorder","lo_discount",2); - X_92 := algebra.subselect(r1_23,nil:bat[:oid,:oid],A1,A2,true,true,false); + X_89 := algebra.subselect(r1_23,nil:bat[:oid,:oid],A1,A2,true,true,false); X_22:bat[:oid,:int] := sql.bind(X_6,"sys","lineorder","lo_discount",1); - X_94 := algebra.subselect(X_22,X_7,A1,A2,true,true,false); - X_23 := sql.subdelta(X_91,X_7,X_20,X_92,X_94); - X_95 := algebra.thetasubselect(X_10,X_23,A3,"<"); + X_91 := algebra.subselect(X_22,X_7,A1,A2,true,true,false); + X_23 := sql.subdelta(X_88,X_7,X_20,X_89,X_91); + X_92 := algebra.thetasubselect(X_10,X_23,A3,"<"); (X_13,r1_13) := sql.bind(X_6,"sys","lineorder","lo_quantity",2); - X_96 := algebra.thetasubselect(r1_13,nil:bat[:oid,:oid],A3,"<"); + X_93 := algebra.thetasubselect(r1_13,nil:bat[:oid,:oid],A3,"<"); X_16:bat[:oid,:int] := sql.bind(X_6,"sys","lineorder","lo_quantity",1); - X_98 := algebra.thetasubselect(X_16,X_23,A3,"<"); - X_25 := sql.subdelta(X_95,X_23,X_13,X_96,X_98); + X_94 := algebra.thetasubselect(X_16,X_23,A3,"<"); + X_25 := sql.subdelta(X_92,X_23,X_13,X_93,X_94); X_27:bat[:oid,:oid] := sql.bind_idxbat(X_6,"sys","lineorder","lineorder_lo_orderdate_fkey",0); (X_29,r1_36) := sql.bind_idxbat(X_6,"sys","lineorder","lineorder_lo_orderdate_fkey",2); X_31:bat[:oid,:oid] := sql.bind_idxbat(X_6,"sys","lineorder","lineorder_lo_orderdate_fkey",1); X_32 := sql.projectdelta(X_25,X_27,X_29,r1_36,X_31); X_35:bat[:oid,:int] := sql.bind(X_6,"sys","dwdate","d_year",0); X_33:bat[:oid,:oid] := sql.tid(X_6,"sys","dwdate"); - X_99 := algebra.subselect(X_35,X_33,A0,A0,true,false,false); + X_95 := algebra.subselect(X_35,X_33,A0,A0,true,false,false); (X_37,r1_46) := sql.bind(X_6,"sys","dwdate","d_year",2); - X_100 := algebra.subselect(r1_46,nil:bat[:oid,:oid],A0,A0,true,false,false); + X_96 := algebra.subselect(r1_46,nil:bat[:oid,:oid],A0,A0,true,false,false); X_39:bat[:oid,:int] := sql.bind(X_6,"sys","dwdate","d_year",1); - X_102 := algebra.subselect(X_39,X_33,A0,A0,true,false,false); - X_40 := sql.subdelta(X_99,X_33,X_37,X_100,X_102); - (X_42,r1_55) := algebra.subjoin(X_32,X_40,nil:BAT,nil:BAT,false,nil:lng); - X_47:bat[:oid,:int] := sql.bind(X_6,"sys","lineorder","lo_extendedprice",0); - (X_49,r1_62) := sql.bind(X_6,"sys","lineorder","lo_extendedprice",2); - X_51:bat[:oid,:int] := sql.bind(X_6,"sys","lineorder","lo_extendedprice",1); - X_52 := sql.projectdelta(X_25,X_47,X_49,r1_62,X_51); - X_53 := algebra.leftfetchjoin(X_42,X_52); - X_54 := batcalc.lng(X_53); - X_55 := sql.projectdelta(X_25,X_18,X_20,r1_23,X_22); - X_56 := algebra.leftfetchjoin(X_42,X_55); - X_57:bat[:oid,:lng] := batcalc.*(X_54,X_56); - X_58:hge := aggr.sum(X_57); - sql.resultSet("sys.L1","revenue","hugeint",128,0,7,X_58); + X_97 := algebra.subselect(X_39,X_33,A0,A0,true,false,false); + X_40 := sql.subdelta(X_95,X_33,X_37,X_96,X_97); + (X_41,r1_55) := algebra.subjoin(X_32,X_40,nil:BAT,nil:BAT,false,nil:lng); + X_45:bat[:oid,:int] := sql.bind(X_6,"sys","lineorder","lo_extendedprice",0); + (X_47,r1_62) := sql.bind(X_6,"sys","lineorder","lo_extendedprice",2); + X_49:bat[:oid,:int] := sql.bind(X_6,"sys","lineorder","lo_extendedprice",1); + X_50 := sql.projectdelta(X_25,X_45,X_47,r1_62,X_49); + X_51 := algebra.leftfetchjoin(X_41,X_50); + X_52 := batcalc.lng(X_51); + X_53 := sql.projectdelta(X_25,X_18,X_20,r1_23,X_22); + X_54 := algebra.leftfetchjoin(X_41,X_53); + X_55:bat[:oid,:lng] := batcalc.*(X_52,X_54); + X_56:hge := aggr.sum(X_55); + sql.resultSet("sys.L1","revenue","hugeint",128,0,7,X_56); end user.s2_1; # 23:10:45 > 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 @@ -38,47 +38,47 @@ Ready. % clob # type % 288 # length function user.s2_1{autoCommit=true}(A0:int,A1:int,A2:int,A3:int,A4:int):void; - X_66: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",43); + X_63: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",43); 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); X_8:bat[:oid,:oid] := sql.tid(X_7,"sys","lineorder"); - X_91 := algebra.subselect(X_19,X_8,A1,A2,true,true,false); + X_88 := algebra.subselect(X_19,X_8,A1,A2,true,true,false); (X_21,r1_25) := sql.bind(X_7,"sys","lineorder","lo_discount",2); - X_92 := algebra.subselect(r1_25,nil:bat[:oid,:oid],A1,A2,true,true,false); + X_89 := algebra.subselect(r1_25,nil:bat[:oid,:oid],A1,A2,true,true,false); X_23:bat[:oid,:int] := sql.bind(X_7,"sys","lineorder","lo_discount",1); - X_94 := algebra.subselect(X_23,X_8,A1,A2,true,true,false); - X_24 := sql.subdelta(X_91,X_8,X_21,X_92,X_94); - X_95 := algebra.subselect(X_11,X_24,A3,A4,true,true,false); + X_91 := algebra.subselect(X_23,X_8,A1,A2,true,true,false); + X_24 := sql.subdelta(X_88,X_8,X_21,X_89,X_91); + X_92 := algebra.subselect(X_11,X_24,A3,A4,true,true,false); (X_14,r1_14) := sql.bind(X_7,"sys","lineorder","lo_quantity",2); - X_96 := algebra.subselect(r1_14,nil:bat[:oid,:oid],A3,A4,true,true,false); + X_93 := algebra.subselect(r1_14,nil:bat[:oid,:oid],A3,A4,true,true,false); X_17:bat[:oid,:int] := sql.bind(X_7,"sys","lineorder","lo_quantity",1); - X_98 := algebra.subselect(X_17,X_24,A3,A4,true,true,false); - X_26 := sql.subdelta(X_95,X_24,X_14,X_96,X_98); + X_94 := algebra.subselect(X_17,X_24,A3,A4,true,true,false); + X_26 := sql.subdelta(X_92,X_24,X_14,X_93,X_94); X_27:bat[:oid,:oid] := sql.bind_idxbat(X_7,"sys","lineorder","lineorder_lo_orderdate_fkey",0); (X_29,r1_37) := sql.bind_idxbat(X_7,"sys","lineorder","lineorder_lo_orderdate_fkey",2); X_31:bat[:oid,:oid] := sql.bind_idxbat(X_7,"sys","lineorder","lineorder_lo_orderdate_fkey",1); X_32 := sql.projectdelta(X_26,X_27,X_29,r1_37,X_31); X_35:bat[:oid,:int] := sql.bind(X_7,"sys","dwdate","d_yearmonthnum",0); X_33:bat[:oid,:oid] := sql.tid(X_7,"sys","dwdate"); - X_99 := algebra.subselect(X_35,X_33,A0,A0,true,false,false); + X_95 := algebra.subselect(X_35,X_33,A0,A0,true,false,false); (X_37,r1_47) := sql.bind(X_7,"sys","dwdate","d_yearmonthnum",2); - X_100 := algebra.subselect(r1_47,nil:bat[:oid,:oid],A0,A0,true,false,false); + X_96 := algebra.subselect(r1_47,nil:bat[:oid,:oid],A0,A0,true,false,false); X_39:bat[:oid,:int] := sql.bind(X_7,"sys","dwdate","d_yearmonthnum",1); - X_102 := algebra.subselect(X_39,X_33,A0,A0,true,false,false); - X_40 := sql.subdelta(X_99,X_33,X_37,X_100,X_102); - (X_42,r1_56) := algebra.subjoin(X_32,X_40,nil:BAT,nil:BAT,false,nil:lng); - X_47:bat[:oid,:int] := sql.bind(X_7,"sys","lineorder","lo_extendedprice",0); - (X_49,r1_63) := sql.bind(X_7,"sys","lineorder","lo_extendedprice",2); - X_51:bat[:oid,:int] := sql.bind(X_7,"sys","lineorder","lo_extendedprice",1); - X_52 := sql.projectdelta(X_26,X_47,X_49,r1_63,X_51); - X_53 := algebra.leftfetchjoin(X_42,X_52); - X_54 := batcalc.lng(X_53); - X_55 := sql.projectdelta(X_26,X_19,X_21,r1_25,X_23); - X_56 := algebra.leftfetchjoin(X_42,X_55); - X_57:bat[:oid,:lng] := batcalc.*(X_54,X_56); - X_58:hge := aggr.sum(X_57); - sql.resultSet("sys.L1","revenue","hugeint",128,0,7,X_58); + X_97 := algebra.subselect(X_39,X_33,A0,A0,true,false,false); + X_40 := sql.subdelta(X_95,X_33,X_37,X_96,X_97); + (X_41,r1_56) := algebra.subjoin(X_32,X_40,nil:BAT,nil:BAT,false,nil:lng); + X_45:bat[:oid,:int] := sql.bind(X_7,"sys","lineorder","lo_extendedprice",0); + (X_47,r1_63) := sql.bind(X_7,"sys","lineorder","lo_extendedprice",2); + X_49:bat[:oid,:int] := sql.bind(X_7,"sys","lineorder","lo_extendedprice",1); + X_50 := sql.projectdelta(X_26,X_45,X_47,r1_63,X_49); + X_51 := algebra.leftfetchjoin(X_41,X_50); + X_52 := batcalc.lng(X_51); + X_53 := sql.projectdelta(X_26,X_19,X_21,r1_25,X_23); + X_54 := algebra.leftfetchjoin(X_41,X_53); + X_55:bat[:oid,:lng] := batcalc.*(X_52,X_54); + X_56:hge := aggr.sum(X_55); + sql.resultSet("sys.L1","revenue","hugeint",128,0,7,X_56); end user.s2_1; # 23:10:45 > 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 @@ -38,23 +38,23 @@ Ready. % clob # type % 302 # length function user.s2_1{autoCommit=true}(A0:int,A1:int,A2:int,A3:int,A4:int,A5:int):void; - X_74: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",50); + X_70: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",50); 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); X_9:bat[:oid,:oid] := sql.tid(X_8,"sys","lineorder"); - X_101 := algebra.subselect(X_20,X_9,A2,A3,true,true,false); + X_97 := algebra.subselect(X_20,X_9,A2,A3,true,true,false); (X_22,r1_26) := sql.bind(X_8,"sys","lineorder","lo_discount",2); - X_102 := algebra.subselect(r1_26,nil:bat[:oid,:oid],A2,A3,true,true,false); + X_98 := algebra.subselect(r1_26,nil:bat[:oid,:oid],A2,A3,true,true,false); X_24:bat[:oid,:int] := sql.bind(X_8,"sys","lineorder","lo_discount",1); - X_104 := algebra.subselect(X_24,X_9,A2,A3,true,true,false); - X_25 := sql.subdelta(X_101,X_9,X_22,X_102,X_104); - X_105 := algebra.subselect(X_12,X_25,A4,A5,true,true,false); + X_100 := algebra.subselect(X_24,X_9,A2,A3,true,true,false); + X_25 := sql.subdelta(X_97,X_9,X_22,X_98,X_100); + X_101 := algebra.subselect(X_12,X_25,A4,A5,true,true,false); (X_15,r1_15) := sql.bind(X_8,"sys","lineorder","lo_quantity",2); - X_106 := algebra.subselect(r1_15,nil:bat[:oid,:oid],A4,A5,true,true,false); + X_102 := algebra.subselect(r1_15,nil:bat[:oid,:oid],A4,A5,true,true,false); X_18:bat[:oid,:int] := sql.bind(X_8,"sys","lineorder","lo_quantity",1); - X_108 := algebra.subselect(X_18,X_25,A4,A5,true,true,false); - X_27 := sql.subdelta(X_105,X_25,X_15,X_106,X_108); + X_103 := algebra.subselect(X_18,X_25,A4,A5,true,true,false); + X_27 := sql.subdelta(X_101,X_25,X_15,X_102,X_103); X_28:bat[:oid,:oid] := sql.bind_idxbat(X_8,"sys","lineorder","lineorder_lo_orderdate_fkey",0); (X_30,r1_38) := sql.bind_idxbat(X_8,"sys","lineorder","lineorder_lo_orderdate_fkey",2); X_32:bat[:oid,:oid] := sql.bind_idxbat(X_8,"sys","lineorder","lineorder_lo_orderdate_fkey",1); @@ -62,30 +62,30 @@ function user.s2_1{autoCommit=true}(A0:i X_36:bat[:oid,:int] := sql.bind(X_8,"sys","dwdate","d_weeknuminyear",0); X_41:bat[:oid,:int] := sql.bind(X_8,"sys","dwdate","d_year",0); X_34:bat[:oid,:oid] := sql.tid(X_8,"sys","dwdate"); - X_109 := algebra.subselect(X_41,X_34,A1,A1,true,false,false); + X_104 := algebra.subselect(X_41,X_34,A1,A1,true,false,false); (X_43,r1_56) := sql.bind(X_8,"sys","dwdate","d_year",2); - X_110 := algebra.subselect(r1_56,nil:bat[:oid,:oid],A1,A1,true,false,false); + X_105 := algebra.subselect(r1_56,nil:bat[:oid,:oid],A1,A1,true,false,false); X_45:bat[:oid,:int] := sql.bind(X_8,"sys","dwdate","d_year",1); - X_112 := algebra.subselect(X_45,X_34,A1,A1,true,false,false); - X_46 := sql.subdelta(X_109,X_34,X_43,X_110,X_112); - X_113 := algebra.subselect(X_36,X_46,A0,A0,true,false,false); + X_106 := algebra.subselect(X_45,X_34,A1,A1,true,false,false); + X_46 := sql.subdelta(X_104,X_34,X_43,X_105,X_106); + X_107 := algebra.subselect(X_36,X_46,A0,A0,true,false,false); (X_38,r1_48) := sql.bind(X_8,"sys","dwdate","d_weeknuminyear",2); - X_114 := algebra.subselect(r1_48,nil:bat[:oid,:oid],A0,A0,true,false,false); + X_108 := algebra.subselect(r1_48,nil:bat[:oid,:oid],A0,A0,true,false,false); X_40:bat[:oid,:int] := sql.bind(X_8,"sys","dwdate","d_weeknuminyear",1); - X_116 := algebra.subselect(X_40,X_46,A0,A0,true,false,false); - X_48 := sql.subdelta(X_113,X_46,X_38,X_114,X_116); - (X_49,r1_66) := algebra.subjoin(X_33,X_48,nil:BAT,nil:BAT,false,nil:lng); - X_55:bat[:oid,:int] := sql.bind(X_8,"sys","lineorder","lo_extendedprice",0); - (X_57,r1_74) := sql.bind(X_8,"sys","lineorder","lo_extendedprice",2); - X_59:bat[:oid,:int] := sql.bind(X_8,"sys","lineorder","lo_extendedprice",1); - X_60 := sql.projectdelta(X_27,X_55,X_57,r1_74,X_59); - X_61 := algebra.leftfetchjoin(X_49,X_60); - X_62 := batcalc.lng(X_61); - X_63 := sql.projectdelta(X_27,X_20,X_22,r1_26,X_24); - X_64 := algebra.leftfetchjoin(X_49,X_63); - X_65:bat[:oid,:lng] := batcalc.*(X_62,X_64); - X_66:hge := aggr.sum(X_65); - sql.resultSet("sys.L1","revenue","hugeint",128,0,7,X_66); + X_109 := algebra.subselect(X_40,X_46,A0,A0,true,false,false); + X_47 := sql.subdelta(X_107,X_46,X_38,X_108,X_109); + (X_48,r1_66) := algebra.subjoin(X_33,X_47,nil:BAT,nil:BAT,false,nil:lng); + X_52:bat[:oid,:int] := sql.bind(X_8,"sys","lineorder","lo_extendedprice",0); + (X_54,r1_74) := sql.bind(X_8,"sys","lineorder","lo_extendedprice",2); + X_56:bat[:oid,:int] := sql.bind(X_8,"sys","lineorder","lo_extendedprice",1); + X_57 := sql.projectdelta(X_27,X_52,X_54,r1_74,X_56); + X_58 := algebra.leftfetchjoin(X_48,X_57); + X_59 := batcalc.lng(X_58); + X_60 := sql.projectdelta(X_27,X_20,X_22,r1_26,X_24); + X_61 := algebra.leftfetchjoin(X_48,X_60); + X_62:bat[:oid,:lng] := batcalc.*(X_59,X_61); + X_63:hge := aggr.sum(X_62); + sql.resultSet("sys.L1","revenue","hugeint",128,0,7,X_63); end user.s2_1; # 23:10:45 > 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 @@ -41,27 +41,27 @@ Ready. _______________________________________________ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list