Changeset: db01d8e05444 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=db01d8e05444
Modified Files:
        sql/benchmarks/ssbm/Tests/01-explain.stable.out
        sql/benchmarks/ssbm/Tests/02-explain.stable.out
        sql/benchmarks/ssbm/Tests/03-explain.stable.out
        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/ssbm/Tests/11-explain.stable.out
        sql/benchmarks/ssbm/Tests/12-explain.stable.out
        sql/benchmarks/ssbm/Tests/13-explain.stable.out
        sql/benchmarks/tpch/Tests/01-explain.stable.out
        sql/benchmarks/tpch/Tests/01-plan.stable.out
        sql/benchmarks/tpch/Tests/03-explain.stable.out
        sql/benchmarks/tpch/Tests/03-plan.stable.out
        sql/benchmarks/tpch/Tests/05-explain.stable.out
        sql/benchmarks/tpch/Tests/05-plan.stable.out
        sql/benchmarks/tpch/Tests/06-explain.stable.out
        sql/benchmarks/tpch/Tests/06-plan.stable.out
        sql/benchmarks/tpch/Tests/07-explain.stable.out
        sql/benchmarks/tpch/Tests/07-plan.stable.out
        sql/benchmarks/tpch/Tests/08-explain.stable.out
        sql/benchmarks/tpch/Tests/08-plan.stable.out
        sql/benchmarks/tpch/Tests/09-explain.stable.out
        sql/benchmarks/tpch/Tests/09-plan.stable.out
        sql/benchmarks/tpch/Tests/10-explain.stable.out
        sql/benchmarks/tpch/Tests/10-plan.stable.out
        sql/benchmarks/tpch/Tests/11-explain.stable.out
        sql/benchmarks/tpch/Tests/11-plan.stable.out
        sql/benchmarks/tpch/Tests/14-explain.stable.out
        sql/benchmarks/tpch/Tests/14-plan.stable.out
        sql/benchmarks/tpch/Tests/17-explain.stable.out
        sql/benchmarks/tpch/Tests/17-plan.stable.out
        sql/benchmarks/tpch/Tests/19-explain.stable.out
        sql/benchmarks/tpch/Tests/19-plan.stable.out
        
sql/test/BugTracker-2009/Tests/arithmetic-small-values-null.SF-2921310.stable.out
        sql/test/BugTracker-2009/Tests/avg-bug.SF-2132666.stable.out
        sql/test/BugTracker-2011/Tests/crash_on_alias.Bug-2798.stable.out
        sql/test/BugTracker-2012/Tests/power_priority.Bug-2291.stable.out
        sql/test/BugTracker-2013/Tests/between.Bug-3259.stable.out
        sql/test/Dependencies/Tests/Dependencies.stable.out
        sql/test/SQLite_regress/sqllogictest/Tests/select1.test.stable.out
        sql/test/SQLite_regress/sqllogictest/Tests/select2.test.stable.out
        sql/test/SQLite_regress/sqllogictest/Tests/select3.test.stable.out
        sql/test/emptydb-upgrade-chain-hge/Tests/upgrade.stable.out.int128
        sql/test/emptydb-upgrade-chain/Tests/upgrade.stable.out
        sql/test/emptydb-upgrade-chain/Tests/upgrade.stable.out.int128
        sql/test/emptydb-upgrade-hge/Tests/upgrade.stable.out.int128
        sql/test/emptydb-upgrade/Tests/upgrade.stable.out
        sql/test/emptydb-upgrade/Tests/upgrade.stable.out.int128
        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
        sql/test/leaks/Tests/drop3.stable.out
        sql/test/testdb-upgrade-chain-hge/Tests/upgrade.stable.out
        sql/test/testdb-upgrade-chain/Tests/upgrade.stable.out
        sql/test/testdb-upgrade-chain/Tests/upgrade.stable.out.int128
        sql/test/testdb-upgrade-hge/Tests/upgrade.stable.out
        sql/test/testdb-upgrade/Tests/upgrade.stable.out
        sql/test/testdb-upgrade/Tests/upgrade.stable.out.int128
