Changeset: ac86389e4b3c for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=ac86389e4b3c
Modified Files:
        sql/test/mergetables/Tests/mergequery.stable.out
Branch: unlock
Log Message:

approved output


diffs (truncated from 417 to 300 lines):

diff --git a/sql/test/mergetables/Tests/mergequery.stable.out 
b/sql/test/mergetables/Tests/mergequery.stable.out
--- a/sql/test/mergetables/Tests/mergequery.stable.out
+++ b/sql/test/mergetables/Tests/mergequery.stable.out
@@ -55,7 +55,7 @@ stdout of test 'mergequery` in directory
 [ 2,   1,      0       ]
 [ 3,   1,      0       ]
 #SELECT * FROM complete where x>=0.0 AND x <=1.0;
-% .complete,   .complete,      .complete # table_name
+% sys.complete,        sys.complete,   sys.complete # table_name
 % x,   y,      z # name
 % double,      double, double # type
 % 24,  24,     24 # length
@@ -64,7 +64,7 @@ stdout of test 'mergequery` in directory
 [ 0,   1,      0       ]
 [ 1,   1,      0       ]
 #SELECT * FROM complete where x>=2.0 AND x <=3.0;
-% .complete,   .complete,      .complete # table_name
+% sys.complete,        sys.complete,   sys.complete # table_name
 % x,   y,      z # name
 % double,      double, double # type
 % 24,  24,     24 # length
@@ -72,7 +72,107 @@ stdout of test 'mergequery` in directory
 [ 3,   0,      0       ]
 [ 2,   1,      0       ]
 [ 3,   1,      0       ]
