Changeset: f1b1ab849e4c for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=f1b1ab849e4c
Modified Files:
        sql/benchmarks/ssbm/Tests/04-explain.stable.out
        sql/benchmarks/ssbm/Tests/05-explain.stable.out
        sql/benchmarks/ssbm/Tests/06-explain.stable.out
        sql/benchmarks/ssbm/Tests/07-explain.stable.out
        sql/benchmarks/ssbm/Tests/08-explain.stable.out
        sql/benchmarks/ssbm/Tests/09-explain.stable.out
        sql/benchmarks/ssbm/Tests/10-explain.stable.out
        sql/benchmarks/tpch/Tests/01-explain.stable.out
        sql/benchmarks/tpch/Tests/03-explain.stable.out
        sql/benchmarks/tpch/Tests/05-explain.stable.out
        sql/benchmarks/tpch/Tests/06-explain.stable.out
        sql/benchmarks/tpch/Tests/07-explain.stable.out
        sql/benchmarks/tpch/Tests/08-explain.stable.out
        sql/benchmarks/tpch/Tests/09-explain.stable.out
        sql/benchmarks/tpch/Tests/10-explain.stable.out
        sql/benchmarks/tpch/Tests/11-explain.stable.out
        sql/benchmarks/tpch/Tests/12-explain.stable.out
        sql/benchmarks/tpch/Tests/14-explain.stable.out
        sql/benchmarks/tpch/Tests/15-explain.stable.out
        sql/benchmarks/tpch/Tests/17-explain.stable.out
        sql/benchmarks/tpch/Tests/18-explain.stable.out
        sql/benchmarks/tpch/Tests/19-explain.stable.out
        sql/benchmarks/tpch/Tests/19-plan.stable.out
        sql/benchmarks/tpch/Tests/20-explain.stable.out
        sql/benchmarks/tpch/Tests/22-explain.stable.out
        sql/server/rel_select.c
        sql/test/BugTracker-2011/Tests/crash_on_alias.Bug-2798.stable.out
        sql/test/BugTracker-2013/Tests/between.Bug-3259.stable.out
        sql/test/leaks/Tests/check1.stable.out
        sql/test/leaks/Tests/check2.stable.out
        sql/test/leaks/Tests/check3.stable.out
        sql/test/leaks/Tests/check4.stable.out
        sql/test/leaks/Tests/check5.stable.out
Branch: sfcgal
Log Message:

merged with default


diffs (truncated from 5706 to 300 lines):

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
@@ -41,89 +41,89 @@ Ready.
 % clob # type
 % 362 # length
 function user.s2_1(A0:str,A1:str):void;
