Changeset: adaa8182ad6f for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=adaa8182ad6f
Modified Files:
        sql/benchmarks/ssbm/Tests/01-explain.stable.out
        sql/benchmarks/ssbm/Tests/01-plan.stable.out
        sql/benchmarks/ssbm/Tests/02-explain.stable.out
        sql/benchmarks/ssbm/Tests/02-plan.stable.out
        sql/benchmarks/ssbm/Tests/03-explain.stable.out
        sql/benchmarks/ssbm/Tests/03-plan.stable.out
        sql/benchmarks/ssbm/Tests/04-explain.stable.out
        sql/benchmarks/ssbm/Tests/04-plan.stable.out
        sql/benchmarks/ssbm/Tests/05-explain.stable.out
        sql/benchmarks/ssbm/Tests/05-plan.stable.out
        sql/benchmarks/ssbm/Tests/06-explain.stable.out
        sql/benchmarks/ssbm/Tests/06-plan.stable.out
        sql/benchmarks/ssbm/Tests/07-explain.stable.out
        sql/benchmarks/ssbm/Tests/07-plan.stable.out
        sql/benchmarks/ssbm/Tests/08-explain.stable.out
        sql/benchmarks/ssbm/Tests/08-plan.stable.out
        sql/benchmarks/ssbm/Tests/09-explain.stable.out
        sql/benchmarks/ssbm/Tests/09-plan.stable.out
        sql/benchmarks/ssbm/Tests/10-explain.stable.out
        sql/benchmarks/ssbm/Tests/10-plan.stable.out
        sql/benchmarks/ssbm/Tests/11-explain.stable.out
        sql/benchmarks/ssbm/Tests/11-plan.stable.out
        sql/benchmarks/ssbm/Tests/12-explain.stable.out
        sql/benchmarks/ssbm/Tests/12-plan.stable.out
        sql/benchmarks/ssbm/Tests/13-explain.stable.out
        sql/benchmarks/ssbm/Tests/13-plan.stable.out
        sql/benchmarks/tpch/Tests/01-explain.stable.out
        sql/benchmarks/tpch/Tests/01-plan.stable.out
        sql/benchmarks/tpch/Tests/02-explain.stable.out
        sql/benchmarks/tpch/Tests/02-plan.stable.out
        sql/benchmarks/tpch/Tests/03-explain.stable.out
        sql/benchmarks/tpch/Tests/03-plan.stable.out
        sql/benchmarks/tpch/Tests/04-explain.stable.out
        sql/benchmarks/tpch/Tests/04-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/12-explain.stable.out
        sql/benchmarks/tpch/Tests/12-plan.stable.out
        sql/benchmarks/tpch/Tests/13-explain.stable.out
        sql/benchmarks/tpch/Tests/13-plan.stable.out
        sql/benchmarks/tpch/Tests/14-explain.stable.out
        sql/benchmarks/tpch/Tests/14-plan.stable.out
        sql/benchmarks/tpch/Tests/15-explain.stable.out
        sql/benchmarks/tpch/Tests/15-plan.stable.out
        sql/benchmarks/tpch/Tests/16-explain.stable.out
        sql/benchmarks/tpch/Tests/16-plan.stable.out
        sql/benchmarks/tpch/Tests/17-explain.stable.out
        sql/benchmarks/tpch/Tests/17-plan.stable.out
        sql/benchmarks/tpch/Tests/18-explain.stable.out
        sql/benchmarks/tpch/Tests/18-plan.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/20-plan.stable.out
        sql/benchmarks/tpch/Tests/21-explain.stable.out
        sql/benchmarks/tpch/Tests/21-plan.stable.out
        sql/benchmarks/tpch/Tests/22-explain.stable.out
        sql/benchmarks/tpch/Tests/22-plan.stable.out
Branch: default
Log Message:

approved default relational (plan) & MAL (explain) plans for SSBM & TPCH queries
assuming that all changes wrt. Feb2013 are intended like this (for now)