-#SELECT * FROM complete where x>=1.0 AND x <=2.0;
+#PLAN SELECT * FROM complete where x = 0.0; --only part1 passes
+% .plan # table_name
+% rel # name
+% clob # type
+% 78 # length
+project (
+| select (
+| | table(sys.part1) [ "complete"."x", "complete"."y", "complete"."z" ] COUNT 
+| ) [ "complete"."x" = double(53,1) "0" ]
+) [ "complete"."x", "complete"."y", "complete"."z" ]
+#SELECT * FROM complete where x = 0.0;
+% sys.complete,        sys.complete,   sys.complete # table_name
+% x,   y,      z # name
+% double,      double, double # type
+% 24,  24,     24 # length
+[ 0,   0,      0       ]
+[ 0,   1,      0       ]
+#PLAN SELECT * FROM complete where x = 3.0; --only part2 passes
+% .plan # table_name
+% rel # name
+% clob # type
+% 78 # length
+project (
+| select (
+| | table(sys.part2) [ "complete"."x", "complete"."y", "complete"."z" ] COUNT 
+| ) [ "complete"."x" = double(53,1) "3" ]
+) [ "complete"."x", "complete"."y", "complete"."z" ]
+#SELECT * FROM complete where x = 3.0;
+% sys.complete,        sys.complete,   sys.complete # table_name
+% x,   y,      z # name
+% double,      double, double # type
+% 24,  24,     24 # length
+[ 3,   0,      0       ]
+[ 3,   1,      0       ]
+#PLAN SELECT * FROM complete where x >= 1.0 AND x < 2.0; --only part1 passes
+% .plan # table_name
+% rel # name
+% clob # type
+% 78 # length
+project (
+| select (
+| | table(sys.part1) [ "complete"."x", "complete"."y", "complete"."z" ] COUNT 
+| ) [ double(53,1) "1" <= "complete"."x" < double(53,1) "2" BETWEEN  ]
+) [ "complete"."x", "complete"."y", "complete"."z" ]
+#SELECT * FROM complete where x >= 1.0 AND x < 2.0;
+% sys.complete,        sys.complete,   sys.complete # table_name
+% x,   y,      z # name
+% double,      double, double # type
+% 24,  24,     24 # length
+[ 1,   0,      0       ]
+[ 1,   1,      0       ]
+#PLAN SELECT * FROM complete where x > 1.0 AND x <= 2.0; --only part2 passes
+% .plan # table_name
+% rel # name
+% clob # type
+% 78 # length
+project (
+| select (
+| | table(sys.part2) [ "complete"."x", "complete"."y", "complete"."z" ] COUNT 
+| ) [ double(53,1) "1" < "complete"."x" <= double(53,1) "2" BETWEEN  ]
+) [ "complete"."x", "complete"."y", "complete"."z" ]
+#SELECT * FROM complete where x > 1.0 AND x <= 2.0;
+% sys.complete,        sys.complete,   sys.complete # table_name
+% x,   y,      z # name
+% double,      double, double # type
+% 24,  24,     24 # length
+[ 2,   0,      0       ]
+[ 2,   1,      0       ]
+#PLAN SELECT * FROM complete where x > 1.0 AND x < 2.0; --no part passes
+% .plan # table_name
+% rel # name
+% clob # type
+% 103 # length
+project (
+| select (
+| |  [ boolean "true" ]
+| ) [ boolean "false" ]
+) [ double "NULL" as "complete"."x", double "NULL" as "complete"."y", double 
"NULL" as "complete"."z" ]
+#SELECT * FROM complete where x > 1.0 AND x < 2.0;
+% .complete,   .complete,      .complete # table_name
+% x,   y,      z # name
+% double,      double, double # type
+% 24,  24,     24 # length
+#PLAN SELECT * FROM complete where x >= 1.0 AND x <= 2.0;
+% .plan # table_name
+% rel # name
+% clob # type
+% 125 # length
+union (
+| project (
+| | select (
+| | | table(sys.part1) [ "part1"."x" as "complete"."x", "part1"."y" as 
"complete"."y", "part1"."z" as "complete"."z" ] COUNT 
+| | ) [ double(53,1) "1" <= "complete"."x" <= double(53,1) "2" BETWEEN  ]
+| ) [ "complete"."x", "complete"."y", "complete"."z" ],
+| project (
+| | select (
+| | | table(sys.part2) [ "part2"."x" as "complete"."x", "part2"."y" as 
"complete"."y", "part2"."z" as "complete"."z" ] COUNT 
+| | ) [ double(53,1) "1" <= "complete"."x" <= double(53,1) "2" BETWEEN  ]
+| ) [ "complete"."x", "complete"."y", "complete"."z" ]
+) [ "complete"."x", "complete"."y", "complete"."z" ]
+#SELECT * FROM complete where x >= 1.0 AND x <= 2.0;
 % .complete,   .complete,      .complete # table_name
 % x,   y,      z # name
 % double,      double, double # type
@@ -81,258 +181,35 @@ stdout of test 'mergequery` in directory
 [ 1,   1,      0       ]
 [ 2,   0,      0       ]
 [ 2,   1,      0       ]