-    X_130:void := querylog.define("explain\nselect sum(lo_revenue), d_year, 
p_brand1\n from lineorder, dwdate, part, supplier\n where lo_orderdate = 
d_datekey\n and lo_partkey = p_partkey\n and lo_suppkey = s_suppkey\n and 
p_category = \\'MFGR#12\\' \n and s_region = \\'AMERICA\\'\n group by d_year, 
p_brand1\n order by d_year, p_brand1;","sequential_pipe",85);
-    X_98 := bat.new(nil:oid,nil:str);
-    X_106 := bat.append(X_98,"sys.L1");
-    X_115 := bat.append(X_106,"sys.dwdate");
-    X_123 := bat.append(X_115,"sys.part");
-    X_101 := bat.new(nil:oid,nil:str);
-    X_108 := bat.append(X_101,"L1");
-    X_117 := bat.append(X_108,"d_year");
-    X_125 := bat.append(X_117,"p_brand1");
-    X_102 := bat.new(nil:oid,nil:str);
-    X_110 := bat.append(X_102,"bigint");
-    X_118 := bat.append(X_110,"int");
-    X_126 := bat.append(X_118,"clob");
-    X_103 := bat.new(nil:oid,nil:int);
-    X_112 := bat.append(X_103,64);
-    X_120 := bat.append(X_112,32);
-    X_128 := bat.append(X_120,0);
-    X_105 := bat.new(nil:oid,nil:int);
-    X_114 := bat.append(X_105,0);
-    X_122 := bat.append(X_114,0);
-    X_129 := bat.append(X_122,0);
-    X_3 := sql.mvc();
-    C_4:bat[:oid] := sql.tid(X_3,"sys","lineorder");
-    X_7:bat[:oid] := 
sql.bind_idxbat(X_3,"sys","lineorder","lineorder_lo_partkey_fkey",0);
-    (X_10,r1_10) := 
sql.bind_idxbat(X_3,"sys","lineorder","lineorder_lo_partkey_fkey",2);
-    X_13:bat[:oid] := 
sql.bind_idxbat(X_3,"sys","lineorder","lineorder_lo_partkey_fkey",1);
-    X_15 := sql.projectdelta(C_4,X_7,X_10,r1_10,X_13);
-    X_18:bat[:str] := sql.bind(X_3,"sys","part","p_category",0);
-    C_16:bat[:oid] := sql.tid(X_3,"sys","part");
-    C_145 := algebra.subselect(X_18,C_16,A0,A0,true,false,false);
-    (C_20,r1_21) := sql.bind(X_3,"sys","part","p_category",2);
-    C_146 := algebra.subselect(r1_21,nil:bat[:oid],A0,A0,true,false,false);
-    X_22:bat[:str] := sql.bind(X_3,"sys","part","p_category",1);
-    C_148 := algebra.subselect(X_22,C_16,A0,A0,true,false,false);
-    C_23 := sql.subdelta(C_145,C_16,C_20,C_146,C_148);
-    (X_26,r1_32) := algebra.subjoin(X_15,C_23,nil:BAT,nil:BAT,false,nil:lng);
-    X_30:bat[:oid] := 
sql.bind_idxbat(X_3,"sys","lineorder","lineorder_lo_suppkey_fkey",0);
-    (X_32,r1_39) := 
sql.bind_idxbat(X_3,"sys","lineorder","lineorder_lo_suppkey_fkey",2);
-    X_34:bat[:oid] := 
sql.bind_idxbat(X_3,"sys","lineorder","lineorder_lo_suppkey_fkey",1);
-    X_35 := sql.projectdelta(C_4,X_30,X_32,r1_39,X_34);
-    X_36 := algebra.projection(X_26,X_35);
-    X_39:bat[:str] := sql.bind(X_3,"sys","supplier","s_region",0);
-    C_37:bat[:oid] := sql.tid(X_3,"sys","supplier");
-    C_149 := algebra.subselect(X_39,C_37,A1,A1,true,false,false);
-    (C_41,r1_49) := sql.bind(X_3,"sys","supplier","s_region",2);
-    C_150 := algebra.subselect(r1_49,nil:bat[:oid],A1,A1,true,false,false);
-    X_43:bat[:str] := sql.bind(X_3,"sys","supplier","s_region",1);
-    C_151 := algebra.subselect(X_43,C_37,A1,A1,true,false,false);
-    C_44 := sql.subdelta(C_149,C_37,C_41,C_150,C_151);
-    (X_45,r1_57) := algebra.subjoin(X_36,C_44,nil:BAT,nil:BAT,false,nil:lng);
-    X_47:bat[:oid] := 
sql.bind_idxbat(X_3,"sys","lineorder","lineorder_lo_orderdate_fkey",0);
-    (X_49,r1_61) := 
sql.bind_idxbat(X_3,"sys","lineorder","lineorder_lo_orderdate_fkey",2);
-    X_51:bat[:oid] := 
sql.bind_idxbat(X_3,"sys","lineorder","lineorder_lo_orderdate_fkey",1);
-    X_52 := sql.projectdelta(C_4,X_47,X_49,r1_61,X_51);
-    X_53:bat[:oid] := algebra.projectionpath(X_45,X_26,X_52);
-    C_54:bat[:oid] := sql.tid(X_3,"sys","dwdate");
-    (X_56,r1_70) := algebra.subjoin(X_53,C_54,nil:BAT,nil:BAT,false,nil:lng);
-    X_58:bat[:str] := sql.bind(X_3,"sys","part","p_brand1",0);
-    (C_60,r1_78) := sql.bind(X_3,"sys","part","p_brand1",2);
-    X_62:bat[:str] := sql.bind(X_3,"sys","part","p_brand1",1);
-    X_63 := sql.projectdelta(C_23,X_58,C_60,r1_78,X_62);
-    X_64:bat[:str] := algebra.projectionpath(X_56,X_45,r1_32,X_63);
-    X_65:bat[:int] := sql.bind(X_3,"sys","dwdate","d_year",0);
-    (C_67,r1_89) := sql.bind(X_3,"sys","dwdate","d_year",2);
-    X_69:bat[:int] := sql.bind(X_3,"sys","dwdate","d_year",1);
-    X_70 := sql.projectdelta(C_54,X_65,C_67,r1_89,X_69);
-    X_71 := algebra.projection(r1_70,X_70);
-    (X_72,r1_95,r2_95) := group.subgroup(X_71);
-    (X_75,r1_98,r2_98) := group.subgroupdone(X_64,X_72);
-    X_78 := algebra.projection(r1_98,X_64);
-    X_79 := algebra.projection(r1_98,X_71);
-    X_86:bat[:int] := sql.bind(X_3,"sys","lineorder","lo_revenue",0);
-    (C_88,r1_113) := sql.bind(X_3,"sys","lineorder","lo_revenue",2);
-    X_90:bat[:int] := sql.bind(X_3,"sys","lineorder","lo_revenue",1);
-    X_91 := sql.projectdelta(C_4,X_86,C_88,r1_113,X_90);
-    X_92:bat[:int] := algebra.projectionpath(X_56,X_45,X_26,X_91);
-    X_93:bat[:lng] := aggr.subsum(X_92,X_75,r1_98,true,true);
-    (X_80,r1_103,r2_103) := algebra.subsort(X_79,false,false);
-    (X_83,r1_106,r2_106) := algebra.subsort(X_78,r1_103,r2_103,false,false);
-    X_94 := algebra.projection(r1_106,X_93);
-    X_95 := algebra.projection(r1_106,X_79);
-    X_96 := algebra.projection(r1_106,X_78);
-    sql.resultSet(X_122,X_124,X_125,X_127,X_128,X_94,X_95,X_96);
+    X_159:void := querylog.define("explain\nselect sum(lo_revenue), d_year, 
p_brand1\n from lineorder, dwdate, part, supplier\n where lo_orderdate = 
d_datekey\n and lo_partkey = p_partkey\n and lo_suppkey = s_suppkey\n and 
p_category = \\'MFGR#12\\' \n and s_region = \\'AMERICA\\'\n group by d_year, 
p_brand1\n order by d_year, p_brand1;","sequential_pipe",85);
+    X_125 := bat.new(nil:str);
+    X_132 := bat.append(X_125,"sys.L1");
+    X_142 := bat.append(X_132,"sys.dwdate");
+    X_151 := bat.append(X_142,"sys.part");
+    X_127 := bat.new(nil:str);
+    X_134 := bat.append(X_127,"L1");
+    X_144 := bat.append(X_134,"d_year");
+    X_153 := bat.append(X_144,"p_brand1");
+    X_128 := bat.new(nil:str);
+    X_136 := bat.append(X_128,"bigint");
+    X_146 := bat.append(X_136,"int");
+    X_155 := bat.append(X_146,"clob");
+    X_129 := bat.new(nil:int);
+    X_138 := bat.append(X_129,64);
+    X_148 := bat.append(X_138,32);
+    X_157 := bat.append(X_148,0);
+    X_131 := bat.new(nil:int);
+    X_140 := bat.append(X_131,0);
+    X_150 := bat.append(X_140,0);
+    X_158 := bat.append(X_150,0);
+    X_0 := sql.mvc();
+    C_1:bat[:oid] := sql.tid(X_0,"sys","lineorder");
+    X_4:bat[:oid] := 
sql.bind_idxbat(X_0,"sys","lineorder","lineorder_lo_partkey_fkey",0);
+    (X_7,r1_10) := 
sql.bind_idxbat(X_0,"sys","lineorder","lineorder_lo_partkey_fkey",2);
+    X_10:bat[:oid] := 
sql.bind_idxbat(X_0,"sys","lineorder","lineorder_lo_partkey_fkey",1);
+    X_13 := sql.projectdelta(C_1,X_4,X_7,r1_10,X_10);
+    X_16:bat[:str] := sql.bind(X_0,"sys","part","p_category",0);
+    C_14:bat[:oid] := sql.tid(X_0,"sys","part");
+    C_173 := algebra.subselect(X_16,C_14,A0,A0,true,false,false);
+    (C_18,r1_21) := sql.bind(X_0,"sys","part","p_category",2);
+    C_174 := algebra.subselect(r1_21,nil:bat[:oid],A0,A0,true,false,false);
+    X_20:bat[:str] := sql.bind(X_0,"sys","part","p_category",1);
+    C_176 := algebra.subselect(X_20,C_14,A0,A0,true,false,false);
+    C_24 := sql.subdelta(C_173,C_14,C_18,C_174,C_176);
+    (X_29,r1_32) := algebra.subjoin(X_13,C_24,nil:BAT,nil:BAT,false,nil:lng);
+    X_34:bat[:oid] := 
sql.bind_idxbat(X_0,"sys","lineorder","lineorder_lo_suppkey_fkey",0);
+    (X_36,r1_39) := 
sql.bind_idxbat(X_0,"sys","lineorder","lineorder_lo_suppkey_fkey",2);
+    X_38:bat[:oid] := 
sql.bind_idxbat(X_0,"sys","lineorder","lineorder_lo_suppkey_fkey",1);
+    X_40 := sql.projectdelta(C_1,X_34,X_36,r1_39,X_38);
+    X_41 := algebra.projection(X_29,X_40);
+    X_44:bat[:str] := sql.bind(X_0,"sys","supplier","s_region",0);
+    C_42:bat[:oid] := sql.tid(X_0,"sys","supplier");
+    C_177 := algebra.subselect(X_44,C_42,A1,A1,true,false,false);
+    (C_46,r1_49) := sql.bind(X_0,"sys","supplier","s_region",2);
+    C_178 := algebra.subselect(r1_49,nil:bat[:oid],A1,A1,true,false,false);
+    X_48:bat[:str] := sql.bind(X_0,"sys","supplier","s_region",1);
+    C_180 := algebra.subselect(X_48,C_42,A1,A1,true,false,false);
+    C_52 := sql.subdelta(C_177,C_42,C_46,C_178,C_180);
+    (X_54,r1_57) := algebra.subjoin(X_41,C_52,nil:BAT,nil:BAT,false,nil:lng);
+    X_56:bat[:oid] := 
sql.bind_idxbat(X_0,"sys","lineorder","lineorder_lo_orderdate_fkey",0);
+    (X_58,r1_61) := 
sql.bind_idxbat(X_0,"sys","lineorder","lineorder_lo_orderdate_fkey",2);
+    X_60:bat[:oid] := 
sql.bind_idxbat(X_0,"sys","lineorder","lineorder_lo_orderdate_fkey",1);
+    X_62 := sql.projectdelta(C_1,X_56,X_58,r1_61,X_60);
+    X_64:bat[:oid] := algebra.projectionpath(X_54,X_29,X_62);
+    C_65:bat[:oid] := sql.tid(X_0,"sys","dwdate");
+    (X_67,r1_70) := algebra.subjoin(X_64,C_65,nil:BAT,nil:BAT,false,nil:lng);
+    X_73:bat[:str] := sql.bind(X_0,"sys","part","p_brand1",0);
+    (C_75,r1_78) := sql.bind(X_0,"sys","part","p_brand1",2);
+    X_77:bat[:str] := sql.bind(X_0,"sys","part","p_brand1",1);
+    X_80 := sql.projectdelta(C_24,X_73,C_75,r1_78,X_77);
+    X_83:bat[:str] := algebra.projectionpath(X_67,X_54,r1_32,X_80);
+    X_84:bat[:int] := sql.bind(X_0,"sys","dwdate","d_year",0);
+    (C_86,r1_89) := sql.bind(X_0,"sys","dwdate","d_year",2);
+    X_88:bat[:int] := sql.bind(X_0,"sys","dwdate","d_year",1);
+    X_90 := sql.projectdelta(C_65,X_84,C_86,r1_89,X_88);
+    X_91 := algebra.projection(r1_70,X_90);
+    (X_92,r1_95,r2_95) := group.subgroup(X_91);
+    (X_95,r1_98,r2_98) := group.subgroupdone(X_83,X_92);
+    X_98 := algebra.projection(r1_98,X_83);
+    X_99 := algebra.projection(r1_98,X_91);
+    X_108:bat[:int] := sql.bind(X_0,"sys","lineorder","lo_revenue",0);
+    (C_110,r1_113) := sql.bind(X_0,"sys","lineorder","lo_revenue",2);
+    X_112:bat[:int] := sql.bind(X_0,"sys","lineorder","lo_revenue",1);
+    X_114 := sql.projectdelta(C_1,X_108,C_110,r1_113,X_112);
+    X_117:bat[:int] := algebra.projectionpath(X_67,X_54,X_29,X_114);
+    X_118:bat[:lng] := aggr.subsum(X_117,X_95,r1_98,true,true);
+    (X_100,r1_103,r2_103) := algebra.subsort(X_99,false,false);
+    (X_103,r1_106,r2_106) := algebra.subsort(X_98,r1_103,r2_103,false,false);
+    X_121 := algebra.projection(r1_106,X_118);
+    X_122 := algebra.projection(r1_106,X_99);
+    X_123 := algebra.projection(r1_106,X_98);
+    sql.resultSet(X_151,X_153,X_155,X_157,X_158,X_121,X_122,X_123);
 end user.s2_1;
 
 # 23:10:46 >  
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
@@ -43,86 +43,86 @@ Ready.
 % clob # type
 % 390 # length
 function user.s2_1(A0:str,A1:str,A2:str):void;
-    X_126:void := querylog.define("explain\nselect sum(lo_revenue), d_year, 
p_brand1\n from lineorder, dwdate, part, supplier\n where lo_orderdate = 
d_datekey\n and lo_partkey = p_partkey\n and lo_suppkey = s_suppkey\n \n \n and 
p_brand1 between \\'MFGR#2221\\' and \\'MFGR#2228\\'\n and s_region = 
\\'ASIA\\'\n group by d_year, p_brand1\n order by d_year, 
p_brand1;","sequential_pipe",82);
-    X_94 := bat.new(nil:oid,nil:str);
-    X_102 := bat.append(X_94,"sys.L1");
-    X_111 := bat.append(X_102,"sys.dwdate");
-    X_119 := bat.append(X_111,"sys.part");
-    X_97 := bat.new(nil:oid,nil:str);
-    X_104 := bat.append(X_97,"L1");
-    X_113 := bat.append(X_104,"d_year");
-    X_121 := bat.append(X_113,"p_brand1");
-    X_98 := bat.new(nil:oid,nil:str);
-    X_106 := bat.append(X_98,"bigint");
-    X_114 := bat.append(X_106,"int");
-    X_122 := bat.append(X_114,"clob");
-    X_99 := bat.new(nil:oid,nil:int);
-    X_108 := bat.append(X_99,64);
-    X_116 := bat.append(X_108,32);
-    X_124 := bat.append(X_116,0);
-    X_101 := bat.new(nil:oid,nil:int);
-    X_110 := bat.append(X_101,0);
-    X_118 := bat.append(X_110,0);
-    X_125 := bat.append(X_118,0);
-    X_4 := sql.mvc();
-    C_5:bat[:oid] := sql.tid(X_4,"sys","lineorder");
-    X_8:bat[:oid] := 
sql.bind_idxbat(X_4,"sys","lineorder","lineorder_lo_partkey_fkey",0);
-    (X_11,r1_11) := 
sql.bind_idxbat(X_4,"sys","lineorder","lineorder_lo_partkey_fkey",2);
-    X_14:bat[:oid] := 
sql.bind_idxbat(X_4,"sys","lineorder","lineorder_lo_partkey_fkey",1);
-    X_16 := sql.projectdelta(C_5,X_8,X_11,r1_11,X_14);
-    X_19:bat[:str] := sql.bind(X_4,"sys","part","p_brand1",0);
-    C_17:bat[:oid] := sql.tid(X_4,"sys","part");
-    C_141 := algebra.subselect(X_19,C_17,A0,A1,true,true,false);
-    (C_21,r1_22) := sql.bind(X_4,"sys","part","p_brand1",2);
-    C_142 := algebra.subselect(r1_22,nil:bat[:oid],A0,A1,true,true,false);
-    X_23:bat[:str] := sql.bind(X_4,"sys","part","p_brand1",1);
-    C_144 := algebra.subselect(X_23,C_17,A0,A1,true,true,false);
-    C_24 := sql.subdelta(C_141,C_17,C_21,C_142,C_144);
-    (X_27,r1_34) := algebra.subjoin(X_16,C_24,nil:BAT,nil:BAT,false,nil:lng);
-    X_31:bat[:oid] := 
sql.bind_idxbat(X_4,"sys","lineorder","lineorder_lo_suppkey_fkey",0);
-    (X_33,r1_41) := 
sql.bind_idxbat(X_4,"sys","lineorder","lineorder_lo_suppkey_fkey",2);
-    X_35:bat[:oid] := 
sql.bind_idxbat(X_4,"sys","lineorder","lineorder_lo_suppkey_fkey",1);
-    X_36 := sql.projectdelta(C_5,X_31,X_33,r1_41,X_35);
-    X_37 := algebra.projection(X_27,X_36);
-    X_40:bat[:str] := sql.bind(X_4,"sys","supplier","s_region",0);
-    C_38:bat[:oid] := sql.tid(X_4,"sys","supplier");
-    C_145 := algebra.subselect(X_40,C_38,A2,A2,true,false,false);
-    (C_42,r1_51) := sql.bind(X_4,"sys","supplier","s_region",2);
-    C_146 := algebra.subselect(r1_51,nil:bat[:oid],A2,A2,true,false,false);
-    X_44:bat[:str] := sql.bind(X_4,"sys","supplier","s_region",1);
-    C_147 := algebra.subselect(X_44,C_38,A2,A2,true,false,false);
-    C_45 := sql.subdelta(C_145,C_38,C_42,C_146,C_147);
-    (X_46,r1_59) := algebra.subjoin(X_37,C_45,nil:BAT,nil:BAT,false,nil:lng);
-    X_48:bat[:oid] := 
sql.bind_idxbat(X_4,"sys","lineorder","lineorder_lo_orderdate_fkey",0);
-    (X_50,r1_63) := 
sql.bind_idxbat(X_4,"sys","lineorder","lineorder_lo_orderdate_fkey",2);
-    X_52:bat[:oid] := 
sql.bind_idxbat(X_4,"sys","lineorder","lineorder_lo_orderdate_fkey",1);
-    X_53 := sql.projectdelta(C_5,X_48,X_50,r1_63,X_52);
-    X_54:bat[:oid] := algebra.projectionpath(X_46,X_27,X_53);
-    C_55:bat[:oid] := sql.tid(X_4,"sys","dwdate");
-    (X_57,r1_72) := algebra.subjoin(X_54,C_55,nil:BAT,nil:BAT,false,nil:lng);
-    X_59 := sql.projectdelta(C_24,X_19,C_21,r1_22,X_23);
-    X_60:bat[:str] := algebra.projectionpath(X_57,X_46,r1_34,X_59);
-    X_61:bat[:int] := sql.bind(X_4,"sys","dwdate","d_year",0);
-    (C_63,r1_84) := sql.bind(X_4,"sys","dwdate","d_year",2);
-    X_65:bat[:int] := sql.bind(X_4,"sys","dwdate","d_year",1);
-    X_66 := sql.projectdelta(C_55,X_61,C_63,r1_84,X_65);
-    X_67 := algebra.projection(r1_72,X_66);
-    (X_68,r1_90,r2_90) := group.subgroup(X_67);
-    (X_71,r1_93,r2_93) := group.subgroupdone(X_60,X_68);
-    X_74 := algebra.projection(r1_93,X_60);
-    X_75 := algebra.projection(r1_93,X_67);
-    X_82:bat[:int] := sql.bind(X_4,"sys","lineorder","lo_revenue",0);
-    (C_84,r1_106) := sql.bind(X_4,"sys","lineorder","lo_revenue",2);
-    X_86:bat[:int] := sql.bind(X_4,"sys","lineorder","lo_revenue",1);
-    X_87 := sql.projectdelta(C_5,X_82,C_84,r1_106,X_86);
-    X_88:bat[:int] := algebra.projectionpath(X_57,X_46,X_27,X_87);
-    X_89:bat[:lng] := aggr.subsum(X_88,X_71,r1_93,true,true);
-    (X_76,r1_98,r2_98) := algebra.subsort(X_75,false,false);
-    (X_79,r1_101,r2_101) := algebra.subsort(X_74,r1_98,r2_98,false,false);
-    X_90 := algebra.projection(r1_101,X_89);
-    X_91 := algebra.projection(r1_101,X_75);
-    X_92 := algebra.projection(r1_101,X_74);
-    sql.resultSet(X_118,X_120,X_121,X_123,X_124,X_90,X_91,X_92);
+    X_151:void := querylog.define("explain\nselect sum(lo_revenue), d_year, 
p_brand1\n from lineorder, dwdate, part, supplier\n where lo_orderdate = 
d_datekey\n and lo_partkey = p_partkey\n and lo_suppkey = s_suppkey\n \n \n and 
p_brand1 between \\'MFGR#2221\\' and \\'MFGR#2228\\'\n and s_region = 
\\'ASIA\\'\n group by d_year, p_brand1\n order by d_year, 
p_brand1;","sequential_pipe",82);
+    X_117 := bat.new(nil:str);
+    X_124 := bat.append(X_117,"sys.L1");
+    X_134 := bat.append(X_124,"sys.dwdate");
+    X_143 := bat.append(X_134,"sys.part");
+    X_119 := bat.new(nil:str);
+    X_126 := bat.append(X_119,"L1");
+    X_136 := bat.append(X_126,"d_year");
+    X_145 := bat.append(X_136,"p_brand1");
+    X_120 := bat.new(nil:str);
+    X_128 := bat.append(X_120,"bigint");
+    X_138 := bat.append(X_128,"int");
+    X_147 := bat.append(X_138,"clob");
+    X_121 := bat.new(nil:int);
+    X_130 := bat.append(X_121,64);
+    X_140 := bat.append(X_130,32);
+    X_149 := bat.append(X_140,0);
+    X_123 := bat.new(nil:int);
+    X_132 := bat.append(X_123,0);
+    X_142 := bat.append(X_132,0);
+    X_150 := bat.append(X_142,0);
+    X_0 := sql.mvc();
+    C_1:bat[:oid] := sql.tid(X_0,"sys","lineorder");
+    X_4:bat[:oid] := 
sql.bind_idxbat(X_0,"sys","lineorder","lineorder_lo_partkey_fkey",0);
+    (X_7,r1_11) := 
sql.bind_idxbat(X_0,"sys","lineorder","lineorder_lo_partkey_fkey",2);
+    X_10:bat[:oid] := 
sql.bind_idxbat(X_0,"sys","lineorder","lineorder_lo_partkey_fkey",1);
+    X_13 := sql.projectdelta(C_1,X_4,X_7,r1_11,X_10);
+    X_16:bat[:str] := sql.bind(X_0,"sys","part","p_brand1",0);
+    C_14:bat[:oid] := sql.tid(X_0,"sys","part");
+    C_164 := algebra.subselect(X_16,C_14,A0,A1,true,true,false);
+    (C_18,r1_22) := sql.bind(X_0,"sys","part","p_brand1",2);
+    C_165 := algebra.subselect(r1_22,nil:bat[:oid],A0,A1,true,true,false);
+    X_20:bat[:str] := sql.bind(X_0,"sys","part","p_brand1",1);
+    C_167 := algebra.subselect(X_20,C_14,A0,A1,true,true,false);
+    C_25 := sql.subdelta(C_164,C_14,C_18,C_165,C_167);
+    (X_30,r1_34) := algebra.subjoin(X_13,C_25,nil:BAT,nil:BAT,false,nil:lng);
+    X_35:bat[:oid] := 
sql.bind_idxbat(X_0,"sys","lineorder","lineorder_lo_suppkey_fkey",0);
_______________________________________________
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to