diffs (truncated from 7005 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
@@ -36,38 +36,37 @@ Ready.
 % .explain # table_name
 % mal # name
 % clob # type
-% 91 # length
-function user.s0_1{autoCommit=true}(A0:int,A1:int,A2:int,A3:int):void;
-    X_62:lng  := nil:lng;
-barrier X_97 := language.dataflow();
+% 246 # length
+function user.s2_1{autoCommit=true}(A0:int,A1:int,A2:int,A3:int):void;
+barrier X_109 := language.dataflow();
     X_6 := sql.mvc();
     X_10 := sql.bind(X_6,"sys","lineorder","lo_quantity",0);
     X_18 := sql.bind(X_6,"sys","lineorder","lo_discount",0);
     X_7:bat[:oid,:oid]  := sql.tid(X_6,"sys","lineorder");
-    X_88 := algebra.subselect(X_18,X_7,A1,A2,true,true,false);
+    X_91 := 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_89 := algebra.subselect(r1_23,A1,A2,true,true,false);
+    X_92 := algebra.subselect(r1_23,A1,A2,true,true,false);
     X_22 := sql.bind(X_6,"sys","lineorder","lo_discount",1);
-    X_90 := algebra.subselect(X_22,X_7,A1,A2,true,true,false);
-    X_23 := sql.subdelta(X_88,X_7,X_20,X_89,X_90);
-    X_91 := algebra.thetasubselect(X_10,X_23,A3,"<");
+    X_93 := algebra.subselect(X_22,X_7,A1,A2,true,true,false);
+    X_23 := sql.subdelta(X_91,X_7,X_20,X_92,X_93);
+    X_94 := algebra.thetasubselect(X_10,X_23,A3,"<");
     (X_13,r1_13) := sql.bind(X_6,"sys","lineorder","lo_quantity",2);
-    X_92 := algebra.thetasubselect(r1_13,A3,"<");
+    X_95 := algebra.thetasubselect(r1_13,A3,"<");
     X_16 := sql.bind(X_6,"sys","lineorder","lo_quantity",1);
-    X_93 := algebra.thetasubselect(X_16,X_23,A3,"<");
-    X_25 := sql.subdelta(X_91,X_23,X_13,X_92,X_93);
+    X_96 := algebra.thetasubselect(X_16,X_23,A3,"<");
+    X_25 := sql.subdelta(X_94,X_23,X_13,X_95,X_96);
     X_27 := 
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 := 
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_36 := sql.bind(X_6,"sys","dwdate","d_year",0);
     X_33:bat[:oid,:oid]  := sql.tid(X_6,"sys","dwdate");
-    X_94 := algebra.subselect(X_36,X_33,A0,A0,true,true,false);
+    X_97 := algebra.subselect(X_36,X_33,A0,A0,true,true,false);
     (X_39,r1_48) := sql.bind(X_6,"sys","dwdate","d_year",2);
-    X_95 := algebra.subselect(r1_48,A0,A0,true,true,false);
+    X_98 := algebra.subselect(r1_48,A0,A0,true,true,false);
     X_42 := sql.bind(X_6,"sys","dwdate","d_year",1);
-    X_96 := algebra.subselect(X_42,X_33,A0,A0,true,true,false);
-    X_44 := sql.subdelta(X_94,X_33,X_39,X_95,X_96);
+    X_99 := algebra.subselect(X_42,X_33,A0,A0,true,true,false);
+    X_44 := sql.subdelta(X_97,X_33,X_39,X_98,X_99);
     X_46 := X_44;
     (X_47,r1_59) := algebra.join(X_32,X_46);
     X_49 := sql.bind(X_6,"sys","lineorder","lo_extendedprice",0);
@@ -90,9 +89,10 @@ barrier X_97 := language.dataflow();
     language.pass(r1_23);
     language.pass(X_22);
     language.pass(X_47);
-exit X_97;
+exit X_109;
     sql.exportValue(1,"sys.L1","revenue","bigint",53,0,6,X_62,"");
-end s0_1;
+end s2_1;
+# 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;","no_mitosis_pipe")
 
 # 23:10:45 >  
 # 23:10:45 >  "Done."
diff --git a/sql/benchmarks/ssbm/Tests/01-plan.stable.out 
b/sql/benchmarks/ssbm/Tests/01-plan.stable.out
--- a/sql/benchmarks/ssbm/Tests/01-plan.stable.out
+++ b/sql/benchmarks/ssbm/Tests/01-plan.stable.out
@@ -35,17 +35,17 @@ Ready.
 % .plan # table_name
 % rel # name
 % clob # type
-% 718 # length
+% 211 # length
 project (
 | group by (
 | | join (
 | | | select (
-| | | | table(sys.lineorder) [ lineorder.lo_orderdate, lineorder.lo_quantity, 
lineorder.lo_extendedprice, lineorder.lo_discount, lineorder.%TID% NOT NULL, 
lineorder.%lineorder_lo_orderkey_lo_linenumber_pkey NOT NULL HASHIDX , 
lineorder.%lineorder_lo_orderdate_fkey NOT NULL JOINIDX 
sys.lineorder.lineorder_lo_orderdate_fkey, 
lineorder.%lineorder_lo_commitdate_fkey NOT NULL JOINIDX 
sys.lineorder.lineorder_lo_commitdate_fkey, 
lineorder.%lineorder_lo_suppkey_fkey NOT NULL JOINIDX 
sys.lineorder.lineorder_lo_suppkey_fkey, lineorder.%lineorder_lo_custkey_fkey 
NOT NULL JOINIDX sys.lineorder.lineorder_lo_custkey_fkey, 
lineorder.%lineorder_lo_partkey_fkey NOT NULL JOINIDX 
sys.lineorder.lineorder_lo_partkey_fkey ] COUNT 
+| | | | table(sys.lineorder) [ lineorder.lo_quantity, 
lineorder.lo_extendedprice, lineorder.lo_discount, 
lineorder.%lineorder_lo_orderdate_fkey NOT NULL JOINIDX 
sys.lineorder.lineorder_lo_orderdate_fkey ] COUNT 
 | | | ) [ int[tinyint "1"] <= lineorder.lo_discount <= int[tinyint "3"], 
lineorder.lo_quantity < int[tinyint "25"] ],
 | | | select (
-| | | | table(sys.dwdate) [ dwdate.d_datekey NOT NULL HASHCOL , dwdate.d_year, 
dwdate.%TID% NOT NULL, dwdate.%dwdate_d_datekey_pkey NOT NULL HASHIDX  ] COUNT 
+| | | | table(sys.dwdate) [ dwdate.d_year, dwdate.%TID% NOT NULL ] COUNT 
 | | | ) [ dwdate.d_year = int[smallint "1993"] ]
-| | ) [ lineorder.lo_orderdate = dwdate.d_datekey NOT NULL HASHCOL  JOINIDX 
sys.lineorder.lineorder_lo_orderdate_fkey ]
+| | ) [ lineorder.%lineorder_lo_orderdate_fkey NOT NULL = dwdate.%TID% NOT 
NULL JOINIDX sys.lineorder.lineorder_lo_orderdate_fkey ]
 | ) [  ] [ sys.sum no nil (sys.sql_mul(bigint[lineorder.lo_extendedprice] as 
lineorder.lo_extendedprice, lineorder.lo_discount)) as L1.L1 ]
 ) [ L1 as L1.revenue ]
 
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
@@ -36,38 +36,37 @@ Ready.
 % .explain # table_name
 % mal # name
 % clob # type
