Changeset: c9ab8de25201 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=c9ab8de25201
Modified Files:
sql/benchmarks/tpch/Tests/18-explain.stable.out.int128
sql/benchmarks/tpch/Tests/19-explain.stable.out.int128
sql/benchmarks/tpch/Tests/20-explain.stable.out.int128
sql/benchmarks/tpch/Tests/21-explain.stable.out
sql/benchmarks/tpch/Tests/22-explain.stable.out.int128
Branch: default
Log Message:
Approve output
diffs (226 lines):
diff --git a/sql/benchmarks/tpch/Tests/18-explain.stable.out.int128
b/sql/benchmarks/tpch/Tests/18-explain.stable.out.int128
--- a/sql/benchmarks/tpch/Tests/18-explain.stable.out.int128
+++ b/sql/benchmarks/tpch/Tests/18-explain.stable.out.int128
@@ -64,7 +64,7 @@ Ready.
% clob # type
% 515 # length
function user.s2_1(A0:sht):void;
- X_177:void := querylog.define("explain select\n c_name,\n c_custkey,\n
o_orderkey,\n o_orderdate,\n o_totalprice,\n sum(l_quantity)\nfrom\n
customer,\n orders,\n lineitem\nwhere\n o_orderkey in (\n select\n l_orderkey\n
from\n lineitem\n group by\n l_orderkey having\n sum(l_quantity) > 300\n )\n
and c_custkey = o_custkey\n and o_orderkey = l_orderkey\ngroup by\n c_name,\n
c_custkey,\n o_orderkey,\n o_orderdate,\n o_totalprice\norder by\n o_totalprice
desc,\n o_orderdate\nlimit 100;","sequential_pipe",121);
+ X_177:void := querylog.define("explain select\n c_name,\n c_custkey,\n
o_orderkey,\n o_orderdate,\n o_totalprice,\n sum(l_quantity)\nfrom\n
customer,\n orders,\n lineitem\nwhere\n o_orderkey in (\n select\n l_orderkey\n
from\n lineitem\n group by\n l_orderkey having\n sum(l_quantity) > 300\n )\n
and c_custkey = o_custkey\n and o_orderkey = l_orderkey\ngroup by\n c_name,\n
c_custkey,\n o_orderkey,\n o_orderdate,\n o_totalprice\norder by\n o_totalprice
desc,\n o_orderdate\nlimit 100;","sequential_pipe",117);
X_128 := bat.new(nil:oid,nil:str);
X_136 := bat.append(X_128,"sys.customer");
X_144 := bat.append(X_136,"sys.customer");
@@ -150,17 +150,16 @@ function user.s2_1(A0:sht):void;
X_124:bat[:lng] := algebra.projectionpath(X_61,r1_62,X_25);
X_125:bat[:hge] := aggr.subsum(X_124,X_75,r1_90,true,true);
(X_82,r1_117) := algebra.subjoin(X_81,X_15,nil:BAT,nil:BAT,false,nil:lng);
- X_189:bat[:oid] := algebra.projection(r1_117,C_3);
X_84:bat[:date] := sql.bind(X_2,"sys","orders","o_orderdate",0);
(C_86,r1_121) := sql.bind(X_2,"sys","orders","o_orderdate",2);
X_88:bat[:date] := sql.bind(X_2,"sys","orders","o_orderdate",1);
X_89 := sql.delta(X_84,C_86,r1_121,X_88);
- X_90:bat[:date] := algebra.projection(X_189,X_89);
+ X_90:bat[:date] := algebra.projectionpath(r1_117,C_3,X_89);
X_91:bat[:lng] := sql.bind(X_2,"sys","orders","o_totalprice",0);
(C_93,r1_129) := sql.bind(X_2,"sys","orders","o_totalprice",2);
X_95:bat[:lng] := sql.bind(X_2,"sys","orders","o_totalprice",1);
X_96 := sql.delta(X_91,C_93,r1_129,X_95);
- X_97:bat[:lng] := algebra.projection(X_189,X_96);
+ X_97:bat[:lng] := algebra.projectionpath(r1_117,C_3,X_96);
(C_100,r1_140) := algebra.firstn(X_97,100,false,false);
C_102 := algebra.firstn(X_90,C_100,r1_140,100,true,false);
X_103 := algebra.projection(C_102,X_90);
@@ -174,14 +173,11 @@ function user.s2_1(A0:sht):void;
X_117:bat[:str] :=
algebra.projectionpath(r1_153,C_102,X_82,r1_101,C_59,X_116);
X_118 := algebra.subslice(X_117,0,99:wrd);
X_119 := algebra.projection(X_118,X_117);
- X_190:bat[:oid] := algebra.projection(X_118,r1_153);
- X_188:bat[:oid] := algebra.projectionpath(X_190,C_102,X_82);
- X_187:bat[:oid] := algebra.projection(X_188,X_79);
- X_120:bat[:int] := algebra.projection(X_187,X_78);
- X_121:bat[:int] := algebra.projection(X_188,X_81);
- X_122:bat[:date] := algebra.projection(X_190,X_103);
- X_123:bat[:lng] := algebra.projection(X_190,X_104);
- X_126:bat[:hge] := algebra.projection(X_187,X_125);
+ X_120:bat[:int] :=
algebra.projectionpath(X_118,r1_153,C_102,X_82,X_79,X_78);
+ X_121:bat[:int] := algebra.projectionpath(X_118,r1_153,C_102,X_82,X_81);
+ X_122:bat[:date] := algebra.projectionpath(X_118,r1_153,X_103);
+ X_123:bat[:lng] := algebra.projectionpath(X_118,r1_153,X_104);
+ X_126:bat[:hge] :=
algebra.projectionpath(X_118,r1_153,C_102,X_82,X_79,X_125);
sql.resultSet(X_170,X_172,X_174,X_175,X_176,X_119,X_120,X_121,X_122,X_123,X_126);
end user.s2_1;
diff --git a/sql/benchmarks/tpch/Tests/19-explain.stable.out.int128
b/sql/benchmarks/tpch/Tests/19-explain.stable.out.int128
--- a/sql/benchmarks/tpch/Tests/19-explain.stable.out.int128
+++ b/sql/benchmarks/tpch/Tests/19-explain.stable.out.int128
@@ -52,7 +52,7 @@ Ready.
% clob # type
% 1117 # length
function
user.s2_1(A0:bte,A1:str,A2:str,A3:str,A4:str,A5:str,A6:bte,A7:sht,A8:sht,A9:int,A10:int,A11:str,A12:str,A13:str,A14:str,A15:str,A16:str,A17:str,A18:str,A19:bte,A20:sht,A21:sht,A22:int,A23:int,A24:str,A25:str,A26:str,A27:str,A28:str,A29:str,A30:str,A31:str,A32:bte,A33:sht,A34:sht,A35:int,A36:int,A37:str,A38:str,A39:str):void;
- X_250:void := querylog.define("explain select\n sum(l_extendedprice* (1 -
l_discount)) as revenue\nfrom\n lineitem,\n part\nwhere\n (\n p_partkey =
l_partkey\n and p_brand = \\'Brand#12\\'\n and p_container in (\\'SM CASE\\',
\\'SM BOX\\', \\'SM PACK\\', \\'SM PKG\\')\n and l_quantity >= 1 and l_quantity
<= 1 + 10\n and p_size between 1 and 5\n and l_shipmode in (\\'AIR\\', \\'AIR
REG\\')\n and l_shipinstruct = \\'DELIVER IN PERSON\\'\n )\n or\n (\n p_partkey
= l_partkey\n and p_brand = \\'Brand#23\\'\n and p_container in (\\'MED BAG\\',
\\'MED BOX\\', \\'MED PKG\\', \\'MED PACK\\')\n and l_quantity >= 10 and
l_quantity <= 10 + 10\n and p_size between 1 and 10\n and l_shipmode in
(\\'AIR\\', \\'AIR REG\\')\n and l_shipinstruct = \\'DELIVER IN PERSON\\'\n )\n
or\n (\n p_partkey = l_partkey\n and p_brand = \\'Brand#34\\'\n and p_container
in (\\'LG CASE\\', \\'LG BOX\\', \\'LG PACK\\', \\'LG PKG\\')\n and l_quantity
>= 20 and l_quantity <= 20 + 10\n and p_size between 1 and 15\n a
nd l_shipmode in (\\'AIR\\', \\'AIR REG\\')\n and l_shipinstruct = \\'DELIVER
IN PERSON\\'\n );","sequential_pipe",175);
+ X_250:void := querylog.define("explain select\n sum(l_extendedprice* (1 -
l_discount)) as revenue\nfrom\n lineitem,\n part\nwhere\n (\n p_partkey =
l_partkey\n and p_brand = \\'Brand#12\\'\n and p_container in (\\'SM CASE\\',
\\'SM BOX\\', \\'SM PACK\\', \\'SM PKG\\')\n and l_quantity >= 1 and l_quantity
<= 1 + 10\n and p_size between 1 and 5\n and l_shipmode in (\\'AIR\\', \\'AIR
REG\\')\n and l_shipinstruct = \\'DELIVER IN PERSON\\'\n )\n or\n (\n p_partkey
= l_partkey\n and p_brand = \\'Brand#23\\'\n and p_container in (\\'MED BAG\\',
\\'MED BOX\\', \\'MED PKG\\', \\'MED PACK\\')\n and l_quantity >= 10 and
l_quantity <= 10 + 10\n and p_size between 1 and 10\n and l_shipmode in
(\\'AIR\\', \\'AIR REG\\')\n and l_shipinstruct = \\'DELIVER IN PERSON\\'\n )\n
or\n (\n p_partkey = l_partkey\n and p_brand = \\'Brand#34\\'\n and p_container
in (\\'LG CASE\\', \\'LG BOX\\', \\'LG PACK\\', \\'LG PKG\\')\n and l_quantity
>= 20 and l_quantity <= 20 + 10\n and p_size between 1 and 15\n a
nd l_shipmode in (\\'AIR\\', \\'AIR REG\\')\n and l_shipinstruct = \\'DELIVER
IN PERSON\\'\n );","sequential_pipe",172);
X_41 := sql.mvc();
C_42:bat[:oid] := sql.tid(X_41,"sys","part");
X_45:bat[:str] := sql.bind(X_41,"sys","part","p_container",0);
@@ -141,18 +141,16 @@ function user.s2_1(A0:bte,A1:str,A2:str,
X_148 := sql.delta(X_143,C_145,r1_183,X_147);
X_149:bat[:int] := algebra.projectionpath(X_142,C_111,X_148);
(X_150,r1_189) :=
algebra.subjoin(X_110,X_149,nil:BAT,nil:BAT,false,nil:lng);
- X_260:bat[:oid] := algebra.projection(r1_189,X_142);
- X_154:bat[:str] := algebra.projection(X_260,X_126);
- X_155:bat[:str] := algebra.projection(X_260,X_119);
- X_261:bat[:oid] := algebra.projection(X_150,X_103);
- X_156:bat[:int] := algebra.projection(X_261,X_68);
+ X_154:bat[:str] := algebra.projectionpath(r1_189,X_142,X_126);
+ X_155:bat[:str] := algebra.projectionpath(r1_189,X_142,X_119);
+ X_156:bat[:int] := algebra.projectionpath(X_150,X_103,X_68);
X_157:bat[:lng] := sql.bind(X_41,"sys","lineitem","l_quantity",0);
(C_159,r1_207) := sql.bind(X_41,"sys","lineitem","l_quantity",2);
X_161:bat[:lng] := sql.bind(X_41,"sys","lineitem","l_quantity",1);
X_162 := sql.delta(X_157,C_159,r1_207,X_161);
- X_163:bat[:lng] := algebra.projectionpath(X_260,C_111,X_162);
- X_168:bat[:str] := algebra.projection(X_261,X_54);
- X_169:bat[:str] := algebra.projection(X_261,X_61);
+ X_163:bat[:lng] := algebra.projectionpath(r1_189,X_142,C_111,X_162);
+ X_168:bat[:str] := algebra.projectionpath(X_150,X_103,X_54);
+ X_169:bat[:str] := algebra.projectionpath(X_150,X_103,X_61);
C_170 := algebra.subselect(X_169,A1,A1,true,false,false);
C_171 := algebra.subselect(X_168,C_170,A2,A2,true,false,false);
C_172 := algebra.subselect(X_168,C_170,A3,A3,true,false,false);
@@ -209,18 +207,17 @@ function user.s2_1(A0:bte,A1:str,A2:str,
C_222 := algebra.subselect(X_154,X_221,A39,A39,true,false,false);
X_223 := bat.mergecand(C_204,C_222);
X_224 := bat.mergecand(C_186,X_223);
- X_259:bat[:oid] := algebra.projectionpath(X_224,r1_189,X_142,C_111);
X_225:bat[:lng] := sql.bind(X_41,"sys","lineitem","l_extendedprice",0);
(C_227,r1_332) := sql.bind(X_41,"sys","lineitem","l_extendedprice",2);
X_229:bat[:lng] := sql.bind(X_41,"sys","lineitem","l_extendedprice",1);
X_230 := sql.delta(X_225,C_227,r1_332,X_229);
- X_231:bat[:lng] := algebra.projection(X_259,X_230);
+ X_231:bat[:lng] := algebra.projectionpath(X_224,r1_189,X_142,C_111,X_230);
X_232 := calc.lng(A0,15,2);
X_233:bat[:lng] := sql.bind(X_41,"sys","lineitem","l_discount",0);
(C_235,r1_350) := sql.bind(X_41,"sys","lineitem","l_discount",2);
X_237:bat[:lng] := sql.bind(X_41,"sys","lineitem","l_discount",1);
X_238 := sql.delta(X_233,C_235,r1_350,X_237);
- X_239:bat[:lng] := algebra.projection(X_259,X_238);
+ X_239:bat[:lng] := algebra.projectionpath(X_224,r1_189,X_142,C_111,X_238);
X_240:bat[:lng] := batcalc.-(X_232,X_239);
X_241:bat[:hge] := batcalc.*(X_231,X_240);
X_242:hge := aggr.sum(X_241);
diff --git a/sql/benchmarks/tpch/Tests/20-explain.stable.out.int128
b/sql/benchmarks/tpch/Tests/20-explain.stable.out.int128
--- a/sql/benchmarks/tpch/Tests/20-explain.stable.out.int128
+++ b/sql/benchmarks/tpch/Tests/20-explain.stable.out.int128
@@ -65,7 +65,7 @@ Ready.
% clob # type
% 618 # length
function user.s2_1(A0:str,A1:bte,A2:date,A3:date,A4:int,A5:str):void;
- X_211:void := querylog.define("explain select\n s_name,\n
s_address\nfrom\n supplier,\n nation\nwhere\n s_suppkey in (\n select\n
ps_suppkey\n from\n partsupp\n where\n ps_partkey in (\n select\n p_partkey\n
from\n part\n where\n p_name like \\'forest%\\'\n )\n and ps_availqty > (\n
select\n 0.5 * sum(l_quantity)\n from\n lineitem\n where\n l_partkey =
ps_partkey\n and l_suppkey = ps_suppkey\n and l_shipdate >= date
\\'1994-01-01\\'\n and l_shipdate < date \\'1994-01-01\\' + interval \\'1\\'
year\n )\n )\n and s_nationkey = n_nationkey\n and n_name = \\'CANADA\\'\norder
by\n s_name;","sequential_pipe",144);
+ X_211:void := querylog.define("explain select\n s_name,\n
s_address\nfrom\n supplier,\n nation\nwhere\n s_suppkey in (\n select\n
ps_suppkey\n from\n partsupp\n where\n ps_partkey in (\n select\n p_partkey\n
from\n part\n where\n p_name like \\'forest%\\'\n )\n and ps_availqty > (\n
select\n 0.5 * sum(l_quantity)\n from\n lineitem\n where\n l_partkey =
ps_partkey\n and l_suppkey = ps_suppkey\n and l_shipdate >= date
\\'1994-01-01\\'\n and l_shipdate < date \\'1994-01-01\\' + interval \\'1\\'
year\n )\n )\n and s_nationkey = n_nationkey\n and n_name = \\'CANADA\\'\norder
by\n s_name;","sequential_pipe",142);
X_188 := bat.new(nil:oid,nil:str);
X_196 := bat.append(X_188,"sys.supplier");
X_204 := bat.append(X_196,"sys.supplier");
@@ -110,12 +110,11 @@ function user.s2_1(A0:str,A1:bte,A2:date
X_51:bat[:int] := algebra.projectionpath(C_42,C_32,X_50);
(X_52,r1_55) := algebra.subjoin(X_30,X_51,nil:BAT,nil:BAT,false,nil:lng);
C_55 := algebra.subinter(X_31,X_52,nil:BAT,nil:BAT,false,nil:lng);
- X_220:bat[:oid] := algebra.projection(C_55,C_22);
X_56:bat[:wrd] :=
sql.bind_idxbat(X_7,"sys","partsupp","partsupp_ps_partkey_ps_suppkey_pkey",0);
(X_58,r1_61) :=
sql.bind_idxbat(X_7,"sys","partsupp","partsupp_ps_partkey_ps_suppkey_pkey",2);
X_60:bat[:wrd] :=
sql.bind_idxbat(X_7,"sys","partsupp","partsupp_ps_partkey_ps_suppkey_pkey",1);
X_61 := sql.delta(X_56,X_58,r1_61,X_60);
- X_62:bat[:wrd] := algebra.projection(X_220,X_61);
+ X_62:bat[:wrd] := algebra.projectionpath(C_55,C_22,X_61);
C_63:bat[:oid] := sql.tid(X_7,"sys","lineitem");
X_65:bat[:date] := sql.bind(X_7,"sys","lineitem","l_shipdate",0);
(C_67,r1_71) := sql.bind(X_7,"sys","lineitem","l_shipdate",2);
@@ -124,18 +123,17 @@ function user.s2_1(A0:str,A1:bte,A2:date
X_71 := algebra.projection(C_63,X_70);
X_72:date := mtime.addmonths(A3,A4);
C_73 := algebra.subselect(X_71,A2,X_72,true,false,false);
- X_221:bat[:oid] := algebra.projection(C_73,C_63);
X_75:bat[:int] := sql.bind(X_7,"sys","lineitem","l_partkey",0);
(C_77,r1_86) := sql.bind(X_7,"sys","lineitem","l_partkey",2);
X_79:bat[:int] := sql.bind(X_7,"sys","lineitem","l_partkey",1);
X_80 := sql.delta(X_75,C_77,r1_86,X_79);
- X_81:bat[:int] := algebra.projection(X_221,X_80);
+ X_81:bat[:int] := algebra.projectionpath(C_73,C_63,X_80);
X_82:bat[:wrd] := batmkey.hash(X_81);
X_84:bat[:int] := sql.bind(X_7,"sys","lineitem","l_suppkey",0);
(C_86,r1_99) := sql.bind(X_7,"sys","lineitem","l_suppkey",2);
X_88:bat[:int] := sql.bind(X_7,"sys","lineitem","l_suppkey",1);
X_89 := sql.delta(X_84,C_86,r1_99,X_88);
- X_90:bat[:int] := algebra.projection(X_221,X_89);
+ X_90:bat[:int] := algebra.projectionpath(C_73,C_63,X_89);
X_91:bat[:wrd] := mkey.bulk_rotate_xor_hash(X_82,22,X_90);
(X_92,r1_106) := algebra.subjoin(X_62,X_91,nil:BAT,nil:BAT,false,nil:lng);
X_94 := algebra.projection(C_55,X_30);
@@ -148,7 +146,7 @@ function user.s2_1(A0:str,A1:bte,A2:date
(C_102,r1_125) := sql.bind(X_7,"sys","partsupp","ps_suppkey",2);
X_104:bat[:int] := sql.bind(X_7,"sys","partsupp","ps_suppkey",1);
X_105 := sql.delta(X_100,C_102,r1_125,X_104);
- X_106:bat[:int] := algebra.projection(X_220,X_105);
+ X_106:bat[:int] := algebra.projectionpath(C_55,C_22,X_105);
X_107 := algebra.projection(X_99,X_106);
X_108 := algebra.projection(C_98,r1_106);
X_109 := algebra.projection(X_108,X_90);
diff --git a/sql/benchmarks/tpch/Tests/21-explain.stable.out
b/sql/benchmarks/tpch/Tests/21-explain.stable.out
--- a/sql/benchmarks/tpch/Tests/21-explain.stable.out
+++ b/sql/benchmarks/tpch/Tests/21-explain.stable.out
@@ -62,7 +62,7 @@ Ready.
% clob # type
% 729 # length
function user.s2_1(A0:str,A1:str):void;
- X_176:void := querylog.define("explain select\n s_name,\n count(*) as
numwait\nfrom\n supplier,\n lineitem l1,\n orders,\n nation\nwhere\n s_suppkey
= l1.l_suppkey\n and o_orderkey = l1.l_orderkey\n and o_orderstatus = \\'F\\'\n
and l1.l_receiptdate > l1.l_commitdate\n and exists (\n select\n *\n from\n
lineitem l2\n where\n l2.l_orderkey = l1.l_orderkey\n and l2.l_suppkey <>
l1.l_suppkey\n )\n and not exists (\n select\n *\n from\n lineitem l3\n where\n
l3.l_orderkey = l1.l_orderkey\n and l3.l_suppkey <> l1.l_suppkey\n and
l3.l_receiptdate > l3.l_commitdate\n )\n and s_nationkey = n_nationkey\n and
n_name = \\'SAUDI ARABIA\\'\ngroup by\n s_name\norder by\n numwait desc,\n
s_name\nlimit 100;","sequential_pipe",121);
+ X_176:void := querylog.define("explain select\n s_name,\n count(*) as
numwait\nfrom\n supplier,\n lineitem l1,\n orders,\n nation\nwhere\n s_suppkey
= l1.l_suppkey\n and o_orderkey = l1.l_orderkey\n and o_orderstatus = \\'F\\'\n
and l1.l_receiptdate > l1.l_commitdate\n and exists (\n select\n *\n from\n
lineitem l2\n where\n l2.l_orderkey = l1.l_orderkey\n and l2.l_suppkey <>
l1.l_suppkey\n )\n and not exists (\n select\n *\n from\n lineitem l3\n where\n
l3.l_orderkey = l1.l_orderkey\n and l3.l_suppkey <> l1.l_suppkey\n and
l3.l_receiptdate > l3.l_commitdate\n )\n and s_nationkey = n_nationkey\n and
n_name = \\'SAUDI ARABIA\\'\ngroup by\n s_name\norder by\n numwait desc,\n
s_name\nlimit 100;","sequential_pipe",120);
X_151 := bat.new(nil:oid,nil:str);
X_159 := bat.append(X_151,"sys.supplier");
X_167 := bat.append(X_159,"sys.L1");
@@ -136,17 +136,16 @@ function user.s2_1(A0:str,A1:str):void;
(X_88,r1_98) := algebra.subjoin(X_76,X_87,nil:BAT,nil:BAT,false,nil:lng);
X_90:bat[:int] := algebra.projectionpath(X_88,r1_74,X_67);
X_91 := bat.mirror(X_90);
- X_186:bat[:oid] := algebra.projection(X_88,X_68);
X_92:bat[:int] := sql.bind(X_3,"sys","lineitem","l_orderkey",0);
(C_94,r1_108) := sql.bind(X_3,"sys","lineitem","l_orderkey",2);
X_96:bat[:int] := sql.bind(X_3,"sys","lineitem","l_orderkey",1);
X_97 := sql.delta(X_92,C_94,r1_108,X_96);
X_98 := algebra.projection(C_4,X_97);
X_99 := algebra.projection(C_25,X_98);
- X_100:bat[:int] := algebra.projectionpath(X_186,X_46,X_99);
+ X_100:bat[:int] := algebra.projectionpath(X_88,X_68,X_46,X_99);
(X_101,r1_125) :=
algebra.subjoin(X_100,X_98,nil:BAT,nil:BAT,false,nil:lng);
X_103 := algebra.projection(r1_125,X_56);
- X_104:bat[:int] := algebra.projection(X_186,X_58);
+ X_104:bat[:int] := algebra.projectionpath(X_88,X_68,X_58);
X_105 := algebra.projection(X_101,X_104);
X_106:bat[:bit] := batcalc.!=(X_103,X_105);
C_107 := algebra.subselect(X_106,true,true,true,true,false);
diff --git a/sql/benchmarks/tpch/Tests/22-explain.stable.out.int128
b/sql/benchmarks/tpch/Tests/22-explain.stable.out.int128
--- a/sql/benchmarks/tpch/Tests/22-explain.stable.out.int128
+++ b/sql/benchmarks/tpch/Tests/22-explain.stable.out.int128
@@ -58,7 +58,7 @@ Ready.
% clob # type
% 710 # length
function
user.s2_1(A0:int,A1:int,A2:int,A3:int,A4:str,A5:str,A6:str,A7:str,A8:str,A9:str,A10:str,A11:bte,A12:int,A13:int,A14:str,A15:str,A16:str,A17:str,A18:str,A19:str,A20:str):void;
- X_160:void := querylog.define("explain select\n cntrycode,\n count(*) as
numcust,\n sum(c_acctbal) as totacctbal\nfrom\n (\n select\n substring(c_phone
from 1 for 2) as cntrycode,\n c_acctbal\n from\n customer\n where\n
substring(c_phone from 1 for 2) in\n (\\'13\\', \\'31\\', \\'23\\', \\'29\\',
\\'30\\', \\'18\\', \\'17\\')\n and c_acctbal > (\n select\n avg(c_acctbal)\n
from\n customer\n where\n c_acctbal > 0.00\n and substring(c_phone from 1 for
2) in\n (\\'13\\', \\'31\\', \\'23\\', \\'29\\', \\'30\\', \\'18\\',
\\'17\\')\n )\n and not exists (\n select\n *\n from\n orders\n where\n
o_custkey = c_custkey\n )\n ) as custsale\ngroup by\n cntrycode\norder by\n
cntrycode;","sequential_pipe",102);
+ X_160:void := querylog.define("explain select\n cntrycode,\n count(*) as
numcust,\n sum(c_acctbal) as totacctbal\nfrom\n (\n select\n substring(c_phone
from 1 for 2) as cntrycode,\n c_acctbal\n from\n customer\n where\n
substring(c_phone from 1 for 2) in\n (\\'13\\', \\'31\\', \\'23\\', \\'29\\',
\\'30\\', \\'18\\', \\'17\\')\n and c_acctbal > (\n select\n avg(c_acctbal)\n
from\n customer\n where\n c_acctbal > 0.00\n and substring(c_phone from 1 for
2) in\n (\\'13\\', \\'31\\', \\'23\\', \\'29\\', \\'30\\', \\'18\\',
\\'17\\')\n )\n and not exists (\n select\n *\n from\n orders\n where\n
o_custkey = c_custkey\n )\n ) as custsale\ngroup by\n cntrycode\norder by\n
cntrycode;","sequential_pipe",101);
X_126 := bat.new(nil:oid,nil:str);
X_134 := bat.append(X_126,"sys.custsale");
X_142 := bat.append(X_134,"sys.L2");
@@ -145,13 +145,12 @@ function user.s2_1(A0:int,A1:int,A2:int,
X_106 := algebra.projection(C_98,X_105);
(X_107,r1_160) :=
algebra.subjoin(X_96,X_106,nil:BAT,nil:BAT,false,nil:lng);
X_109 := algebra.subdiff(X_97,X_107,nil:BAT,nil:BAT,false,nil:lng);
- X_169:bat[:oid] := algebra.projection(X_109,C_95);
- X_110:bat[:str] := algebra.projectionpath(X_169,X_51,X_35);
+ X_110:bat[:str] := algebra.projectionpath(X_109,C_95,X_51,X_35);
X_111:bat[:str] := batstr.substring(X_110,A0,A1);
(X_112,r1_171,r2_171) := group.subgroupdone(X_111);
X_115 := algebra.projection(r1_171,X_111);
X_120:bat[:wrd] := aggr.subcount(X_112,X_112,r1_171,false);
- X_122:bat[:lng] := algebra.projection(X_169,X_67);
+ X_122:bat[:lng] := algebra.projectionpath(X_109,C_95,X_67);
X_123:bat[:hge] := aggr.subsum(X_122,X_112,r1_171,true,true);
(X_116,r1_175,r2_175) := algebra.subsort(X_115,false,false);
X_119 := algebra.projection(r1_175,X_115);
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list