-#CREATE TABLE answ( LIKE complete);
-#EXPLAIN INSERT INTO answ
-#SELECT * FROM complete where x>=1.0 AND x <=2.0;
-% .explain # table_name
-% mal # name
-% clob # type
-% 142 # length
-function user.main():void;
-    X_1:void := querylog.define("explain insert into answ\nselect * from 
complete where x>=1.0 and x <=2.0;":str, "default_pipe":str, 56:int);
-barrier X_229:bit := language.dataflow();
-    X_64:bat[:dbl] := bat.new(nil:dbl);
-    X_4:int := sql.mvc();
-    X_149:bat[:dbl] := sql.bind(X_4:int, "sys":str, "part1":str, "x":str, 
0:int, 0:int, 4:int);
-    C_130:bat[:oid] := sql.tid(X_4:int, "sys":str, "part1":str, 0:int, 4:int);
-    C_191:bat[:oid] := algebra.select(X_149:bat[:dbl], C_130:bat[:oid], 1:dbl, 
2:dbl, true:bit, true:bit, false:bit, true:bit);
-    X_195:bat[:dbl] := algebra.projection(C_191:bat[:oid], X_149:bat[:dbl]);
-    X_150:bat[:dbl] := sql.bind(X_4:int, "sys":str, "part1":str, "x":str, 
0:int, 1:int, 4:int);
-    C_132:bat[:oid] := sql.tid(X_4:int, "sys":str, "part1":str, 1:int, 4:int);
-    C_192:bat[:oid] := algebra.select(X_150:bat[:dbl], C_132:bat[:oid], 1:dbl, 
2:dbl, true:bit, true:bit, false:bit, true:bit);
-    X_196:bat[:dbl] := algebra.projection(C_192:bat[:oid], X_150:bat[:dbl]);
-    X_151:bat[:dbl] := sql.bind(X_4:int, "sys":str, "part1":str, "x":str, 
0:int, 2:int, 4:int);
-    C_134:bat[:oid] := sql.tid(X_4:int, "sys":str, "part1":str, 2:int, 4:int);
-    C_193:bat[:oid] := algebra.select(X_151:bat[:dbl], C_134:bat[:oid], 1:dbl, 
2:dbl, true:bit, true:bit, false:bit, true:bit);
-    X_197:bat[:dbl] := algebra.projection(C_193:bat[:oid], X_151:bat[:dbl]);
-    X_152:bat[:dbl] := sql.bind(X_4:int, "sys":str, "part1":str, "x":str, 
0:int, 3:int, 4:int);
-    C_136:bat[:oid] := sql.tid(X_4:int, "sys":str, "part1":str, 3:int, 4:int);
-    C_194:bat[:oid] := algebra.select(X_152:bat[:dbl], C_136:bat[:oid], 1:dbl, 
2:dbl, true:bit, true:bit, false:bit, true:bit);
-    X_198:bat[:dbl] := algebra.projection(C_194:bat[:oid], X_152:bat[:dbl]);
-    X_215:bat[:dbl] := mat.packIncrement(X_195:bat[:dbl], 4:int);
-    X_217:bat[:dbl] := mat.packIncrement(X_215:bat[:dbl], X_196:bat[:dbl]);
-    X_218:bat[:dbl] := mat.packIncrement(X_217:bat[:dbl], X_197:bat[:dbl]);
-    X_37:bat[:dbl] := mat.packIncrement(X_218:bat[:dbl], X_198:bat[:dbl]);
-    X_46:bat[:dbl] := sql.bind(X_4:int, "sys":str, "part2":str, "x":str, 
0:int);
-    C_40:bat[:oid] := sql.tid(X_4:int, "sys":str, "part2":str);
-    C_60:bat[:oid] := algebra.select(X_46:bat[:dbl], C_40:bat[:oid], 1:dbl, 
2:dbl, true:bit, true:bit, false:bit, true:bit);
-    X_54:bat[:dbl] := sql.bind(X_4:int, "sys":str, "part2":str, "z":str, 
0:int);
-    X_63:bat[:dbl] := algebra.projection(C_60:bat[:oid], X_54:bat[:dbl]);
-    X_50:bat[:dbl] := sql.bind(X_4:int, "sys":str, "part2":str, "y":str, 
0:int);
-    X_62:bat[:dbl] := algebra.projection(C_60:bat[:oid], X_50:bat[:dbl]);
-    X_61:bat[:dbl] := algebra.projection(C_60:bat[:oid], X_46:bat[:dbl]);
-    X_181:bat[:dbl] := sql.bind(X_4:int, "sys":str, "part1":str, "z":str, 
0:int, 3:int, 4:int);
-    X_206:bat[:dbl] := algebra.projection(C_194:bat[:oid], X_181:bat[:dbl]);
-    X_180:bat[:dbl] := sql.bind(X_4:int, "sys":str, "part1":str, "z":str, 
0:int, 2:int, 4:int);
-    X_205:bat[:dbl] := algebra.projection(C_193:bat[:oid], X_180:bat[:dbl]);
-    X_179:bat[:dbl] := sql.bind(X_4:int, "sys":str, "part1":str, "z":str, 
0:int, 1:int, 4:int);
-    X_204:bat[:dbl] := algebra.projection(C_192:bat[:oid], X_179:bat[:dbl]);
-    X_178:bat[:dbl] := sql.bind(X_4:int, "sys":str, "part1":str, "z":str, 
0:int, 0:int, 4:int);
-    X_203:bat[:dbl] := algebra.projection(C_191:bat[:oid], X_178:bat[:dbl]);
-    X_169:bat[:dbl] := sql.bind(X_4:int, "sys":str, "part1":str, "y":str, 
0:int, 3:int, 4:int);
-    X_202:bat[:dbl] := algebra.projection(C_194:bat[:oid], X_169:bat[:dbl]);
-    X_167:bat[:dbl] := sql.bind(X_4:int, "sys":str, "part1":str, "y":str, 
0:int, 2:int, 4:int);
-    X_201:bat[:dbl] := algebra.projection(C_193:bat[:oid], X_167:bat[:dbl]);
-    X_165:bat[:dbl] := sql.bind(X_4:int, "sys":str, "part1":str, "y":str, 
0:int, 1:int, 4:int);
-    X_200:bat[:dbl] := algebra.projection(C_192:bat[:oid], X_165:bat[:dbl]);
-    X_163:bat[:dbl] := sql.bind(X_4:int, "sys":str, "part1":str, "y":str, 
0:int, 0:int, 4:int);
-    X_199:bat[:dbl] := algebra.projection(C_191:bat[:oid], X_163:bat[:dbl]);
-    X_66:bat[:dbl] := bat.append(X_64:bat[:dbl], X_37:bat[:dbl], true:bit);
-    X_67:bat[:dbl] := bat.append(X_66:bat[:dbl], X_61:bat[:dbl], true:bit);
-    X_69:bat[:dbl] := bat.new(nil:dbl);
-    X_220:bat[:dbl] := mat.packIncrement(X_199:bat[:dbl], 4:int);
-    X_221:bat[:dbl] := mat.packIncrement(X_220:bat[:dbl], X_200:bat[:dbl]);
-    X_222:bat[:dbl] := mat.packIncrement(X_221:bat[:dbl], X_201:bat[:dbl]);
-    X_38:bat[:dbl] := mat.packIncrement(X_222:bat[:dbl], X_202:bat[:dbl]);
-    X_70:bat[:dbl] := bat.append(X_69:bat[:dbl], X_38:bat[:dbl], true:bit);
-    X_71:bat[:dbl] := bat.append(X_70:bat[:dbl], X_62:bat[:dbl], true:bit);
-    X_72:bat[:dbl] := bat.new(nil:dbl);
-    X_224:bat[:dbl] := mat.packIncrement(X_203:bat[:dbl], 4:int);
-    X_225:bat[:dbl] := mat.packIncrement(X_224:bat[:dbl], X_204:bat[:dbl]);
-    X_226:bat[:dbl] := mat.packIncrement(X_225:bat[:dbl], X_205:bat[:dbl]);
-    X_39:bat[:dbl] := mat.packIncrement(X_226:bat[:dbl], X_206:bat[:dbl]);
-    X_73:bat[:dbl] := bat.append(X_72:bat[:dbl], X_39:bat[:dbl], true:bit);
-    X_74:bat[:dbl] := bat.append(X_73:bat[:dbl], X_63:bat[:dbl], true:bit);
-    X_75:lng := aggr.count(X_67:bat[:dbl]);
-    language.pass(X_149:bat[:dbl]);
-    language.pass(X_150:bat[:dbl]);
-    language.pass(X_151:bat[:dbl]);
-    language.pass(X_152:bat[:dbl]);
-    language.pass(C_60:bat[:oid]);
-    language.pass(X_46:bat[:dbl]);
-    language.pass(C_194:bat[:oid]);
-    language.pass(C_193:bat[:oid]);
-    language.pass(C_192:bat[:oid]);
-    language.pass(C_191:bat[:oid]);
-exit X_229:bit;
-    X_76:lng := sql.claim(X_4:int, "sys":str, "answ":str, X_75:lng);
-    X_79:int := sql.append(X_4:int, "sys":str, "answ":str, "x":str, X_76:lng, 
X_67:bat[:dbl]);
-    X_82:int := sql.append(X_79:int, "sys":str, "answ":str, "y":str, X_76:lng, 
X_71:bat[:dbl]);
-    X_85:int := sql.append(X_82:int, "sys":str, "answ":str, "z":str, X_76:lng, 
X_74:bat[:dbl]);
-    sql.affectedRows(X_85:int, X_75:lng);
-end user.main;
-#inline               actions= 0 time=0 usec 
-#remap                actions= 0 time=2 usec 
-#costmodel            actions= 1 time=1 usec 
-#coercion             actions= 0 time=1 usec 
-#aliases              actions= 4 time=9 usec 
-#evaluate             actions= 4 time=17 usec 
-#emptybind            actions= 6 time=11 usec 
-#pushselect           actions= 8 time=12 usec 
-#aliases              actions=16 time=9 usec 
-#mitosis              actions=1 time=53 usec 
-#mergetable           actions= 4 time=70 usec 
-#deadcode             actions=28 time=17 usec 
-#aliases              actions= 0 time=0 usec 
-#constants            actions=15 time=8 usec 
-#commonTerms          actions= 0 time=11 usec 
-#projectionpath       actions= 0 time=6 usec 
-#deadcode             actions= 0 time=6 usec 
-#reorder              actions= 1 time=37 usec 
-#reduce               actions=74 time=39 usec 
-#matpack              actions= 0 time=5 usec 
-#dataflow             actions=31 time=36 usec 
-#querylog             actions= 0 time=1 usec 
-#multiplex            actions= 0 time=3 usec 
-#generator            actions= 0 time=1 usec 
-#profiler             actions= 1 time=20 usec 
-#garbageCollector     actions= 1 time=27 usec 
-#total                actions= 1 time=526 usec 
-#INSERT INTO answ
-#SELECT * FROM complete where x>=1.0 AND x <=2.0;
-[ 4    ]
-#EXPLAIN INSERT INTO answ
-#SELECT * FROM complete
-#WHERE x BETWEEN 0 AND 2 AND Y BETWEEN 0 AND 2;
-% .explain # table_name
-% mal # name
+#PLAN SELECT * FROM complete WHERE x BETWEEN 0 AND 2 AND Y BETWEEN 0 AND 2;
+% .plan # table_name
+% rel # name
 % clob # type
-% 164 # length
-function user.main():void;
-    X_1:void := querylog.define("explain insert into answ\nselect * from 
complete\nwhere x between 0 and 2 and y between 0 and 2;":str, 
"default_pipe":str, 62:int);
-barrier X_243:bit := language.dataflow();
-    X_75:bat[:dbl] := bat.new(nil:dbl);
-    X_4:int := sql.mvc();
-    X_173:bat[:dbl] := sql.bind(X_4:int, "sys":str, "part1":str, "y":str, 
0:int, 0:int, 4:int);
-    X_159:bat[:dbl] := sql.bind(X_4:int, "sys":str, "part1":str, "x":str, 
0:int, 0:int, 4:int);
-    C_140:bat[:oid] := sql.tid(X_4:int, "sys":str, "part1":str, 0:int, 4:int);
-    C_201:bat[:oid] := algebra.select(X_159:bat[:dbl], C_140:bat[:oid], 0:dbl, 
2:dbl, true:bit, true:bit, false:bit, true:bit);
-    C_205:bat[:oid] := algebra.select(X_173:bat[:dbl], C_201:bat[:oid], 0:dbl, 
2:dbl, true:bit, true:bit, false:bit, true:bit);
-    X_209:bat[:dbl] := algebra.projection(C_205:bat[:oid], X_159:bat[:dbl]);
-    X_175:bat[:dbl] := sql.bind(X_4:int, "sys":str, "part1":str, "y":str, 
0:int, 1:int, 4:int);
-    X_160:bat[:dbl] := sql.bind(X_4:int, "sys":str, "part1":str, "x":str, 
0:int, 1:int, 4:int);
-    C_142:bat[:oid] := sql.tid(X_4:int, "sys":str, "part1":str, 1:int, 4:int);
-    C_202:bat[:oid] := algebra.select(X_160:bat[:dbl], C_142:bat[:oid], 0:dbl, 
2:dbl, true:bit, true:bit, false:bit, true:bit);
-    C_206:bat[:oid] := algebra.select(X_175:bat[:dbl], C_202:bat[:oid], 0:dbl, 
2:dbl, true:bit, true:bit, false:bit, true:bit);
-    X_210:bat[:dbl] := algebra.projection(C_206:bat[:oid], X_160:bat[:dbl]);
-    X_177:bat[:dbl] := sql.bind(X_4:int, "sys":str, "part1":str, "y":str, 
0:int, 2:int, 4:int);
-    X_161:bat[:dbl] := sql.bind(X_4:int, "sys":str, "part1":str, "x":str, 
0:int, 2:int, 4:int);
-    C_144:bat[:oid] := sql.tid(X_4:int, "sys":str, "part1":str, 2:int, 4:int);
-    C_203:bat[:oid] := algebra.select(X_161:bat[:dbl], C_144:bat[:oid], 0:dbl, 
2:dbl, true:bit, true:bit, false:bit, true:bit);
-    C_207:bat[:oid] := algebra.select(X_177:bat[:dbl], C_203:bat[:oid], 0:dbl, 
2:dbl, true:bit, true:bit, false:bit, true:bit);
-    X_211:bat[:dbl] := algebra.projection(C_207:bat[:oid], X_161:bat[:dbl]);
-    X_179:bat[:dbl] := sql.bind(X_4:int, "sys":str, "part1":str, "y":str, 
0:int, 3:int, 4:int);
-    X_162:bat[:dbl] := sql.bind(X_4:int, "sys":str, "part1":str, "x":str, 
0:int, 3:int, 4:int);
-    C_146:bat[:oid] := sql.tid(X_4:int, "sys":str, "part1":str, 3:int, 4:int);
-    C_204:bat[:oid] := algebra.select(X_162:bat[:dbl], C_146:bat[:oid], 0:dbl, 
2:dbl, true:bit, true:bit, false:bit, true:bit);
-    C_208:bat[:oid] := algebra.select(X_179:bat[:dbl], C_204:bat[:oid], 0:dbl, 
2:dbl, true:bit, true:bit, false:bit, true:bit);
-    X_212:bat[:dbl] := algebra.projection(C_208:bat[:oid], X_162:bat[:dbl]);
-    X_229:bat[:dbl] := mat.packIncrement(X_209:bat[:dbl], 4:int);
-    X_231:bat[:dbl] := mat.packIncrement(X_229:bat[:dbl], X_210:bat[:dbl]);
-    X_232:bat[:dbl] := mat.packIncrement(X_231:bat[:dbl], X_211:bat[:dbl]);
-    X_40:bat[:dbl] := mat.packIncrement(X_232:bat[:dbl], X_212:bat[:dbl]);
-    X_53:bat[:dbl] := sql.bind(X_4:int, "sys":str, "part2":str, "y":str, 
0:int);
-    X_49:bat[:dbl] := sql.bind(X_4:int, "sys":str, "part2":str, "x":str, 
0:int);
-    C_43:bat[:oid] := sql.tid(X_4:int, "sys":str, "part2":str);
_______________________________________________
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to