Changeset: 23edf4a395e8 for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=23edf4a395e8 Modified Files: gdk/gdk_bbp.c 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:
merged diffs (truncated from 321 to 300 lines): diff --git a/gdk/gdk_bbp.c b/gdk/gdk_bbp.c --- a/gdk/gdk_bbp.c +++ b/gdk/gdk_bbp.c @@ -3289,14 +3289,14 @@ BBPprepare(bit subcommit) if (mkdir(BAKDIR, 0755) < 0 && errno != EEXIST) ret = GDK_FAIL; /* if BAKDIR already exists, don't signal error */ - IODEBUG fprintf(stderr, "#mkdir %s = %d\n", BAKDIR, ret); + IODEBUG fprintf(stderr, "#mkdir %s = %d\n", BAKDIR, (int) ret); } } if (ret == GDK_SUCCEED && start_subcommit) { /* make a new SUBDIR (subdir of BAKDIR) */ if (mkdir(SUBDIR, 0755) < 0) ret = GDK_FAIL; - IODEBUG fprintf(stderr, "#mkdir %s = %d\n", SUBDIR, ret); + IODEBUG fprintf(stderr, "#mkdir %s = %d\n", SUBDIR, (int) ret); } if (ret == GDK_SUCCEED && backup_dir != set) { /* a valid backup dir *must* at least contain BBP.dir */ @@ -3520,7 +3520,7 @@ BBPsync(int cnt, bat *subcommit) ret = GDK_FAIL; if (ret != GDK_SUCCEED) GDKsyserror("BBPsync: rename(%s,%s) failed.\n", bakdir, DELDIR); - IODEBUG fprintf(stderr, "#BBPsync: rename %s %s = %d\n", bakdir, DELDIR, ret); + IODEBUG fprintf(stderr, "#BBPsync: rename %s %s = %d\n", bakdir, DELDIR, (int) ret); } /* AFTERMATH */ @@ -3592,14 +3592,14 @@ force_move(int farmid, const char *srcdi srcpath = GDKfilepath(farmid, srcdir, name, NULL); if (unlink(dstpath) < 0) /* clear destination */ ret = GDK_FAIL; - IODEBUG fprintf(stderr, "#unlink %s = %d\n", dstpath, ret); + IODEBUG fprintf(stderr, "#unlink %s = %d\n", dstpath, (int) ret); if (GDKcreatedir(dstdir) == GDK_SUCCEED) ret = GDK_SUCCEED; ret = GDKmove(farmid, srcdir, name, NULL, dstdir, name, NULL); if (ret != GDK_SUCCEED) - GDKsyserror("force_move: link(%s,%s)=%d\n", srcpath, dstpath, ret); - IODEBUG fprintf(stderr, "#link %s %s = %d\n", srcpath, dstpath, ret); + GDKsyserror("force_move: link(%s,%s)=%d\n", srcpath, dstpath, (int) ret); + IODEBUG fprintf(stderr, "#link %s %s = %d\n", srcpath, dstpath, (int) ret); GDKfree(dstpath); GDKfree(srcpath); } @@ -3689,7 +3689,7 @@ BBPrecover(int farmid) if (ret == GDK_SUCCEED) { if (rmdir(BAKDIR) < 0) ret = GDK_FAIL; - IODEBUG fprintf(stderr, "#rmdir %s = %d\n", BAKDIR, ret); + IODEBUG fprintf(stderr, "#rmdir %s = %d\n", BAKDIR, (int) ret); } if (ret != GDK_SUCCEED) GDKerror("BBPrecover: recovery failed. Please check whether your disk is full or write-protected.\n"); @@ -3736,7 +3736,7 @@ BBPrecover_subdir(void) backup_dir = 0; } } - IODEBUG fprintf(stderr, "#BBPrecover_subdir(end) = %d\n", ret); + IODEBUG fprintf(stderr, "#BBPrecover_subdir(end) = %d\n", (int) ret); if (ret != GDK_SUCCEED) GDKerror("BBPrecover_subdir: recovery failed. Please check whether your disk is full or write-protected.\n"); 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 _______________________________________________ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list