Changeset: 7cc536447254 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=7cc536447254
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
        sql/test/BugTracker-2013/Tests/between.Bug-3259.stable.out.int128.single
        sql/test/BugTracker-2013/Tests/between.Bug-3259.stable.out.single
        sql/test/BugTracker-2014/Tests/nil_2dec_lng.Bug-3592.stable.out.single
        sql/test/BugTracker-2014/Tests/typecast_error.Bug-3622.sql
        sql/test/BugTracker-2014/Tests/typecast_error.Bug-3622.stable.out
Branch: default
Log Message:

Merge with default


diffs (truncated from 1152 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

Reply via email to