Changeset: 6daae34cebc0 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=6daae34cebc0
Modified Files:
sql/benchmarks/tpch/Tests/07-plan.stable.out
sql/benchmarks/tpch/Tests/08-plan.stable.out
sql/benchmarks/tpch/Tests/11-explain.stable.out
sql/benchmarks/tpch/Tests/11-plan.stable.out
sql/benchmarks/tpch/Tests/14-plan.stable.out
sql/benchmarks/tpch/Tests/19-plan.stable.out
Branch: default
Log Message:
Approved non-int128 output.
diffs (256 lines):
diff --git a/sql/benchmarks/tpch/Tests/07-plan.stable.out
b/sql/benchmarks/tpch/Tests/07-plan.stable.out
--- a/sql/benchmarks/tpch/Tests/07-plan.stable.out
+++ b/sql/benchmarks/tpch/Tests/07-plan.stable.out
@@ -74,15 +74,15 @@ project (
| | | | | | | ) [ lineitem.%lineitem_l_orderkey_fkey NOT NULL = orders.%TID%
NOT NULL JOINIDX sys.lineitem.lineitem_l_orderkey_fkey ],
| | | | | | | select (
| | | | | | | | table(sys.nation) [ nation.n_name NOT NULL as n1.n_name,
nation.%TID% NOT NULL as n1.%TID% ] COUNT
-| | | | | | | ) [ n1.n_name NOT NULL in (char(25)[char(6) "FRANCE"],
char(25)[char(7) "GERMANY"]) ]
+| | | | | | | ) [ n1.n_name NOT NULL in (char(25) "FRANCE", char(25)
"GERMANY") ]
| | | | | | ) [ supplier.%supplier_s_nationkey_fkey NOT NULL = n1.%TID% NOT
NULL JOINIDX sys.supplier.supplier_s_nationkey_fkey ],
| | | | | | table(sys.customer) [ customer.%TID% NOT NULL,
customer.%customer_c_nationkey_fkey NOT NULL JOINIDX
sys.customer.customer_c_nationkey_fkey ] COUNT
| | | | | ) [ orders.%orders_o_custkey_fkey NOT NULL = customer.%TID% NOT NULL
JOINIDX sys.orders.orders_o_custkey_fkey ],
| | | | | select (
| | | | | | table(sys.nation) [ nation.n_name NOT NULL as n2.n_name,
nation.%TID% NOT NULL as n2.%TID% ] COUNT
-| | | | | ) [ n2.n_name NOT NULL in (char(25)[char(7) "GERMANY"],
char(25)[char(6) "FRANCE"]) ]
+| | | | | ) [ n2.n_name NOT NULL in (char(25) "GERMANY", char(25) "FRANCE") ]
| | | | ) [ customer.%customer_c_nationkey_fkey NOT NULL = n2.%TID% NOT NULL
JOINIDX sys.customer.customer_c_nationkey_fkey ]
-| | | ) [ (n1.n_name NOT NULL = char(25)[char(6) "FRANCE"], n2.n_name NOT NULL
= char(25)[char(7) "GERMANY"]) or (n1.n_name NOT NULL = char(25)[char(7)
"GERMANY"], n2.n_name NOT NULL = char(25)[char(6) "FRANCE"]) ]
+| | | ) [ (n1.n_name NOT NULL = char(25) "FRANCE", n2.n_name NOT NULL =
char(25) "GERMANY") or (n1.n_name NOT NULL = char(25) "GERMANY", n2.n_name NOT
NULL = char(25) "FRANCE") ]
| | ) [ n1.n_name NOT NULL as shipping.supp_nation, n2.n_name NOT NULL as
shipping.cust_nation, sys.year(lineitem.l_shipdate NOT NULL) as
shipping.l_year, sys.sql_mul(lineitem.l_extendedprice NOT NULL,
sys.sql_sub(decimal(15,2)[tinyint "1"], lineitem.l_discount NOT NULL)) as
shipping.volume ]
| ) [ shipping.supp_nation NOT NULL, shipping.cust_nation NOT NULL,
shipping.l_year ] [ shipping.supp_nation NOT NULL, shipping.cust_nation NOT
NULL, shipping.l_year, sys.sum no nil (shipping.volume) as L1.L1 ]
) [ shipping.supp_nation NOT NULL, shipping.cust_nation NOT NULL,
shipping.l_year, L1 as L1.revenue ] [ shipping.supp_nation ASC NOT NULL,
shipping.cust_nation ASC NOT NULL, shipping.l_year ASC ]
diff --git a/sql/benchmarks/tpch/Tests/08-plan.stable.out
b/sql/benchmarks/tpch/Tests/08-plan.stable.out
--- a/sql/benchmarks/tpch/Tests/08-plan.stable.out
+++ b/sql/benchmarks/tpch/Tests/08-plan.stable.out
@@ -56,7 +56,7 @@ Ready.
% .plan # table_name
% rel # name
% clob # type
-% 498 # length
+% 480 # length
project (
| group by (
| | project (
@@ -82,13 +82,13 @@ project (
| | | | | | ) [ customer.%customer_c_nationkey_fkey NOT NULL = n1.%TID% NOT
NULL JOINIDX sys.customer.customer_c_nationkey_fkey ],
| | | | | | select (
| | | | | | | table(sys.region) [ region.r_name NOT NULL, region.%TID% NOT
NULL ] COUNT
-| | | | | | ) [ region.r_name NOT NULL = char(25)[char(7) "AMERICA"] ]
+| | | | | | ) [ region.r_name NOT NULL = char(25) "AMERICA" ]
| | | | | ) [ n1.%nation_n_regionkey_fkey NOT NULL = region.%TID% NOT NULL
JOINIDX sys.nation.nation_n_regionkey_fkey ],
| | | | | table(sys.supplier) [ supplier.s_suppkey NOT NULL HASHCOL ,
supplier.%supplier_s_nationkey_fkey NOT NULL JOINIDX
sys.supplier.supplier_s_nationkey_fkey ] COUNT
| | | | ) [ supplier.s_suppkey NOT NULL HASHCOL = lineitem.l_suppkey NOT NULL
],
| | | | table(sys.nation) [ nation.n_name NOT NULL as n2.n_name, nation.%TID%
NOT NULL as n2.%TID% ] COUNT
| | | ) [ supplier.%supplier_s_nationkey_fkey NOT NULL = n2.%TID% NOT NULL
JOINIDX sys.supplier.supplier_s_nationkey_fkey ]
-| | ) [ sys.year(orders.o_orderdate NOT NULL) as all_nations.o_year,
sys.sql_mul(lineitem.l_extendedprice NOT NULL,
sys.sql_sub(decimal(15,2)[tinyint "1"], lineitem.l_discount NOT NULL)) as
all_nations.volume, n2.n_name NOT NULL as all_nations.nation,
sys.ifthenelse(sys.ifthenelse(sys.isnull(sys.=(all_nations.nation NOT NULL,
char(25)[char(6) "BRAZIL"])), boolean "false", sys.=(all_nations.nation NOT
NULL, char(25)[char(6) "BRAZIL"])), all_nations.volume, decimal(19,4)[tinyint
"0"]) as L1.L1 ]
+| | ) [ sys.year(orders.o_orderdate NOT NULL) as all_nations.o_year,
sys.sql_mul(lineitem.l_extendedprice NOT NULL,
sys.sql_sub(decimal(15,2)[tinyint "1"], lineitem.l_discount NOT NULL)) as
all_nations.volume, n2.n_name NOT NULL as all_nations.nation,
sys.ifthenelse(sys.ifthenelse(sys.isnull(sys.=(all_nations.nation NOT NULL,
char(25) "BRAZIL")), boolean "false", sys.=(all_nations.nation NOT NULL,
char(25) "BRAZIL")), all_nations.volume, decimal(19,4)[tinyint "0"]) as L1.L1 ]
| ) [ all_nations.o_year ] [ all_nations.o_year, sys.sum no nil (L1.L1) as
L2.L2, sys.sum no nil (all_nations.volume) as L3.L3 ]
) [ all_nations.o_year, sys.sql_div(decimal(19,8)[L2] as L2, L3) as
L3.mkt_share ] [ all_nations.o_year ASC ]
diff --git a/sql/benchmarks/tpch/Tests/11-explain.stable.out
b/sql/benchmarks/tpch/Tests/11-explain.stable.out
--- a/sql/benchmarks/tpch/Tests/11-explain.stable.out
+++ b/sql/benchmarks/tpch/Tests/11-explain.stable.out
@@ -72,57 +72,57 @@ function user.s2_1{autoCommit=true}(A0:s
X_25:bat[:oid,:str] := sql.bind(X_5,"sys","nation","n_name",1);
X_26 := sql.delta(X_21,X_23,r1_23,X_25);
X_27 := algebra.leftfetchjoin(X_19,X_26);
- X_28 := algebra.subselect(X_27,A0,A0,true,true,false);
- X_30 := algebra.leftfetchjoin(X_28,X_19);
- (X_31,r1_32) := algebra.subjoin(X_18,X_30,nil:BAT,nil:BAT,false,nil:lng);
- X_35 := algebra.leftfetchjoin(X_31,X_6);
+ X_84 := algebra.subselect(X_27,A2,A2,true,true,false);
+ X_86 := algebra.leftfetchjoin(X_84,X_19);
+ (X_87,r1_114) := algebra.subjoin(X_18,X_86,nil:BAT,nil:BAT,false,nil:lng);
+ X_91 := algebra.leftfetchjoin(X_87,X_6);
X_36:bat[:oid,:oid] := sql.tid(X_5,"sys","partsupp");
X_38:bat[:oid,:oid] :=
sql.bind_idxbat(X_5,"sys","partsupp","partsupp_ps_suppkey_fkey",0);
(X_41,r1_42) :=
sql.bind_idxbat(X_5,"sys","partsupp","partsupp_ps_suppkey_fkey",2);
X_43:bat[:oid,:oid] :=
sql.bind_idxbat(X_5,"sys","partsupp","partsupp_ps_suppkey_fkey",1);
X_44 := sql.delta(X_38,X_41,r1_42,X_43);
X_45 := algebra.leftfetchjoin(X_36,X_44);
- (X_46,r1_47) := algebra.subjoin(X_35,X_45,nil:BAT,nil:BAT,false,nil:lng);
- X_48:bat[:oid,:int] := sql.bind(X_5,"sys","partsupp","ps_partkey",0);
- (X_51,r1_52) := sql.bind(X_5,"sys","partsupp","ps_partkey",2);
- X_54:bat[:oid,:int] := sql.bind(X_5,"sys","partsupp","ps_partkey",1);
- X_56 := sql.delta(X_48,X_51,r1_52,X_54);
- X_57:bat[:oid,:int] := algebra.leftfetchjoinPath(r1_47,X_36,X_56);
- (X_58,r1_60,r2_60) := group.subgroupdone(X_57);
- X_61 := algebra.leftfetchjoin(r1_60,X_57);
+ (X_92,r1_128) := algebra.subjoin(X_91,X_45,nil:BAT,nil:BAT,false,nil:lng);
X_63:bat[:oid,:lng] := sql.bind(X_5,"sys","partsupp","ps_supplycost",0);
(X_65,r1_67) := sql.bind(X_5,"sys","partsupp","ps_supplycost",2);
X_67:bat[:oid,:lng] := sql.bind(X_5,"sys","partsupp","ps_supplycost",1);
X_68 := sql.delta(X_63,X_65,r1_67,X_67);
X_69 := algebra.leftfetchjoin(X_36,X_68);
- X_70 := algebra.leftfetchjoin(r1_47,X_69);
+ X_95 := algebra.leftfetchjoin(r1_128,X_69);
X_71:bat[:oid,:int] := sql.bind(X_5,"sys","partsupp","ps_availqty",0);
(X_75,r1_77) := sql.bind(X_5,"sys","partsupp","ps_availqty",2);
X_77:bat[:oid,:int] := sql.bind(X_5,"sys","partsupp","ps_availqty",1);
X_78 := sql.delta(X_71,X_75,r1_77,X_77);
X_79 := algebra.leftfetchjoin(X_36,X_78);
- X_80 := algebra.leftfetchjoin(r1_47,X_79);
- X_81:bat[:oid,:lng] := batcalc.*(X_70,X_80);
- X_82:bat[:oid,:lng] := aggr.subsum(X_81,X_58,r1_60,true,true);
- X_62 := bat.mirror(X_61);
- X_84 := algebra.subselect(X_27,A2,A2,true,true,false);
- X_86 := algebra.leftfetchjoin(X_84,X_19);
- (X_87,r1_114) := algebra.subjoin(X_18,X_86,nil:BAT,nil:BAT,false,nil:lng);
- X_91 := algebra.leftfetchjoin(X_87,X_6);
- (X_92,r1_128) := algebra.subjoin(X_91,X_45,nil:BAT,nil:BAT,false,nil:lng);
- X_95 := algebra.leftfetchjoin(r1_128,X_69);
X_96 := algebra.leftfetchjoin(r1_128,X_79);
X_97:bat[:oid,:lng] := batcalc.*(X_95,X_96);
X_98:lng := aggr.sum(X_97);
X_99 := calc.*(X_98,A1);
- X_100 := sql.single(X_99);
- X_102:bat[:oid,:lng] := batsql.dec_round(X_100,100);
- (X_103,r1_162) :=
algebra.subthetajoin(X_82,X_102,nil:BAT,nil:BAT,1,true,nil:lng);
+ X_28 := algebra.subselect(X_27,A0,A0,true,true,false);
+ X_30 := algebra.leftfetchjoin(X_28,X_19);
+ (X_31,r1_32) := algebra.subjoin(X_18,X_30,nil:BAT,nil:BAT,false,nil:lng);
+ X_35 := algebra.leftfetchjoin(X_31,X_6);
+ (X_46,r1_47) := algebra.subjoin(X_35,X_45,nil:BAT,nil:BAT,false,nil:lng);
+ X_70 := algebra.leftfetchjoin(r1_47,X_69);
+ X_80 := algebra.leftfetchjoin(r1_47,X_79);
+ X_81:bat[:oid,:lng] := batcalc.*(X_70,X_80);
+ X_48:bat[:oid,:int] := sql.bind(X_5,"sys","partsupp","ps_partkey",0);
+ (X_51,r1_52) := sql.bind(X_5,"sys","partsupp","ps_partkey",2);
+ X_54:bat[:oid,:int] := sql.bind(X_5,"sys","partsupp","ps_partkey",1);
+ X_56 := sql.delta(X_48,X_51,r1_52,X_54);
+ X_57:bat[:oid,:int] := algebra.leftfetchjoinPath(r1_47,X_36,X_56);
+ (X_58,r1_60,r2_60) := group.subgroupdone(X_57);
+ X_61 := algebra.leftfetchjoin(r1_60,X_57);
+ X_82:bat[:oid,:lng] := aggr.subsum(X_81,X_58,r1_60,true,true);
+ X_62 := bat.mirror(X_61);
+ X_101 := sql.dec_round(X_99,100);
+ X_102 := sql.single(X_101);
+ (X_103,r1_160) :=
algebra.subthetajoin(X_82,X_102,nil:BAT,nil:BAT,1,true,nil:lng);
X_108 := algebra.tinter(X_62,X_103);
X_109 := algebra.leftfetchjoin(X_108,X_82);
- (X_110,r1_169,r2_169) := algebra.subsort(X_109,true,false);
- X_114:bat[:oid,:int] := algebra.leftfetchjoinPath(r1_169,X_108,X_61);
- X_115 := algebra.leftfetchjoin(r1_169,X_109);
+ (X_110,r1_167,r2_167) := algebra.subsort(X_109,true,false);
+ X_114:bat[:oid,:int] := algebra.leftfetchjoinPath(r1_167,X_108,X_61);
+ X_115 := algebra.leftfetchjoin(r1_167,X_109);
X_116 := sql.resultSet(2,1,X_114);
sql.rsColumn(X_116,"sys.partsupp","ps_partkey","int",32,0,X_114);
sql.rsColumn(X_116,"sys.L1","value","decimal",19,2,X_115);
diff --git a/sql/benchmarks/tpch/Tests/11-plan.stable.out
b/sql/benchmarks/tpch/Tests/11-plan.stable.out
--- a/sql/benchmarks/tpch/Tests/11-plan.stable.out
+++ b/sql/benchmarks/tpch/Tests/11-plan.stable.out
@@ -55,34 +55,38 @@ Ready.
% .plan # table_name
% rel # name
% clob # type
-% 231 # length
+% 235 # length
project (
-| semijoin (
-| | group by (
-| | | join (
-| | | | join (
-| | | | | table(sys.supplier) [ supplier.%TID% NOT NULL,
supplier.%supplier_s_nationkey_fkey NOT NULL JOINIDX
sys.supplier.supplier_s_nationkey_fkey ] COUNT ,
-| | | | | select (
-| | | | | | table(sys.nation) [ nation.n_name NOT NULL, nation.%TID% NOT NULL
] COUNT
-| | | | | ) [ nation.n_name NOT NULL = char(25) "GERMANY" ]
-| | | | ) [ supplier.%supplier_s_nationkey_fkey NOT NULL = nation.%TID% NOT
NULL JOINIDX sys.supplier.supplier_s_nationkey_fkey ],
-| | | | table(sys.partsupp) [ partsupp.ps_partkey NOT NULL HASHCOL ,
partsupp.ps_availqty NOT NULL, partsupp.ps_supplycost NOT NULL,
partsupp.%partsupp_ps_suppkey_fkey NOT NULL JOINIDX
sys.partsupp.partsupp_ps_suppkey_fkey ] COUNT
-| | | ) [ partsupp.%partsupp_ps_suppkey_fkey NOT NULL = supplier.%TID% NOT
NULL JOINIDX sys.partsupp.partsupp_ps_suppkey_fkey ]
-| | ) [ partsupp.ps_partkey NOT NULL HASHCOL ] [ partsupp.ps_partkey NOT NULL
HASHCOL , sys.sum no nil (sys.sql_mul(partsupp.ps_supplycost NOT NULL,
partsupp.ps_availqty NOT NULL)) as L1.L1, L1.L1 as L2.L2 ],
-| | project (
-| | | group by (
-| | | | join (
+| project (
+| | semijoin (
+| | | project (
+| | | | group by (
| | | | | join (
-| | | | | | table(sys.supplier) [ supplier.%TID% NOT NULL,
supplier.%supplier_s_nationkey_fkey NOT NULL JOINIDX
sys.supplier.supplier_s_nationkey_fkey ] COUNT ,
-| | | | | | select (
-| | | | | | | table(sys.nation) [ nation.n_name NOT NULL, nation.%TID% NOT
NULL ] COUNT
-| | | | | | ) [ nation.n_name NOT NULL = char(25) "GERMANY" ]
-| | | | | ) [ supplier.%supplier_s_nationkey_fkey NOT NULL = nation.%TID% NOT
NULL JOINIDX sys.supplier.supplier_s_nationkey_fkey ],
-| | | | | table(sys.partsupp) [ partsupp.ps_availqty NOT NULL,
partsupp.ps_supplycost NOT NULL, partsupp.%partsupp_ps_suppkey_fkey NOT NULL
JOINIDX sys.partsupp.partsupp_ps_suppkey_fkey ] COUNT
-| | | | ) [ partsupp.%partsupp_ps_suppkey_fkey NOT NULL = supplier.%TID% NOT
NULL JOINIDX sys.partsupp.partsupp_ps_suppkey_fkey ]
-| | | ) [ ] [ sys.sum no nil (sys.sql_mul(partsupp.ps_supplycost NOT NULL,
partsupp.ps_availqty NOT NULL)) as L3.L3 ]
-| | ) [ sys.sql_mul(L3, decimal(4,3) "1") as L4.L4 ]
-| ) [ L2 > sys.scale_down(L4.L4, bigint "100") ]
+| | | | | | join (
+| | | | | | | table(sys.supplier) [ supplier.%TID% NOT NULL,
supplier.%supplier_s_nationkey_fkey NOT NULL JOINIDX
sys.supplier.supplier_s_nationkey_fkey ] COUNT ,
+| | | | | | | select (
+| | | | | | | | table(sys.nation) [ nation.n_name NOT NULL, nation.%TID% NOT
NULL ] COUNT
+| | | | | | | ) [ nation.n_name NOT NULL = char(25) "GERMANY" ]
+| | | | | | ) [ supplier.%supplier_s_nationkey_fkey NOT NULL = nation.%TID%
NOT NULL JOINIDX sys.supplier.supplier_s_nationkey_fkey ],
+| | | | | | table(sys.partsupp) [ partsupp.ps_partkey NOT NULL HASHCOL ,
partsupp.ps_availqty NOT NULL, partsupp.ps_supplycost NOT NULL,
partsupp.%partsupp_ps_suppkey_fkey NOT NULL JOINIDX
sys.partsupp.partsupp_ps_suppkey_fkey ] COUNT
+| | | | | ) [ partsupp.%partsupp_ps_suppkey_fkey NOT NULL = supplier.%TID% NOT
NULL JOINIDX sys.partsupp.partsupp_ps_suppkey_fkey ]
+| | | | ) [ partsupp.ps_partkey NOT NULL HASHCOL ] [ partsupp.ps_partkey NOT
NULL HASHCOL , sys.sum no nil (sys.sql_mul(partsupp.ps_supplycost NOT NULL,
partsupp.ps_availqty NOT NULL)) as L1.L1, L1.L1 as L2.L2 ]
+| | | ) [ partsupp.ps_partkey NOT NULL HASHCOL , L1.L1, L2.L2, L2 as L5.L5 ],
+| | | project (
+| | | | group by (
+| | | | | join (
+| | | | | | join (
+| | | | | | | table(sys.supplier) [ supplier.%TID% NOT NULL,
supplier.%supplier_s_nationkey_fkey NOT NULL JOINIDX
sys.supplier.supplier_s_nationkey_fkey ] COUNT ,
+| | | | | | | select (
+| | | | | | | | table(sys.nation) [ nation.n_name NOT NULL, nation.%TID% NOT
NULL ] COUNT
+| | | | | | | ) [ nation.n_name NOT NULL = char(25) "GERMANY" ]
+| | | | | | ) [ supplier.%supplier_s_nationkey_fkey NOT NULL = nation.%TID%
NOT NULL JOINIDX sys.supplier.supplier_s_nationkey_fkey ],
+| | | | | | table(sys.partsupp) [ partsupp.ps_availqty NOT NULL,
partsupp.ps_supplycost NOT NULL, partsupp.%partsupp_ps_suppkey_fkey NOT NULL
JOINIDX sys.partsupp.partsupp_ps_suppkey_fkey ] COUNT
+| | | | | ) [ partsupp.%partsupp_ps_suppkey_fkey NOT NULL = supplier.%TID% NOT
NULL JOINIDX sys.partsupp.partsupp_ps_suppkey_fkey ]
+| | | | ) [ ] [ sys.sum no nil (sys.sql_mul(partsupp.ps_supplycost NOT NULL,
partsupp.ps_availqty NOT NULL)) as L3.L3 ]
+| | | ) [ sys.sql_mul(L3, decimal(4,3) "1") as L4.L4, sys.scale_down(L4.L4,
bigint "100") as L6.L6 ]
+| | ) [ L5.L5 > L6.L6 ]
+| ) [ partsupp.ps_partkey NOT NULL HASHCOL , L1.L1, L2.L2 ]
) [ partsupp.ps_partkey NOT NULL, L1 as L1.value ] [ L1.value ]
# 22:46:31 >
diff --git a/sql/benchmarks/tpch/Tests/14-plan.stable.out
b/sql/benchmarks/tpch/Tests/14-plan.stable.out
--- a/sql/benchmarks/tpch/Tests/14-plan.stable.out
+++ b/sql/benchmarks/tpch/Tests/14-plan.stable.out
@@ -41,7 +41,7 @@ Ready.
% .plan # table_name
% rel # name
% clob # type
-% 502 # length
+% 484 # length
project (
| group by (
| | join (
@@ -50,7 +50,7 @@ project (
| | | ) [ date "1995-09-01" <= lineitem.l_shipdate NOT NULL < sys.sql_add(date
"1995-09-01", month_interval "1") ],
| | | table(sys.part) [ part.p_partkey NOT NULL HASHCOL , part.p_type NOT NULL
] COUNT
| | ) [ lineitem.l_partkey NOT NULL = part.p_partkey NOT NULL HASHCOL ]
-| ) [ ] [ sys.sum no nil
(sys.ifthenelse(sys.ifthenelse(sys.isnull(sys.like(part.p_type NOT NULL,
char[char(6) "PROMO%"])), boolean "false", sys.like(part.p_type NOT NULL,
char[char(6) "PROMO%"])), sys.sql_mul(lineitem.l_extendedprice NOT NULL,
sys.sql_sub(decimal(15,2)[tinyint "1"], lineitem.l_discount NOT NULL)),
decimal(19,4)[tinyint "0"])) as L1.L1, sys.sum no nil
(sys.sql_mul(lineitem.l_extendedprice NOT NULL,
sys.sql_sub(decimal(15,2)[tinyint "1"], lineitem.l_discount NOT NULL))) as
L2.L2 ]
+| ) [ ] [ sys.sum no nil
(sys.ifthenelse(sys.ifthenelse(sys.isnull(sys.like(part.p_type NOT NULL, char
"PROMO%")), boolean "false", sys.like(part.p_type NOT NULL, char "PROMO%")),
sys.sql_mul(lineitem.l_extendedprice NOT NULL,
sys.sql_sub(decimal(15,2)[tinyint "1"], lineitem.l_discount NOT NULL)),
decimal(19,4)[tinyint "0"])) as L1.L1, sys.sum no nil
(sys.sql_mul(lineitem.l_extendedprice NOT NULL,
sys.sql_sub(decimal(15,2)[tinyint "1"], lineitem.l_discount NOT NULL))) as
L2.L2 ]
) [ sys.sql_mul(decimal(4,1) "1", sys.sql_div(decimal(19,8)[L1] as L1, L2)) as
L2.promo_revenue ]
# 22:46:32 >
diff --git a/sql/benchmarks/tpch/Tests/19-plan.stable.out
b/sql/benchmarks/tpch/Tests/19-plan.stable.out
--- a/sql/benchmarks/tpch/Tests/19-plan.stable.out
+++ b/sql/benchmarks/tpch/Tests/19-plan.stable.out
@@ -49,19 +49,19 @@ Ready.
% .plan # table_name
% rel # name
% clob # type
-% 1313 # length
+% 1070 # length
project (
| group by (
| | select (
| | | join (
| | | | select (
| | | | | table(sys.part) [ part.p_partkey NOT NULL HASHCOL , part.p_brand NOT
NULL, part.p_size NOT NULL, part.p_container NOT NULL ] COUNT
-| | | | ) [ sys.sql_min(int[tinyint "1"], sys.sql_min(int[tinyint "1"],
int[tinyint "1"])) <= part.p_size NOT NULL <= sys.sql_max(int[tinyint "5"],
sys.sql_max(int[tinyint "10"], int[tinyint "15"])), part.p_brand NOT NULL in
(char(10)[char(8) "Brand#12"], char(10)[char(8) "Brand#23"], char(10)[char(8)
"Brand#34"]), part.p_container NOT NULL in (char(10)[char(7) "SM CASE"],
char(10)[char(6) "SM BOX"], char(10)[char(7) "SM PACK"], char(10)[char(6) "SM
PKG"], char(10)[char(7) "MED BAG"], char(10)[char(7) "MED BOX"],
char(10)[char(7) "MED PKG"], char(10)[char(8) "MED PACK"], char(10)[char(7) "LG
CASE"], char(10)[char(6) "LG BOX"], char(10)[char(7) "LG PACK"],
char(10)[char(6) "LG PKG"]) ],
+| | | | ) [ sys.sql_min(int "1", sys.sql_min(int "1", int "1")) <= part.p_size
NOT NULL <= sys.sql_max(int "5", sys.sql_max(int "10", int "15")), part.p_brand
NOT NULL in (char(10) "Brand#12", char(10) "Brand#23", char(10) "Brand#34"),
part.p_container NOT NULL in (char(10) "SM CASE", char(10) "SM BOX", char(10)
"SM PACK", char(10) "SM PKG", char(10) "MED BAG", char(10) "MED BOX", char(10)
"MED PKG", char(10) "MED PACK", char(10) "LG CASE", char(10) "LG BOX", char(10)
"LG PACK", char(10) "LG PKG") ],
| | | | select (
| | | | | table(sys.lineitem) [ lineitem.l_partkey NOT NULL,
lineitem.l_quantity NOT NULL, lineitem.l_extendedprice NOT NULL,
lineitem.l_discount NOT NULL, lineitem.l_shipinstruct NOT NULL,
lineitem.l_shipmode NOT NULL ] COUNT
-| | | | ) [ lineitem.l_shipinstruct NOT NULL = char(25)[char(17) "DELIVER IN
PERSON"], lineitem.l_shipmode NOT NULL in (char(10)[char(3) "AIR"],
char(10)[char(7) "AIR REG"]) ]
+| | | | ) [ lineitem.l_shipinstruct NOT NULL = char(25) "DELIVER IN PERSON",
lineitem.l_shipmode NOT NULL in (char(10) "AIR", char(10) "AIR REG") ]
| | | ) [ part.p_partkey NOT NULL HASHCOL = lineitem.l_partkey NOT NULL ]
-| | ) [ (part.p_brand NOT NULL = char(10)[char(8) "Brand#12"],
part.p_container NOT NULL in (char(10)[char(7) "SM CASE"], char(10)[char(6) "SM
BOX"], char(10)[char(7) "SM PACK"], char(10)[char(6) "SM PKG"]),
lineitem.l_quantity NOT NULL >= decimal(15,2)[tinyint "1"], lineitem.l_quantity
NOT NULL <= decimal(15,2)[sys.sql_add(smallint[tinyint "1"], smallint[tinyint
"10"])], int[tinyint "1"] <= part.p_size NOT NULL <= int[tinyint "5"]) or
((part.p_brand NOT NULL = char(10)[char(8) "Brand#23"], part.p_container NOT
NULL in (char(10)[char(7) "MED BAG"], char(10)[char(7) "MED BOX"],
char(10)[char(7) "MED PKG"], char(10)[char(8) "MED PACK"]), lineitem.l_quantity
NOT NULL >= decimal(15,2)[tinyint "10"], lineitem.l_quantity NOT NULL <=
decimal(15,2)[sys.sql_add(smallint[tinyint "10"], smallint[tinyint "10"])],
int[tinyint "1"] <= part.p_size NOT NULL <= int[tinyint "10"]) or (part.p_brand
NOT NULL = char(10)[char(8) "Brand#34"], part.p_container NOT NULL in
(char(10)[char(7) "LG CASE"], char
(10)[char(6) "LG BOX"], char(10)[char(7) "LG PACK"], char(10)[char(6) "LG
PKG"]), lineitem.l_quantity NOT NULL >= decimal(15,2)[tinyint "20"],
lineitem.l_quantity NOT NULL <= decimal(15,2)[sys.sql_add(smallint[tinyint
"20"], smallint[tinyint "10"])], int[tinyint "1"] <= part.p_size NOT NULL <=
int[tinyint "15"])) ]
+| | ) [ (part.p_brand NOT NULL = char(10) "Brand#12", part.p_container NOT
NULL in (char(10) "SM CASE", char(10) "SM BOX", char(10) "SM PACK", char(10)
"SM PKG"), lineitem.l_quantity NOT NULL >= decimal(15,2)[tinyint "1"],
lineitem.l_quantity NOT NULL <= decimal(15,2)[sys.sql_add(smallint "1",
smallint "10")], int "1" <= part.p_size NOT NULL <= int "5") or ((part.p_brand
NOT NULL = char(10) "Brand#23", part.p_container NOT NULL in (char(10) "MED
BAG", char(10) "MED BOX", char(10) "MED PKG", char(10) "MED PACK"),
lineitem.l_quantity NOT NULL >= decimal(15,2)[tinyint "10"],
lineitem.l_quantity NOT NULL <= decimal(15,2)[sys.sql_add(smallint "10",
smallint "10")], int "1" <= part.p_size NOT NULL <= int "10") or (part.p_brand
NOT NULL = char(10) "Brand#34", part.p_container NOT NULL in (char(10) "LG
CASE", char(10) "LG BOX", char(10) "LG PACK", char(10) "LG PKG"),
lineitem.l_quantity NOT NULL >= decimal(15,2)[tinyint "20"],
lineitem.l_quantity NOT NULL <= decimal(15,2)[sys.sql_add(smalli
nt "20", smallint "10")], int "1" <= part.p_size NOT NULL <= int "15")) ]
| ) [ ] [ sys.sum no nil (sys.sql_mul(lineitem.l_extendedprice NOT NULL,
sys.sql_sub(decimal(15,2)[tinyint "1"], lineitem.l_discount NOT NULL))) as
L1.L1 ]
) [ L1 as L1.revenue ]
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list