-% 91 # length
-function user.s0_1{autoCommit=true}(A0:int,A1:int,A2:int,A3:int,A4:int):void;
-    X_62:lng  := nil:lng;
-barrier X_97 := language.dataflow();
+% 269 # length
+function user.s2_1{autoCommit=true}(A0:int,A1:int,A2:int,A3:int,A4:int):void;
+barrier X_109 := language.dataflow();
     X_7 := sql.mvc();
     X_11 := sql.bind(X_7,"sys","lineorder","lo_discount",0);
     X_19 := sql.bind(X_7,"sys","lineorder","lo_quantity",0);
     X_8:bat[:oid,:oid]  := sql.tid(X_7,"sys","lineorder");
-    X_88 := algebra.subselect(X_19,X_8,A3,A4,true,true,false);
+    X_91 := algebra.subselect(X_19,X_8,A3,A4,true,true,false);
     (X_21,r1_25) := sql.bind(X_7,"sys","lineorder","lo_quantity",2);
-    X_89 := algebra.subselect(r1_25,A3,A4,true,true,false);
+    X_92 := algebra.subselect(r1_25,A3,A4,true,true,false);
     X_23 := sql.bind(X_7,"sys","lineorder","lo_quantity",1);
-    X_90 := algebra.subselect(X_23,X_8,A3,A4,true,true,false);
-    X_24 := sql.subdelta(X_88,X_8,X_21,X_89,X_90);
-    X_91 := algebra.subselect(X_11,X_24,A1,A2,true,true,false);
+    X_93 := algebra.subselect(X_23,X_8,A3,A4,true,true,false);
+    X_24 := sql.subdelta(X_91,X_8,X_21,X_92,X_93);
+    X_94 := algebra.subselect(X_11,X_24,A1,A2,true,true,false);
     (X_14,r1_14) := sql.bind(X_7,"sys","lineorder","lo_discount",2);
