Changeset: 59c077e3d885 for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=59c077e3d885 Modified Files: sql/benchmarks/tpch/Tests/01-explain.stable.out.32bit sql/benchmarks/tpch/Tests/04-explain.stable.out.32bit sql/benchmarks/tpch/Tests/05-explain.stable.out.32bit sql/benchmarks/tpch/Tests/16-explain.stable.out.32bit sql/benchmarks/tpch/Tests/20-explain.stable.out.32bit sql/benchmarks/tpch/Tests/21-explain.stable.out.32bit sql/benchmarks/tpch/Tests/22-explain.stable.out.32bit Branch: default Log Message:
approved 32-bit TPCH MAL plans diffs (truncated from 931 to 300 lines): diff --git a/sql/benchmarks/tpch/Tests/01-explain.stable.out.32bit b/sql/benchmarks/tpch/Tests/01-explain.stable.out.32bit --- a/sql/benchmarks/tpch/Tests/01-explain.stable.out.32bit +++ b/sql/benchmarks/tpch/Tests/01-explain.stable.out.32bit @@ -52,17 +52,17 @@ Ready. % clob # type % 622 # length function user.s2_1{autoCommit=true}(A0:bte,A1:bte,A2:bte,A3:date,A4:lng):void; - X_165:void := querylog.define("explain select\n\tl_returnflag,\n\tl_linestatus,\n\tsum(l_quantity) as sum_qty,\n\tsum(l_extendedprice) as sum_base_price,\n\tsum(l_extendedprice * (1 - l_discount)) as sum_disc_price,\n\tsum(l_extendedprice * (1 - l_discount) * (1 + l_tax)) as sum_charge,\n\tavg(l_quantity) as avg_qty,\n\tavg(l_extendedprice) as avg_price,\n\tavg(l_discount) as avg_disc,\n\tcount(*) as count_order\nfrom\n\tlineitem\nwhere\n\tl_shipdate <= date \\'1998-12-01\\' - interval \\'90\\' day (3)\ngroup by\n\tl_returnflag,\n\tl_linestatus\norder by\n\tl_returnflag,\n\tl_linestatus;","sequential_pipe",85); + X_163:void := querylog.define("explain select\n\tl_returnflag,\n\tl_linestatus,\n\tsum(l_quantity) as sum_qty,\n\tsum(l_extendedprice) as sum_base_price,\n\tsum(l_extendedprice * (1 - l_discount)) as sum_disc_price,\n\tsum(l_extendedprice * (1 - l_discount) * (1 + l_tax)) as sum_charge,\n\tavg(l_quantity) as avg_qty,\n\tavg(l_extendedprice) as avg_price,\n\tavg(l_discount) as avg_disc,\n\tcount(*) as count_order\nfrom\n\tlineitem\nwhere\n\tl_shipdate <= date \\'1998-12-01\\' - interval \\'90\\' day (3)\ngroup by\n\tl_returnflag,\n\tl_linestatus\norder by\n\tl_returnflag,\n\tl_linestatus;","sequential_pipe",86); X_7 := sql.mvc(); X_11:bat[:oid,:date] := sql.bind(X_7,"sys","lineitem","l_shipdate",0); X_8:bat[:oid,:oid] := sql.tid(X_7,"sys","lineitem"); X_19 := mtime.date_sub_msec_interval(A3,A4); - X_183 := algebra.thetasubselect(X_11,X_8,X_19,"<="); + X_182 := algebra.thetasubselect(X_11,X_8,X_19,"<="); (X_14,r1_14) := sql.bind(X_7,"sys","lineitem","l_shipdate",2); - X_184 := algebra.thetasubselect(r1_14,X_19,"<="); + X_183 := algebra.thetasubselect(r1_14,nil:bat[:oid,:oid],X_19,"<="); X_17:bat[:oid,:date] := sql.bind(X_7,"sys","lineitem","l_shipdate",1); X_185 := algebra.thetasubselect(X_17,X_8,X_19,"<="); - X_20 := sql.subdelta(X_183,X_8,X_14,X_184,X_185); + X_20 := sql.subdelta(X_182,X_8,X_14,X_183,X_185); X_22:bat[:oid,:str] := sql.bind(X_7,"sys","lineitem","l_linestatus",0); (X_24,r1_28) := sql.bind(X_7,"sys","lineitem","l_linestatus",2); X_26:bat[:oid,:str] := sql.bind(X_7,"sys","lineitem","l_linestatus",1); @@ -126,16 +126,16 @@ function user.s2_1{autoCommit=true}(A0:b X_117 := sql.resultSet(10,1,X_49); sql.rsColumn(X_117,"sys.lineitem","l_returnflag","char",1,0,X_49); sql.rsColumn(X_117,"sys.lineitem","l_linestatus","char",1,0,X_50); - sql.rsColumn(X_117,"sys.L1","sum_qty","decimal",15,2,X_64); - sql.rsColumn(X_117,"sys.L2","sum_base_price","decimal",15,2,X_72); + sql.rsColumn(X_117,"sys.L1","sum_qty","decimal",19,2,X_64); + sql.rsColumn(X_117,"sys.L2","sum_base_price","decimal",19,2,X_72); sql.rsColumn(X_117,"sys.L3","sum_disc_price","decimal",19,4,X_86); sql.rsColumn(X_117,"sys.L4","sum_charge","decimal",19,6,X_104); sql.rsColumn(X_117,"sys.L5","avg_qty","double",53,0,X_107); sql.rsColumn(X_117,"sys.L6","avg_price","double",53,0,X_110); sql.rsColumn(X_117,"sys.L7","avg_disc","double",53,0,X_113); sql.rsColumn(X_117,"sys.L10","count_order","wrd",32,0,X_116); - X_162 := io.stdout(); - sql.exportResult(X_162,X_117); + X_161 := io.stdout(); + sql.exportResult(X_161,X_117); end user.s2_1; # 22:53:25 > diff --git a/sql/benchmarks/tpch/Tests/04-explain.stable.out.32bit b/sql/benchmarks/tpch/Tests/04-explain.stable.out.32bit --- a/sql/benchmarks/tpch/Tests/04-explain.stable.out.32bit +++ b/sql/benchmarks/tpch/Tests/04-explain.stable.out.32bit @@ -86,26 +86,25 @@ function user.s2_1{autoCommit=true}(A0:d X_58:bat[:oid,:int] := sql.bind(X_5,"sys","lineitem","l_orderkey",1); X_59 := sql.delta(X_54,X_56,r1_62,X_58); X_60:bat[:oid,:int] := algebra.leftfetchjoinPath(X_51,X_30,X_59); - (X_61,r1_68) := algebra.join(X_28,X_60); - X_63 := algebra.tinter(X_29,X_61); - X_64:bat[:oid,:str] := sql.bind(X_5,"sys","orders","o_orderpriority",0); - (X_67,r1_74) := sql.bind(X_5,"sys","orders","o_orderpriority",2); - X_70:bat[:oid,:str] := sql.bind(X_5,"sys","orders","o_orderpriority",1); - X_71 := sql.delta(X_64,X_67,r1_74,X_70); - X_72:bat[:oid,:str] := algebra.leftfetchjoinPath(X_63,X_119,X_71); - (X_73,r1_82,r2_82) := group.subgroupdone(X_72); - X_76 := algebra.leftfetchjoin(r1_82,X_72); - X_81:bat[:oid,:wrd] := aggr.subcount(X_73,X_73,r1_82,false); - (X_77,r1_86,r2_86) := algebra.subsort(X_76,false,false); - X_80 := algebra.leftfetchjoin(r1_86,X_76); - X_82 := algebra.leftfetchjoin(r1_86,X_81); - X_83 := sql.resultSet(2,1,X_80); - sql.rsColumn(X_83,"sys.orders","o_orderpriority","char",15,0,X_80); - sql.rsColumn(X_83,"sys.L1","order_count","wrd",32,0,X_82); - X_96 := io.stdout(); - sql.exportResult(X_96,X_83); -end s2_1; -# querylog.define("explain select\n\to_orderpriority,\n\tcount(*) as order_count\nfrom\n\torders\nwhere\n\to_orderdate >= date \\'1993-07-01\\'\n\tand o_orderdate < date \\'1993-07-01\\' + interval \\'3\\' month\n\tand exists (\n\t\tselect\n\t\t\t*\n\t\tfrom\n\t\t\tlineitem\n\t\twhere\n\t\t\tl_orderkey = o_orderkey\n\t\t\tand l_commitdate < l_receiptdate\n\t)\ngroup by\n\to_orderpriority\norder by\n\to_orderpriority;","sequential_pipe") + (X_61,r1_68) := algebra.subjoin(X_28,X_60,nil:BAT,nil:BAT,false,nil:lng); + X_65 := algebra.tinter(X_29,X_61); + X_66:bat[:oid,:str] := sql.bind(X_5,"sys","orders","o_orderpriority",0); + (X_70,r1_77) := sql.bind(X_5,"sys","orders","o_orderpriority",2); + X_72:bat[:oid,:str] := sql.bind(X_5,"sys","orders","o_orderpriority",1); + X_73 := sql.delta(X_66,X_70,r1_77,X_72); + X_74:bat[:oid,:str] := algebra.leftfetchjoinPath(X_65,X_20,X_6,X_73); + (X_75,r1_84,r2_84) := group.subgroupdone(X_74); + X_78 := algebra.leftfetchjoin(r1_84,X_74); + X_83:bat[:oid,:wrd] := aggr.subcount(X_75,X_75,r1_84,false); + (X_79,r1_88,r2_88) := algebra.subsort(X_78,false,false); + X_82 := algebra.leftfetchjoin(r1_88,X_78); + X_85 := algebra.leftfetchjoin(r1_88,X_83); + X_86 := sql.resultSet(2,1,X_82); + sql.rsColumn(X_86,"sys.orders","o_orderpriority","char",15,0,X_82); + sql.rsColumn(X_86,"sys.L1","order_count","wrd",32,0,X_85); + X_99 := io.stdout(); + sql.exportResult(X_99,X_86); +end user.s2_1; # 22:53:26 > # 22:53:26 > "Done." diff --git a/sql/benchmarks/tpch/Tests/05-explain.stable.out.32bit b/sql/benchmarks/tpch/Tests/05-explain.stable.out.32bit --- a/sql/benchmarks/tpch/Tests/05-explain.stable.out.32bit +++ b/sql/benchmarks/tpch/Tests/05-explain.stable.out.32bit @@ -53,120 +53,119 @@ Ready. % .explain # table_name % mal # name % clob # type -% 571 # length +% 592 # length function user.s2_1{autoCommit=true}(A0:bte,A1:str,A2:date,A3:date,A4:int):void; + X_202:void := querylog.define("explain select\n\tn_name,\n\tsum(l_extendedprice * (1 - l_discount)) as revenue\nfrom\n\tcustomer,\n\torders,\n\tlineitem,\n\tsupplier,\n\tnation,\n\tregion\nwhere\n\tc_custkey = o_custkey\n\tand l_orderkey = o_orderkey\n\tand l_suppkey = s_suppkey\n\tand c_nationkey = s_nationkey\n\tand s_nationkey = n_nationkey\n\tand n_regionkey = r_regionkey\n\tand r_name = \\'ASIA\\'\n\tand o_orderdate >= date \\'1994-01-01\\'\n\tand o_orderdate < date \\'1994-01-01\\' + interval \\'1\\' year\ngroup by\n\tn_name\norder by\n\trevenue desc;","sequential_pipe",112); X_7 := sql.mvc(); X_11:bat[:oid,:date] := sql.bind(X_7,"sys","orders","o_orderdate",0); X_8:bat[:oid,:oid] := sql.tid(X_7,"sys","orders"); X_19 := mtime.addmonths(A3,A4); - X_236 := algebra.subselect(X_11,X_8,A2,X_19,true,false,false); + X_242 := algebra.subselect(X_11,X_8,A2,X_19,true,false,false); (X_14,r1_14) := sql.bind(X_7,"sys","orders","o_orderdate",2); - X_237 := algebra.subselect(r1_14,A2,X_19,true,false,false); + X_243 := algebra.subselect(r1_14,nil:bat[:oid,:oid],A2,X_19,true,false,false); X_17:bat[:oid,:date] := sql.bind(X_7,"sys","orders","o_orderdate",1); - X_238 := algebra.subselect(X_17,X_8,A2,X_19,true,false,false); - X_20 := sql.subdelta(X_236,X_8,X_14,X_237,X_238); + X_245 := algebra.subselect(X_17,X_8,A2,X_19,true,false,false); + X_20 := sql.subdelta(X_242,X_8,X_14,X_243,X_245); X_22:bat[:oid,:oid] := sql.bind_idxbat(X_7,"sys","orders","orders_o_custkey_fkey",0); (X_24,r1_29) := sql.bind_idxbat(X_7,"sys","orders","orders_o_custkey_fkey",2); X_26:bat[:oid,:oid] := sql.bind_idxbat(X_7,"sys","orders","orders_o_custkey_fkey",1); X_27 := sql.projectdelta(X_20,X_22,X_24,r1_29,X_26); X_28:bat[:oid,:oid] := sql.tid(X_7,"sys","customer"); - (X_30,r1_37) := algebra.join(X_27,X_28); - X_32 := X_20; - X_33 := algebra.leftfetchjoin(X_30,X_32); - X_34:bat[:oid,:oid] := sql.tid(X_7,"sys","lineitem"); - X_37:bat[:oid,:oid] := sql.bind_idxbat(X_7,"sys","lineitem","lineitem_l_orderkey_fkey",0); - (X_40,r1_47) := sql.bind_idxbat(X_7,"sys","lineitem","lineitem_l_orderkey_fkey",2); - X_43:bat[:oid,:oid] := sql.bind_idxbat(X_7,"sys","lineitem","lineitem_l_orderkey_fkey",1); - X_45 := sql.projectdelta(X_34,X_37,X_40,r1_47,X_43); - (X_46,r1_54) := algebra.join(X_33,X_45); - X_48:bat[:oid,:int] := sql.bind(X_7,"sys","lineitem","l_suppkey",0); - (X_50,r1_58) := sql.bind(X_7,"sys","lineitem","l_suppkey",2); - X_52:bat[:oid,:int] := sql.bind(X_7,"sys","lineitem","l_suppkey",1); - X_53 := sql.projectdelta(X_34,X_48,X_50,r1_58,X_52); - X_54 := algebra.leftfetchjoin(r1_54,X_53); - X_55:bat[:oid,:wrd] := batmkey.hash(X_54); - X_57:bat[:oid,:int] := sql.bind(X_7,"sys","customer","c_nationkey",0); - (X_60,r1_72) := sql.bind(X_7,"sys","customer","c_nationkey",2); - X_62:bat[:oid,:int] := sql.bind(X_7,"sys","customer","c_nationkey",1); - X_64 := sql.projectdelta(X_28,X_57,X_60,r1_72,X_62); - X_65:bat[:oid,:int] := algebra.leftfetchjoinPath(X_46,r1_37,X_64); - X_66:bat[:oid,:wrd] := mkey.bulk_rotate_xor_hash(X_55,11,X_65); - X_67:bat[:oid,:oid] := sql.tid(X_7,"sys","supplier"); - X_69:bat[:oid,:int] := sql.bind(X_7,"sys","supplier","s_suppkey",0); - (X_72,r1_86) := sql.bind(X_7,"sys","supplier","s_suppkey",2); - X_75:bat[:oid,:int] := sql.bind(X_7,"sys","supplier","s_suppkey",1); - X_77 := sql.projectdelta(X_67,X_69,X_72,r1_86,X_75); - X_78:bat[:oid,:wrd] := batmkey.hash(X_77); - X_79:bat[:oid,:int] := sql.bind(X_7,"sys","supplier","s_nationkey",0); - (X_81,r1_97) := sql.bind(X_7,"sys","supplier","s_nationkey",2); - X_83:bat[:oid,:int] := sql.bind(X_7,"sys","supplier","s_nationkey",1); - X_84 := sql.projectdelta(X_67,X_79,X_81,r1_97,X_83); - X_85:bat[:oid,:wrd] := mkey.bulk_rotate_xor_hash(X_78,11,X_84); - (X_86,r1_103) := algebra.join(X_66,X_85); - X_88 := algebra.leftfetchjoin(X_86,X_54); - X_89 := algebra.leftfetchjoin(r1_103,X_77); - X_90:bat[:oid,:bit] := batcalc.==(X_88,X_89); - X_92 := algebra.subselect(X_90,true,true,true,true,false); - X_94 := algebra.leftfetchjoin(X_92,X_86); - X_95 := algebra.leftfetchjoin(X_94,X_65); - X_96 := algebra.leftfetchjoin(X_92,r1_103); - X_97 := algebra.leftfetchjoin(X_96,X_84); - X_98:bat[:oid,:bit] := batcalc.==(X_95,X_97); - X_99 := algebra.subselect(X_98,true,true,true,true,false); - X_100:bat[:oid,:oid] := sql.bind_idxbat(X_7,"sys","supplier","supplier_s_nationkey_fkey",0); - (X_105,r1_127) := sql.bind_idxbat(X_7,"sys","supplier","supplier_s_nationkey_fkey",2); - X_108:bat[:oid,:oid] := sql.bind_idxbat(X_7,"sys","supplier","supplier_s_nationkey_fkey",1); - X_110 := sql.projectdelta(X_67,X_100,X_105,r1_127,X_108); - X_111:bat[:oid,:oid] := algebra.leftfetchjoinPath(X_99,X_96,X_110); - X_112:bat[:oid,:oid] := sql.tid(X_7,"sys","nation"); - (X_114,r1_137) := algebra.join(X_111,X_112); - X_116:bat[:oid,:oid] := sql.bind_idxbat(X_7,"sys","nation","nation_n_regionkey_fkey",0); - (X_118,r1_141) := sql.bind_idxbat(X_7,"sys","nation","nation_n_regionkey_fkey",2); - X_120:bat[:oid,:oid] := sql.bind_idxbat(X_7,"sys","nation","nation_n_regionkey_fkey",1); - X_121 := sql.projectdelta(X_112,X_116,X_118,r1_141,X_120); - X_122 := algebra.leftfetchjoin(r1_137,X_121); - X_125:bat[:oid,:str] := sql.bind(X_7,"sys","region","r_name",0); - X_123:bat[:oid,:oid] := sql.tid(X_7,"sys","region"); - X_239 := algebra.subselect(X_125,X_123,A1,A1,true,true,false); - (X_127,r1_151) := sql.bind(X_7,"sys","region","r_name",2); - X_240 := algebra.subselect(r1_151,A1,A1,true,true,false); - X_129:bat[:oid,:str] := sql.bind(X_7,"sys","region","r_name",1); - X_241 := algebra.subselect(X_129,X_123,A1,A1,true,true,false); - X_130 := sql.subdelta(X_239,X_123,X_127,X_240,X_241); - X_133 := X_130; - (X_134,r1_161) := algebra.join(X_122,X_133); - X_242 := algebra.leftfetchjoin(X_134,X_114); - X_136 := algebra.leftfetchjoin(X_99,X_94); - X_137:bat[:oid,:lng] := sql.bind(X_7,"sys","lineitem","l_extendedprice",0); - (X_142,r1_169) := sql.bind(X_7,"sys","lineitem","l_extendedprice",2); - X_145:bat[:oid,:lng] := sql.bind(X_7,"sys","lineitem","l_extendedprice",1); - X_147 := sql.projectdelta(X_34,X_137,X_142,r1_169,X_145); - X_148:bat[:oid,:lng] := algebra.leftfetchjoinPath(X_242,X_136,r1_54,X_147); - X_149 := calc.lng(A0,15,2); - X_151:bat[:oid,:lng] := sql.bind(X_7,"sys","lineitem","l_discount",0); - (X_153,r1_185) := sql.bind(X_7,"sys","lineitem","l_discount",2); - X_155:bat[:oid,:lng] := sql.bind(X_7,"sys","lineitem","l_discount",1); - X_156 := sql.projectdelta(X_34,X_151,X_153,r1_185,X_155); - X_157:bat[:oid,:lng] := algebra.leftfetchjoinPath(X_242,X_136,r1_54,X_156); - X_158:bat[:oid,:lng] := batcalc.-(X_149,X_157); - X_159:bat[:oid,:lng] := batcalc.*(X_148,X_158); - X_160:bat[:oid,:str] := sql.bind(X_7,"sys","nation","n_name",0); - (X_165,r1_204) := sql.bind(X_7,"sys","nation","n_name",2); - X_168:bat[:oid,:str] := sql.bind(X_7,"sys","nation","n_name",1); - X_170 := sql.projectdelta(X_112,X_160,X_165,r1_204,X_168); - X_171:bat[:oid,:str] := algebra.leftfetchjoinPath(X_134,r1_137,X_170); - (X_172,r1_213,r2_213) := group.subgroupdone(X_171); - X_175:bat[:oid,:lng] := aggr.subsum(X_159,X_172,r1_213,true,true); - (X_177,r1_218,r2_218) := algebra.subsort(X_175,true,false); - X_181:bat[:oid,:str] := algebra.leftfetchjoinPath(r1_218,r1_213,X_171); - X_182 := algebra.leftfetchjoin(r1_218,X_175); - X_183 := sql.resultSet(2,1,X_181); - sql.rsColumn(X_183,"sys.nation","n_name","char",25,0,X_181); - sql.rsColumn(X_183,"sys.L1","revenue","decimal",19,4,X_182); - X_194 := io.stdout(); - sql.exportResult(X_194,X_183); -end s2_1; -# querylog.define("explain select\n\tn_name,\n\tsum(l_extendedprice * (1 - l_discount)) as revenue\nfrom\n\tcustomer,\n\torders,\n\tlineitem,\n\tsupplier,\n\tnation,\n\tregion\nwhere\n\tc_custkey = o_custkey\n\tand l_orderkey = o_orderkey\n\tand l_suppkey = s_suppkey\n\tand c_nationkey = s_nationkey\n\tand s_nationkey = n_nationkey\n\tand n_regionkey = r_regionkey\n\tand r_name = \\'ASIA\\'\n\tand o_orderdate >= date \\'1994-01-01\\'\n\tand o_orderdate < date \\'1994-01-01\\' + interval \\'1\\' year\ngroup by\n\tn_name\norder by\n\trevenue desc;","sequential_pipe") + (X_30,r1_37) := algebra.subjoin(X_27,X_28,nil:BAT,nil:BAT,false,nil:lng); + X_34 := X_20; + X_35 := algebra.leftfetchjoin(X_30,X_34); + X_36:bat[:oid,:oid] := sql.tid(X_7,"sys","lineitem"); + X_39:bat[:oid,:oid] := sql.bind_idxbat(X_7,"sys","lineitem","lineitem_l_orderkey_fkey",0); + (X_42,r1_49) := sql.bind_idxbat(X_7,"sys","lineitem","lineitem_l_orderkey_fkey",2); + X_45:bat[:oid,:oid] := sql.bind_idxbat(X_7,"sys","lineitem","lineitem_l_orderkey_fkey",1); + X_47 := sql.projectdelta(X_36,X_39,X_42,r1_49,X_45); + (X_48,r1_56) := algebra.subjoin(X_35,X_47,nil:BAT,nil:BAT,false,nil:lng); + X_50:bat[:oid,:int] := sql.bind(X_7,"sys","lineitem","l_suppkey",0); + (X_52,r1_60) := sql.bind(X_7,"sys","lineitem","l_suppkey",2); + X_54:bat[:oid,:int] := sql.bind(X_7,"sys","lineitem","l_suppkey",1); + X_55 := sql.projectdelta(X_36,X_50,X_52,r1_60,X_54); + X_56 := algebra.leftfetchjoin(r1_56,X_55); + X_57:bat[:oid,:wrd] := batmkey.hash(X_56); + X_59:bat[:oid,:int] := sql.bind(X_7,"sys","customer","c_nationkey",0); + (X_62,r1_74) := sql.bind(X_7,"sys","customer","c_nationkey",2); + X_64:bat[:oid,:int] := sql.bind(X_7,"sys","customer","c_nationkey",1); + X_66 := sql.projectdelta(X_28,X_59,X_62,r1_74,X_64); + X_67:bat[:oid,:int] := algebra.leftfetchjoinPath(X_48,r1_37,X_66); + X_68:bat[:oid,:wrd] := mkey.bulk_rotate_xor_hash(X_57,11,X_67); + X_69:bat[:oid,:oid] := sql.tid(X_7,"sys","supplier"); + X_71:bat[:oid,:int] := sql.bind(X_7,"sys","supplier","s_suppkey",0); + (X_74,r1_88) := sql.bind(X_7,"sys","supplier","s_suppkey",2); + X_77:bat[:oid,:int] := sql.bind(X_7,"sys","supplier","s_suppkey",1); + X_79 := sql.projectdelta(X_69,X_71,X_74,r1_88,X_77); + X_80:bat[:oid,:wrd] := batmkey.hash(X_79); + X_81:bat[:oid,:int] := sql.bind(X_7,"sys","supplier","s_nationkey",0); + (X_83,r1_99) := sql.bind(X_7,"sys","supplier","s_nationkey",2); + X_85:bat[:oid,:int] := sql.bind(X_7,"sys","supplier","s_nationkey",1); + X_86 := sql.projectdelta(X_69,X_81,X_83,r1_99,X_85); + X_87:bat[:oid,:wrd] := mkey.bulk_rotate_xor_hash(X_80,11,X_86); + (X_88,r1_105) := algebra.subjoin(X_68,X_87,nil:BAT,nil:BAT,false,nil:lng); + X_93 := algebra.leftfetchjoin(X_88,X_56); + X_94 := algebra.leftfetchjoin(r1_105,X_79); + X_95:bat[:oid,:bit] := batcalc.==(X_93,X_94); + X_97 := algebra.subselect(X_95,true,true,true,true,false); + X_98 := algebra.leftfetchjoin(X_97,X_88); + X_99 := algebra.leftfetchjoin(X_98,X_67); + X_100 := algebra.leftfetchjoin(X_97,r1_105); + X_101 := algebra.leftfetchjoin(X_100,X_86); + X_102:bat[:oid,:bit] := batcalc.==(X_99,X_101); + X_103 := algebra.subselect(X_102,true,true,true,true,false); + X_104:bat[:oid,:oid] := sql.bind_idxbat(X_7,"sys","supplier","supplier_s_nationkey_fkey",0); + (X_109,r1_131) := sql.bind_idxbat(X_7,"sys","supplier","supplier_s_nationkey_fkey",2); + X_112:bat[:oid,:oid] := sql.bind_idxbat(X_7,"sys","supplier","supplier_s_nationkey_fkey",1); + X_114 := sql.projectdelta(X_69,X_104,X_109,r1_131,X_112); + X_115:bat[:oid,:oid] := algebra.leftfetchjoinPath(X_103,X_100,X_114); + X_116:bat[:oid,:oid] := sql.tid(X_7,"sys","nation"); + (X_118,r1_141) := algebra.subjoin(X_115,X_116,nil:BAT,nil:BAT,false,nil:lng); + X_123:bat[:oid,:oid] := sql.bind_idxbat(X_7,"sys","nation","nation_n_regionkey_fkey",0); + (X_125,r1_148) := sql.bind_idxbat(X_7,"sys","nation","nation_n_regionkey_fkey",2); + X_127:bat[:oid,:oid] := sql.bind_idxbat(X_7,"sys","nation","nation_n_regionkey_fkey",1); + X_128 := sql.projectdelta(X_116,X_123,X_125,r1_148,X_127); + X_129 := algebra.leftfetchjoin(r1_141,X_128); + X_132:bat[:oid,:str] := sql.bind(X_7,"sys","region","r_name",0); + X_130:bat[:oid,:oid] := sql.tid(X_7,"sys","region"); + X_246 := algebra.subselect(X_132,X_130,A1,A1,true,true,false); + (X_134,r1_158) := sql.bind(X_7,"sys","region","r_name",2); + X_247 := algebra.subselect(r1_158,nil:bat[:oid,:oid],A1,A1,true,true,false); + X_137:bat[:oid,:str] := sql.bind(X_7,"sys","region","r_name",1); + X_249 := algebra.subselect(X_137,X_130,A1,A1,true,true,false); + X_138 := sql.subdelta(X_246,X_130,X_134,X_247,X_249); + X_140 := X_138; + (X_141,r1_168) := algebra.subjoin(X_129,X_140,nil:BAT,nil:BAT,false,nil:lng); + X_143 := algebra.leftfetchjoin(X_103,X_98); + X_144:bat[:oid,:lng] := sql.bind(X_7,"sys","lineitem","l_extendedprice",0); + (X_148,r1_175) := sql.bind(X_7,"sys","lineitem","l_extendedprice",2); + X_151:bat[:oid,:lng] := sql.bind(X_7,"sys","lineitem","l_extendedprice",1); + X_153 := sql.projectdelta(X_36,X_144,X_148,r1_175,X_151); + X_154:bat[:oid,:lng] := algebra.leftfetchjoinPath(X_141,X_118,X_143,r1_56,X_153); + X_155 := calc.lng(A0,15,2); + X_157:bat[:oid,:lng] := sql.bind(X_7,"sys","lineitem","l_discount",0); + (X_159,r1_191) := sql.bind(X_7,"sys","lineitem","l_discount",2); + X_162:bat[:oid,:lng] := sql.bind(X_7,"sys","lineitem","l_discount",1); + X_163 := sql.projectdelta(X_36,X_157,X_159,r1_191,X_162); + X_164:bat[:oid,:lng] := algebra.leftfetchjoinPath(X_141,X_118,X_143,r1_56,X_163); + X_165:bat[:oid,:lng] := batcalc.-(X_155,X_164); _______________________________________________ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list