Changeset: 3a8fe73d2a5d for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=3a8fe73d2a5d Modified Files: sql/test/BugTracker-2012/Tests/rewrite_like_into_likesubselect.Bug-3179.stable.out sql/test/mapi/Tests/sql_int128.stable.out.int128 sql/test/mapi/Tests/sql_int128.stable.out.int128.single Branch: copybinary Log Message:
Approve diffs (truncated from 576 to 300 lines): diff --git a/sql/test/BugTracker-2012/Tests/rewrite_like_into_likesubselect.Bug-3179.stable.out b/sql/test/BugTracker-2012/Tests/rewrite_like_into_likesubselect.Bug-3179.stable.out --- a/sql/test/BugTracker-2012/Tests/rewrite_like_into_likesubselect.Bug-3179.stable.out +++ b/sql/test/BugTracker-2012/Tests/rewrite_like_into_likesubselect.Bug-3179.stable.out @@ -264,12 +264,12 @@ function user.main():void; X_4:int := sql.mvc(); X_17:bat[:str] := sql.bind(X_4:int, "sys":str, "functions":str, "name":str, 0:int); C_5:bat[:oid] := sql.tid(X_4:int, "sys":str, "functions":str); - C_131:bat[:oid] := algebra.likeselect(X_17:bat[:str], C_5:bat[:oid], "%optimizers%":str, "":str, false:bit, false:bit); + C_135:bat[:oid] := algebra.likeselect(X_17:bat[:str], C_5:bat[:oid], "%optimizers%":str, "":str, false:bit, false:bit); (X_19:bat[:oid], X_20:bat[:str]) := sql.bind(X_4:int, "sys":str, "functions":str, "name":str, 2:int); - C_132:bat[:oid] := algebra.likeselect(X_20:bat[:str], nil:bat[:oid], "%optimizers%":str, "":str, false:bit, false:bit); + C_136:bat[:oid] := algebra.likeselect(X_20:bat[:str], nil:bat[:oid], "%optimizers%":str, "":str, false:bit, false:bit); X_18:bat[:str] := sql.bind(X_4:int, "sys":str, "functions":str, "name":str, 1:int); - C_134:bat[:oid] := algebra.likeselect(X_18:bat[:str], C_5:bat[:oid], "%optimizers%":str, "":str, false:bit, false:bit); - C_35:bat[:oid] := sql.subdelta(C_131:bat[:oid], C_5:bat[:oid], X_19:bat[:oid], C_132:bat[:oid], C_134:bat[:oid]); + C_138:bat[:oid] := algebra.likeselect(X_18:bat[:str], C_5:bat[:oid], "%optimizers%":str, "":str, false:bit, false:bit); + C_35:bat[:oid] := sql.subdelta(C_135:bat[:oid], C_5:bat[:oid], X_19:bat[:oid], C_136:bat[:oid], C_138:bat[:oid]); X_37:bat[:str] := sql.projectdelta(C_35:bat[:oid], X_17:bat[:str], X_19:bat[:oid], X_20:bat[:str], X_18:bat[:str]); X_22:bat[:str] := sql.bind(X_4:int, "sys":str, "functions":str, "func":str, 0:int); (X_25:bat[:oid], X_26:bat[:str]) := sql.bind(X_4:int, "sys":str, "functions":str, "func":str, 2:int); @@ -317,12 +317,12 @@ function user.main():void; X_4:int := sql.mvc(); X_17:bat[:str] := sql.bind(X_4:int, "sys":str, "functions":str, "name":str, 0:int); C_5:bat[:oid] := sql.tid(X_4:int, "sys":str, "functions":str); - C_131:bat[:oid] := algebra.likeselect(X_17:bat[:str], C_5:bat[:oid], "%optimizers%":str, "":str, false:bit, true:bit); + C_135:bat[:oid] := algebra.likeselect(X_17:bat[:str], C_5:bat[:oid], "%optimizers%":str, "":str, false:bit, true:bit); (X_19:bat[:oid], X_20:bat[:str]) := sql.bind(X_4:int, "sys":str, "functions":str, "name":str, 2:int); - C_132:bat[:oid] := algebra.likeselect(X_20:bat[:str], nil:bat[:oid], "%optimizers%":str, "":str, false:bit, true:bit); + C_136:bat[:oid] := algebra.likeselect(X_20:bat[:str], nil:bat[:oid], "%optimizers%":str, "":str, false:bit, true:bit); X_18:bat[:str] := sql.bind(X_4:int, "sys":str, "functions":str, "name":str, 1:int); - C_134:bat[:oid] := algebra.likeselect(X_18:bat[:str], C_5:bat[:oid], "%optimizers%":str, "":str, false:bit, true:bit); - C_35:bat[:oid] := sql.subdelta(C_131:bat[:oid], C_5:bat[:oid], X_19:bat[:oid], C_132:bat[:oid], C_134:bat[:oid]); + C_138:bat[:oid] := algebra.likeselect(X_18:bat[:str], C_5:bat[:oid], "%optimizers%":str, "":str, false:bit, true:bit); + C_35:bat[:oid] := sql.subdelta(C_135:bat[:oid], C_5:bat[:oid], X_19:bat[:oid], C_136:bat[:oid], C_138:bat[:oid]); X_37:bat[:str] := sql.projectdelta(C_35:bat[:oid], X_17:bat[:str], X_19:bat[:oid], X_20:bat[:str], X_18:bat[:str]); X_22:bat[:str] := sql.bind(X_4:int, "sys":str, "functions":str, "func":str, 0:int); (X_25:bat[:oid], X_26:bat[:str]) := sql.bind(X_4:int, "sys":str, "functions":str, "func":str, 2:int); @@ -370,12 +370,12 @@ function user.main():void; X_4:int := sql.mvc(); X_17:bat[:str] := sql.bind(X_4:int, "sys":str, "functions":str, "name":str, 0:int); C_5:bat[:oid] := sql.tid(X_4:int, "sys":str, "functions":str); - C_131:bat[:oid] := algebra.likeselect(X_17:bat[:str], C_5:bat[:oid], "%optimizers%":str, "":str, true:bit, false:bit); + C_135:bat[:oid] := algebra.likeselect(X_17:bat[:str], C_5:bat[:oid], "%optimizers%":str, "":str, true:bit, false:bit); (X_19:bat[:oid], X_20:bat[:str]) := sql.bind(X_4:int, "sys":str, "functions":str, "name":str, 2:int); - C_132:bat[:oid] := algebra.likeselect(X_20:bat[:str], nil:bat[:oid], "%optimizers%":str, "":str, true:bit, false:bit); + C_136:bat[:oid] := algebra.likeselect(X_20:bat[:str], nil:bat[:oid], "%optimizers%":str, "":str, true:bit, false:bit); X_18:bat[:str] := sql.bind(X_4:int, "sys":str, "functions":str, "name":str, 1:int); - C_134:bat[:oid] := algebra.likeselect(X_18:bat[:str], C_5:bat[:oid], "%optimizers%":str, "":str, true:bit, false:bit); - C_35:bat[:oid] := sql.subdelta(C_131:bat[:oid], C_5:bat[:oid], X_19:bat[:oid], C_132:bat[:oid], C_134:bat[:oid]); + C_138:bat[:oid] := algebra.likeselect(X_18:bat[:str], C_5:bat[:oid], "%optimizers%":str, "":str, true:bit, false:bit); + C_35:bat[:oid] := sql.subdelta(C_135:bat[:oid], C_5:bat[:oid], X_19:bat[:oid], C_136:bat[:oid], C_138:bat[:oid]); X_37:bat[:str] := sql.projectdelta(C_35:bat[:oid], X_17:bat[:str], X_19:bat[:oid], X_20:bat[:str], X_18:bat[:str]); X_22:bat[:str] := sql.bind(X_4:int, "sys":str, "functions":str, "func":str, 0:int); (X_25:bat[:oid], X_26:bat[:str]) := sql.bind(X_4:int, "sys":str, "functions":str, "func":str, 2:int); @@ -423,12 +423,12 @@ function user.main():void; X_4:int := sql.mvc(); X_17:bat[:str] := sql.bind(X_4:int, "sys":str, "functions":str, "name":str, 0:int); C_5:bat[:oid] := sql.tid(X_4:int, "sys":str, "functions":str); - C_131:bat[:oid] := algebra.likeselect(X_17:bat[:str], C_5:bat[:oid], "%optimizers%":str, "":str, true:bit, true:bit); + C_135:bat[:oid] := algebra.likeselect(X_17:bat[:str], C_5:bat[:oid], "%optimizers%":str, "":str, true:bit, true:bit); (X_19:bat[:oid], X_20:bat[:str]) := sql.bind(X_4:int, "sys":str, "functions":str, "name":str, 2:int); - C_132:bat[:oid] := algebra.likeselect(X_20:bat[:str], nil:bat[:oid], "%optimizers%":str, "":str, true:bit, true:bit); + C_136:bat[:oid] := algebra.likeselect(X_20:bat[:str], nil:bat[:oid], "%optimizers%":str, "":str, true:bit, true:bit); X_18:bat[:str] := sql.bind(X_4:int, "sys":str, "functions":str, "name":str, 1:int); - C_134:bat[:oid] := algebra.likeselect(X_18:bat[:str], C_5:bat[:oid], "%optimizers%":str, "":str, true:bit, true:bit); - C_35:bat[:oid] := sql.subdelta(C_131:bat[:oid], C_5:bat[:oid], X_19:bat[:oid], C_132:bat[:oid], C_134:bat[:oid]); + C_138:bat[:oid] := algebra.likeselect(X_18:bat[:str], C_5:bat[:oid], "%optimizers%":str, "":str, true:bit, true:bit); + C_35:bat[:oid] := sql.subdelta(C_135:bat[:oid], C_5:bat[:oid], X_19:bat[:oid], C_136:bat[:oid], C_138:bat[:oid]); X_37:bat[:str] := sql.projectdelta(C_35:bat[:oid], X_17:bat[:str], X_19:bat[:oid], X_20:bat[:str], X_18:bat[:str]); X_22:bat[:str] := sql.bind(X_4:int, "sys":str, "functions":str, "func":str, 0:int); (X_25:bat[:oid], X_26:bat[:str]) := sql.bind(X_4:int, "sys":str, "functions":str, "func":str, 2:int); diff --git a/sql/test/mapi/Tests/sql_int128.stable.out.int128 b/sql/test/mapi/Tests/sql_int128.stable.out.int128 --- a/sql/test/mapi/Tests/sql_int128.stable.out.int128 +++ b/sql/test/mapi/Tests/sql_int128.stable.out.int128 @@ -1,9 +1,9 @@ stdout of test 'sql_int128` in directory 'sql/test/mapi` itself: -# 07:30:43 > -# 07:30:43 > "mserver5" "--debug=10" "--set" "gdk_nr_threads=0" "--set" "mapi_open=true" "--set" "mapi_port=34256" "--set" "mapi_usock=/var/tmp/mtest-20272/.s.monetdb.34256" "--set" "monet_prompt=" "--forcemito" "--set" "mal_listing=2" "--dbpath=/ufs/manegold/_/Monet/HG/int128/prefix/_/var/MonetDB/mTests_sql_test_mapi" "--set" "mal_listing=0" -# 07:30:43 > +# 15:17:28 > +# 15:17:28 > "mclient" "-lsql" "-ftest" "-tnone" "-Eutf-8" "-i" "-e" "--host=/var/tmp/mtest-4496" "--port=35120" +# 15:17:28 > #CREATE TABLE mytest(a HUGEINT, b HUGEINT, c HUGEINT, d HUGEINT, e HUGEINT); #INSERT INTO mytest VALUES (1234567890987654321, 10000000000, NULL, NULL, NULL); @@ -15,184 +15,203 @@ stdout of test 'sql_int128` in directory % 118 # length function user.main():void; X_1:void := querylog.define("explain update mytest set a = 1234567890987654321;":str, "default_pipe":str, 39:int); -barrier X_112:bit := language.dataflow(); X_4:int := sql.mvc(); + (X_105:int, X_104:ptr) := sql.update_prep(X_4:int, "sys":str, "mytest":str, "a":str); +barrier X_118:bit := language.dataflow(); C_5:bat[:oid] := sql.tid(X_4:int, "sys":str, "mytest":str); X_17:bat[:hge] := sql.bind(X_4:int, "sys":str, "mytest":str, "a":str, 0:int); X_47:bat[:hge] := algebra.projection(C_5:bat[:oid], X_17:bat[:hge]); X_54:bat[:hge] := algebra.project(X_47:bat[:hge], 1234567890987654321:hge); -exit X_112:bit; - X_56:int := sql.update(X_4:int, "sys":str, "mytest":str, "a":str, C_5:bat[:oid], X_54:bat[:hge]); + X_107:ptr := sql.update_exec(X_104:ptr, C_5:bat[:oid], X_54:bat[:hge]); X_59:lng := aggr.count(C_5:bat[:oid]); + language.pass(C_5:bat[:oid]); +exit X_118:bit; + X_56:int := sql.append_finish(X_105:int, X_107:ptr); sql.affectedRows(X_56:int, X_59:lng); end user.main; # optimizer.mitosis() -# optimizer.dataflow() -#inline actions= 0 time=0 usec -#remap actions= 0 time=1 usec +#inline actions= 0 time=1 usec +#remap actions= 0 time=2 usec #costmodel actions= 1 time=1 usec -#coercion actions= 0 time=1 usec -#aliases actions= 1 time=2 usec -#evaluate actions= 1 time=8 usec -#emptybind actions= 0 time=0 usec -#pushselect actions= 0 time=2 usec -#aliases actions= 1 time=2 usec -#mergetable actions= 0 time=13 usec -#deadcode actions= 0 time=3 usec +#coercion actions= 0 time=2 usec +#aliases actions= 1 time=7 usec +#evaluate actions= 0 time=7 usec +#emptybind actions= 6 time=12 usec +#pushselect actions= 0 time=12 usec +#aliases actions= 6 time=7 usec +#mergetable actions= 0 time=33 usec +#parappend actions= 1 time=18 usec +#deadcode actions=22 time=11 usec #aliases actions= 0 time=0 usec -#constants actions= 0 time=1 usec -#commonTerms actions= 0 time=1 usec -#projectionpath actions= 0 time=1 usec -#deadcode actions= 0 time=2 usec -#reorder actions= 1 time=8 usec +#constants actions= 2 time=6 usec +#commonTerms actions= 0 time=3 usec +#projectionpath actions= 0 time=3 usec +#deadcode actions= 0 time=5 usec +#reorder actions= 1 time=15 usec #matpack actions= 0 time=0 usec -#dataflow actions= 0 time=3 usec -#multiplex actions= 0 time=0 usec +#dataflow actions= 1 time=13 usec +#multiplex actions= 0 time=1 usec #profiler actions= 1 time=1 usec #candidates actions= 1 time=1 usec -#deadcode actions= 0 time=2 usec +#deadcode actions= 0 time=5 usec +#postfix actions= 0 time=4 usec #wlc actions= 0 time=0 usec -#garbagecollector actions= 1 time=5 usec -#total actions=29 time=116 usec -#explain SET c = a * b; +#garbagecollector actions= 1 time=22 usec +#total actions=30 time=266 usec +#explain UPDATE mytest SET b = 10000000000; % .explain # table_name % mal # name % clob # type % 110 # length function user.main():void; X_1:void := querylog.define("explain update mytest set b = 10000000000;":str, "default_pipe":str, 39:int); -barrier X_112:bit := language.dataflow(); X_4:int := sql.mvc(); + (X_105:int, X_104:ptr) := sql.update_prep(X_4:int, "sys":str, "mytest":str, "b":str); +barrier X_118:bit := language.dataflow(); C_5:bat[:oid] := sql.tid(X_4:int, "sys":str, "mytest":str); X_17:bat[:hge] := sql.bind(X_4:int, "sys":str, "mytest":str, "a":str, 0:int); X_47:bat[:hge] := algebra.projection(C_5:bat[:oid], X_17:bat[:hge]); X_54:bat[:hge] := algebra.project(X_47:bat[:hge], 10000000000:hge); -exit X_112:bit; - X_56:int := sql.update(X_4:int, "sys":str, "mytest":str, "b":str, C_5:bat[:oid], X_54:bat[:hge]); + X_107:ptr := sql.update_exec(X_104:ptr, C_5:bat[:oid], X_54:bat[:hge]); X_59:lng := aggr.count(C_5:bat[:oid]); + language.pass(C_5:bat[:oid]); +exit X_118:bit; + X_56:int := sql.append_finish(X_105:int, X_107:ptr); sql.affectedRows(X_56:int, X_59:lng); end user.main; # optimizer.mitosis() -# optimizer.dataflow() #inline actions= 0 time=1 usec #remap actions= 0 time=2 usec #costmodel actions= 1 time=1 usec -#coercion actions= 1 time=6 usec -#aliases actions= 1 time=6 usec -#evaluate actions= 0 time=5 usec -#emptybind actions= 6 time=10 usec -#pushselect actions= 0 time=9 usec -#aliases actions= 6 time=5 usec -#mergetable actions= 0 time=28 usec -#deadcode actions=22 time=10 usec +#coercion actions= 0 time=2 usec +#aliases actions= 1 time=7 usec +#evaluate actions= 0 time=7 usec +#emptybind actions= 6 time=11 usec +#pushselect actions= 0 time=11 usec +#aliases actions= 6 time=6 usec +#mergetable actions= 0 time=33 usec +#parappend actions= 1 time=16 usec +#deadcode actions=22 time=11 usec #aliases actions= 0 time=0 usec -#constants actions= 0 time=1 usec -#commonTerms actions= 0 time=1 usec -#projectionpath actions= 0 time=1 usec -#deadcode actions= 0 time=3 usec -#reorder actions= 1 time=10 usec -#matpack actions= 0 time=0 usec -#dataflow actions= 0 time=4 usec -#multiplex actions= 0 time=1 usec +#constants actions= 2 time=4 usec +#commonTerms actions= 0 time=4 usec +#projectionpath actions= 0 time=3 usec +#deadcode actions= 0 time=5 usec +#reorder actions= 1 time=16 usec +#matpack actions= 0 time=1 usec +#dataflow actions= 1 time=12 usec +#multiplex actions= 0 time=2 usec #profiler actions= 1 time=1 usec #candidates actions= 1 time=1 usec -#deadcode actions= 0 time=3 usec +#deadcode actions= 0 time=5 usec +#postfix actions= 0 time=4 usec #wlc actions= 0 time=0 usec -#garbagecollector actions= 1 time=8 usec -#total actions=29 time=141 usec -#explain SET d = c * b; +#garbagecollector actions= 1 time=21 usec +#total actions=30 time=261 usec +#explain UPDATE mytest SET c = a * b; % .explain # table_name % mal # name % clob # type % 104 # length function user.main():void; X_1:void := querylog.define("explain update mytest set c = a * b;":str, "default_pipe":str, 38:int); -barrier X_113:bit := language.dataflow(); X_4:int := sql.mvc(); + (X_106:int, X_105:ptr) := sql.update_prep(X_4:int, "sys":str, "mytest":str, "c":str); +barrier X_119:bit := language.dataflow(); C_5:bat[:oid] := sql.tid(X_4:int, "sys":str, "mytest":str); X_17:bat[:hge] := sql.bind(X_4:int, "sys":str, "mytest":str, "a":str, 0:int); X_47:bat[:hge] := algebra.projection(C_5:bat[:oid], X_17:bat[:hge]); X_22:bat[:hge] := sql.bind(X_4:int, "sys":str, "mytest":str, "b":str, 0:int); X_48:bat[:hge] := algebra.projection(C_5:bat[:oid], X_22:bat[:hge]); X_52:bat[:hge] := batcalc.*(X_47:bat[:hge], X_48:bat[:hge], nil:BAT, nil:BAT); -exit X_113:bit; - X_56:int := sql.update(X_4:int, "sys":str, "mytest":str, "c":str, C_5:bat[:oid], X_52:bat[:hge]); + X_108:ptr := sql.update_exec(X_105:ptr, C_5:bat[:oid], X_52:bat[:hge]); X_58:lng := aggr.count(C_5:bat[:oid]); + language.pass(C_5:bat[:oid]); +exit X_119:bit; + X_56:int := sql.append_finish(X_106:int, X_108:ptr); sql.affectedRows(X_56:int, X_58:lng); end user.main; # optimizer.mitosis() -# optimizer.dataflow() #inline actions= 0 time=1 usec -#remap actions= 0 time=1 usec -#costmodel actions= 1 time=0 usec -#coercion actions= 0 time=1 usec -#aliases actions= 0 time=0 usec -#evaluate actions= 0 time=2 usec -#emptybind actions= 0 time=0 usec -#pushselect actions= 0 time=2 usec -#aliases actions= 0 time=0 usec -#mergetable actions= 0 time=16 usec -#deadcode actions= 0 time=4 usec +#remap actions= 1 time=58 usec +#costmodel actions= 1 time=1 usec +#coercion actions= 0 time=3 usec +#aliases actions= 0 time=1 usec +#evaluate actions= 0 time=7 usec +#emptybind actions= 6 time=11 usec +#pushselect actions= 0 time=12 usec +#aliases actions= 6 time=8 usec +#mergetable actions= 0 time=54 usec +#parappend actions= 1 time=17 usec +#deadcode actions=20 time=11 usec #aliases actions= 0 time=0 usec -#constants actions= 0 time=1 usec -#commonTerms actions= 0 time=1 usec -#projectionpath actions= 0 time=1 usec -#deadcode actions= 0 time=2 usec -#reorder actions= 1 time=9 usec +#constants actions= 2 time=5 usec +#commonTerms actions= 0 time=5 usec +#projectionpath actions= 0 time=3 usec +#deadcode actions= 0 time=5 usec +#reorder actions= 1 time=17 usec #matpack actions= 0 time=0 usec -#dataflow actions= 0 time=3 usec -#multiplex actions= 0 time=1 usec -#profiler actions= 1 time=0 usec -#candidates actions= 1 time=1 usec -#deadcode actions= 0 time=3 usec _______________________________________________ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list