-    X_92 := algebra.subselect(r1_14,A1,A2,true,true,false);
+    X_95 := algebra.subselect(r1_14,A1,A2,true,true,false);
     X_17 := sql.bind(X_7,"sys","lineorder","lo_discount",1);
-    X_93 := algebra.subselect(X_17,X_24,A1,A2,true,true,false);
-    X_26 := sql.subdelta(X_91,X_24,X_14,X_92,X_93);
+    X_96 := algebra.subselect(X_17,X_24,A1,A2,true,true,false);
+    X_26 := sql.subdelta(X_94,X_24,X_14,X_95,X_96);
     X_27 := 
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 := 
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_36 := sql.bind(X_7,"sys","dwdate","d_yearmonthnum",0);
     X_33:bat[:oid,:oid]  := sql.tid(X_7,"sys","dwdate");
-    X_94 := algebra.subselect(X_36,X_33,A0,A0,true,true,false);
+    X_97 := algebra.subselect(X_36,X_33,A0,A0,true,true,false);
     (X_39,r1_49) := sql.bind(X_7,"sys","dwdate","d_yearmonthnum",2);
-    X_95 := algebra.subselect(r1_49,A0,A0,true,true,false);
+    X_98 := algebra.subselect(r1_49,A0,A0,true,true,false);
     X_42 := sql.bind(X_7,"sys","dwdate","d_yearmonthnum",1);
-    X_96 := algebra.subselect(X_42,X_33,A0,A0,true,true,false);
-    X_44 := sql.subdelta(X_94,X_33,X_39,X_95,X_96);
+    X_99 := algebra.subselect(X_42,X_33,A0,A0,true,true,false);
+    X_44 := sql.subdelta(X_97,X_33,X_39,X_98,X_99);
     X_46 := X_44;
     (X_47,r1_60) := algebra.join(X_32,X_46);
     X_49 := sql.bind(X_7,"sys","lineorder","lo_extendedprice",0);
@@ -90,9 +89,10 @@ barrier X_97 := language.dataflow();
     language.pass(r1_14);
     language.pass(X_17);
     language.pass(X_47);
-exit X_97;
+exit X_109;
     sql.exportValue(1,"sys.L1","revenue","bigint",53,0,6,X_62,"");
-end s0_1;
+end s2_1;
+# 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;","no_mitosis_pipe")
 
 # 23:10:45 >  
 # 23:10:45 >  "Done."
diff --git a/sql/benchmarks/ssbm/Tests/02-plan.stable.out 
b/sql/benchmarks/ssbm/Tests/02-plan.stable.out
--- a/sql/benchmarks/ssbm/Tests/02-plan.stable.out
+++ b/sql/benchmarks/ssbm/Tests/02-plan.stable.out
@@ -35,17 +35,17 @@ Ready.
 % .plan # table_name
 % rel # name
 % clob # type
