Changeset: b27e5db78428 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=b27e5db78428 Modified Files: monetdb5/extras/mal_optimizer_template/Tests/opt_sql_append.stable.out sql/backends/monet5/UDF/udf/Tests/udf-fuse.stable.out sql/backends/monet5/UDF/udf/Tests/udf-reverse.stable.out sql/test/BugTracker-2010/Tests/LIMIT_OFFSET_big-endian.Bug-2622.stable.out sql/test/BugTracker-2012/Tests/rewrite_like_into_likesubselect.Bug-3179.stable.out sql/test/BugTracker-2014/Tests/manifold.Bug-3556.stable.out sql/test/BugTracker-2015/Tests/readonly.Bug-3709.stable.err sql/test/BugTracker-2015/Tests/readonly.Bug-3709.stable.out sql/test/BugTracker-2016/Tests/storagemodel.stable.out sql/test/BugTracker-2017/Tests/caching_stats_bug.6374.stable.out sql/test/BugTracker-2017/Tests/crash_after_oidx_on_sys_statistics.Bug-6251.stable.out sql/test/BugTracker-2019/Tests/duplicates-not-eliminated-long-CASE-stmt.Bug-6697.stable.out sql/test/BugTracker-2019/Tests/duplicates-not-eliminated-long-CASE-stmt.Bug-6697.stable.out.single sql/test/BugTracker/Tests/explain.SF-1739353.stable.out sql/test/FeatureRequests/Tests/foreign_key_outer_join_dead_code_elimination-explain-0join-query.stable.out sql/test/FeatureRequests/Tests/foreign_key_outer_join_dead_code_elimination-explain-0join-view.stable.out sql/test/FeatureRequests/Tests/foreign_key_outer_join_dead_code_elimination-explain-1join-query.stable.out sql/test/FeatureRequests/Tests/foreign_key_outer_join_dead_code_elimination-explain-1join-view.stable.out sql/test/FeatureRequests/Tests/foreign_key_outer_join_dead_code_elimination-explain-2join-query.stable.out sql/test/FeatureRequests/Tests/foreign_key_outer_join_dead_code_elimination-explain-2join-view.stable.out sql/test/mapi/Tests/sql_int128.stable.out.int128 sql/test/mergetables/Tests/mergequery.stable.out sql/test/mergetables/Tests/part-elim.stable.out sql/test/miscellaneous/Tests/groupby_error.stable.out sql/test/remote/Tests/partition_elim.stable.out sql/test/sys-schema/Tests/systemfunctions.stable.out sql/test/sys-schema/Tests/systemfunctions.stable.out.int128 Branch: unlock Log Message:
approved output diffs (truncated from 5335 to 300 lines): diff --git a/monetdb5/extras/mal_optimizer_template/Tests/opt_sql_append.stable.out b/monetdb5/extras/mal_optimizer_template/Tests/opt_sql_append.stable.out --- a/monetdb5/extras/mal_optimizer_template/Tests/opt_sql_append.stable.out +++ b/monetdb5/extras/mal_optimizer_template/Tests/opt_sql_append.stable.out @@ -60,28 +60,25 @@ stdout of test 'opt_sql_append` in direc % mal # name % clob # type % 245 # length -function user.s10_0():void; - X_1:void := querylog.define("explain copy into ttt from \\'/tmp/xyz\\';":str, "sequential_pipe":str, 22:int); +function user.main():void; + X_1:void := querylog.define("explain copy into ttt from \\'/tmp/xyz\\';":str, "sequential_pipe":str, 21:int); X_4:int := sql.mvc(); - (X_25:bat[:int], X_26:bat[:int], X_27:bat[:int]) := sql.copy_from(0x7f75841ad000:ptr, "|":str, "\n":str, nil:str, "null":str, "/tmp/xyz":str, -1:lng, 0:lng, 0:int, nil:str, 0:int); + (X_25:bat[:int], X_26:bat[:int], X_27:bat[:int]) := sql.copy_from(0x7fc2ec1d9ad0:ptr, "|":str, "\n":str, nil:str, "null":str, "/tmp/xyz":str, -1:lng, 0:lng, 0:int, nil:str, 0:int); X_28:lng := aggr.count(X_25:bat[:int]); X_29:lng := sql.claim(X_4:int, "sys":str, "ttt":str, X_28:lng); X_33:int := sql.append(X_4:int, "sys":str, "ttt":str, "averylongcolumnnametomakeitlargeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee":str, X_29:lng, X_25:bat[:int]); X_36:int := sql.append(X_33:int, "sys":str, "ttt":str, "b":str, X_29:lng, X_26:bat[:int]); X_39:int := sql.append(X_36:int, "sys":str, "ttt":str, "c":str, X_29:lng, X_27:bat[:int]); sql.affectedRows(X_39:int, X_28:lng); -end user.s10_0; -#inline actions= 0 time=1 usec -#candidates actions= 1 time=14 usec -#remap actions= 0 time=3 usec -#costModel actions= 1 time=12 usec -#coercions actions=10 time=13 usec -#evaluate actions= 0 time=2 usec -#emptybind actions= 0 time=4 usec -#pushselect actions= 0 time=3 usec -#aliases actions= 0 time=0 usec -#mergetable actions= 0 time=10 usec -#deadcode actions= 0 time=2 usec +end user.main; +#inline actions= 0 time=0 usec +#remap actions= 0 time=1 usec +#costmodel actions= 1 time=1 usec +#coercion actions= 0 time=1 usec +#aliases actions=11 time=4 usec +#evaluate actions= 0 time=3 usec +#emptybind actions= 0 time=0 usec +#pushselect actions= 0 time=6 usec #aliases actions= 0 time=0 usec #constants actions= 0 time=3 usec #commonTerms actions= 0 time=1 usec @@ -120,17 +117,17 @@ end user.s10_0; % mal # name % clob # type % 245 # length -function user.s22_0():void; - X_1:void := querylog.define("explain copy into ttt from \\'/tmp/xyz\\';":str, "user_0":str, 22:int); +function user.main():void; + X_1:void := querylog.define("explain copy into ttt from \\'/tmp/xyz\\';":str, "user_0":str, 21:int); X_4:int := sql.mvc(); - (X_25:bat[:int], X_26:bat[:int], X_27:bat[:int]) := sql.copy_from(0x7f75841ad000:ptr, "|":str, "\n":str, nil:str, "null":str, "/tmp/xyz":str, -1:lng, 0:lng, 0:int, nil:str, 0:int); + (X_25:bat[:int], X_26:bat[:int], X_27:bat[:int]) := sql.copy_from(0x7fc2ec1d9ad0:ptr, "|":str, "\n":str, nil:str, "null":str, "/tmp/xyz":str, -1:lng, 0:lng, 0:int, nil:str, 0:int); X_28:lng := aggr.count(X_25:bat[:int]); X_29:lng := sql.claim(X_4:int, "sys":str, "ttt":str, X_28:lng); X_33:int := sql.append(X_4:int, "sys":str, "ttt":str, "averylongcolumnnametomakeitlargeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee":str, X_29:lng, X_25:bat[:int]); X_36:int := sql.append(X_33:int, "sys":str, "ttt":str, "b":str, X_29:lng, X_26:bat[:int]); X_39:int := sql.append(X_36:int, "sys":str, "ttt":str, "c":str, X_29:lng, X_27:bat[:int]); sql.affectedRows(X_39:int, X_28:lng); -end user.s22_0; +end user.main; #inline actions= 0 time=0 usec #remap actions= 0 time=0 usec #costmodel actions= 1 time=0 usec diff --git a/sql/backends/monet5/UDF/udf/Tests/udf-fuse.stable.out b/sql/backends/monet5/UDF/udf/Tests/udf-fuse.stable.out --- a/sql/backends/monet5/UDF/udf/Tests/udf-fuse.stable.out +++ b/sql/backends/monet5/UDF/udf/Tests/udf-fuse.stable.out @@ -27,11 +27,11 @@ stdout of test 'udf-fuse` in directory ' % mal # name % clob # type % 95 # length -function user.s4_0():void; - X_3:void := querylog.define("explain select fuse(1,2);":str, "sequential_pipe":str, 9:int); +function user.main():void; + X_1:void := querylog.define("explain select fuse(1,2);":str, "sequential_pipe":str, 8:int); X_11:sht := udf.fuse(1:bte, 2:bte); sql.resultSet(".%2":str, "%2":str, "smallint":str, 16:int, 0:int, 7:int, X_11:sht); -end user.s4_0; +end user.main; #inline actions= 0 time=0 usec #remap actions= 0 time=1 usec #costmodel actions= 1 time=0 usec @@ -68,11 +68,11 @@ end user.s4_0; % mal # name % clob # type % 101 # length -function user.s6_0():void; - X_3:void := querylog.define("explain select fuse(1000,2000);":str, "sequential_pipe":str, 9:int); +function user.main():void; + X_1:void := querylog.define("explain select fuse(1000,2000);":str, "sequential_pipe":str, 8:int); X_11:int := udf.fuse(1000:sht, 2000:sht); sql.resultSet(".%2":str, "%2":str, "int":str, 32:int, 0:int, 7:int, X_11:int); -end user.s6_0; +end user.main; #inline actions= 0 time=0 usec #remap actions= 0 time=1 usec #costmodel actions= 1 time=0 usec @@ -109,17 +109,17 @@ end user.s6_0; % mal # name % clob # type % 107 # length -function user.s8_0():void; - X_3:void := querylog.define("explain select fuse(1000000,2000000);":str, "sequential_pipe":str, 9:int); +function user.main():void; + X_1:void := querylog.define("explain select fuse(1000000,2000000);":str, "sequential_pipe":str, 8:int); X_11:lng := udf.fuse(1000000:int, 2000000:int); sql.resultSet(".%2":str, "%2":str, "bigint":str, 64:int, 0:int, 7:int, X_11:lng); -end user.s8_0; -#inline actions= 0 time=1 usec -#remap actions= 0 time=0 usec -#costmodel actions= 1 time=0 usec -#coercion actions= 0 time=0 usec -#aliases actions= 2 time=2 usec -#evaluate actions= 0 time=2 usec +end user.main; +#inline actions= 0 time=0 usec +#remap actions= 0 time=1 usec +#costmodel actions= 1 time=1 usec +#coercion actions= 0 time=1 usec +#aliases actions= 3 time=2 usec +#evaluate actions= 0 time=3 usec #emptybind actions= 0 time=0 usec #pushselect actions= 0 time=2 usec #aliases actions= 0 time=0 usec @@ -168,8 +168,8 @@ end user.s8_0; % mal # name % clob # type % 114 # length -function user.s16_0():void; - X_1:void := querylog.define("explain select fuse(a,b) from udf_fuse;":str, "sequential_pipe":str, 23:int); +function user.main():void; + X_1:void := querylog.define("explain select fuse(a,b) from udf_fuse;":str, "sequential_pipe":str, 22:int); X_30:bat[:str] := bat.pack("sys.%1":str); X_31:bat[:str] := bat.pack("%1":str); X_32:bat[:str] := bat.pack("smallint":str); @@ -183,7 +183,7 @@ function user.s16_0():void; X_25:bat[:bte] := algebra.projection(C_5:bat[:oid], X_19:bat[:bte]); X_26:bat[:sht] := batudf.fuse(X_24:bat[:bte], X_25:bat[:bte]); sql.resultSet(X_30:bat[:str], X_31:bat[:str], X_32:bat[:str], X_33:bat[:int], X_34:bat[:int], X_26:bat[:sht]); -end user.s16_0; +end user.main; #inline actions= 0 time=1 usec #remap actions= 1 time=6 usec #costmodel actions= 1 time=1 usec @@ -214,8 +214,8 @@ end user.s16_0; % mal # name % clob # type % 114 # length -function user.s18_0():void; - X_1:void := querylog.define("explain select fuse(c,d) from udf_fuse;":str, "sequential_pipe":str, 23:int); +function user.main():void; + X_1:void := querylog.define("explain select fuse(c,d) from udf_fuse;":str, "sequential_pipe":str, 22:int); X_30:bat[:str] := bat.pack("sys.%1":str); X_31:bat[:str] := bat.pack("%1":str); X_32:bat[:str] := bat.pack("int":str); @@ -229,10 +229,10 @@ function user.s18_0():void; X_25:bat[:sht] := algebra.projection(C_5:bat[:oid], X_19:bat[:sht]); X_26:bat[:int] := batudf.fuse(X_24:bat[:sht], X_25:bat[:sht]); sql.resultSet(X_30:bat[:str], X_31:bat[:str], X_32:bat[:str], X_33:bat[:int], X_34:bat[:int], X_26:bat[:int]); -end user.s18_0; -#inline actions= 0 time=0 usec -#remap actions= 1 time=4 usec -#costmodel actions= 1 time=1 usec +end user.main; +#inline actions= 0 time=1 usec +#remap actions= 1 time=5 usec +#costmodel actions= 1 time=0 usec #coercion actions= 0 time=1 usec #aliases actions= 0 time=1 usec #evaluate actions= 0 time=4 usec @@ -260,8 +260,8 @@ end user.s18_0; % mal # name % clob # type % 114 # length -function user.s20_0():void; - X_1:void := querylog.define("explain select fuse(e,f) from udf_fuse;":str, "sequential_pipe":str, 23:int); +function user.main():void; + X_1:void := querylog.define("explain select fuse(e,f) from udf_fuse;":str, "sequential_pipe":str, 22:int); X_30:bat[:str] := bat.pack("sys.%1":str); X_31:bat[:str] := bat.pack("%1":str); X_32:bat[:str] := bat.pack("bigint":str); @@ -275,10 +275,10 @@ function user.s20_0():void; X_25:bat[:int] := algebra.projection(C_5:bat[:oid], X_19:bat[:int]); X_26:bat[:lng] := batudf.fuse(X_24:bat[:int], X_25:bat[:int]); sql.resultSet(X_30:bat[:str], X_31:bat[:str], X_32:bat[:str], X_33:bat[:int], X_34:bat[:int], X_26:bat[:lng]); -end user.s20_0; -#inline actions= 0 time=0 usec -#remap actions= 1 time=4 usec -#costmodel actions= 1 time=1 usec +end user.main; +#inline actions= 0 time=1 usec +#remap actions= 1 time=5 usec +#costmodel actions= 1 time=0 usec #coercion actions= 0 time=1 usec #aliases actions= 0 time=0 usec #evaluate actions= 0 time=4 usec diff --git a/sql/backends/monet5/UDF/udf/Tests/udf-reverse.stable.out b/sql/backends/monet5/UDF/udf/Tests/udf-reverse.stable.out --- a/sql/backends/monet5/UDF/udf/Tests/udf-reverse.stable.out +++ b/sql/backends/monet5/UDF/udf/Tests/udf-reverse.stable.out @@ -47,11 +47,11 @@ stdout of test 'udf-reverse` in director % mal # name % clob # type % 108 # length -function user.s4_0():void; - X_2:void := querylog.define("explain select reverse(\\'MonetDB\\');":str, "sequential_pipe":str, 8:int); +function user.main():void; + X_1:void := querylog.define("explain select reverse(\\'MonetDB\\');":str, "sequential_pipe":str, 7:int); X_9:str := udf.reverse("MonetDB":str); sql.resultSet(".%2":str, "%2":str, "clob":str, 0:int, 0:int, 4:int, X_9:str); -end user.s4_0; +end user.main; #inline actions= 0 time=1 usec #remap actions= 0 time=0 usec #costmodel actions= 1 time=0 usec @@ -106,8 +106,8 @@ end user.s4_0; % mal # name % clob # type % 114 # length -function user.s16_0():void; - X_1:void := querylog.define("explain select reverse(x) from udf_reverse;":str, "sequential_pipe":str, 19:int); +function user.main():void; + X_1:void := querylog.define("explain select reverse(x) from udf_reverse;":str, "sequential_pipe":str, 18:int); X_24:bat[:str] := bat.pack("sys.%1":str); X_25:bat[:str] := bat.pack("%1":str); X_26:bat[:str] := bat.pack("clob":str); @@ -118,7 +118,7 @@ function user.s16_0():void; X_19:bat[:str] := algebra.projection(C_5:bat[:oid], X_15:bat[:str]); X_20:bat[:str] := batudf.reverse(X_19:bat[:str]); sql.resultSet(X_24:bat[:str], X_25:bat[:str], X_26:bat[:str], X_27:bat[:int], X_27:bat[:int], X_20:bat[:str]); -end user.s16_0; +end user.main; #inline actions= 0 time=1 usec #remap actions= 1 time=5 usec #costmodel actions= 1 time=1 usec diff --git a/sql/test/BugTracker-2010/Tests/LIMIT_OFFSET_big-endian.Bug-2622.stable.out b/sql/test/BugTracker-2010/Tests/LIMIT_OFFSET_big-endian.Bug-2622.stable.out --- a/sql/test/BugTracker-2010/Tests/LIMIT_OFFSET_big-endian.Bug-2622.stable.out +++ b/sql/test/BugTracker-2010/Tests/LIMIT_OFFSET_big-endian.Bug-2622.stable.out @@ -79,58 +79,48 @@ project ( % .plan # table_name % rel # name % clob # type -% 41 # length +% 39 # length project ( -| project ( -| | table(sys.oblo) [ "oblo"."a" ] COUNT -| ) [ "oblo"."a" ] +| table(sys.oblo) [ "oblo"."a" ] COUNT ) [ "oblo"."a" ] [ "oblo"."a" ASC ] #PLAN select * from oblo ORDER BY a OFFSET 2; % .plan # table_name % rel # name % clob # type -% 43 # length +% 41 # length top N ( | project ( -| | project ( -| | | table(sys.oblo) [ "oblo"."a" ] COUNT -| | ) [ "oblo"."a" ] +| | table(sys.oblo) [ "oblo"."a" ] COUNT | ) [ "oblo"."a" ] [ "oblo"."a" ASC ] ) [ bigint "NULL", bigint "2" ] #PLAN select * from oblo ORDER BY a LIMIT 2; % .plan # table_name % rel # name % clob # type -% 43 # length +% 41 # length top N ( | project ( -| | project ( -| | | table(sys.oblo) [ "oblo"."a" ] COUNT -| | ) [ "oblo"."a" ] +| | table(sys.oblo) [ "oblo"."a" ] COUNT | ) [ "oblo"."a" ] [ "oblo"."a" ASC ] ) [ bigint "2" ] #PLAN select * from oblo ORDER BY a LIMIT 2 OFFSET 1; % .plan # table_name % rel # name % clob # type -% 43 # length +% 41 # length top N ( | project ( -| | project ( -| | | table(sys.oblo) [ "oblo"."a" ] COUNT -| | ) [ "oblo"."a" ] +| | table(sys.oblo) [ "oblo"."a" ] COUNT | ) [ "oblo"."a" ] [ "oblo"."a" ASC ] ) [ bigint "2", bigint "1" ] #PLAN select * from oblo ORDER BY a LIMIT 1 OFFSET 2; % .plan # table_name % rel # name % clob # type -% 43 # length +% 41 # length top N ( _______________________________________________ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list