Changeset: bd52cfe0076c for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=bd52cfe0076c Added Files: sql/test/rdf/Tests/q8_v_small.reqtests sql/test/rdf/Tests/q8_v_small.sql sql/test/rdf/Tests/q8_v_small.stable.err sql/test/rdf/Tests/q8_v_small.stable.out Modified Files: common/stream/stream.c sql/benchmarks/tpch/Tests/08-explain.stable.out.int128 sql/benchmarks/tpch/Tests/08-plan.stable.out sql/benchmarks/tpch/Tests/08-plan.stable.out.int128 sql/jdbc/tests/Tests/Test_Dobjects.stable.out sql/jdbc/tests/Tests/Test_PSmetadata.stable.out sql/jdbc/tests/Tests/Test_Rmetadata.stable.out sql/jdbc/tests/Tests/Test_Rsqldata.stable.out sql/server/rel_optimizer.c sql/server/sql_parser.y sql/test/BugTracker-2015/Tests/crash.Bug-3736.stable.out sql/test/rdf/Tests/All testing/Makefile.ag tools/merovingian/daemon/Makefile.ag tools/mserver/Makefile.ag Branch: embedded Log Message:
merge diffs (truncated from 2203 to 300 lines): diff --git a/common/stream/stream.c b/common/stream/stream.c --- a/common/stream/stream.c +++ b/common/stream/stream.c @@ -301,14 +301,17 @@ cvfilename(const char *filename) size_t len = strlen(filename); size_t size = 4 * len; ICONV_CONST char *from = (ICONV_CONST char *) filename; - char *r = malloc(size); - - if (r && - iconv(cd, &from, &len, &r, &size) != (size_t) -1) { - iconv_close(cd); - return r; - } else if (r) + char *r = malloc(size + 1); + char *p = r; + + if (r) { + if (iconv(cd, &from, &len, &p, &size) != (size_t) -1) { + iconv_close(cd); + *p = 0; + return r; + } free(r); + } iconv_close(cd); } } diff --git a/sql/benchmarks/tpch/Tests/08-explain.stable.out.int128 b/sql/benchmarks/tpch/Tests/08-explain.stable.out.int128 --- a/sql/benchmarks/tpch/Tests/08-explain.stable.out.int128 +++ b/sql/benchmarks/tpch/Tests/08-explain.stable.out.int128 @@ -76,118 +76,118 @@ function user.s2_1(A0:str,A1:bte,A2:bte, X_190 := bat.append(X_181,0); X_198 := bat.append(X_190,4); X_8 := sql.mvc(); - C_9:bat[:oid] := sql.tid(X_8,"sys","lineitem"); - X_12:bat[:oid] := sql.bind_idxbat(X_8,"sys","lineitem","lineitem_l_orderkey_fkey",0); - (X_15,r1_15) := sql.bind_idxbat(X_8,"sys","lineitem","lineitem_l_orderkey_fkey",2); - X_18:bat[:oid] := sql.bind_idxbat(X_8,"sys","lineitem","lineitem_l_orderkey_fkey",1); + C_9:bat[:oid] := sql.tid(X_8,"sys","nation"); + X_12:bat[:oid] := sql.bind_idxbat(X_8,"sys","nation","nation_n_regionkey_fkey",0); + (X_15,r1_15) := sql.bind_idxbat(X_8,"sys","nation","nation_n_regionkey_fkey",2); + X_18:bat[:oid] := sql.bind_idxbat(X_8,"sys","nation","nation_n_regionkey_fkey",1); X_20 := sql.projectdelta(C_9,X_12,X_15,r1_15,X_18); - X_23:bat[:date] := sql.bind(X_8,"sys","orders","o_orderdate",0); - C_21:bat[:oid] := sql.tid(X_8,"sys","orders"); - C_208 := algebra.subselect(X_23,C_21,A4,A5,true,true,false); - (C_25,r1_26) := sql.bind(X_8,"sys","orders","o_orderdate",2); - C_209 := algebra.subselect(r1_26,nil:bat[:oid],A4,A5,true,true,false); - X_27:bat[:date] := sql.bind(X_8,"sys","orders","o_orderdate",1); - C_211 := algebra.subselect(X_27,C_21,A4,A5,true,true,false); + X_23:bat[:str] := sql.bind(X_8,"sys","region","r_name",0); + C_21:bat[:oid] := sql.tid(X_8,"sys","region"); + C_208 := algebra.subselect(X_23,C_21,A3,A3,true,false,false); + (C_25,r1_26) := sql.bind(X_8,"sys","region","r_name",2); + C_209 := algebra.subselect(r1_26,nil:bat[:oid],A3,A3,true,false,false); + X_27:bat[:str] := sql.bind(X_8,"sys","region","r_name",1); + C_211 := algebra.subselect(X_27,C_21,A3,A3,true,false,false); C_28 := sql.subdelta(C_208,C_21,C_25,C_209,C_211); - (X_31,r1_38) := algebra.subjoin(X_20,C_28,nil:BAT,nil:BAT,false,nil:lng); - X_35:bat[:int] := sql.bind(X_8,"sys","lineitem","l_partkey",0); - (C_37,r1_45) := sql.bind(X_8,"sys","lineitem","l_partkey",2); - X_39:bat[:int] := sql.bind(X_8,"sys","lineitem","l_partkey",1); - X_40 := sql.projectdelta(C_9,X_35,C_37,r1_45,X_39); - X_41 := algebra.projection(X_31,X_40); - X_44:bat[:str] := sql.bind(X_8,"sys","part","p_type",0); - C_42:bat[:oid] := sql.tid(X_8,"sys","part"); - C_212 := algebra.subselect(X_44,C_42,A6,A6,true,false,false); - (C_46,r1_55) := sql.bind(X_8,"sys","part","p_type",2); - C_213 := algebra.subselect(r1_55,nil:bat[:oid],A6,A6,true,false,false); - X_48:bat[:str] := sql.bind(X_8,"sys","part","p_type",1); - C_214 := algebra.subselect(X_48,C_42,A6,A6,true,false,false); - C_49 := sql.subdelta(C_212,C_42,C_46,C_213,C_214); - X_50:bat[:int] := sql.bind(X_8,"sys","part","p_partkey",0); - (C_52,r1_64) := sql.bind(X_8,"sys","part","p_partkey",2); - X_54:bat[:int] := sql.bind(X_8,"sys","part","p_partkey",1); - X_55 := sql.projectdelta(C_49,X_50,C_52,r1_64,X_54); - (X_56,r1_70) := algebra.subjoin(X_41,X_55,nil:BAT,nil:BAT,false,nil:lng); - X_58:bat[:oid] := sql.bind_idxbat(X_8,"sys","orders","orders_o_custkey_fkey",0); - (X_60,r1_75) := sql.bind_idxbat(X_8,"sys","orders","orders_o_custkey_fkey",2); - X_62:bat[:oid] := sql.bind_idxbat(X_8,"sys","orders","orders_o_custkey_fkey",1); - X_63 := sql.projectdelta(C_28,X_58,X_60,r1_75,X_62); - X_64:bat[:oid] := algebra.projectionpath(X_56,r1_38,X_63); - C_65:bat[:oid] := sql.tid(X_8,"sys","customer"); - (X_67,r1_85) := algebra.subjoin(X_64,C_65,nil:BAT,nil:BAT,false,nil:lng); - X_69:bat[:oid] := sql.bind_idxbat(X_8,"sys","customer","customer_c_nationkey_fkey",0); - (X_71,r1_92) := sql.bind_idxbat(X_8,"sys","customer","customer_c_nationkey_fkey",2); - X_73:bat[:oid] := sql.bind_idxbat(X_8,"sys","customer","customer_c_nationkey_fkey",1); - X_74 := sql.projectdelta(C_65,X_69,X_71,r1_92,X_73); - X_75 := algebra.projection(r1_85,X_74); - C_76:bat[:oid] := sql.tid(X_8,"sys","nation"); - (X_78,r1_100) := algebra.subjoin(X_75,C_76,nil:BAT,nil:BAT,false,nil:lng); - X_80:bat[:oid] := sql.bind_idxbat(X_8,"sys","nation","nation_n_regionkey_fkey",0); - (X_82,r1_104) := sql.bind_idxbat(X_8,"sys","nation","nation_n_regionkey_fkey",2); - X_84:bat[:oid] := sql.bind_idxbat(X_8,"sys","nation","nation_n_regionkey_fkey",1); - X_85 := sql.projectdelta(C_76,X_80,X_82,r1_104,X_84); - X_86 := algebra.projection(r1_100,X_85); - X_89:bat[:str] := sql.bind(X_8,"sys","region","r_name",0); - C_87:bat[:oid] := sql.tid(X_8,"sys","region"); - C_215 := algebra.subselect(X_89,C_87,A3,A3,true,false,false); - (C_91,r1_114) := sql.bind(X_8,"sys","region","r_name",2); - C_216 := algebra.subselect(r1_114,nil:bat[:oid],A3,A3,true,false,false); - X_93:bat[:str] := sql.bind(X_8,"sys","region","r_name",1); - C_217 := algebra.subselect(X_93,C_87,A3,A3,true,false,false); - C_94 := sql.subdelta(C_215,C_87,C_91,C_216,C_217); - (X_95,r1_125) := algebra.subjoin(X_86,C_94,nil:BAT,nil:BAT,false,nil:lng); + (X_31,r1_37) := algebra.subjoin(X_20,C_28,nil:BAT,nil:BAT,false,nil:lng); + X_35 := algebra.projection(X_31,C_9); + C_36:bat[:oid] := sql.tid(X_8,"sys","customer"); + X_38:bat[:oid] := sql.bind_idxbat(X_8,"sys","customer","customer_c_nationkey_fkey",0); + (X_40,r1_47) := sql.bind_idxbat(X_8,"sys","customer","customer_c_nationkey_fkey",2); + X_42:bat[:oid] := sql.bind_idxbat(X_8,"sys","customer","customer_c_nationkey_fkey",1); + X_43 := sql.projectdelta(C_36,X_38,X_40,r1_47,X_42); + (X_44,r1_52) := algebra.subjoin(X_35,X_43,nil:BAT,nil:BAT,false,nil:lng); + X_46 := algebra.projection(r1_52,C_36); + X_49:bat[:date] := sql.bind(X_8,"sys","orders","o_orderdate",0); + C_47:bat[:oid] := sql.tid(X_8,"sys","orders"); + C_212 := algebra.subselect(X_49,C_47,A4,A5,true,true,false); + (C_51,r1_59) := sql.bind(X_8,"sys","orders","o_orderdate",2); + C_213 := algebra.subselect(r1_59,nil:bat[:oid],A4,A5,true,true,false); + X_53:bat[:date] := sql.bind(X_8,"sys","orders","o_orderdate",1); + C_214 := algebra.subselect(X_53,C_47,A4,A5,true,true,false); + C_54 := sql.subdelta(C_212,C_47,C_51,C_213,C_214); + X_55:bat[:oid] := sql.bind_idxbat(X_8,"sys","orders","orders_o_custkey_fkey",0); + (X_57,r1_72) := sql.bind_idxbat(X_8,"sys","orders","orders_o_custkey_fkey",2); + X_59:bat[:oid] := sql.bind_idxbat(X_8,"sys","orders","orders_o_custkey_fkey",1); + X_60 := sql.projectdelta(C_54,X_55,X_57,r1_72,X_59); + (X_61,r1_78) := algebra.subjoin(X_46,X_60,nil:BAT,nil:BAT,false,nil:lng); + X_63 := algebra.projection(r1_78,C_54); + C_64:bat[:oid] := sql.tid(X_8,"sys","lineitem"); + X_66:bat[:oid] := sql.bind_idxbat(X_8,"sys","lineitem","lineitem_l_orderkey_fkey",0); + (X_68,r1_89) := sql.bind_idxbat(X_8,"sys","lineitem","lineitem_l_orderkey_fkey",2); + X_70:bat[:oid] := sql.bind_idxbat(X_8,"sys","lineitem","lineitem_l_orderkey_fkey",1); + X_71 := sql.projectdelta(C_64,X_66,X_68,r1_89,X_70); + (X_72,r1_94) := algebra.subjoin(X_63,X_71,nil:BAT,nil:BAT,false,nil:lng); + X_74:bat[:int] := sql.bind(X_8,"sys","lineitem","l_partkey",0); + (C_76,r1_98) := sql.bind(X_8,"sys","lineitem","l_partkey",2); + X_78:bat[:int] := sql.bind(X_8,"sys","lineitem","l_partkey",1); + X_79 := sql.projectdelta(C_64,X_74,C_76,r1_98,X_78); + X_80 := algebra.projection(r1_94,X_79); + X_83:bat[:str] := sql.bind(X_8,"sys","part","p_type",0); + C_81:bat[:oid] := sql.tid(X_8,"sys","part"); + C_215 := algebra.subselect(X_83,C_81,A6,A6,true,false,false); + (C_85,r1_108) := sql.bind(X_8,"sys","part","p_type",2); + C_216 := algebra.subselect(r1_108,nil:bat[:oid],A6,A6,true,false,false); + X_87:bat[:str] := sql.bind(X_8,"sys","part","p_type",1); + C_217 := algebra.subselect(X_87,C_81,A6,A6,true,false,false); + C_88 := sql.subdelta(C_215,C_81,C_85,C_216,C_217); + X_89:bat[:int] := sql.bind(X_8,"sys","part","p_partkey",0); + (C_91,r1_120) := sql.bind(X_8,"sys","part","p_partkey",2); + X_93:bat[:int] := sql.bind(X_8,"sys","part","p_partkey",1); + X_94 := sql.projectdelta(C_88,X_89,C_91,r1_120,X_93); + (X_95,r1_126) := algebra.subjoin(X_80,X_94,nil:BAT,nil:BAT,false,nil:lng); X_97:bat[:int] := sql.bind(X_8,"sys","lineitem","l_suppkey",0); - (C_99,r1_132) := sql.bind(X_8,"sys","lineitem","l_suppkey",2); + (C_99,r1_133) := sql.bind(X_8,"sys","lineitem","l_suppkey",2); X_101:bat[:int] := sql.bind(X_8,"sys","lineitem","l_suppkey",1); - X_102 := sql.projectdelta(C_9,X_97,C_99,r1_132,X_101); - X_103:bat[:int] := algebra.projectionpath(X_95,X_78,X_67,X_56,X_31,X_102); + X_102 := sql.projectdelta(C_64,X_97,C_99,r1_133,X_101); + X_103:bat[:int] := algebra.projectionpath(X_95,r1_94,X_102); C_104:bat[:oid] := sql.tid(X_8,"sys","supplier"); X_106:bat[:int] := sql.bind(X_8,"sys","supplier","s_suppkey",0); - (C_108,r1_146) := sql.bind(X_8,"sys","supplier","s_suppkey",2); + (C_108,r1_144) := sql.bind(X_8,"sys","supplier","s_suppkey",2); X_110:bat[:int] := sql.bind(X_8,"sys","supplier","s_suppkey",1); - X_111 := sql.projectdelta(C_104,X_106,C_108,r1_146,X_110); - (X_112,r1_151) := algebra.subjoin(X_103,X_111,nil:BAT,nil:BAT,false,nil:lng); + X_111 := sql.projectdelta(C_104,X_106,C_108,r1_144,X_110); + (X_112,r1_149) := algebra.subjoin(X_103,X_111,nil:BAT,nil:BAT,false,nil:lng); X_114:bat[:oid] := sql.bind_idxbat(X_8,"sys","supplier","supplier_s_nationkey_fkey",0); - (X_116,r1_155) := sql.bind_idxbat(X_8,"sys","supplier","supplier_s_nationkey_fkey",2); + (X_116,r1_154) := sql.bind_idxbat(X_8,"sys","supplier","supplier_s_nationkey_fkey",2); X_118:bat[:oid] := sql.bind_idxbat(X_8,"sys","supplier","supplier_s_nationkey_fkey",1); - X_119 := sql.projectdelta(C_104,X_114,X_116,r1_155,X_118); - X_120 := algebra.projection(r1_151,X_119); - (X_121,r1_163) := algebra.subjoin(X_120,C_76,nil:BAT,nil:BAT,false,nil:lng); - X_123 := sql.projectdelta(C_28,X_23,C_25,r1_26,X_27); - X_124:bat[:date] := algebra.projectionpath(X_121,X_112,X_95,X_78,X_67,X_56,r1_38,X_123); + X_119 := sql.projectdelta(C_104,X_114,X_116,r1_154,X_118); + X_120 := algebra.projection(r1_149,X_119); + (X_121,r1_162) := algebra.subjoin(X_120,C_9,nil:BAT,nil:BAT,false,nil:lng); + X_123 := sql.projectdelta(C_54,X_49,C_51,r1_59,X_53); + X_124:bat[:date] := algebra.projectionpath(X_121,X_112,X_95,X_72,r1_78,X_123); X_125:bat[:int] := batmtime.year(X_124); - (X_126,r1_180,r2_180) := group.subgroupdone(X_125); - X_129 := algebra.projection(r1_180,X_125); + (X_126,r1_176,r2_176) := group.subgroupdone(X_125); + X_129 := algebra.projection(r1_176,X_125); X_134:bat[:str] := sql.bind(X_8,"sys","nation","n_name",0); - (C_136,r1_190) := sql.bind(X_8,"sys","nation","n_name",2); + (C_136,r1_186) := sql.bind(X_8,"sys","nation","n_name",2); X_138:bat[:str] := sql.bind(X_8,"sys","nation","n_name",1); - X_139 := sql.projectdelta(C_76,X_134,C_136,r1_190,X_138); - X_140 := algebra.projection(r1_163,X_139); + X_139 := sql.projectdelta(C_9,X_134,C_136,r1_186,X_138); + X_140 := algebra.projection(r1_162,X_139); X_141:bat[:bit] := batcalc.==(X_140,A0); X_142:bat[:bit] := batcalc.isnil(X_141); X_143:bat[:bit] := batcalc.ifthenelse(X_142,false,X_141); X_144:bat[:lng] := sql.bind(X_8,"sys","lineitem","l_extendedprice",0); - (C_146,r1_210) := sql.bind(X_8,"sys","lineitem","l_extendedprice",2); + (C_146,r1_206) := sql.bind(X_8,"sys","lineitem","l_extendedprice",2); X_148:bat[:lng] := sql.bind(X_8,"sys","lineitem","l_extendedprice",1); - X_149 := sql.projectdelta(C_9,X_144,C_146,r1_210,X_148); - X_150:bat[:lng] := algebra.projectionpath(X_121,X_112,X_95,X_78,X_67,X_56,X_31,X_149); + X_149 := sql.projectdelta(C_64,X_144,C_146,r1_206,X_148); + X_150:bat[:lng] := algebra.projectionpath(X_121,X_112,X_95,r1_94,X_149); X_152 := calc.lng(A2,15,2); X_154:bat[:lng] := sql.bind(X_8,"sys","lineitem","l_discount",0); - (C_156,r1_231) := sql.bind(X_8,"sys","lineitem","l_discount",2); + (C_156,r1_224) := sql.bind(X_8,"sys","lineitem","l_discount",2); X_158:bat[:lng] := sql.bind(X_8,"sys","lineitem","l_discount",1); - X_159 := sql.projectdelta(C_9,X_154,C_156,r1_231,X_158); - X_160:bat[:lng] := algebra.projectionpath(X_121,X_112,X_95,X_78,X_67,X_56,X_31,X_159); + X_159 := sql.projectdelta(C_64,X_154,C_156,r1_224,X_158); + X_160:bat[:lng] := algebra.projectionpath(X_121,X_112,X_95,r1_94,X_159); X_161:bat[:lng] := batcalc.-(X_152,X_160); X_162:bat[:hge] := batcalc.*(X_150,X_161); X_163 := calc.hge(A1,33,4); X_165:bat[:hge] := batcalc.ifthenelse(X_143,X_162,X_163); - X_166:bat[:hge] := aggr.subsum(X_165,X_126,r1_180,true,true); - X_170:bat[:hge] := aggr.subsum(X_162,X_126,r1_180,true,true); - (X_130,r1_184,r2_184) := algebra.subsort(X_129,false,false); - X_133 := algebra.projection(r1_184,X_129); + X_166:bat[:hge] := aggr.subsum(X_165,X_126,r1_176,true,true); + X_170:bat[:hge] := aggr.subsum(X_162,X_126,r1_176,true,true); + (X_130,r1_180,r2_180) := algebra.subsort(X_129,false,false); + X_133 := algebra.projection(r1_180,X_129); X_167:bat[:hge] := batcalc.hge(4,X_166,39,8); X_171:bat[:hge] := batcalc./(X_167,X_170); - X_172 := algebra.projection(r1_184,X_171); + X_172 := algebra.projection(r1_180,X_171); sql.resultSet(X_191,X_193,X_195,X_197,X_198,X_133,X_172); end user.s2_1; 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 @@ -67,23 +67,23 @@ project ( | | | | | | | join ( | | | | | | | | join ( | | | | | | | | | join ( -| | | | | | | | | | table(sys.lineitem) [ lineitem.l_partkey NOT NULL, lineitem.l_suppkey NOT NULL, lineitem.l_extendedprice NOT NULL, lineitem.l_discount NOT NULL, lineitem.%lineitem_l_orderkey_fkey NOT NULL JOINIDX sys.lineitem.lineitem_l_orderkey_fkey ] COUNT , +| | | | | | | | | | table(sys.nation) [ nation.%TID% NOT NULL as n1.%TID%, nation.%nation_n_regionkey_fkey NOT NULL JOINIDX sys.nation.nation_n_regionkey_fkey as n1.%nation_n_regionkey_fkey ] COUNT , | | | | | | | | | | select ( -| | | | | | | | | | | table(sys.orders) [ orders.o_orderdate NOT NULL, orders.%TID% NOT NULL, orders.%orders_o_custkey_fkey NOT NULL JOINIDX sys.orders.orders_o_custkey_fkey ] COUNT -| | | | | | | | | | ) [ date "1995-01-01" <= orders.o_orderdate NOT NULL <= date "1996-12-31" ] -| | | | | | | | | ) [ lineitem.%lineitem_l_orderkey_fkey NOT NULL = orders.%TID% NOT NULL JOINIDX sys.lineitem.lineitem_l_orderkey_fkey ], -| | | | | | | | | select ( -| | | | | | | | | | table(sys.part) [ part.p_partkey NOT NULL HASHCOL , part.p_type NOT NULL ] COUNT -| | | | | | | | | ) [ part.p_type NOT NULL = varchar(25) "ECONOMY ANODIZED STEEL" ] -| | | | | | | | ) [ part.p_partkey NOT NULL HASHCOL = lineitem.l_partkey NOT NULL ], -| | | | | | | | table(sys.customer) [ customer.%TID% NOT NULL, customer.%customer_c_nationkey_fkey NOT NULL JOINIDX sys.customer.customer_c_nationkey_fkey ] COUNT +| | | | | | | | | | | table(sys.region) [ region.r_name NOT NULL, region.%TID% NOT NULL ] COUNT +| | | | | | | | | | ) [ 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.customer) [ customer.%TID% NOT NULL, customer.%customer_c_nationkey_fkey NOT NULL JOINIDX sys.customer.customer_c_nationkey_fkey ] COUNT +| | | | | | | | ) [ customer.%customer_c_nationkey_fkey NOT NULL = n1.%TID% NOT NULL JOINIDX sys.customer.customer_c_nationkey_fkey ], +| | | | | | | | select ( +| | | | | | | | | table(sys.orders) [ orders.o_orderdate NOT NULL, orders.%TID% NOT NULL, orders.%orders_o_custkey_fkey NOT NULL JOINIDX sys.orders.orders_o_custkey_fkey ] COUNT +| | | | | | | | ) [ date "1995-01-01" <= orders.o_orderdate NOT NULL <= date "1996-12-31" ] | | | | | | | ) [ orders.%orders_o_custkey_fkey NOT NULL = customer.%TID% NOT NULL JOINIDX sys.orders.orders_o_custkey_fkey ], -| | | | | | | table(sys.nation) [ nation.%TID% NOT NULL as n1.%TID%, nation.%nation_n_regionkey_fkey NOT NULL JOINIDX sys.nation.nation_n_regionkey_fkey as n1.%nation_n_regionkey_fkey ] COUNT -| | | | | | ) [ customer.%customer_c_nationkey_fkey NOT NULL = n1.%TID% NOT NULL JOINIDX sys.customer.customer_c_nationkey_fkey ], +| | | | | | | table(sys.lineitem) [ lineitem.l_partkey NOT NULL, lineitem.l_suppkey NOT NULL, lineitem.l_extendedprice NOT NULL, lineitem.l_discount NOT NULL, lineitem.%lineitem_l_orderkey_fkey NOT NULL JOINIDX sys.lineitem.lineitem_l_orderkey_fkey ] COUNT +| | | | | | ) [ lineitem.%lineitem_l_orderkey_fkey NOT NULL = orders.%TID% NOT NULL JOINIDX sys.lineitem.lineitem_l_orderkey_fkey ], | | | | | | select ( -| | | | | | | table(sys.region) [ region.r_name NOT NULL, region.%TID% NOT NULL ] COUNT -| | | | | | ) [ 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.part) [ part.p_partkey NOT NULL HASHCOL , part.p_type NOT NULL ] COUNT +| | | | | | ) [ part.p_type NOT NULL = varchar(25) "ECONOMY ANODIZED STEEL" ] +| | | | | ) [ part.p_partkey NOT NULL HASHCOL = lineitem.l_partkey NOT NULL ], | | | | | 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 diff --git a/sql/benchmarks/tpch/Tests/08-plan.stable.out.int128 b/sql/benchmarks/tpch/Tests/08-plan.stable.out.int128 --- a/sql/benchmarks/tpch/Tests/08-plan.stable.out.int128 +++ b/sql/benchmarks/tpch/Tests/08-plan.stable.out.int128 @@ -67,23 +67,23 @@ project ( | | | | | | | join ( | | | | | | | | join ( | | | | | | | | | join ( -| | | | | | | | | | table(sys.lineitem) [ lineitem.l_partkey NOT NULL, lineitem.l_suppkey NOT NULL, lineitem.l_extendedprice NOT NULL, lineitem.l_discount NOT NULL, lineitem.%lineitem_l_orderkey_fkey NOT NULL JOINIDX sys.lineitem.lineitem_l_orderkey_fkey ] COUNT , +| | | | | | | | | | table(sys.nation) [ nation.%TID% NOT NULL as n1.%TID%, nation.%nation_n_regionkey_fkey NOT NULL JOINIDX sys.nation.nation_n_regionkey_fkey as n1.%nation_n_regionkey_fkey ] COUNT , | | | | | | | | | | select ( -| | | | | | | | | | | table(sys.orders) [ orders.o_orderdate NOT NULL, orders.%TID% NOT NULL, orders.%orders_o_custkey_fkey NOT NULL JOINIDX sys.orders.orders_o_custkey_fkey ] COUNT -| | | | | | | | | | ) [ date "1995-01-01" <= orders.o_orderdate NOT NULL <= date "1996-12-31" ] -| | | | | | | | | ) [ lineitem.%lineitem_l_orderkey_fkey NOT NULL = orders.%TID% NOT NULL JOINIDX sys.lineitem.lineitem_l_orderkey_fkey ], -| | | | | | | | | select ( -| | | | | | | | | | table(sys.part) [ part.p_partkey NOT NULL HASHCOL , part.p_type NOT NULL ] COUNT -| | | | | | | | | ) [ part.p_type NOT NULL = varchar(25) "ECONOMY ANODIZED STEEL" ] -| | | | | | | | ) [ part.p_partkey NOT NULL HASHCOL = lineitem.l_partkey NOT NULL ], -| | | | | | | | table(sys.customer) [ customer.%TID% NOT NULL, customer.%customer_c_nationkey_fkey NOT NULL JOINIDX sys.customer.customer_c_nationkey_fkey ] COUNT +| | | | | | | | | | | table(sys.region) [ region.r_name NOT NULL, region.%TID% NOT NULL ] COUNT +| | | | | | | | | | ) [ 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.customer) [ customer.%TID% NOT NULL, customer.%customer_c_nationkey_fkey NOT NULL JOINIDX sys.customer.customer_c_nationkey_fkey ] COUNT +| | | | | | | | ) [ customer.%customer_c_nationkey_fkey NOT NULL = n1.%TID% NOT NULL JOINIDX sys.customer.customer_c_nationkey_fkey ], _______________________________________________ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list