-% 718 # length
+% 211 # length
 project (
 | group by (
 | | join (
 | | | select (
-| | | | table(sys.lineorder) [ lineorder.lo_orderdate, lineorder.lo_quantity, 
lineorder.lo_extendedprice, lineorder.lo_discount, lineorder.%TID% NOT NULL, 
lineorder.%lineorder_lo_orderkey_lo_linenumber_pkey NOT NULL HASHIDX , 
lineorder.%lineorder_lo_orderdate_fkey NOT NULL JOINIDX 
sys.lineorder.lineorder_lo_orderdate_fkey, 
lineorder.%lineorder_lo_commitdate_fkey NOT NULL JOINIDX 
sys.lineorder.lineorder_lo_commitdate_fkey, 
lineorder.%lineorder_lo_suppkey_fkey NOT NULL JOINIDX 
sys.lineorder.lineorder_lo_suppkey_fkey, lineorder.%lineorder_lo_custkey_fkey 
NOT NULL JOINIDX sys.lineorder.lineorder_lo_custkey_fkey, 
lineorder.%lineorder_lo_partkey_fkey NOT NULL JOINIDX 
sys.lineorder.lineorder_lo_partkey_fkey ] COUNT 
+| | | | table(sys.lineorder) [ lineorder.lo_quantity, 
lineorder.lo_extendedprice, lineorder.lo_discount, 
lineorder.%lineorder_lo_orderdate_fkey NOT NULL JOINIDX 
sys.lineorder.lineorder_lo_orderdate_fkey ] COUNT 
 | | | ) [ int[tinyint "26"] <= lineorder.lo_quantity <= int[tinyint "35"], 
int[tinyint "4"] <= lineorder.lo_discount <= int[tinyint "6"] ],
 | | | select (
-| | | | table(sys.dwdate) [ dwdate.d_datekey NOT NULL HASHCOL , 
dwdate.d_yearmonthnum, dwdate.%TID% NOT NULL, dwdate.%dwdate_d_datekey_pkey NOT 
NULL HASHIDX  ] COUNT 
+| | | | table(sys.dwdate) [ dwdate.d_yearmonthnum, dwdate.%TID% NOT NULL ] 
COUNT 
 | | | ) [ dwdate.d_yearmonthnum = int "199401" ]
-| | ) [ lineorder.lo_orderdate = dwdate.d_datekey NOT NULL HASHCOL  JOINIDX 
sys.lineorder.lineorder_lo_orderdate_fkey ]
+| | ) [ lineorder.%lineorder_lo_orderdate_fkey NOT NULL = dwdate.%TID% NOT 
NULL JOINIDX sys.lineorder.lineorder_lo_orderdate_fkey ]
 | ) [  ] [ sys.sum no nil (sys.sql_mul(bigint[lineorder.lo_extendedprice] as 
lineorder.lo_extendedprice, lineorder.lo_discount)) as L1.L1 ]
 ) [ L1 as L1.revenue ]
 
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
@@ -36,26 +36,25 @@ Ready.
 % .explain # table_name
 % mal # name
 % clob # type
-% 91 # length
-function 
user.s0_1{autoCommit=true}(A0:int,A1:int,A2:int,A3:int,A4:int,A5:int):void;
-    X_71:lng  := nil:lng;
-barrier X_111 := language.dataflow();
+% 283 # length
+function 
user.s2_1{autoCommit=true}(A0:int,A1:int,A2:int,A3:int,A4:int,A5:int):void;
+barrier X_124 := language.dataflow();
     X_8 := sql.mvc();
     X_12 := sql.bind(X_8,"sys","lineorder","lo_discount",0);
     X_20 := sql.bind(X_8,"sys","lineorder","lo_quantity",0);
     X_9:bat[:oid,:oid]  := sql.tid(X_8,"sys","lineorder");
-    X_99 := algebra.subselect(X_20,X_9,A4,A5,true,true,false);
+    X_102 := algebra.subselect(X_20,X_9,A4,A5,true,true,false);
     (X_22,r1_26) := sql.bind(X_8,"sys","lineorder","lo_quantity",2);
