Changeset: c3cbe3975d84 for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=c3cbe3975d84 Modified Files: sql/benchmarks/tpch/Tests/11-explain.stable.out.int128 sql/benchmarks/tpch/Tests/11-plan.stable.out.int128 sql/benchmarks/tpch/Tests/17-explain.stable.out.int128 sql/benchmarks/tpch/Tests/17-plan.stable.out.int128 sql/benchmarks/tpch/Tests/20-explain.stable.out.int128 sql/benchmarks/tpch/Tests/20-plan.stable.out.int128 sql/benchmarks/tpch/Tests/22-explain.stable.out.int128 Branch: default Log Message:
approved output diffs (truncated from 305 to 300 lines): diff --git a/sql/benchmarks/tpch/Tests/11-explain.stable.out.int128 b/sql/benchmarks/tpch/Tests/11-explain.stable.out.int128 --- a/sql/benchmarks/tpch/Tests/11-explain.stable.out.int128 +++ b/sql/benchmarks/tpch/Tests/11-explain.stable.out.int128 @@ -117,13 +117,13 @@ function user.s2_1{autoCommit=true}(A0:s X_105:hge := aggr.sum(X_104); X_106 := calc.*(X_105,A1); X_107 := sql.single(X_106); - X_108:bat[:oid,:hge] := batcalc.hge(5,X_107,39,2); - (X_110,r1_166) := algebra.subthetajoin(X_85,X_108,nil:BAT,nil:BAT,1,true,nil:lng); + X_109:bat[:oid,:hge] := batsql.dec_round(X_107,100:hge); + (X_110,r1_169) := algebra.subthetajoin(X_85,X_109,nil:BAT,nil:BAT,1,true,nil:lng); X_115 := algebra.tinter(X_63,X_110); X_116 := algebra.leftfetchjoin(X_115,X_85); - (X_117,r1_173,r2_173) := algebra.subsort(X_116,true,false); - X_121:bat[:oid,:int] := algebra.leftfetchjoinPath(r1_173,X_115,X_62); - X_122 := algebra.leftfetchjoin(r1_173,X_116); + (X_117,r1_176,r2_176) := algebra.subsort(X_116,true,false); + X_121:bat[:oid,:int] := algebra.leftfetchjoinPath(r1_176,X_115,X_62); + X_122 := algebra.leftfetchjoin(r1_176,X_116); X_123 := sql.resultSet(2,1,X_121); sql.rsColumn(X_123,"sys.partsupp","ps_partkey","int",32,0,X_121); sql.rsColumn(X_123,"sys.L1","value","decimal",39,2,X_122); diff --git a/sql/benchmarks/tpch/Tests/11-plan.stable.out.int128 b/sql/benchmarks/tpch/Tests/11-plan.stable.out.int128 --- a/sql/benchmarks/tpch/Tests/11-plan.stable.out.int128 +++ b/sql/benchmarks/tpch/Tests/11-plan.stable.out.int128 @@ -81,8 +81,8 @@ project ( | | | | | 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(decimal(39,2)[partsupp.ps_supplycost NOT NULL] as partsupp.ps_supplycost, partsupp.ps_availqty NOT NULL)) as L3.L3 ] -| | ) [ sys.sql_mul(L3, decimal(4,3) "10") as L4.L4 ] -| ) [ L2 > decimal(39,2)[L4.L4] ] +| | ) [ sys.sql_mul(L3, decimal(4,3) "1") as L4.L4 ] +| ) [ L2 > sys.scale_down(L4.L4, hugeint "100") ] ) [ partsupp.ps_partkey NOT NULL, L1 as L1.value ] [ L1.value ] # 22:46:31 > diff --git a/sql/benchmarks/tpch/Tests/17-explain.stable.out.int128 b/sql/benchmarks/tpch/Tests/17-explain.stable.out.int128 --- a/sql/benchmarks/tpch/Tests/17-explain.stable.out.int128 +++ b/sql/benchmarks/tpch/Tests/17-explain.stable.out.int128 @@ -94,13 +94,13 @@ function user.s2_1{autoCommit=true}(A0:b (X_76,r1_90) := sql.bind(X_6,"sys","lineitem","l_quantity",2); X_78:bat[:oid,:int] := sql.bind(X_6,"sys","lineitem","l_quantity",1); X_79 := sql.projectdelta(X_7,X_74,X_76,r1_90,X_78); - X_85 := algebra.leftfetchjoin(X_58,X_79); - X_86 := batcalc.dbl(X_85); - X_87:bat[:oid,:dbl] := aggr.subavg(X_86,X_71,r1_85,true,true); + X_86 := algebra.leftfetchjoin(X_58,X_79); + X_87 := batcalc.dbl(X_86); + X_88:bat[:oid,:dbl] := aggr.subavg(X_87,X_71,r1_85,true,true); X_80:bat[:oid,:int] := algebra.leftfetchjoinPath(X_150,X_43,X_79); - X_89:bat[:oid,:dbl] := batcalc.*(A3,X_87); - X_90 := batcalc.int(X_89); - X_91:bat[:oid,:bit] := batcalc.<(X_80,X_90); + X_81 := batcalc.dbl(X_80); + X_90:bat[:oid,:dbl] := batcalc.*(A3,X_88); + X_91:bat[:oid,:bit] := batcalc.<(X_81,X_90); X_92 := algebra.subselect(X_91,true,true,true,true,false); X_94:bat[:oid,:lng] := sql.bind(X_6,"sys","lineitem","l_extendedprice",0); (X_97,r1_124) := sql.bind(X_6,"sys","lineitem","l_extendedprice",2); @@ -109,9 +109,9 @@ function user.s2_1{autoCommit=true}(A0:b X_101:bat[:oid,:lng] := algebra.leftfetchjoinPath(X_92,X_150,X_43,X_100); X_102:hge := aggr.sum(X_101); X_103 := calc.lng(2,X_102,15,2); - X_106 := calc.lng(2,X_103,18,5); + X_105 := calc.lng(2,X_103,18,5); X_109 := calc.lng(1,A0,15,2); - X_111 := calc./(X_106,X_109); + X_111 := calc./(X_105,X_109); sql.exportValue(1,"sys.L3","avg_yearly","decimal",18,3,8,X_111,""); end s2_1; # querylog.define("explain select\n\tsum(l_extendedprice) / 7.0 as avg_yearly\nfrom\n\tlineitem,\n\tpart\nwhere\n\tp_partkey = l_partkey\n\tand p_brand = \\'Brand#23\\'\n\tand p_container = \\'MED BOX\\'\n\tand l_quantity < (\n\t\tselect\n\t\t\t0.2 * avg(l_quantity)\n\t\tfrom\n\t\t\tlineitem\n\t\twhere\n\t\t\tl_partkey = p_partkey\n\t);","sequential_pipe") diff --git a/sql/benchmarks/tpch/Tests/17-plan.stable.out.int128 b/sql/benchmarks/tpch/Tests/17-plan.stable.out.int128 --- a/sql/benchmarks/tpch/Tests/17-plan.stable.out.int128 +++ b/sql/benchmarks/tpch/Tests/17-plan.stable.out.int128 @@ -64,7 +64,7 @@ project ( | | | | | ) [ L4.l_partkey NOT NULL = part.p_partkey NOT NULL ] | | | | ) [ L5.L5 ] [ lineitem.l_quantity NOT NULL, lineitem.l_extendedprice NOT NULL, L5.L5 HASHCOL , sys.avg no nil (double[L4.l_quantity NOT NULL] as lineitem.l_quantity) as L1.L1 ] | | | ) [ lineitem.l_quantity NOT NULL, lineitem.l_extendedprice NOT NULL, sys.sql_mul(double(53,1)[decimal(2,1) "2"], L1) as L2.L2 ] -| | ) [ lineitem.l_quantity NOT NULL < int[L2.L2] ] +| | ) [ double(53,1)[lineitem.l_quantity NOT NULL] < L2.L2 ] | ) [ ] [ sys.sum no nil (lineitem.l_extendedprice NOT NULL) NOT NULL as L3.L3 ] ) [ sys.sql_div(decimal(18,5)[decimal(15,2)[L3 NOT NULL]] as L3, decimal(15,2)[decimal(2,1) "70"]) as L3.avg_yearly ] 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 @@ -143,61 +143,61 @@ function user.s2_1{autoCommit=true}(A0:s X_135 := algebra.leftfetchjoin(X_133,X_134); (X_136,r1_154,r2_154) := group.subgroupdone(X_135); X_285 := algebra.leftfetchjoin(r1_154,X_133); - X_150:bat[:oid,:int] := sql.bind(X_8,"sys","lineitem","l_quantity",0); - (X_155,r1_178) := sql.bind(X_8,"sys","lineitem","l_quantity",2); - X_158:bat[:oid,:int] := sql.bind(X_8,"sys","lineitem","l_quantity",1); - X_160 := sql.delta(X_150,X_155,r1_178,X_158); - X_161:bat[:oid,:int] := algebra.leftfetchjoinPath(X_132,X_129,X_284,X_160); - X_162:bat[:oid,:hge] := aggr.subsum(X_161,X_136,r1_154,true,true); + X_153:bat[:oid,:int] := sql.bind(X_8,"sys","lineitem","l_quantity",0); + (X_158,r1_183) := sql.bind(X_8,"sys","lineitem","l_quantity",2); + X_160:bat[:oid,:int] := sql.bind(X_8,"sys","lineitem","l_quantity",1); + X_161 := sql.delta(X_153,X_158,r1_183,X_160); + X_162:bat[:oid,:int] := algebra.leftfetchjoinPath(X_132,X_129,X_284,X_161); + X_163:bat[:oid,:hge] := aggr.subsum(X_162,X_136,r1_154,true,true); X_139:bat[:oid,:int] := sql.bind(X_8,"sys","partsupp","ps_availqty",0); (X_141,r1_159) := sql.bind(X_8,"sys","partsupp","ps_availqty",2); X_143:bat[:oid,:int] := sql.bind(X_8,"sys","partsupp","ps_availqty",1); X_144 := sql.delta(X_139,X_141,r1_159,X_143); X_145:bat[:oid,:int] := algebra.leftfetchjoinPath(X_285,X_61,X_23,X_144); - X_146 := calc.lng(1,A1,11,1); - X_148 := calc.hge(1,X_146,22,1); - X_164:bat[:oid,:lng] := batcalc.lng(X_162,11,1); - X_165:bat[:oid,:hge] := batcalc.*(X_148,X_164); - X_166:bat[:oid,:int] := batcalc.int(2,X_165); - X_167:bat[:oid,:bit] := batcalc.>(X_145,X_166); + X_146:bat[:oid,:hge] := batcalc.hge(X_145,22,2); + X_149 := calc.lng(1,A1,11,1); + X_152 := calc.hge(1,X_149,22,1); + X_165:bat[:oid,:lng] := batcalc.lng(X_163,11,1); + X_166:bat[:oid,:hge] := batcalc.*(X_152,X_165); + X_167:bat[:oid,:bit] := batcalc.>(X_146,X_166); X_168 := algebra.subselect(X_167,true,true,true,true,false); X_170:bat[:oid,:int] := algebra.leftfetchjoinPath(X_168,X_285,X_127); (X_171,r1_203) := algebra.subjoin(X_21,X_170,nil:BAT,nil:BAT,true,nil:lng); X_175 := algebra.tinter(X_22,X_171); X_286 := algebra.leftfetchjoin(X_175,X_9); X_176:bat[:oid,:int] := sql.bind(X_8,"sys","supplier","s_nationkey",0); - (X_181,r1_213) := sql.bind(X_8,"sys","supplier","s_nationkey",2); - X_184:bat[:oid,:int] := sql.bind(X_8,"sys","supplier","s_nationkey",1); - X_186 := sql.delta(X_176,X_181,r1_213,X_184); - X_187:bat[:oid,:int] := algebra.leftfetchjoin(X_286,X_186); - X_188:bat[:oid,:oid] := sql.tid(X_8,"sys","nation"); - X_190:bat[:oid,:str] := sql.bind(X_8,"sys","nation","n_name",0); + (X_179,r1_211) := sql.bind(X_8,"sys","supplier","s_nationkey",2); + X_183:bat[:oid,:int] := sql.bind(X_8,"sys","supplier","s_nationkey",1); + X_185 := sql.delta(X_176,X_179,r1_211,X_183); + X_186:bat[:oid,:int] := algebra.leftfetchjoin(X_286,X_185); + X_187:bat[:oid,:oid] := sql.tid(X_8,"sys","nation"); + X_189:bat[:oid,:str] := sql.bind(X_8,"sys","nation","n_name",0); (X_192,r1_225) := sql.bind(X_8,"sys","nation","n_name",2); X_194:bat[:oid,:str] := sql.bind(X_8,"sys","nation","n_name",1); - X_195 := sql.delta(X_190,X_192,r1_225,X_194); - X_196 := algebra.leftfetchjoin(X_188,X_195); + X_195 := sql.delta(X_189,X_192,r1_225,X_194); + X_196 := algebra.leftfetchjoin(X_187,X_195); X_197 := algebra.subselect(X_196,A5,A5,true,true,false); X_200:bat[:oid,:int] := sql.bind(X_8,"sys","nation","n_nationkey",0); (X_202,r1_236) := sql.bind(X_8,"sys","nation","n_nationkey",2); X_204:bat[:oid,:int] := sql.bind(X_8,"sys","nation","n_nationkey",1); X_205 := sql.delta(X_200,X_202,r1_236,X_204); - X_206:bat[:oid,:int] := algebra.leftfetchjoinPath(X_197,X_188,X_205); - (X_207,r1_242) := algebra.subjoin(X_187,X_206,nil:BAT,nil:BAT,true,nil:lng); + X_206:bat[:oid,:int] := algebra.leftfetchjoinPath(X_197,X_187,X_205); + (X_207,r1_242) := algebra.subjoin(X_186,X_206,nil:BAT,nil:BAT,true,nil:lng); X_287 := algebra.leftfetchjoin(X_207,X_175); X_211:bat[:oid,:str] := sql.bind(X_8,"sys","supplier","s_name",0); - (X_216,r1_251) := sql.bind(X_8,"sys","supplier","s_name",2); - X_219:bat[:oid,:str] := sql.bind(X_8,"sys","supplier","s_name",1); - X_221 := sql.delta(X_211,X_216,r1_251,X_219); - X_222:bat[:oid,:str] := algebra.leftfetchjoinPath(X_287,X_9,X_221); - (X_223,r1_260,r2_260) := algebra.subsort(X_222,false,false); - X_226 := algebra.leftfetchjoin(r1_260,X_222); - X_227:bat[:oid,:str] := sql.bind(X_8,"sys","supplier","s_address",0); + (X_215,r1_250) := sql.bind(X_8,"sys","supplier","s_name",2); + X_218:bat[:oid,:str] := sql.bind(X_8,"sys","supplier","s_name",1); + X_220 := sql.delta(X_211,X_215,r1_250,X_218); + X_221:bat[:oid,:str] := algebra.leftfetchjoinPath(X_287,X_9,X_220); + (X_222,r1_259,r2_259) := algebra.subsort(X_221,false,false); + X_225 := algebra.leftfetchjoin(r1_259,X_221); + X_226:bat[:oid,:str] := sql.bind(X_8,"sys","supplier","s_address",0); (X_229,r1_266) := sql.bind(X_8,"sys","supplier","s_address",2); X_231:bat[:oid,:str] := sql.bind(X_8,"sys","supplier","s_address",1); - X_232 := sql.delta(X_227,X_229,r1_266,X_231); - X_233:bat[:oid,:str] := algebra.leftfetchjoinPath(r1_260,X_287,X_9,X_232); - X_234 := sql.resultSet(2,1,X_226); - sql.rsColumn(X_234,"sys.supplier","s_name","varchar",25,0,X_226); + X_232 := sql.delta(X_226,X_229,r1_266,X_231); + X_233:bat[:oid,:str] := algebra.leftfetchjoinPath(r1_259,X_287,X_9,X_232); + X_234 := sql.resultSet(2,1,X_225); + sql.rsColumn(X_234,"sys.supplier","s_name","varchar",25,0,X_225); sql.rsColumn(X_234,"sys.supplier","s_address","varchar",40,0,X_233); X_241 := io.stdout(); sql.exportResult(X_241,X_234); diff --git a/sql/benchmarks/tpch/Tests/20-plan.stable.out.int128 b/sql/benchmarks/tpch/Tests/20-plan.stable.out.int128 --- a/sql/benchmarks/tpch/Tests/20-plan.stable.out.int128 +++ b/sql/benchmarks/tpch/Tests/20-plan.stable.out.int128 @@ -89,7 +89,7 @@ project ( | | | | | | | | ) [ partsupp.ps_partkey NOT NULL = L16.l_partkey NOT NULL HASHCOL , partsupp.ps_suppkey NOT NULL = L16.l_suppkey NOT NULL HASHCOL ] | | | | | | | ) [ L17.L17 ] [ partsupp.ps_suppkey NOT NULL, partsupp.ps_availqty NOT NULL, L17.L17 HASHCOL , sys.sum no nil (L16.l_quantity NOT NULL as lineitem.l_quantity) NOT NULL as L12.L12 ] | | | | | | ) [ partsupp.ps_suppkey NOT NULL, partsupp.ps_availqty NOT NULL, sys.sql_mul(decimal(22,1)[decimal(11,1)[decimal(2,1) "5"]], decimal(11,1)[L12 NOT NULL] as L12) as L13.L13 ] -| | | | | ) [ partsupp.ps_availqty NOT NULL > int[L13.L13] ] +| | | | | ) [ decimal(22,2)[partsupp.ps_availqty NOT NULL] > L13.L13 ] | | | | ) [ partsupp.ps_suppkey NOT NULL as L15.L14 ] | | | ) [ supplier.s_suppkey NOT NULL HASHCOL = L15.L14 NOT NULL ], | | | select ( 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 @@ -91,57 +91,57 @@ function user.s2_1{autoCommit=true}(A0:i X_71 := sql.delta(X_66,X_68,r1_80,X_70); X_72 := algebra.leftfetchjoin(X_24,X_71); X_73 := algebra.leftfetchjoin(X_52,X_72); - X_74:bat[:oid,:str] := batstr.substring(X_36,A12,A13); - X_77 := calc.lng(1,A11,15,2); - X_79 := algebra.thetasubselect(X_72,X_77,">"); - X_81 := algebra.subselect(X_74,X_79,A14,A14,true,true,false); - X_84 := algebra.subselect(X_74,X_79,A15,A15,true,true,false); - X_85 := bat.mergecand(X_81,X_84); - X_86 := algebra.subselect(X_74,X_79,A16,A16,true,true,false); - X_87 := bat.mergecand(X_85,X_86); - X_88 := algebra.subselect(X_74,X_79,A17,A17,true,true,false); - X_89 := bat.mergecand(X_87,X_88); - X_90 := algebra.subselect(X_74,X_79,A18,A18,true,true,false); - X_91 := bat.mergecand(X_89,X_90); - X_92 := algebra.subselect(X_74,X_79,A19,A19,true,true,false); - X_93 := bat.mergecand(X_91,X_92); - X_94 := algebra.subselect(X_74,X_79,A20,A20,true,true,false); - X_95 := bat.mergecand(X_93,X_94); - X_96 := algebra.leftfetchjoin(X_95,X_72); - X_97:bat[:oid,:dbl] := batcalc.dbl(2,X_96); - X_99:dbl := aggr.avg(X_97); - X_100 := sql.single(X_99); - X_101:bat[:oid,:lng] := batcalc.lng(X_100,15,2); - (X_103,r1_147) := algebra.subthetajoin(X_73,X_101,nil:BAT,nil:BAT,1,true,nil:lng); - X_109 := algebra.tinter(X_65,X_103); - X_110 := algebra.leftfetchjoin(X_109,X_64); - X_111 := bat.mirror(X_110); - X_112:bat[:oid,:oid] := sql.tid(X_23,"sys","orders"); - X_115:bat[:oid,:int] := sql.bind(X_23,"sys","orders","o_custkey",0); - (X_118,r1_162) := sql.bind(X_23,"sys","orders","o_custkey",2); - X_120:bat[:oid,:int] := sql.bind(X_23,"sys","orders","o_custkey",1); - X_121 := sql.delta(X_115,X_118,r1_162,X_120); - X_122 := algebra.leftfetchjoin(X_112,X_121); - (X_123,r1_167) := algebra.subjoin(X_110,X_122,nil:BAT,nil:BAT,true,nil:lng); - X_125 := algebra.tdiff(X_111,X_123); - X_183 := algebra.leftfetchjoin(X_125,X_109); - X_126:bat[:oid,:str] := algebra.leftfetchjoinPath(X_183,X_52,X_36); - X_127:bat[:oid,:str] := batstr.substring(X_126,A0,A1); - (X_128,r1_178,r2_178) := group.subgroupdone(X_127); - X_131 := algebra.leftfetchjoin(r1_178,X_127); - X_137:bat[:oid,:wrd] := aggr.subcount(X_128,X_128,r1_178,false); - X_139:bat[:oid,:lng] := algebra.leftfetchjoin(X_183,X_73); - X_140:bat[:oid,:hge] := aggr.subsum(X_139,X_128,r1_178,true,true); - (X_132,r1_182,r2_182) := algebra.subsort(X_131,false,false); - X_136 := algebra.leftfetchjoin(r1_182,X_131); - X_142 := algebra.leftfetchjoin(r1_182,X_140); - X_138 := algebra.leftfetchjoin(r1_182,X_137); - X_143 := sql.resultSet(3,1,X_136); - sql.rsColumn(X_143,"sys.custsale","cntrycode","varchar",15,0,X_136); - sql.rsColumn(X_143,"sys.L2","numcust","wrd",64,0,X_138); - sql.rsColumn(X_143,"sys.L3","totacctbal","decimal",15,2,X_142); - X_162 := io.stdout(); - sql.exportResult(X_162,X_143); + X_74:bat[:oid,:dbl] := batcalc.dbl(2,X_73); + X_75:bat[:oid,:str] := batstr.substring(X_36,A12,A13); + X_78 := calc.lng(1,A11,15,2); + X_80 := algebra.thetasubselect(X_72,X_78,">"); + X_82 := algebra.subselect(X_75,X_80,A14,A14,true,true,false); + X_85 := algebra.subselect(X_75,X_80,A15,A15,true,true,false); + X_86 := bat.mergecand(X_82,X_85); + X_87 := algebra.subselect(X_75,X_80,A16,A16,true,true,false); + X_88 := bat.mergecand(X_86,X_87); + X_89 := algebra.subselect(X_75,X_80,A17,A17,true,true,false); + X_90 := bat.mergecand(X_88,X_89); + X_91 := algebra.subselect(X_75,X_80,A18,A18,true,true,false); + X_92 := bat.mergecand(X_90,X_91); + X_93 := algebra.subselect(X_75,X_80,A19,A19,true,true,false); + X_94 := bat.mergecand(X_92,X_93); + X_95 := algebra.subselect(X_75,X_80,A20,A20,true,true,false); + X_96 := bat.mergecand(X_94,X_95); + X_97 := algebra.leftfetchjoin(X_96,X_72); + X_98:bat[:oid,:dbl] := batcalc.dbl(2,X_97); + X_100:dbl := aggr.avg(X_98); + X_101 := sql.single(X_100); + (X_102,r1_147) := algebra.subthetajoin(X_74,X_101,nil:BAT,nil:BAT,1,true,nil:lng); + X_107 := algebra.tinter(X_65,X_102); + X_108 := algebra.leftfetchjoin(X_107,X_64); + X_109 := bat.mirror(X_108); + X_110:bat[:oid,:oid] := sql.tid(X_23,"sys","orders"); + X_113:bat[:oid,:int] := sql.bind(X_23,"sys","orders","o_custkey",0); + (X_116,r1_161) := sql.bind(X_23,"sys","orders","o_custkey",2); + X_118:bat[:oid,:int] := sql.bind(X_23,"sys","orders","o_custkey",1); + X_119 := sql.delta(X_113,X_116,r1_161,X_118); + X_120 := algebra.leftfetchjoin(X_110,X_119); + (X_121,r1_166) := algebra.subjoin(X_108,X_120,nil:BAT,nil:BAT,true,nil:lng); + X_124 := algebra.tdiff(X_109,X_121); + X_181 := algebra.leftfetchjoin(X_124,X_107); + X_125:bat[:oid,:str] := algebra.leftfetchjoinPath(X_181,X_52,X_36); + X_126:bat[:oid,:str] := batstr.substring(X_125,A0,A1); + (X_127,r1_178,r2_178) := group.subgroupdone(X_126); + X_130 := algebra.leftfetchjoin(r1_178,X_126); + X_136:bat[:oid,:wrd] := aggr.subcount(X_127,X_127,r1_178,false); + X_138:bat[:oid,:lng] := algebra.leftfetchjoin(X_181,X_73); + X_139:bat[:oid,:hge] := aggr.subsum(X_138,X_127,r1_178,true,true); + (X_131,r1_182,r2_182) := algebra.subsort(X_130,false,false); + X_135 := algebra.leftfetchjoin(r1_182,X_130); + X_140 := algebra.leftfetchjoin(r1_182,X_139); + X_137 := algebra.leftfetchjoin(r1_182,X_136); + X_141 := sql.resultSet(3,1,X_135); + sql.rsColumn(X_141,"sys.custsale","cntrycode","varchar",15,0,X_135); + sql.rsColumn(X_141,"sys.L2","numcust","wrd",64,0,X_137); + sql.rsColumn(X_141,"sys.L3","totacctbal","decimal",15,2,X_140); _______________________________________________ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list