Changeset: 5f5b0b43a641 for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=5f5b0b43a641 Modified Files: monetdb5/extras/mal_optimizer_template/Tests/opt_sql_append.stable.out monetdb5/optimizer/Tests/GCexample01.stable.out sql/backends/monet5/UDF/cudf/Tests/udf-fuse.stable.out sql/backends/monet5/UDF/cudf/Tests/udf-reverse.stable.out sql/test/BugTracker-2009/Tests/POWER_vs_prod.SF-2596114.stable.out sql/test/BugTracker-2009/Tests/segfault_when_quitting_debugger.SF-2538837.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-2014/Tests/querylog.Bug-3607.stable.out sql/test/BugTracker-2016/Tests/decimal_vs_integer.Bug-3941.stable.out sql/test/Tests/setoptimizer.stable.out sql/test/Tests/setoptimizer.stable.out.Windows sql/test/mapi/Tests/sql_int128.stable.out sql/test/mergetables/Tests/mergequery.stable.out Branch: default Log Message:
Approve output diffs (truncated from 1471 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 @@ -55,8 +55,8 @@ Ready. % .L1 # table_name % def # name % clob # type -% 579 # length -[ "optimizer.inline();optimizer.remap();optimizer.costModel();optimizer.coercions();optimizer.evaluate();optimizer.emptybind();optimizer.pushselect();optimizer.aliases();optimizer.mitosis();optimizer.mergetable();optimizer.deadcode();optimizer.aliases();optimizer.constants();optimizer.commonTerms();optimizer.projectionpath();optimizer.deadcode();optimizer.reorder();optimizer.reduce();optimizer.matpack();optimizer.dataflow();optimizer.querylog();optimizer.multiplex();optimizer.generator();optimizer.profiler();optimizer.candidates();optimizer.jit();optimizer.garbageCollector();" ] +% 544 # length +[ "optimizer.inline();optimizer.remap();optimizer.costModel();optimizer.coercions();optimizer.evaluate();optimizer.emptybind();optimizer.pushselect();optimizer.aliases();optimizer.mitosis();optimizer.mergetable();optimizer.deadcode();optimizer.aliases();optimizer.constants();optimizer.commonTerms();optimizer.projectionpath();optimizer.deadcode();optimizer.reorder();optimizer.matpack();optimizer.dataflow();optimizer.querylog();optimizer.multiplex();optimizer.generator();optimizer.profiler();optimizer.candidates();optimizer.garbageCollector();" ] #explain copy into ttt from '/tmp/xyz'; % .explain # table_name % mal # name @@ -65,13 +65,12 @@ Ready. function user.s8_1():void; X_0:void := querylog.define("explain copy into ttt from \\'/tmp/xyz\\';","default_pipe",21:int); X_3 := sql.mvc(); - (X_13:bat[:int],X_14:bat[:int],X_15:bat[:int]) := sql.copy_from(nil:ptr,"|","\\n",nil:str,"null","/tmp/xyz",-1:lng,0:lng,0:int,0:int,nil:str); -# querylog.define("explain copy into ttt from \\'/tmp/xyz\\';","default_pipe") - X_16 := sql.append(X_3,"sys","ttt","a",X_13); - X_20 := sql.append(X_16,"sys","ttt","b",X_14); - X_22 := sql.append(X_20,"sys","ttt","c",X_15); - X_24 := aggr.count(X_15); - sql.affectedRows(X_22,X_24); + (X_24:bat[:int],X_25:bat[:int],X_26:bat[:int]) := sql.copy_from(nil:ptr,"|","\\n",nil:str,"null","/tmp/xyz",-1:lng,0:lng,0:int,0:int,nil:str); + X_28 := sql.append(X_3,"sys","ttt","a",X_24); + X_33 := sql.append(X_28,"sys","ttt","b",X_25); + X_36 := sql.append(X_33,"sys","ttt","c",X_26); + X_38 := aggr.count(X_26); + sql.affectedRows(X_36,X_38); end user.s8_1; #inline actions= 0 time=1 usec #candidates actions= 1 time=14 usec @@ -115,8 +114,8 @@ end user.s8_1; % .L1 # table_name % def # name % clob # type -% 602 # length -[ "optimizer.inline();optimizer.remap();optimizer.costModel();optimizer.coercions();optimizer.evaluate();optimizer.emptybind();optimizer.pushselect();optimizer.aliases();optimizer.mitosis();optimizer.mergetable();optimizer.deadcode();optimizer.aliases();optimizer.constants();optimizer.commonTerms();optimizer.projectionpath();optimizer.deadcode();optimizer.reorder();optimizer.reduce();optimizer.matpack();optimizer.dataflow();optimizer.querylog();optimizer.multiplex();optimizer.generator();optimizer.profiler();optimizer.candidates();optimizer.jit();optimizer.sql_append();optimizer.garbageCollector();" ] +% 567 # length +[ "optimizer.inline();optimizer.remap();optimizer.costModel();optimizer.coercions();optimizer.evaluate();optimizer.emptybind();optimizer.pushselect();optimizer.aliases();optimizer.mitosis();optimizer.mergetable();optimizer.deadcode();optimizer.aliases();optimizer.constants();optimizer.commonTerms();optimizer.projectionpath();optimizer.deadcode();optimizer.reorder();optimizer.matpack();optimizer.dataflow();optimizer.querylog();optimizer.multiplex();optimizer.generator();optimizer.profiler();optimizer.candidates();optimizer.sql_append();optimizer.garbageCollector();" ] #explain copy into ttt from '/tmp/xyz'; % .explain # table_name % mal # name @@ -125,13 +124,12 @@ end user.s8_1; function user.s24_1():void; X_0:void := querylog.define("explain copy into ttt from \\'/tmp/xyz\\';","user_1",21:int); X_3 := sql.mvc(); - (X_13:bat[:int],X_14:bat[:int],X_15:bat[:int]) := sql.copy_from(nil:ptr,"|","\\n",nil:str,"null","/tmp/xyz",-1:lng,0:lng,0:int,0:int,nil:str); -# querylog.define("explain copy into ttt from \\'/tmp/xyz\\';","user_1") - X_16 := sql.append(X_3,"sys","ttt","a",X_13); - X_20 := sql.append(X_16,"sys","ttt","b",X_14); - X_24 := aggr.count(X_15); - X_22 := sql.append(X_20,"sys","ttt","c",X_15); - sql.affectedRows(X_22,X_24); + (X_24:bat[:int],X_25:bat[:int],X_26:bat[:int]) := sql.copy_from(nil:ptr,"|","\\n",nil:str,"null","/tmp/xyz",-1:lng,0:lng,0:int,0:int,nil:str); + X_28 := sql.append(X_3,"sys","ttt","a",X_24); + X_33 := sql.append(X_28,"sys","ttt","b",X_25); + X_38 := aggr.count(X_26); + X_36 := sql.append(X_33,"sys","ttt","c",X_26); + sql.affectedRows(X_36,X_38); end user.s24_1; #inline actions= 0 time=1 usec #candidates actions= 1 time=14 usec diff --git a/monetdb5/optimizer/Tests/GCexample01.stable.out b/monetdb5/optimizer/Tests/GCexample01.stable.out --- a/monetdb5/optimizer/Tests/GCexample01.stable.out +++ b/monetdb5/optimizer/Tests/GCexample01.stable.out @@ -37,19 +37,17 @@ function user.qry():void; barrier (x:oid,z:int) := iterator.new(b:bat[:int]); #[5] (0) ITRbunIterator 7 8 <- 1 io.print(x:oid); #[6] (0) IOprint_val 9 <- 7 exit (x:oid,z:int); #[7] (0) 7 8 - b:bat[:int] := nil:bat[:int]; #[8] (0) 1 <- 16 -barrier (x:oid,z:int) := iterator.new(c:bat[:int]); #[9] (0) ITRbunIterator 7 8 <- 3 - io.print(x:oid); #[10] (0) IOprint_val 10 <- 7 - redo (x:oid,z:int) := iterator.next(c:bat[:int]); #[11] (0) ITRbunNext 7 8 <- 3 -exit (x:oid,z:int); #[12] (0) 7 8 - c:bat[:int] := nil:bat[:int]; #[13] (0) 3 <- 18 +barrier (x:oid,z:int) := iterator.new(c:bat[:int]); #[8] (0) ITRbunIterator 7 8 <- 3 + io.print(x:oid); #[9] (0) IOprint_val 10 <- 7 + redo (x:oid,z:int) := iterator.next(c:bat[:int]); #[10] (0) ITRbunNext 7 8 <- 3 +exit (x:oid,z:int); #[11] (0) 7 8 # do not close d, it may be reused -barrier go:bit := true:bit; #[15] (0) 12 <- 13 - io.print(d:bat[:int]); #[16] (0) IOprint_val 14 <- 4 - redo go:bit := true:bit; #[17] (0) 12 <- 13 -exit go:bit; #[18] (0) 12 - d:bat[:int] := nil:bat[:int]; #[19] (0) 4 <- 20 -end user.qry; #[20] (0) +barrier go:bit := true:bit; #[13] (0) 12 <- 13 + io.print(d:bat[:int]); #[14] (0) IOprint_val 14 <- 4 + redo go:bit := true:bit; #[15] (0) 12 <- 13 +exit go:bit; #[16] (0) 12 +end user.qry; #[17] (0) +#garbagecollector actions= 1 time=22 usec function user.qry():void; #[0] (0) 0 b:bat[:int] := bat.new(:int); #[1] (0) CMDBATnew 1 <- 2 c:bat[:int] := bat.new(:int); #[2] (0) CMDBATnew 3 <- 2 @@ -58,19 +56,17 @@ function user.qry():void; barrier (x:oid,z:int) := iterator.new(b:bat[:int]); #[5] (0) ITRbunIterator 7 8 <- 1 io.print(x:oid); #[6] (0) IOprint_val 9 <- 7 exit (x:oid,z:int); #[7] (0) 7 8 - b:bat[:int] := nil:bat[:int]; #[8] (0) 1 <- 16 -barrier (x:oid,z:int) := iterator.new(c:bat[:int]); #[9] (0) ITRbunIterator 7 8 <- 3 - io.print(x:oid); #[10] (0) IOprint_val 10 <- 7 - redo (x:oid,z:int) := iterator.next(c:bat[:int]); #[11] (0) ITRbunNext 7 8 <- 3 -exit (x:oid,z:int); #[12] (0) 7 8 - c:bat[:int] := nil:bat[:int]; #[13] (0) 3 <- 18 +barrier (x:oid,z:int) := iterator.new(c:bat[:int]); #[8] (0) ITRbunIterator 7 8 <- 3 + io.print(x:oid); #[9] (0) IOprint_val 10 <- 7 + redo (x:oid,z:int) := iterator.next(c:bat[:int]); #[10] (0) ITRbunNext 7 8 <- 3 +exit (x:oid,z:int); #[11] (0) 7 8 # do not close d, it may be reused -barrier go:bit := true:bit; #[15] (0) 12 <- 13 - io.print(d:bat[:int]); #[16] (0) IOprint_val 14 <- 4 - redo go:bit := true:bit; #[17] (0) 12 <- 13 -exit go:bit; #[18] (0) 12 - d:bat[:int] := nil:bat[:int]; #[19] (0) 4 <- 20 -end user.qry; #[20] (0) +barrier go:bit := true:bit; #[13] (0) 12 <- 13 + io.print(d:bat[:int]); #[14] (0) IOprint_val 14 <- 4 + redo go:bit := true:bit; #[15] (0) 12 <- 13 +exit go:bit; #[16] (0) 12 +end user.qry; #[17] (0) +#garbagecollector actions= 1 time=22 usec # 23:17:49 > # 23:17:49 > Done. diff --git a/sql/backends/monet5/UDF/cudf/Tests/udf-fuse.stable.out b/sql/backends/monet5/UDF/cudf/Tests/udf-fuse.stable.out --- a/sql/backends/monet5/UDF/cudf/Tests/udf-fuse.stable.out +++ b/sql/backends/monet5/UDF/cudf/Tests/udf-fuse.stable.out @@ -30,9 +30,8 @@ Ready. % 85 # length function user.s4_1():void; X_0:void := querylog.define("explain select fuse(1,2);","sequential_pipe",8:int); - X_3:sht := udf.fuse(1:bte,2:bte); -# querylog.define("explain select fuse(1,2);","sequential_pipe") - sql.resultSet(".L2","L2","smallint",16:int,0:int,7:int,X_3); + X_6:sht := udf.fuse(1:bte,2:bte); + sql.resultSet(".L2","L2","smallint",16:int,0:int,7:int,X_6); end user.s4_1; #inline actions= 0 time=2 usec #candidates actions= 1 time=12 usec @@ -72,9 +71,8 @@ end user.s4_1; % 91 # length function user.s6_1():void; X_0:void := querylog.define("explain select fuse(1000,2000);","sequential_pipe",8:int); - X_3:int := udf.fuse(1000:sht,2000:sht); -# querylog.define("explain select fuse(1000,2000);","sequential_pipe") - sql.resultSet(".L2","L2","int",32:int,0:int,7:int,X_3); + X_6:int := udf.fuse(1000:sht,2000:sht); + sql.resultSet(".L2","L2","int",32:int,0:int,7:int,X_6); end user.s6_1; #inline actions= 0 time=2 usec #candidates actions= 1 time=10 usec @@ -114,9 +112,8 @@ end user.s6_1; % 97 # length function user.s8_1():void; X_0:void := querylog.define("explain select fuse(1000000,2000000);","sequential_pipe",8:int); - X_3:lng := udf.fuse(1000000:int,2000000:int); -# querylog.define("explain select fuse(1000000,2000000);","sequential_pipe") - sql.resultSet(".L2","L2","bigint",64:int,0:int,7:int,X_3); + X_6:lng := udf.fuse(1000000:int,2000000:int); + sql.resultSet(".L2","L2","bigint",64:int,0:int,7:int,X_6); end user.s8_1; #inline actions= 0 time=3 usec #candidates actions= 1 time=10 usec @@ -174,25 +171,24 @@ end user.s8_1; % 100 # length function user.s16_1():void; X_0:void := querylog.define("explain select fuse(a,b) from udf_fuse;","sequential_pipe",27:int); - X_16 := bat.new(nil:str); - X_23 := bat.append(X_16,"sys.L2"); - X_18 := bat.new(nil:str); - X_25 := bat.append(X_18,"L2"); - X_19 := bat.new(nil:str); - X_27 := bat.append(X_19,"smallint"); - X_20 := bat.new(nil:int); - X_29 := bat.append(X_20,16:int); - X_22 := bat.new(nil:int); - X_31 := bat.append(X_22,0:int); + X_28 := bat.new(nil:str); + X_35 := bat.append(X_28,"sys.L2"); + X_30 := bat.new(nil:str); + X_37 := bat.append(X_30,"L2"); + X_31 := bat.new(nil:str); + X_39 := bat.append(X_31,"smallint"); + X_32 := bat.new(nil:int); + X_41 := bat.append(X_32,16:int); + X_34 := bat.new(nil:int); + X_43 := bat.append(X_34,0:int); X_3 := sql.mvc(); C_4:bat[:oid] := sql.tid(X_3,"sys","udf_fuse"); X_7:bat[:bte] := sql.bind(X_3,"sys","udf_fuse","a",0:int); - X_10 := algebra.projection(C_4,X_7); - X_11:bat[:bte] := sql.bind(X_3,"sys","udf_fuse","b",0:int); - X_13 := algebra.projection(C_4,X_11); - X_14:bat[:sht] := batudf.fuse(X_10,X_13); -# querylog.define("explain select fuse(a,b) from udf_fuse;","sequential_pipe") - sql.resultSet(X_23,X_25,X_27,X_29,X_31,X_14); + X_16 := algebra.projection(C_4,X_7); + X_17:bat[:bte] := sql.bind(X_3,"sys","udf_fuse","b",0:int); + X_23 := algebra.projection(C_4,X_17); + X_24:bat[:sht] := batudf.fuse(X_16,X_23); + sql.resultSet(X_35,X_37,X_39,X_41,X_43,X_24); end user.s16_1; #inline actions= 0 time=4 usec #candidates actions= 1 time=19 usec @@ -226,25 +222,24 @@ end user.s16_1; % 100 # length function user.s18_1():void; X_0:void := querylog.define("explain select fuse(c,d) from udf_fuse;","sequential_pipe",27:int); - X_16 := bat.new(nil:str); - X_23 := bat.append(X_16,"sys.L2"); - X_18 := bat.new(nil:str); - X_25 := bat.append(X_18,"L2"); - X_19 := bat.new(nil:str); - X_27 := bat.append(X_19,"int"); - X_20 := bat.new(nil:int); - X_29 := bat.append(X_20,32:int); - X_22 := bat.new(nil:int); - X_31 := bat.append(X_22,0:int); + X_28 := bat.new(nil:str); + X_35 := bat.append(X_28,"sys.L2"); + X_30 := bat.new(nil:str); + X_37 := bat.append(X_30,"L2"); + X_31 := bat.new(nil:str); + X_39 := bat.append(X_31,"int"); + X_32 := bat.new(nil:int); + X_41 := bat.append(X_32,32:int); + X_34 := bat.new(nil:int); + X_43 := bat.append(X_34,0:int); X_3 := sql.mvc(); C_4:bat[:oid] := sql.tid(X_3,"sys","udf_fuse"); X_7:bat[:sht] := sql.bind(X_3,"sys","udf_fuse","c",0:int); - X_10 := algebra.projection(C_4,X_7); - X_11:bat[:sht] := sql.bind(X_3,"sys","udf_fuse","d",0:int); - X_13 := algebra.projection(C_4,X_11); - X_14:bat[:int] := batudf.fuse(X_10,X_13); -# querylog.define("explain select fuse(c,d) from udf_fuse;","sequential_pipe") - sql.resultSet(X_23,X_25,X_27,X_29,X_31,X_14); + X_16 := algebra.projection(C_4,X_7); + X_17:bat[:sht] := sql.bind(X_3,"sys","udf_fuse","d",0:int); + X_23 := algebra.projection(C_4,X_17); + X_24:bat[:int] := batudf.fuse(X_16,X_23); + sql.resultSet(X_35,X_37,X_39,X_41,X_43,X_24); end user.s18_1; #inline actions= 0 time=2 usec #candidates actions= 1 time=19 usec @@ -278,25 +273,24 @@ end user.s18_1; % 100 # length function user.s20_1():void; X_0:void := querylog.define("explain select fuse(e,f) from udf_fuse;","sequential_pipe",27:int); - X_16 := bat.new(nil:str); - X_23 := bat.append(X_16,"sys.L2"); - X_18 := bat.new(nil:str); - X_25 := bat.append(X_18,"L2"); - X_19 := bat.new(nil:str); - X_27 := bat.append(X_19,"bigint"); - X_20 := bat.new(nil:int); - X_29 := bat.append(X_20,64:int); - X_22 := bat.new(nil:int); - X_31 := bat.append(X_22,0:int); + X_28 := bat.new(nil:str); + X_35 := bat.append(X_28,"sys.L2"); + X_30 := bat.new(nil:str); + X_37 := bat.append(X_30,"L2"); + X_31 := bat.new(nil:str); + X_39 := bat.append(X_31,"bigint"); + X_32 := bat.new(nil:int); + X_41 := bat.append(X_32,64:int); + X_34 := bat.new(nil:int); + X_43 := bat.append(X_34,0:int); X_3 := sql.mvc(); C_4:bat[:oid] := sql.tid(X_3,"sys","udf_fuse"); X_7:bat[:int] := sql.bind(X_3,"sys","udf_fuse","e",0:int); - X_10 := algebra.projection(C_4,X_7); - X_11:bat[:int] := sql.bind(X_3,"sys","udf_fuse","f",0:int); - X_13 := algebra.projection(C_4,X_11); - X_14:bat[:lng] := batudf.fuse(X_10,X_13); -# querylog.define("explain select fuse(e,f) from udf_fuse;","sequential_pipe") - sql.resultSet(X_23,X_25,X_27,X_29,X_31,X_14); + X_16 := algebra.projection(C_4,X_7); + X_17:bat[:int] := sql.bind(X_3,"sys","udf_fuse","f",0:int); + X_23 := algebra.projection(C_4,X_17); + X_24:bat[:lng] := batudf.fuse(X_16,X_23); + sql.resultSet(X_35,X_37,X_39,X_41,X_43,X_24); end user.s20_1; #inline actions= 0 time=2 usec #candidates actions= 1 time=18 usec diff --git a/sql/backends/monet5/UDF/cudf/Tests/udf-reverse.stable.out b/sql/backends/monet5/UDF/cudf/Tests/udf-reverse.stable.out --- a/sql/backends/monet5/UDF/cudf/Tests/udf-reverse.stable.out +++ b/sql/backends/monet5/UDF/cudf/Tests/udf-reverse.stable.out @@ -51,9 +51,8 @@ Ready. % 98 # length function user.s4_1():void; X_0:void := querylog.define("explain select reverse(\\'MonetDB\\');","sequential_pipe",7:int); - X_3:str := udf.reverse("MonetDB"); -# querylog.define("explain select reverse(\\'MonetDB\\');","sequential_pipe") - sql.resultSet(".L2","L2","clob",0:int,0:int,4:int,X_3); _______________________________________________ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list