-    X_100 := algebra.subselect(r1_26,A4,A5,true,true,false);
+    X_103 := algebra.subselect(r1_26,A4,A5,true,true,false);
     X_24 := sql.bind(X_8,"sys","lineorder","lo_quantity",1);
-    X_101 := algebra.subselect(X_24,X_9,A4,A5,true,true,false);
-    X_25 := sql.subdelta(X_99,X_9,X_22,X_100,X_101);
-    X_102 := algebra.subselect(X_12,X_25,A2,A3,true,true,false);
+    X_104 := algebra.subselect(X_24,X_9,A4,A5,true,true,false);
+    X_25 := sql.subdelta(X_102,X_9,X_22,X_103,X_104);
+    X_105 := algebra.subselect(X_12,X_25,A2,A3,true,true,false);
     (X_15,r1_15) := sql.bind(X_8,"sys","lineorder","lo_discount",2);
-    X_103 := algebra.subselect(r1_15,A2,A3,true,true,false);
+    X_106 := algebra.subselect(r1_15,A2,A3,true,true,false);
     X_18 := sql.bind(X_8,"sys","lineorder","lo_discount",1);
-    X_104 := algebra.subselect(X_18,X_25,A2,A3,true,true,false);
-    X_27 := sql.subdelta(X_102,X_25,X_15,X_103,X_104);
+    X_107 := algebra.subselect(X_18,X_25,A2,A3,true,true,false);
+    X_27 := sql.subdelta(X_105,X_25,X_15,X_106,X_107);
     X_28 := 
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 := 
sql.bind_idxbat(X_8,"sys","lineorder","lineorder_lo_orderdate_fkey",1);
@@ -63,18 +62,18 @@ barrier X_111 := language.dataflow();
     X_37 := sql.bind(X_8,"sys","dwdate","d_weeknuminyear",0);
     X_45 := sql.bind(X_8,"sys","dwdate","d_year",0);
     X_34:bat[:oid,:oid]  := sql.tid(X_8,"sys","dwdate");
-    X_105 := algebra.subselect(X_45,X_34,A1,A1,true,true,false);
+    X_108 := algebra.subselect(X_45,X_34,A1,A1,true,true,false);
     (X_47,r1_60) := sql.bind(X_8,"sys","dwdate","d_year",2);
-    X_106 := algebra.subselect(r1_60,A1,A1,true,true,false);
+    X_109 := algebra.subselect(r1_60,A1,A1,true,true,false);
     X_49 := sql.bind(X_8,"sys","dwdate","d_year",1);
-    X_107 := algebra.subselect(X_49,X_34,A1,A1,true,true,false);
-    X_50 := sql.subdelta(X_105,X_34,X_47,X_106,X_107);
-    X_108 := algebra.subselect(X_37,X_50,A0,A0,true,true,false);
+    X_110 := algebra.subselect(X_49,X_34,A1,A1,true,true,false);
+    X_50 := sql.subdelta(X_108,X_34,X_47,X_109,X_110);
+    X_111 := algebra.subselect(X_37,X_50,A0,A0,true,true,false);
     (X_40,r1_50) := sql.bind(X_8,"sys","dwdate","d_weeknuminyear",2);
-    X_109 := algebra.subselect(r1_50,A0,A0,true,true,false);
+    X_112 := algebra.subselect(r1_50,A0,A0,true,true,false);
     X_43 := sql.bind(X_8,"sys","dwdate","d_weeknuminyear",1);
-    X_110 := algebra.subselect(X_43,X_50,A0,A0,true,true,false);
-    X_53 := sql.subdelta(X_108,X_50,X_40,X_109,X_110);
+    X_113 := algebra.subselect(X_43,X_50,A0,A0,true,true,false);
+    X_53 := sql.subdelta(X_111,X_50,X_40,X_112,X_113);
     X_54 := X_53;
     (X_55,r1_71) := algebra.join(X_33,X_54);
     X_57 := sql.bind(X_8,"sys","lineorder","lo_extendedprice",0);
@@ -98,9 +97,10 @@ barrier X_111 := language.dataflow();
     language.pass(r1_15);
     language.pass(X_18);
     language.pass(X_55);
