MonetDB: Oct2014 - fixed bug 3633
Changeset: d9da821f8731 for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=d9da821f8731 Added Files: sql/test/BugTracker-2014/Tests/incorrect_floating_point_cast.Bug-3633.sql sql/test/BugTracker-2014/Tests/incorrect_floating_point_cast.Bug-3633.stable.err sql/test/BugTracker-2014/Tests/incorrect_floating_point_cast.Bug-3633.stable.out Modified Files: sql/benchmarks/tpch/Tests/11-explain.stable.out sql/benchmarks/tpch/Tests/11-plan.stable.out sql/benchmarks/tpch/Tests/17-explain.stable.out sql/benchmarks/tpch/Tests/17-plan.stable.out sql/benchmarks/tpch/Tests/20-explain.stable.out sql/benchmarks/tpch/Tests/20-plan.stable.out sql/benchmarks/tpch/Tests/22-explain.stable.out sql/benchmarks/tpch/Tests/22-plan.stable.out sql/server/rel_select.c sql/server/sql_semantic.c sql/test/BugDay_2005-10-06_2.8/Tests/mixed_type.SF-917372.stable.err sql/test/BugDay_2005-12-19_2.9.3/Tests/NULL_in_CASE.SF-1211335.stable.out sql/test/BugTracker-2012/Tests/incorrect_cast_from_double_to_int.Bug-2579.stable.err sql/test/BugTracker-2012/Tests/incorrect_cast_from_double_to_int.Bug-2579.stable.out sql/test/BugTracker-2012/Tests/interval_timestamp.Bug-3002.stable.err sql/test/BugTracker-2014/Tests/All sql/test/Tests/coalesce.stable.err sql/test/Tests/coalesce.stable.out Branch: Oct2014 Log Message: fixed bug 3633 ie properly check types on compare expressions made string a higher type in auto coersion. diffs (truncated from 780 to 300 lines): 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 @@ -109,24 +109,24 @@ function user.s2_1{autoCommit=true}(A0:s (X_85,r1_111) := algebra.join(X_18,X_84); X_87 := algebra.leftfetchjoin(X_85,X_6); (X_88,r1_124) := algebra.join(X_87,X_43); -X_92 := algebra.leftfetchjoin(r1_124,X_67); -X_93 := algebra.leftfetchjoin(r1_124,X_77); -X_94:bat[:oid,:lng] := batcalc.*(X_92,X_93); -X_95:lng := aggr.sum(X_94); -X_96 := calc.*(X_95,A1); -X_97 := sql.single(X_96); -X_98:bat[:oid,:lng] := batcalc.lng(5,X_97,19,2); -(X_101,r1_156) := algebra.thetajoin(X_80,X_98,1); -X_103 := algebra.tinter(X_60,X_101); -X_104 := algebra.leftfetchjoin(X_103,X_80); -(X_105,r1_160,r2_160) := algebra.subsort(X_104,true,false); -X_110:bat[:oid,:int] := algebra.leftfetchjoinPath(r1_160,X_103,X_59); -X_111 := algebra.leftfetchjoin(r1_160,X_104); -X_112 := sql.resultSet(2,1,X_110); -sql.rsColumn(X_112,sys.partsupp,ps_partkey,int,32,0,X_110); -sql.rsColumn(X_112,sys.L1,value,decimal,19,2,X_111); -X_125 := io.stdout(); -sql.exportResult(X_125,X_112); +X_91 := algebra.leftfetchjoin(r1_124,X_67); +X_92 := algebra.leftfetchjoin(r1_124,X_77); +X_93:bat[:oid,:lng] := batcalc.*(X_91,X_92); +X_94:lng := aggr.sum(X_93); +X_95 := calc.*(X_94,A1); +X_96 := sql.single(X_95); +X_98:bat[:oid,:lng] := batsql.dec_round(X_96,100:lng); +(X_99,r1_157) := algebra.thetajoin(X_80,X_98,1); +X_101 := algebra.tinter(X_60,X_99); +X_102 := algebra.leftfetchjoin(X_101,X_80); +(X_103,r1_161,r2_161) := algebra.subsort(X_102,true,false); +X_108:bat[:oid,:int] := algebra.leftfetchjoinPath(r1_161,X_101,X_59); +X_109 := algebra.leftfetchjoin(r1_161,X_102); +X_110 := sql.resultSet(2,1,X_108); +sql.rsColumn(X_110,sys.partsupp,ps_partkey,int,32,0,X_108); +sql.rsColumn(X_110,sys.L1,value,decimal,19,2,X_109); +X_124 := io.stdout(); +sql.exportResult(X_124,X_110); end s2_1; # querylog.define(explain select\n\tps_partkey,\n\tsum(ps_supplycost * ps_availqty) as value\nfrom\n\tpartsupp,\n\tsupplier,\n\tnation\nwhere\n\tps_suppkey = s_suppkey\n\tand s_nationkey = n_nationkey\n\tand n_name = \\'GERMANY\\'\ngroup by\n\tps_partkey \nhaving\n\tsum(ps_supplycost * ps_availqty) \n\t(\n\t\tselect\n\t\t\tsum(ps_supplycost * ps_availqty) * 0.01\n\t\t\t-- The above constant needs to be adjusted according\n\t\t\t-- to the scale factor (SF): constant = 0.0001 / SF.\n\t\tfrom\n\t\t\tpartsupp,\n\t\t\tsupplier,\n\t\t\tnation\n\t\twhere\n\t\t\tps_suppkey = s_suppkey\n\t\t\tand s_nationkey = n_nationkey\n\t\t\tand n_name = \\'GERMANY\\'\n\t)\norder by\n\tvalue desc;,sequential_pipe) 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 @@ -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 | | | | ) [
MonetDB: Oct2014 - added test for bug 3622
Changeset: 1837da979e2f for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=1837da979e2f Added Files: sql/test/BugTracker-2014/Tests/type_resolution.Bug-3622.sql sql/test/BugTracker-2014/Tests/type_resolution.Bug-3622.stable.err sql/test/BugTracker-2014/Tests/type_resolution.Bug-3622.stable.out Modified Files: sql/test/BugTracker-2014/Tests/All Branch: Oct2014 Log Message: added test for bug 3622 diffs (169 lines): diff --git a/sql/test/BugTracker-2014/Tests/All b/sql/test/BugTracker-2014/Tests/All --- a/sql/test/BugTracker-2014/Tests/All +++ b/sql/test/BugTracker-2014/Tests/All @@ -54,6 +54,7 @@ hexadecimal_literals.Bug-3621 orderby_column_exp.Bug-3620 case-sqrt.Bug-3627 column-with-comma.Bug-3616 +type_resolution.Bug-3622 inet_error_handling.Bug-3624 missing_alias.Bug-3626 stddev-empty.Bug-3628 diff --git a/sql/test/BugTracker-2014/Tests/type_resolution.Bug-3622.sql b/sql/test/BugTracker-2014/Tests/type_resolution.Bug-3622.sql new file mode 100644 --- /dev/null +++ b/sql/test/BugTracker-2014/Tests/type_resolution.Bug-3622.sql @@ -0,0 +1,38 @@ +CREATE FUNCTION seq_char(val integer, seq string, pos integer, cigar string) +RETURNS INTEGER +BEGIN + RETURN 1; +END; + +CREATE TABLE bam.alignments_2 ( + virtual_offset BIGINTNOT NULL, + qname CHARACTER LARGE OBJECT NOT NULL, + flag SMALLINT NOT NULL, + rname CHARACTER LARGE OBJECT NOT NULL, + posINTEGER NOT NULL, + eposINTEGER NOT NULL, + mapq SMALLINT NOT NULL, + cigar CHARACTER LARGE OBJECT NOT NULL, + rnext CHARACTER LARGE OBJECT NOT NULL, + pnext INTEGER NOT NULL, + tlen INTEGER NOT NULL, + seqCHARACTER LARGE OBJECT NOT NULL, + qual CHARACTER LARGE OBJECT NOT NULL, + CONSTRAINT alignments_2_pkey_virtual_offset PRIMARY KEY (virtual_offset) +); +ALTER TABLE bam.alignments_2 SET READ ONLY; +SELECT s.value AS refpos, COUNT(*) AS cnt + FROM + generate_series(128, 18960) AS s + JOIN ( + SELECT epos, pos, seq, cigar FROM bam.alignments_2 WHERE pos 0 ) AS al + ON ( + s.value = al.pos AND s.value = al.epos + AND seq_char(s.value, al.seq, al.pos, al.cigar) IS NOT NULL + ) +GROUP BY refpos +ORDER BY cnt DESC +LIMIT 10; + +DROP TABLE bam.alignments_2; +DROP FUNCTION seq_char; diff --git a/sql/test/BugTracker-2014/Tests/type_resolution.Bug-3622.stable.err b/sql/test/BugTracker-2014/Tests/type_resolution.Bug-3622.stable.err new file mode 100644 --- /dev/null +++ b/sql/test/BugTracker-2014/Tests/type_resolution.Bug-3622.stable.err @@ -0,0 +1,37 @@ +stderr of test 'type_resolution.Bug-3622` in directory 'sql/test/BugTracker-2014` itself: + + +# 13:40:29 +# 13:40:29 mserver5 --debug=10 --set gdk_nr_threads=0 --set mapi_open=true --set mapi_port=35697 --set mapi_usock=/var/tmp/mtest-18664/.s.monetdb.35697 --set monet_prompt= --forcemito --set mal_listing=2 --dbpath=/home/niels/scratch/rc-clean/Linux-x86_64/var/MonetDB/mTests_sql_test_BugTracker-2014 --set mal_listing=0 --set embedded_r=yes +# 13:40:29 + +# builtin opt gdk_dbpath = /home/niels/scratch/rc-clean/Linux-x86_64/var/monetdb5/dbfarm/demo +# builtin opt gdk_debug = 0 +# builtin opt gdk_vmtrim = no +# builtin opt monet_prompt = +# builtin opt monet_daemon = no +# builtin opt mapi_port = 5 +# builtin opt mapi_open = false +# builtin opt mapi_autosense = false +# builtin opt sql_optimizer = default_pipe +# builtin opt sql_debug = 0 +# cmdline opt gdk_nr_threads = 0 +# cmdline opt mapi_open = true +# cmdline opt mapi_port = 35697 +# cmdline opt mapi_usock = /var/tmp/mtest-18664/.s.monetdb.35697 +# cmdline opt monet_prompt = +# cmdline opt mal_listing = 2 +# cmdline opt gdk_dbpath = /home/niels/scratch/rc-clean/Linux-x86_64/var/MonetDB/mTests_sql_test_BugTracker-2014 +# cmdline opt mal_listing = 0 +# cmdline opt embedded_r = yes +# cmdline opt gdk_debug = 536870922 + +# 13:40:30 +# 13:40:30 mclient -lsql -ftest -Eutf-8 -i -e --host=/var/tmp/mtest-18664 --port=35697 +# 13:40:30 + + +# 13:40:30 +# 13:40:30 Done. +# 13:40:30 + diff --git a/sql/test/BugTracker-2014/Tests/type_resolution.Bug-3622.stable.out b/sql/test/BugTracker-2014/Tests/type_resolution.Bug-3622.stable.out new file mode 100644 --- /dev/null +++ b/sql/test/BugTracker-2014/Tests/type_resolution.Bug-3622.stable.out @@ -0,0 +1,68 @@ +stdout of test 'type_resolution.Bug-3622` in directory 'sql/test/BugTracker-2014` itself: + + +# 13:40:29 +# 13:40:29 mserver5 --debug=10 --set gdk_nr_threads=0 --set mapi_open=true --set mapi_port=35697 --set mapi_usock=/var/tmp/mtest-18664/.s.monetdb.35697 --set monet_prompt= --forcemito --set mal_listing=2
MonetDB: Oct2014 - Add another file that may get generated by th...
Changeset: 358c8812e82f for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=358c8812e82f Modified Files: .hgignore Branch: Oct2014 Log Message: Add another file that may get generated by the build process. diffs (11 lines): diff --git a/.hgignore b/.hgignore --- a/.hgignore +++ b/.hgignore @@ -22,6 +22,7 @@ Makefile.msc aclocal.m4 acout.in autom4te.cache +buildtools/conf/compile buildtools/conf/config.guess buildtools/conf/config.sub buildtools/conf/install-sh ___ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list
MonetDB: default - Merge with Oct2014 branch.
Changeset: 5bb3f61a534a for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=5bb3f61a534a Added Files: sql/test/BugTracker-2014/Tests/incorrect_floating_point_cast.Bug-3633.sql sql/test/BugTracker-2014/Tests/incorrect_floating_point_cast.Bug-3633.stable.err sql/test/BugTracker-2014/Tests/incorrect_floating_point_cast.Bug-3633.stable.out sql/test/BugTracker-2014/Tests/inet_error_handling.Bug-3624.sql sql/test/BugTracker-2014/Tests/inet_error_handling.Bug-3624.stable.err sql/test/BugTracker-2014/Tests/inet_error_handling.Bug-3624.stable.out sql/test/BugTracker-2014/Tests/missing_alias.Bug-3626.sql sql/test/BugTracker-2014/Tests/missing_alias.Bug-3626.stable.err sql/test/BugTracker-2014/Tests/missing_alias.Bug-3626.stable.out sql/test/BugTracker-2014/Tests/too_general_errmsg.Bug-3605.sql sql/test/BugTracker-2014/Tests/too_general_errmsg.Bug-3605.stable.err sql/test/BugTracker-2014/Tests/too_general_errmsg.Bug-3605.stable.out sql/test/BugTracker-2014/Tests/type_resolution.Bug-3622.sql sql/test/BugTracker-2014/Tests/type_resolution.Bug-3622.stable.err sql/test/BugTracker-2014/Tests/type_resolution.Bug-3622.stable.out Modified Files: .hgignore NT/monetdb_config.h.in buildtools/conf/rules.mk buildtools/doc/windowsbuild.rst clients/odbc/driver/ODBC.syms clients/odbc/driver/SQLGetConnectAttr.c clients/odbc/driver/SQLGetConnectOption.c clients/odbc/driver/SQLSetConnectOption.c common/stream/stream.c common/utils/mutils.c configure.ag gdk/gdk_atoms.c gdk/gdk_select.c monetdb5/modules/atoms/inet.c monetdb5/modules/kernel/mmath.c monetdb5/modules/kernel/mmath.h sql/backends/monet5/generator/Tests/generator03.stable.out sql/backends/monet5/generator/generator.c sql/benchmarks/nobench/Tests/nobench.stable.out sql/benchmarks/tpch/Tests/11-explain.stable.out sql/benchmarks/tpch/Tests/11-plan.stable.out sql/benchmarks/tpch/Tests/17-explain.stable.out sql/benchmarks/tpch/Tests/17-plan.stable.out sql/benchmarks/tpch/Tests/20-explain.stable.out sql/benchmarks/tpch/Tests/20-plan.stable.out sql/benchmarks/tpch/Tests/22-explain.stable.out sql/benchmarks/tpch/Tests/22-plan.stable.out sql/server/rel_select.c sql/server/sql_semantic.c sql/test/ADT2006/Tests/bram.stable.out sql/test/BugDay_2005-10-06_2.8/Tests/mixed_type.SF-917372.stable.err sql/test/BugDay_2005-10-06_2.9.3/Tests/cast_to_interval.SF-1019079.stable.out sql/test/BugDay_2005-10-06_2.9.3/Tests/multiple_select_cast.SF-938419.stable.out sql/test/BugDay_2005-12-19_2.9.3/Tests/NULL_in_CASE.SF-1211335.stable.out sql/test/BugDay_2005-12-19_2.9.3/Tests/cast_bigint_to_int.SF-1211903.stable.out sql/test/BugDay_2005-12-19_2.9.3/Tests/cast_interval.SF.1280682.stable.out sql/test/BugDay_2005-12-19_2.9.3/Tests/timestamp_fraction.SF-1357342.stable.out sql/test/BugTracker-2008/Tests/decimal_cast_in_view.SF-2075223.stable.out sql/test/BugTracker-2010/Tests/join_problem.Bug-2694.stable.out sql/test/BugTracker-2011/Tests/Multiplication_and_cast.Bug-2923.stable.out sql/test/BugTracker-2012/Tests/cast_varchar_to_double.Bug-3071.stable.out sql/test/BugTracker-2012/Tests/incorrect_cast_from_double_to_int.Bug-2579.stable.err sql/test/BugTracker-2012/Tests/incorrect_cast_from_double_to_int.Bug-2579.stable.out sql/test/BugTracker-2012/Tests/interval_timestamp.Bug-3002.stable.err sql/test/BugTracker-2013/Tests/bogus_aggregation_casts.Bug-3342.stable.out sql/test/BugTracker-2013/Tests/decimal-cast.Bug-3310.stable.out sql/test/BugTracker-2013/Tests/qualified_aggrname.Bug-3332.stable.out sql/test/BugTracker-2014/Tests/All sql/test/BugTracker/Tests/case_in_aggr_bug.SF-1506545.stable.out sql/test/BugTracker/Tests/cast_interval2time.SF-1488247.stable.out sql/test/BugTracker/Tests/convert_dec2varchar.SF-1774312.stable.out sql/test/BugTracker/Tests/crash_on_cast.SF-1357271.stable.out sql/test/Tests/coalesce.stable.err sql/test/Tests/coalesce.stable.out sql/test/VOC/Tests/VOC.stable.out sql/test/bugs/Tests/aggr_single_value.stable.out sql/test/bugs/Tests/case_substring.stable.out sql/test/bugs/Tests/cast_bool2int-bug-sf-1000576.stable.out sql/test/bugs/Tests/cast_bool2int-bug-sf-951800.stable.out sql/test/bugs/Tests/cast_varchar2int-bug-sf-964165.stable.out sql/test/bugs/Tests/float2dec.stable.out sql/test/bugs/Tests/float_arith_cast2int-bug-sf-949255.stable.out sql/test/bugs/Tests/interval_convert_bugs-sf-1274077-1274085.stable.out
MonetDB: default - limit the size of the new stmt array in the g...
Changeset: f10cc888d0e5 for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=f10cc888d0e5 Modified Files: monetdb5/optimizer/opt_generator.c monetdb5/optimizer/opt_wrapper.c Branch: default Log Message: limit the size of the new stmt array in the generator optimizer diffs (50 lines): diff --git a/monetdb5/optimizer/opt_generator.c b/monetdb5/optimizer/opt_generator.c --- a/monetdb5/optimizer/opt_generator.c +++ b/monetdb5/optimizer/opt_generator.c @@ -78,11 +78,11 @@ OPTgeneratorImplementation(Client cntxt, (void) pci; series = (InstrPtr*) GDKzalloc(sizeof(InstrPtr) * mb-vtop); -old= mb-stmt; -limit = mb-stop; -if ( newMalBlkStmt(mb,2 * mb-ssize) 0) { + old = mb-stmt; + limit = mb-stop; + if (newMalBlkStmt(mb, 2 * limit) 0) { GDKfree(series); -return 0; + return 0; } for( i=0; i limit; i++){ @@ -157,9 +157,9 @@ OPTgeneratorImplementation(Client cntxt, } } for (i++; i limit; i++) -pushInstruction(mb, old[i]); -GDKfree(old); -GDKfree(series); + pushInstruction(mb, old[i]); + GDKfree(old); + GDKfree(series); #ifdef VLT_DEBUG printFunction(cntxt-fdout,mb,0,LIST_MAL_ALL); diff --git a/monetdb5/optimizer/opt_wrapper.c b/monetdb5/optimizer/opt_wrapper.c --- a/monetdb5/optimizer/opt_wrapper.c +++ b/monetdb5/optimizer/opt_wrapper.c @@ -172,10 +172,10 @@ str OPTwrapper (Client cntxt, MalBlkPtr for ( i=0; codes[i].nme; i++) - if ( strcmp(codes[i].nme, optimizer)== 0 ){ - actions = (int)(*(codes[i].fcn))(cntxt, mb, stk,0); - break; - } + if ( strcmp(codes[i].nme, optimizer)== 0 ){ + actions = (int)(*(codes[i].fcn))(cntxt, mb, stk,0); + break; + } if ( codes[i].nme == 0){ freeInstruction(q); throw(MAL, optimizer, RUNTIME_OBJECT_UNDEFINED :%s.%s, modnme, fcnnme); ___ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list
MonetDB: default - approved output
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 =
MonetDB: default - approve output
Changeset: c662655667aa for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=c662655667aa Added Files: sql/test/BugTracker-2014/Tests/typecast_error.Bug-3622.stable.err sql/test/BugTracker-2014/Tests/typecast_error.Bug-3622.stable.out Modified Files: sql/test/BugTracker-2013/Tests/qualified_aggrname.Bug-3332.stable.out.int128 sql/test/BugTracker-2014/Tests/nil_2dec_lng.Bug-3592.stable.out sql/test/BugTracker-2014/Tests/typecast_error.Bug-3622.sql sql/test/Dependencies/Tests/Dependencies_bam.stable.out.int128 sql/test/bugs/Tests/aggr_single_value.stable.out.int128 sql/test/pg_regress/Tests/float4.stable.out sql/test/pg_regress/Tests/float8.stable.out sql/test/pg_regress/Tests/int8.stable.out Branch: default Log Message: approve output diffs (truncated from 484 to 300 lines): diff --git a/sql/test/BugTracker-2013/Tests/qualified_aggrname.Bug-3332.stable.out.int128 b/sql/test/BugTracker-2013/Tests/qualified_aggrname.Bug-3332.stable.out.int128 --- a/sql/test/BugTracker-2013/Tests/qualified_aggrname.Bug-3332.stable.out.int128 +++ b/sql/test/BugTracker-2013/Tests/qualified_aggrname.Bug-3332.stable.out.int128 @@ -50,8 +50,8 @@ Ready. #2086 idxs 2000NULL0 true0 false 0 [ 40 ] #select sys.median(cast (id as double)) from tbls; -% sys.L1 # table_name -% L1 # name +% sys.L2 # table_name +% L2 # name % double # type % 24 # length [ 5183 ] diff --git a/sql/test/BugTracker-2014/Tests/nil_2dec_lng.Bug-3592.stable.out b/sql/test/BugTracker-2014/Tests/nil_2dec_lng.Bug-3592.stable.out --- a/sql/test/BugTracker-2014/Tests/nil_2dec_lng.Bug-3592.stable.out +++ b/sql/test/BugTracker-2014/Tests/nil_2dec_lng.Bug-3592.stable.out @@ -45,44 +45,44 @@ Ready. % 187 # length function user.s5_1{autoCommit=true}(A0:timestamp,A1:timestamp,A2:void):void; barrier X_109 := language.dataflow(); +X_6:bat[:oid,:lng] := bat.new(nil:oid,nil:lng); X_5 := sql.mvc(); -X_6:bat[:oid,:lng] := bat.new(nil:oid,nil:lng); X_66:bat[:oid,:oid] := sql.tid(X_5,sys,foo_nil_2dec,0,2); +X_69:bat[:oid,:timestamp] := sql.bind(X_5,sys,foo_nil_2dec,t,0,0,2); +(X_71:bat[:oid,:oid] ,X_72:bat[:oid,:timestamp] ) := sql.bind(X_5,sys,foo_nil_2dec,t,2,0,2); +X_81 := sql.delta(X_69,X_71,X_72); +X_83 := algebra.leftfetchjoin(X_66,X_81); +X_16 := calc.timestamp(A0,7); +X_85 := algebra.project(X_83,X_16); +X_87 := batmtime.diff(X_83,X_85); X_68:bat[:oid,:oid] := sql.tid(X_5,sys,foo_nil_2dec,1,2); -X_69:bat[:oid,:timestamp] := sql.bind(X_5,sys,foo_nil_2dec,t,0,0,2); X_70:bat[:oid,:timestamp] := sql.bind(X_5,sys,foo_nil_2dec,t,0,1,2); -(X_71:bat[:oid,:oid] ,X_72:bat[:oid,:timestamp] ) := sql.bind(X_5,sys,foo_nil_2dec,t,2,0,2); (X_73:bat[:oid,:oid] ,X_74:bat[:oid,:timestamp] ) := sql.bind(X_5,sys,foo_nil_2dec,t,2,1,2); X_14:bat[:oid,:timestamp] := sql.bind(X_5,sys,foo_nil_2dec,t,1); -X_81 := sql.delta(X_69,X_71,X_72); X_82 := sql.delta(X_70,X_73,X_74,X_14); -X_83 := algebra.leftfetchjoin(X_66,X_81); X_84 := algebra.leftfetchjoin(X_68,X_82); -X_16 := calc.timestamp(A0,7); -X_85 := algebra.project(X_83,X_16); X_86 := algebra.project(X_84,X_16); -X_87 := batmtime.diff(X_83,X_85); X_88 := batmtime.diff(X_84,X_86); X_99 := mat.packIncrement(X_87,2); X_18:bat[:oid,:lng] := mat.packIncrement(X_99,X_88); X_19 := bat.append(X_6,X_18,true); X_20 := calc.timestamp(A1,7); X_91 := algebra.project(X_83,X_20); +X_93 := batmtime.diff(X_83,X_91); X_92 := algebra.project(X_84,X_20); -X_93 := batmtime.diff(X_83,X_91); X_94 := batmtime.diff(X_84,X_92); X_101 := mat.packIncrement(X_93,2); X_21:bat[:oid,:lng] := mat.packIncrement(X_101,X_94); X_22 := bat.append(X_19,X_21,true); X_24:bat[:oid,:lng] := bat.new(nil:oid,nil:lng); X_75:bat[:oid,:lng] := sql.bind(X_5,sys,foo_nil_2dec,v,0,0,2); +(X_77:bat[:oid,:oid] ,X_78:bat[:oid,:lng] ) := sql.bind(X_5,sys,foo_nil_2dec,v,2,0,2); +X_95 := sql.delta(X_75,X_77,X_78); +X_97 := algebra.leftfetchjoin(X_66,X_95); X_76:bat[:oid,:lng] := sql.bind(X_5,sys,foo_nil_2dec,v,0,1,2); -(X_77:bat[:oid,:oid] ,X_78:bat[:oid,:lng] ) := sql.bind(X_5,sys,foo_nil_2dec,v,2,0,2); (X_79:bat[:oid,:oid] ,X_80:bat[:oid,:lng] ) := sql.bind(X_5,sys,foo_nil_2dec,v,2,1,2); X_32:bat[:oid,:lng] := sql.bind(X_5,sys,foo_nil_2dec,v,1); -X_95 := sql.delta(X_75,X_77,X_78); X_96 := sql.delta(X_76,X_79,X_80,X_32); -X_97 := algebra.leftfetchjoin(X_66,X_95); X_98 := algebra.leftfetchjoin(X_68,X_96); X_103 := mat.packIncrement(X_97,2); X_34 := mat.packIncrement(X_103,X_98); diff --git a/sql/test/BugTracker-2014/Tests/typecast_error.Bug-3622.sql b/sql/test/BugTracker-2014/Tests/typecast_error.Bug-3622.sql --- a/sql/test/BugTracker-2014/Tests/typecast_error.Bug-3622.sql +++
MonetDB: resultset - Result set code generation upgrade
Changeset: 60c84e5af143 for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=60c84e5af143 Modified Files: monetdb5/optimizer/opt_prelude.c monetdb5/optimizer/opt_prelude.h sql/backends/monet5/sql.c sql/backends/monet5/sql.h sql/backends/monet5/sql.mal sql/backends/monet5/sql_execute.h sql/backends/monet5/sql_gencode.c sql/test/BugTracker-2009/Tests/POWER_vs_prod.SF-2596114.stable.out sql/test/BugTracker-2010/Tests/LIMIT_OFFSET_big-endian.Bug-2622.stable.out sql/test/BugTracker-2010/Tests/group-by_ordered_column.Bug-2564.stable.out sql/test/BugTracker-2011/Tests/crash_on_alias.Bug-2798.stable.out.int128 sql/test/BugTracker-2011/Tests/func_iter_vs_bulk.Bug-2826.stable.out sql/test/BugTracker-2012/Tests/rewrite_like_into_likesubselect.Bug-3179.stable.out sql/test/BugTracker-2013/Tests/between.Bug-3259.stable.out.int128 sql/test/BugTracker-2014/Tests/in_incorrect_multi.Bug-3462.stable.err sql/test/BugTracker-2014/Tests/manifold.Bug-3556.stable.out sql/test/BugTracker-2014/Tests/nil_2dec_lng.Bug-3592.stable.out sql/test/BugTracker-2014/Tests/two-column-aggr-with-null.Bug-3428.stable.out sql/test/BugTracker/Tests/explain.SF-1739353.stable.out sql/test/BugTracker/Tests/jdbc_no_debug.SF-1739356.stable.out sql/test/leaks/Tests/check0_bam.stable.out.int128 sql/test/leaks/Tests/check1_bam.stable.out.int128 sql/test/leaks/Tests/check2_bam.stable.out.int128 sql/test/leaks/Tests/check3_bam.stable.out.int128 sql/test/leaks/Tests/check4_bam.stable.out.int128 sql/test/leaks/Tests/check5_bam.stable.out.int128 sql/test/leaks/Tests/drop3_bam.stable.out.int128 sql/test/leaks/Tests/select1_bam.stable.out.int128 sql/test/leaks/Tests/select2_bam.stable.out.int128 sql/test/leaks/Tests/temp1_bam.stable.out.int128 sql/test/leaks/Tests/temp2_bam.stable.out.int128 sql/test/leaks/Tests/temp3_bam.stable.out.int128 Branch: resultset Log Message: Result set code generation upgrade The construction of SQL result sets have been changed into a single call that contains the BATs with structure information and a variable list of value columns. The MAL interface change will make it easier at a later stage to replace the way result sets are rendered end shipped to a front end. This is the first checkpoint check-in. Next are the COPY into/from code should be upgraded and cruft being removed. diffs (truncated from 2934 to 300 lines): diff --git a/monetdb5/optimizer/opt_prelude.c b/monetdb5/optimizer/opt_prelude.c --- a/monetdb5/optimizer/opt_prelude.c +++ b/monetdb5/optimizer/opt_prelude.c @@ -71,6 +71,7 @@ str countRef; str subcountRef; str copyRef; str copy_fromRef; +str copy_intoRef; str count_no_nilRef; str crossRef; str createRef; @@ -327,6 +328,7 @@ void optimizerInit(void) subcountRef = putName(subcount,8); copyRef = putName(copy,4); copy_fromRef = putName(copy_from,9); + copy_intoRef = putName(copy_into,9); count_no_nilRef = putName(count_no_nil,12); crossRef = putName(crossproduct,12); createRef = putName(create,6); diff --git a/monetdb5/optimizer/opt_prelude.h b/monetdb5/optimizer/opt_prelude.h --- a/monetdb5/optimizer/opt_prelude.h +++ b/monetdb5/optimizer/opt_prelude.h @@ -69,6 +69,7 @@ opt_export str countRef; opt_export str subcountRef; opt_export str copyRef; opt_export str copy_fromRef; +opt_export str copy_intoRef; opt_export str count_no_nilRef; opt_export str crossRef; opt_export str createRef; diff --git a/sql/backends/monet5/sql.c b/sql/backends/monet5/sql.c --- a/sql/backends/monet5/sql.c +++ b/sql/backends/monet5/sql.c @@ -920,60 +920,25 @@ UPGcreate_func(Client cntxt, MalBlkPtr m { mvc *sql = NULL; str msg = MAL_SUCCEED; - str sname = *getArgReference_str(stk, pci, 1), osname; - str func = *getArgReference_str(stk, pci, 2); + str func = *getArgReference_str(stk, pci, 1); stmt *s; if ((msg = getSQLContext(cntxt, mb, sql, NULL)) != NULL) return msg; if ((msg = checkSQLContext(cntxt)) != NULL) return msg; - osname = cur_schema(sql)-base.name; - mvc_set_schema(sql, sname); s = sql_parse(sql, sa_create(), func, 0); if (s s-type == st_catalog) { char *schema = ((stmt*)s-op1-op4.lval-h-data)-op4.aval-data.val.sval; sql_func *func = (sql_func*)((stmt*)s-op1-op4.lval-t-data)-op4.aval-data.val.pval; msg = create_func(sql, schema, func); - mvc_set_schema(sql, osname); } else { - mvc_set_schema(sql, osname); throw(SQL, sql.catalog, function creation failed '%s', func); } return msg; } -str -UPGcreate_view(Client cntxt, MalBlkPtr mb, MalStkPtr
MonetDB: resultset - merge with default
Changeset: 42235972016b for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=42235972016b Added Files: sql/test/BugTracker-2014/Tests/incorrect_floating_point_cast.Bug-3633.sql sql/test/BugTracker-2014/Tests/incorrect_floating_point_cast.Bug-3633.stable.err sql/test/BugTracker-2014/Tests/incorrect_floating_point_cast.Bug-3633.stable.out sql/test/BugTracker-2014/Tests/inet_error_handling.Bug-3624.sql sql/test/BugTracker-2014/Tests/inet_error_handling.Bug-3624.stable.err sql/test/BugTracker-2014/Tests/inet_error_handling.Bug-3624.stable.out sql/test/BugTracker-2014/Tests/missing_alias.Bug-3626.sql sql/test/BugTracker-2014/Tests/missing_alias.Bug-3626.stable.err sql/test/BugTracker-2014/Tests/missing_alias.Bug-3626.stable.out sql/test/BugTracker-2014/Tests/too_general_errmsg.Bug-3605.sql sql/test/BugTracker-2014/Tests/too_general_errmsg.Bug-3605.stable.err sql/test/BugTracker-2014/Tests/too_general_errmsg.Bug-3605.stable.out sql/test/BugTracker-2014/Tests/type_resolution.Bug-3622.sql sql/test/BugTracker-2014/Tests/type_resolution.Bug-3622.stable.err sql/test/BugTracker-2014/Tests/type_resolution.Bug-3622.stable.out sql/test/BugTracker-2014/Tests/typecast_error.Bug-3622.stable.err sql/test/BugTracker-2014/Tests/typecast_error.Bug-3622.stable.out Modified Files: .hgignore NT/monetdb_config.h.in buildtools/conf/rules.mk buildtools/doc/windowsbuild.rst clients/odbc/driver/ODBC.syms clients/odbc/driver/SQLGetConnectAttr.c clients/odbc/driver/SQLGetConnectOption.c clients/odbc/driver/SQLSetConnectOption.c common/stream/stream.c common/utils/mutils.c configure.ag gdk/gdk_atoms.c gdk/gdk_select.c monetdb5/mal/Tests/tst059.mal monetdb5/modules/atoms/inet.c monetdb5/modules/kernel/mmath.c monetdb5/modules/kernel/mmath.h monetdb5/optimizer/opt_generator.c monetdb5/optimizer/opt_wrapper.c sql/backends/monet5/generator/Tests/generator03.stable.out sql/backends/monet5/generator/generator.c sql/benchmarks/nobench/Tests/nobench.stable.out sql/benchmarks/tpch/Tests/11-explain.stable.out sql/benchmarks/tpch/Tests/11-explain.stable.out.int128 sql/benchmarks/tpch/Tests/11-plan.stable.out sql/benchmarks/tpch/Tests/11-plan.stable.out.int128 sql/benchmarks/tpch/Tests/17-explain.stable.out sql/benchmarks/tpch/Tests/17-explain.stable.out.int128 sql/benchmarks/tpch/Tests/17-plan.stable.out sql/benchmarks/tpch/Tests/17-plan.stable.out.int128 sql/benchmarks/tpch/Tests/20-explain.stable.out sql/benchmarks/tpch/Tests/20-explain.stable.out.int128 sql/benchmarks/tpch/Tests/20-plan.stable.out sql/benchmarks/tpch/Tests/20-plan.stable.out.int128 sql/benchmarks/tpch/Tests/22-explain.stable.out sql/benchmarks/tpch/Tests/22-explain.stable.out.int128 sql/benchmarks/tpch/Tests/22-plan.stable.out sql/server/rel_select.c sql/server/sql_semantic.c sql/test/ADT2006/Tests/bram.stable.out sql/test/BugDay_2005-10-06_2.8/Tests/mixed_type.SF-917372.stable.err sql/test/BugDay_2005-10-06_2.9.3/Tests/cast_to_interval.SF-1019079.stable.out sql/test/BugDay_2005-10-06_2.9.3/Tests/multiple_select_cast.SF-938419.stable.out sql/test/BugDay_2005-12-19_2.9.3/Tests/NULL_in_CASE.SF-1211335.stable.out sql/test/BugDay_2005-12-19_2.9.3/Tests/cast_bigint_to_int.SF-1211903.stable.out sql/test/BugDay_2005-12-19_2.9.3/Tests/cast_interval.SF.1280682.stable.out sql/test/BugDay_2005-12-19_2.9.3/Tests/timestamp_fraction.SF-1357342.stable.out sql/test/BugTracker-2008/Tests/decimal_cast_in_view.SF-2075223.stable.out sql/test/BugTracker-2010/Tests/join_problem.Bug-2694.stable.out sql/test/BugTracker-2011/Tests/Multiplication_and_cast.Bug-2923.stable.out sql/test/BugTracker-2012/Tests/cast_varchar_to_double.Bug-3071.stable.out sql/test/BugTracker-2012/Tests/incorrect_cast_from_double_to_int.Bug-2579.stable.err sql/test/BugTracker-2012/Tests/incorrect_cast_from_double_to_int.Bug-2579.stable.out sql/test/BugTracker-2012/Tests/interval_timestamp.Bug-3002.stable.err sql/test/BugTracker-2013/Tests/bogus_aggregation_casts.Bug-3342.stable.out sql/test/BugTracker-2013/Tests/decimal-cast.Bug-3310.stable.out sql/test/BugTracker-2013/Tests/qualified_aggrname.Bug-3332.stable.out sql/test/BugTracker-2013/Tests/qualified_aggrname.Bug-3332.stable.out.int128 sql/test/BugTracker-2014/Tests/All sql/test/BugTracker-2014/Tests/nil_2dec_lng.Bug-3592.stable.out sql/test/BugTracker-2014/Tests/typecast_error.Bug-3622.sql
MonetDB: resultset - Accept new output
Changeset: db8dd83cac69 for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=db8dd83cac69 Modified Files: sql/backends/monet5/UDF/Tests/udf-fuse.stable.out sql/backends/monet5/UDF/Tests/udf-reverse.stable.out sql/benchmarks/ssbm/Tests/01-explain.stable.out.int128 sql/benchmarks/ssbm/Tests/02-explain.stable.out.int128 sql/benchmarks/ssbm/Tests/03-explain.stable.out.int128 sql/benchmarks/ssbm/Tests/04-explain.stable.out.int128 sql/benchmarks/ssbm/Tests/05-explain.stable.out.int128 sql/benchmarks/ssbm/Tests/06-explain.stable.out.int128 sql/benchmarks/ssbm/Tests/07-explain.stable.out.int128 sql/benchmarks/ssbm/Tests/08-explain.stable.out.int128 sql/benchmarks/ssbm/Tests/09-explain.stable.out.int128 sql/benchmarks/ssbm/Tests/10-explain.stable.out.int128 sql/benchmarks/ssbm/Tests/11-explain.stable.out.int128 sql/benchmarks/ssbm/Tests/12-explain.stable.out.int128 sql/benchmarks/ssbm/Tests/13-explain.stable.out.int128 sql/benchmarks/tpch/Tests/01-explain.stable.out.int128 sql/benchmarks/tpch/Tests/02-explain.stable.out sql/benchmarks/tpch/Tests/03-explain.stable.out.int128 sql/benchmarks/tpch/Tests/04-explain.stable.out sql/benchmarks/tpch/Tests/05-explain.stable.out.int128 sql/benchmarks/tpch/Tests/06-explain.stable.out.int128 sql/benchmarks/tpch/Tests/07-explain.stable.out.int128 sql/benchmarks/tpch/Tests/08-explain.stable.out.int128 sql/benchmarks/tpch/Tests/09-explain.stable.out.int128 sql/benchmarks/tpch/Tests/10-explain.stable.out.int128 sql/benchmarks/tpch/Tests/11-explain.stable.out.int128 sql/benchmarks/tpch/Tests/12-explain.stable.out.int128 sql/benchmarks/tpch/Tests/13-explain.stable.out sql/benchmarks/tpch/Tests/14-explain.stable.out.int128 sql/benchmarks/tpch/Tests/15-explain.stable.out.int128 sql/benchmarks/tpch/Tests/16-explain.stable.out sql/benchmarks/tpch/Tests/17-explain.stable.out.int128 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: resultset Log Message: Accept new output diffs (truncated from 3904 to 300 lines): diff --git a/sql/backends/monet5/UDF/Tests/udf-fuse.stable.out b/sql/backends/monet5/UDF/Tests/udf-fuse.stable.out --- a/sql/backends/monet5/UDF/Tests/udf-fuse.stable.out +++ b/sql/backends/monet5/UDF/Tests/udf-fuse.stable.out @@ -27,10 +27,10 @@ Ready. % .explain # table_name % mal # name % clob # type -% 73 # length +% 64 # length function user.s2_1{autoCommit=true}(A0:bte,A1:bte):void; X_4 := udf.fuse(A0,A1); -sql.exportValue(1,.L,fuse_single_value,smallint,16,0,6,X_4,); +sql.resultSet(.L,fuse_single_value,smallint,16,0,X_4); end s2_1; # querylog.define(explain select fuse(1,2);,default_pipe) #select fuse(1,2); @@ -46,7 +46,7 @@ end s2_1; % 70 # length function user.s3_1{autoCommit=true}(A0:sht,A1:sht):void; X_4 := udf.fuse(A0,A1); -sql.exportValue(1,.L,fuse_single_value,int,32,0,6,X_4,); +sql.resultSet(.L,fuse_single_value,int,32,0,X_4); end s3_1; # querylog.define(explain select fuse(1000,2000);,default_pipe) #select fuse(1000,2000); @@ -62,7 +62,7 @@ end s3_1; % 76 # length function user.s4_1{autoCommit=true}(A0:int,A1:int):void; X_4 := udf.fuse(A0,A1); -sql.exportValue(1,.L,fuse_single_value,bigint,64,0,6,X_4,); +sql.resultSet(.L,fuse_single_value,bigint,64,0,X_4); end s4_1; # querylog.define(explain select fuse(100,200);,default_pipe) #select fuse(100,200); @@ -95,6 +95,16 @@ end s4_1; % clob # type % 78 # length function user.s8_1{autoCommit=true}():void; +X_24 := bat.new(nil:oid,nil:str); +X_33 := bat.append(X_24,sys.L); +X_27 := bat.new(nil:oid,nil:str); +X_35 := bat.append(X_27,fuse_a); +X_28 := bat.new(nil:oid,nil:str); +X_37 := bat.append(X_28,smallint); +X_29 := bat.new(nil:oid,nil:int); +X_39 := bat.append(X_29,16); +X_31 := bat.new(nil:oid,nil:int); +X_41 := bat.append(X_31,0); X_2 := sql.mvc(); X_3:bat[:oid,:oid] := sql.tid(X_2,sys,udf_fuse); X_6:bat[:oid,:bte] := sql.bind(X_2,sys,udf_fuse,a,0); @@ -108,10 +118,7 @@ function user.s8_1{autoCommit=true}():vo X_21 := sql.delta(X_16,X_18,r1_18,X_20); X_22 := algebra.leftfetchjoin(X_3,X_21); X_23:bat[:oid,:sht] := batudf.fuse(X_15,X_22); -X_24 := sql.resultSet(1,1,X_23); -sql.rsColumn(X_24,sys.L,fuse_a,smallint,16,0,X_23); -X_30 := io.stdout(); -sql.exportResult(X_30,X_24); +sql.resultSet(X_33,X_35,X_37,X_39,X_41,X_23); end s8_1; # querylog.define(explain select fuse(a,b) from udf_fuse;,sequential_pipe) #explain