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

Reply via email to