-exit X_111;
+exit X_124;
     sql.exportValue(1,"sys.L1","revenue","bigint",53,0,6,X_71,"");
-end s0_1;
+end s2_1;
+# 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;","no_mitosis_pipe")
 
 # 23:10:45 >  
 # 23:10:45 >  "Done."
diff --git a/sql/benchmarks/ssbm/Tests/03-plan.stable.out 
b/sql/benchmarks/ssbm/Tests/03-plan.stable.out
--- a/sql/benchmarks/ssbm/Tests/03-plan.stable.out
+++ b/sql/benchmarks/ssbm/Tests/03-plan.stable.out
@@ -35,17 +35,17 @@ Ready.
 % .plan # table_name
 % rel # name
 % clob # type
-% 718 # length
+% 211 # length
 project (
 | group by (
 | | join (
 | | | select (
-| | | | table(sys.lineorder) [ lineorder.lo_orderdate, lineorder.lo_quantity, 
lineorder.lo_extendedprice, lineorder.lo_discount, lineorder.%TID% NOT NULL, 
lineorder.%lineorder_lo_orderkey_lo_linenumber_pkey NOT NULL HASHIDX , 
lineorder.%lineorder_lo_orderdate_fkey NOT NULL JOINIDX 
sys.lineorder.lineorder_lo_orderdate_fkey, 
lineorder.%lineorder_lo_commitdate_fkey NOT NULL JOINIDX 
sys.lineorder.lineorder_lo_commitdate_fkey, 
lineorder.%lineorder_lo_suppkey_fkey NOT NULL JOINIDX 
sys.lineorder.lineorder_lo_suppkey_fkey, lineorder.%lineorder_lo_custkey_fkey 
NOT NULL JOINIDX sys.lineorder.lineorder_lo_custkey_fkey, 
lineorder.%lineorder_lo_partkey_fkey NOT NULL JOINIDX 
sys.lineorder.lineorder_lo_partkey_fkey ] COUNT 
+| | | | table(sys.lineorder) [ lineorder.lo_quantity, 
lineorder.lo_extendedprice, lineorder.lo_discount, 
lineorder.%lineorder_lo_orderdate_fkey NOT NULL JOINIDX 
sys.lineorder.lineorder_lo_orderdate_fkey ] COUNT 
 | | | ) [ int[tinyint "36"] <= lineorder.lo_quantity <= int[tinyint "40"], 
int[tinyint "5"] <= lineorder.lo_discount <= int[tinyint "7"] ],
 | | | select (
-| | | | table(sys.dwdate) [ dwdate.d_datekey NOT NULL HASHCOL , dwdate.d_year, 
dwdate.d_weeknuminyear, dwdate.%TID% NOT NULL, dwdate.%dwdate_d_datekey_pkey 
NOT NULL HASHIDX  ] COUNT 
+| | | | table(sys.dwdate) [ dwdate.d_year, dwdate.d_weeknuminyear, 
dwdate.%TID% NOT NULL ] COUNT 
 | | | ) [ dwdate.d_year = int[smallint "1994"], dwdate.d_weeknuminyear = 
int[tinyint "6"] ]
-| | ) [ lineorder.lo_orderdate = dwdate.d_datekey NOT NULL HASHCOL  JOINIDX 
sys.lineorder.lineorder_lo_orderdate_fkey ]
+| | ) [ lineorder.%lineorder_lo_orderdate_fkey NOT NULL = dwdate.%TID% NOT 
NULL JOINIDX sys.lineorder.lineorder_lo_orderdate_fkey ]
 | ) [  ] [ sys.sum no nil (sys.sql_mul(bigint[lineorder.lo_extendedprice] as 
lineorder.lo_extendedprice, lineorder.lo_discount)) as L1.L1 ]
 ) [ L1 as L1.revenue ]
 
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
@@ -39,12 +39,9 @@ Ready.
_______________________________________________
checkin-list mailing list
checkin-list@monetdb.org
http://mail.monetdb.org/mailman/listinfo/checkin-list

Reply via email to