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
[email protected]
http://mail.monetdb.org/mailman/listinfo/checkin-list