Branch: default
Log Message:

Approvals.


diffs (truncated from 41129 to 300 lines):

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
@@ -37,48 +37,29 @@ Ready.
 % mal # name
 % clob # type
 % 254 # length
-function user.s2_1(A0:int,A1:int,A2:int,A3:int):void;
-    X_63:void := querylog.define("explain\nselect 
sum(lo_extendedprice*lo_discount) as revenue\n from lineorder, dwdate\n where 
lo_orderdate = d_datekey\n and d_year = 1993\n and lo_discount between 1 and 
3\n and lo_quantity < 25;","sequential_pipe",43);
-    X_5 := sql.mvc();
-    X_9:bat[:int] := sql.bind(X_5,"sys","lineorder","lo_quantity",0);
-    X_17:bat[:int] := sql.bind(X_5,"sys","lineorder","lo_discount",0);
-    C_6:bat[:oid] := sql.tid(X_5,"sys","lineorder");
-    C_79 := algebra.subselect(X_17,C_6,A1,A2,true,true,false);
-    (C_19,r1_22) := sql.bind(X_5,"sys","lineorder","lo_discount",2);
-    C_80 := algebra.subselect(r1_22,nil:bat[:oid],A1,A2,true,true,false);
-    X_21:bat[:int] := sql.bind(X_5,"sys","lineorder","lo_discount",1);
-    C_82 := algebra.subselect(X_21,C_6,A1,A2,true,true,false);
-    C_22 := sql.subdelta(C_79,C_6,C_19,C_80,C_82);
-    C_83 := algebra.thetasubselect(X_9,C_22,A3,"<");
-    (C_12,r1_12) := sql.bind(X_5,"sys","lineorder","lo_quantity",2);
-    C_84 := algebra.thetasubselect(r1_12,nil:bat[:oid],A3,"<");
-    X_15:bat[:int] := sql.bind(X_5,"sys","lineorder","lo_quantity",1);
-    C_84 := algebra.thetasubselect(X_15,C_21,25,"<");
-    C_24 := sql.subdelta(C_82,C_21,C_12,C_83,C_84);
-    X_26:bat[:oid] := 
sql.bind_idxbat(X_5,"sys","lineorder","lineorder_lo_orderdate_fkey",0);
-    (X_28,r1_37) := 
sql.bind_idxbat(X_5,"sys","lineorder","lineorder_lo_orderdate_fkey",2);
-    X_30:bat[:oid] := 
sql.bind_idxbat(X_5,"sys","lineorder","lineorder_lo_orderdate_fkey",1);
-    X_31 := sql.projectdelta(C_24,X_26,X_28,r1_37,X_30);
-    X_34:bat[:int] := sql.bind(X_5,"sys","dwdate","d_year",0);
-    C_32:bat[:oid] := sql.tid(X_5,"sys","dwdate");
-    C_85 := algebra.subselect(X_34,C_32,1993,1993,true,false,false);
-    (C_36,r1_47) := sql.bind(X_5,"sys","dwdate","d_year",2);
-    C_86 := algebra.subselect(r1_47,nil:bat[:oid],1993,1993,true,false,false);
-    X_38:bat[:int] := sql.bind(X_5,"sys","dwdate","d_year",1);
-    C_87 := algebra.subselect(X_38,C_32,1993,1993,true,false,false);
-    C_39 := sql.subdelta(C_85,C_32,C_36,C_86,C_87);
-    (X_40,r1_55) := algebra.subjoin(X_31,C_39,nil:BAT,nil:BAT,false,nil:lng);
-    X_44:bat[:int] := sql.bind(X_5,"sys","lineorder","lo_extendedprice",0);
-    (C_46,r1_62) := sql.bind(X_5,"sys","lineorder","lo_extendedprice",2);
-    X_48:bat[:int] := sql.bind(X_5,"sys","lineorder","lo_extendedprice",1);
-    X_49 := sql.projectdelta(C_24,X_44,C_46,r1_62,X_48);
-    X_50 := algebra.projection(X_40,X_49);
-    X_51 := batcalc.lng(X_50);
-    X_52 := sql.projectdelta(C_24,X_16,C_18,r1_22,X_20);
-    X_53 := algebra.projection(X_40,X_52);
-    X_54:bat[:lng] := batcalc.*(X_51,X_53);
-    X_55:lng := aggr.sum(X_54);
-    sql.resultSet("sys.L1","revenue","bigint",64,0,7,X_55);
+function user.s4_1():void;
+    X_78:void := querylog.define("explain\nselect 
sum(lo_extendedprice*lo_discount) as revenue\n from lineorder, dwdate\n where 
lo_orderdate = d_datekey\n and d_year = 1993\n and lo_discount between 1 and 
3\n and lo_quantity < 25;","sequential_pipe",24);
+    X_0 := sql.mvc();
+    X_4:bat[:int] := sql.bind(X_0,"sys","lineorder","lo_quantity",0);
+    X_15:bat[:int] := sql.bind(X_0,"sys","lineorder","lo_discount",0);
+    C_1:bat[:oid] := sql.tid(X_0,"sys","lineorder");
+    C_24 := algebra.subselect(X_15,C_1,1,3,true,true,false);
+    C_28 := algebra.thetasubselect(X_4,C_24,25,"<");
+    X_30:bat[:oid] := 
sql.bind_idxbat(X_0,"sys","lineorder","lineorder_lo_orderdate_fkey",0);
+    (X_32,r1_37) := 
sql.bind_idxbat(X_0,"sys","lineorder","lineorder_lo_orderdate_fkey",2);
+    X_34:bat[:oid] := 
sql.bind_idxbat(X_0,"sys","lineorder","lineorder_lo_orderdate_fkey",1);
+    X_37 := sql.projectdelta(C_28,X_30,X_32,r1_37,X_34);
+    X_40:bat[:int] := sql.bind(X_0,"sys","dwdate","d_year",0);
+    C_38:bat[:oid] := sql.tid(X_0,"sys","dwdate");
+    C_48 := algebra.subselect(X_40,C_38,1993,1993,true,false,false);
+    (X_50,r1_55) := algebra.subjoin(X_37,C_48,nil:BAT,nil:BAT,false,nil:lng);
+    X_55:bat[:int] := sql.bind(X_0,"sys","lineorder","lo_extendedprice",0);
+    X_63:bat[:int] := algebra.projectionpath(X_50,C_28,X_55);
+    X_64 := batcalc.lng(X_63);
+    X_66:bat[:int] := algebra.projectionpath(X_50,C_28,X_15);
+    X_67:bat[:lng] := batcalc.*(X_64,X_66);
+    X_70:lng := aggr.sum(X_67);
+    sql.resultSet("sys.L2","revenue","bigint",64,0,7,X_70);
 end user.s4_1;
 #inline               actions= 0 time=8 usec 
 #remap                actions= 1 time=137 usec 
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
@@ -37,49 +37,53 @@ Ready.
 % mal # name
 % clob # type
 % 277 # length
-function user.s2_1():void;
-    X_63:void := querylog.define("explain\nselect 
sum(lo_extendedprice*lo_discount) as revenue\n from lineorder, dwdate\n where 
lo_orderdate = d_datekey\n and d_yearmonthnum = 199401\n and lo_discount 
between 4 and 6\n and lo_quantity between 26 and 35;","sequential_pipe",43);
-    X_6 := sql.mvc();
-    X_10:bat[:int] := sql.bind(X_6,"sys","lineorder","lo_quantity",0);
-    X_18:bat[:int] := sql.bind(X_6,"sys","lineorder","lo_discount",0);
-    C_7:bat[:oid] := sql.tid(X_6,"sys","lineorder");
-    C_72 := algebra.subselect(X_18,C_7,4,6,true,true,false);
-    (C_18,r1_24) := sql.bind(X_0,"sys","lineorder","lo_discount",2);
-    C_73 := algebra.subselect(r1_24,nil:bat[:oid],4,6,true,true,false);
-    X_22:bat[:int] := sql.bind(X_6,"sys","lineorder","lo_discount",1);
-    C_75 := algebra.subselect(X_22,C_7,4,6,true,true,false);
-    C_23 := sql.subdelta(C_72,C_7,C_20,C_73,C_75);
-    C_76 := algebra.subselect(X_10,C_23,26,35,true,true,false);
-    (C_13,r1_13) := sql.bind(X_6,"sys","lineorder","lo_quantity",2);
-    C_77 := algebra.subselect(r1_13,nil:bat[:oid],26,35,true,true,false);
-    X_16:bat[:int] := sql.bind(X_6,"sys","lineorder","lo_quantity",1);
-    C_78 := algebra.subselect(X_16,C_23,26,35,true,true,false);
-    C_26 := sql.subdelta(C_76,C_23,C_13,C_77,C_78);
-    X_27:bat[:oid] := 
sql.bind_idxbat(X_6,"sys","lineorder","lineorder_lo_orderdate_fkey",0);
-    (X_29,r1_38) := 
sql.bind_idxbat(X_6,"sys","lineorder","lineorder_lo_orderdate_fkey",2);
-    X_31:bat[:oid] := 
sql.bind_idxbat(X_6,"sys","lineorder","lineorder_lo_orderdate_fkey",1);
-    X_32 := sql.projectdelta(C_26,X_27,X_29,r1_38,X_31);
-    X_35:bat[:int] := sql.bind(X_6,"sys","dwdate","d_yearmonthnum",0);
-    C_33:bat[:oid] := sql.tid(X_6,"sys","dwdate");
-    C_79 := algebra.subselect(X_35,C_33,199401,199401,true,false,false);
-    (C_37,r1_48) := sql.bind(X_6,"sys","dwdate","d_yearmonthnum",2);
-    C_80 := 
algebra.subselect(r1_48,nil:bat[:oid],199401,199401,true,false,false);
-    X_39:bat[:int] := sql.bind(X_6,"sys","dwdate","d_yearmonthnum",1);
-    C_81 := algebra.subselect(X_39,C_33,199401,199401,true,false,false);
-    C_40 := sql.subdelta(C_79,C_33,C_37,C_80,C_81);
-    (X_41,r1_56) := algebra.subjoin(X_32,C_40,nil:BAT,nil:BAT,false,nil:lng);
-    X_45:bat[:int] := sql.bind(X_6,"sys","lineorder","lo_extendedprice",0);
-    (C_47,r1_63) := sql.bind(X_6,"sys","lineorder","lo_extendedprice",2);
-    X_49:bat[:int] := sql.bind(X_6,"sys","lineorder","lo_extendedprice",1);
-    X_50 := sql.projectdelta(C_26,X_45,C_47,r1_63,X_49);
-    X_51 := algebra.projection(X_41,X_50);
-    X_52 := batcalc.lng(X_51);
-    X_53 := sql.projectdelta(C_26,X_18,C_20,r1_24,X_22);
-    X_54 := algebra.projection(X_41,X_53);
-    X_55:bat[:lng] := batcalc.*(X_52,X_54);
-    X_56:lng := aggr.sum(X_55);
-    sql.resultSet("sys.L2","revenue","bigint",64,0,7,X_56);
-end user.s2_1;
+function user.s4_1():void;
+    X_78:void := querylog.define("explain\nselect 
sum(lo_extendedprice*lo_discount) as revenue\n from lineorder, dwdate\n where 
lo_orderdate = d_datekey\n and d_yearmonthnum = 199401\n and lo_discount 
between 4 and 6\n and lo_quantity between 26 and 35;","sequential_pipe",24);
+    X_0 := sql.mvc();
+    X_4:bat[:int] := sql.bind(X_0,"sys","lineorder","lo_quantity",0);
+    X_16:bat[:int] := sql.bind(X_0,"sys","lineorder","lo_discount",0);
+    C_1:bat[:oid] := sql.tid(X_0,"sys","lineorder");
+    C_25 := algebra.subselect(X_16,C_1,4,6,true,true,false);
+    C_29 := algebra.subselect(X_4,C_25,26,35,true,true,false);
+    X_30:bat[:oid] := 
sql.bind_idxbat(X_0,"sys","lineorder","lineorder_lo_orderdate_fkey",0);
+    (X_32,r1_38) := 
sql.bind_idxbat(X_0,"sys","lineorder","lineorder_lo_orderdate_fkey",2);
+    X_34:bat[:oid] := 
sql.bind_idxbat(X_0,"sys","lineorder","lineorder_lo_orderdate_fkey",1);
+    X_37 := sql.projectdelta(C_29,X_30,X_32,r1_38,X_34);
+    X_40:bat[:int] := sql.bind(X_0,"sys","dwdate","d_yearmonthnum",0);
+    C_38:bat[:oid] := sql.tid(X_0,"sys","dwdate");
+    C_48 := algebra.subselect(X_40,C_38,199401,199401,true,false,false);
+    (X_50,r1_56) := algebra.subjoin(X_37,C_48,nil:BAT,nil:BAT,false,nil:lng);
+    X_55:bat[:int] := sql.bind(X_0,"sys","lineorder","lo_extendedprice",0);
+    X_63:bat[:int] := algebra.projectionpath(X_50,C_29,X_55);
+    X_64 := batcalc.lng(X_63);
+    X_66:bat[:int] := algebra.projectionpath(X_50,C_29,X_16);
+    X_67:bat[:lng] := batcalc.*(X_64,X_66);
+    X_70:lng := aggr.sum(X_67);
+    sql.resultSet("sys.L2","revenue","bigint",64,0,7,X_70);
+end user.s4_1;
+#inline               actions= 0 time=4 usec 
+#remap                actions= 1 time=32 usec 
+#costmodel            actions= 1 time=2 usec 
+#coercion             actions= 0 time=2 usec 
+#evaluate             actions= 5 time=21 usec 
+#emptybind            actions=12 time=29 usec 
+#pushselect           actions= 9 time=30 usec 
+#aliases              actions=15 time=11 usec 
+#mergetable           actions= 0 time=40 usec 
+#deadcode             actions=13 time=8 usec 
+#aliases              actions= 0 time=6 usec 
+#constants            actions= 8 time=12 usec 
+#commonTerms          actions= 0 time=5 usec 
+#projectionpath       actions= 2 time=9 usec 
+#reorder              actions= 1 time=23 usec 
+#deadcode             actions= 2 time=5 usec 
+#reduce               actions=69 time=14 usec 
+#matpack              actions= 0 time=2 usec 
+#multiplex            actions= 0 time=2 usec 
+#profiler             actions= 1 time=3 usec 
+#candidates           actions= 1 time=1 usec 
+#garbagecollector     actions= 1 time=15 usec 
+#total                actions= 1 time=395 usec 
 
 # 23:10:45 >  
 # 23:10:45 >  "Done."
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
@@ -37,56 +37,55 @@ Ready.
 % mal # name
 % clob # type
 % 291 # length
-function user.s2_1():void;
-    X_69:void := querylog.define("explain\nselect 
sum(lo_extendedprice*lo_discount) as revenue\n from lineorder, dwdate\n where 
lo_orderdate = d_datekey\n and d_weeknuminyear = 6 and d_year = 1994\n and 
lo_discount between 5 and 7\n and lo_quantity between 36 and 
40;","sequential_pipe",50);
-    X_7 := sql.mvc();
-    X_11:bat[:int] := sql.bind(X_7,"sys","lineorder","lo_quantity",0);
-    X_19:bat[:int] := sql.bind(X_7,"sys","lineorder","lo_discount",0);
-    C_8:bat[:oid] := sql.tid(X_7,"sys","lineorder");
-    C_78 := algebra.subselect(X_19,C_8,5,7,true,true,false);
-    (C_21,r1_25) := sql.bind(X_7,"sys","lineorder","lo_discount",2);
-    C_79 := algebra.subselect(r1_25,nil:bat[:oid],5,7,true,true,false);
-    X_23:bat[:int] := sql.bind(X_7,"sys","lineorder","lo_discount",1);
-    C_81 := algebra.subselect(X_23,C_8,5,7,true,true,false);
-    C_24 := sql.subdelta(C_78,C_8,C_21,C_79,C_81);
-    C_82 := algebra.subselect(X_11,C_24,36,40,true,true,false);
-    (C_14,r1_14) := sql.bind(X_7,"sys","lineorder","lo_quantity",2);
-    C_83 := algebra.subselect(r1_14,nil:bat[:oid],36,40,true,true,false);
-    X_17:bat[:int] := sql.bind(X_7,"sys","lineorder","lo_quantity",1);
-    C_84 := algebra.subselect(X_17,C_24,36,40,true,true,false);
-    C_27 := sql.subdelta(C_82,C_24,C_14,C_83,C_84);
-    X_28:bat[:oid] := 
sql.bind_idxbat(X_7,"sys","lineorder","lineorder_lo_orderdate_fkey",0);
-    (X_30,r1_39) := 
sql.bind_idxbat(X_7,"sys","lineorder","lineorder_lo_orderdate_fkey",2);
-    X_32:bat[:oid] := 
sql.bind_idxbat(X_7,"sys","lineorder","lineorder_lo_orderdate_fkey",1);
-    X_33 := sql.projectdelta(C_27,X_28,X_30,r1_39,X_32);
-    X_36:bat[:int] := sql.bind(X_7,"sys","dwdate","d_weeknuminyear",0);
-    X_41:bat[:int] := sql.bind(X_7,"sys","dwdate","d_year",0);
-    C_34:bat[:oid] := sql.tid(X_7,"sys","dwdate");
-    C_85 := algebra.subselect(X_41,C_34,1994,1994,true,false,false);
-    (C_43,r1_57) := sql.bind(X_7,"sys","dwdate","d_year",2);
-    C_86 := algebra.subselect(r1_57,nil:bat[:oid],1994,1994,true,false,false);
-    X_45:bat[:int] := sql.bind(X_7,"sys","dwdate","d_year",1);
-    C_87 := algebra.subselect(X_45,C_34,1994,1994,true,false,false);
-    C_46 := sql.subdelta(C_85,C_34,C_43,C_86,C_87);
-    C_88 := algebra.subselect(X_36,C_46,6,6,true,false,false);
-    (C_38,r1_49) := sql.bind(X_7,"sys","dwdate","d_weeknuminyear",2);
-    C_89 := algebra.subselect(r1_49,nil:bat[:oid],6,6,true,false,false);
-    X_40:bat[:int] := sql.bind(X_7,"sys","dwdate","d_weeknuminyear",1);
-    C_90 := algebra.subselect(X_40,C_46,6,6,true,false,false);
-    C_47 := sql.subdelta(C_88,C_46,C_38,C_89,C_90);
-    (X_48,r1_66) := algebra.subjoin(X_33,C_47,nil:BAT,nil:BAT,false,nil:lng);
-    X_52:bat[:int] := sql.bind(X_7,"sys","lineorder","lo_extendedprice",0);
-    (C_54,r1_74) := sql.bind(X_7,"sys","lineorder","lo_extendedprice",2);
-    X_56:bat[:int] := sql.bind(X_7,"sys","lineorder","lo_extendedprice",1);
-    X_57 := sql.projectdelta(C_27,X_52,C_54,r1_74,X_56);
-    X_58 := algebra.projection(X_48,X_57);
-    X_59 := batcalc.lng(X_58);
-    X_60 := sql.projectdelta(C_27,X_19,C_21,r1_25,X_23);
-    X_61 := algebra.projection(X_48,X_60);
-    X_62:bat[:lng] := batcalc.*(X_59,X_61);
-    X_63:lng := aggr.sum(X_62);
-    sql.resultSet("sys.L2","revenue","bigint",64,0,7,X_63);
-end user.s2_1;
+function user.s4_1():void;
+    X_88:void := querylog.define("explain\nselect 
sum(lo_extendedprice*lo_discount) as revenue\n from lineorder, dwdate\n where 
lo_orderdate = d_datekey\n and d_weeknuminyear = 6 and d_year = 1994\n and 
lo_discount between 5 and 7\n and lo_quantity between 36 and 
40;","sequential_pipe",26);
+    X_0 := sql.mvc();
+    X_4:bat[:int] := sql.bind(X_0,"sys","lineorder","lo_quantity",0);
+    X_16:bat[:int] := sql.bind(X_0,"sys","lineorder","lo_discount",0);
+    C_1:bat[:oid] := sql.tid(X_0,"sys","lineorder");
+    C_25 := algebra.subselect(X_16,C_1,5,7,true,true,false);
+    C_29 := algebra.subselect(X_4,C_25,36,40,true,true,false);
+    X_30:bat[:oid] := 
sql.bind_idxbat(X_0,"sys","lineorder","lineorder_lo_orderdate_fkey",0);
+    (X_32,r1_39) := 
sql.bind_idxbat(X_0,"sys","lineorder","lineorder_lo_orderdate_fkey",2);
+    X_34:bat[:oid] := 
sql.bind_idxbat(X_0,"sys","lineorder","lineorder_lo_orderdate_fkey",1);
+    X_37 := sql.projectdelta(C_29,X_30,X_32,r1_39,X_34);
+    X_40:bat[:int] := sql.bind(X_0,"sys","dwdate","d_weeknuminyear",0);
+    X_48:bat[:int] := sql.bind(X_0,"sys","dwdate","d_year",0);
+    C_38:bat[:oid] := sql.tid(X_0,"sys","dwdate");
+    C_56 := algebra.subselect(X_48,C_38,1994,1994,true,false,false);
+    C_57 := algebra.subselect(X_40,C_56,6,6,true,false,false);
+    (X_59,r1_66) := algebra.subjoin(X_37,C_57,nil:BAT,nil:BAT,false,nil:lng);
+    X_65:bat[:int] := sql.bind(X_0,"sys","lineorder","lo_extendedprice",0);
+    X_73:bat[:int] := algebra.projectionpath(X_59,C_29,X_65);
+    X_74 := batcalc.lng(X_73);
+    X_76:bat[:int] := algebra.projectionpath(X_59,C_29,X_16);
+    X_77:bat[:lng] := batcalc.*(X_74,X_76);
+    X_80:lng := aggr.sum(X_77);
+    sql.resultSet("sys.L2","revenue","bigint",64,0,7,X_80);
+end user.s4_1;
+#inline               actions= 0 time=4 usec 
+#remap                actions= 1 time=33 usec 
+#costmodel            actions= 1 time=2 usec 
+#coercion             actions= 0 time=2 usec 
+#evaluate             actions= 6 time=23 usec 
+#emptybind            actions=15 time=32 usec 
+#pushselect           actions=10 time=30 usec 
+#aliases              actions=18 time=12 usec 
+#mergetable           actions= 0 time=43 usec 
+#deadcode             actions=16 time=9 usec 
+#aliases              actions= 0 time=6 usec 
+#constants            actions=11 time=14 usec 
+#commonTerms          actions= 0 time=6 usec 
+#projectionpath       actions= 2 time=10 usec 
+#reorder              actions= 1 time=24 usec 
+#deadcode             actions= 2 time=5 usec 
+#reduce               actions=80 time=14 usec 
+#matpack              actions= 0 time=2 usec 
+#multiplex            actions= 0 time=2 usec 
+#profiler             actions= 1 time=2 usec 
+#candidates           actions= 1 time=1 usec 
+#garbagecollector     actions= 1 time=15 usec 
+#total                actions= 1 time=409 usec 
 
 # 23:10:45 >  
 # 23:10:45 >  "Done."
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
@@ -40,91 +40,95 @@ Ready.
 % mal # name
 % clob # type
 % 362 # length
-function user.s2_1():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.L2");
-    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");
_______________________________________________
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to