Changeset: 4eb4bf881965 for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=4eb4bf881965 Added Files: sql/test/mergetables/Tests/mergequery.stable.out.single Branch: default Log Message:
Approved single-processor output for mergequery. diffs (230 lines): diff --git a/sql/test/mergetables/Tests/mergequery.stable.out.single b/sql/test/mergetables/Tests/mergequery.stable.out.single new file mode 100644 --- /dev/null +++ b/sql/test/mergetables/Tests/mergequery.stable.out.single @@ -0,0 +1,225 @@ +stdout of test 'mergequery` in directory 'sql/test/mergetables` itself: + + +# 16:20:23 > +# 16:20:23 > "mserver5" "--debug=10" "--set" "gdk_nr_threads=0" "--set" "mapi_open=true" "--set" "mapi_port=30678" "--set" "mapi_usock=/var/tmp/mtest-11019/.s.monetdb.30678" "--set" "monet_prompt=" "--forcemito" "--set" "mal_listing=2" "--dbpath=/export/scratch1/mk/current//Linux/var/MonetDB/mTests_sql_test_mergetables" "--set" "mal_listing=0" "--set" "embedded_r=yes" +# 16:20:23 > + +# MonetDB 5 server v11.20.0 +# This is an unreleased version +# Serving database 'mTests_sql_test_mergetables', using 8 threads +# Compiled for x86_64-unknown-linux-gnu/64bit with 64bit OIDs and 128bit integers dynamically linked +# Found 15.590 GiB available main-memory. +# Copyright (c) 1993-July 2008 CWI. +# Copyright (c) August 2008-2015 MonetDB B.V., all rights reserved +# Visit http://www.monetdb.org/ for further information +# Listening for connection requests on mapi:monetdb://vienna.ins.cwi.nl:30678/ +# Listening for UNIX domain connection requests on mapi:monetdb:///var/tmp/mtest-11019/.s.monetdb.30678 +# MonetDB/GIS module loaded +# MonetDB/SQL module loaded +# MonetDB/R module loaded + +Ready. + +# 16:20:23 > +# 16:20:23 > "mclient" "-lsql" "-ftest" "-Eutf-8" "-i" "-e" "--host=/var/tmp/mtest-11019" "--port=30678" +# 16:20:23 > + +#CREATE TABLE part1 ( x double, y double, z double); +#COPY 4 RECORDS INTO part1 FROM stdin USING DELIMITERS ' ','\n'; +#0.0 0.0 0.0 +#1.0 0.0 0.0 +#0.0 1.0 0.0 +#1.0 1.0 0.0 +[ 4 ] +#CREATE TABLE part2 ( x double, y double, z double); +#COPY 4 RECORDS INTO part2 FROM stdin USING DELIMITERS ' ','\n'; +#2.0 0.0 0.0 +#3.0 0.0 0.0 +#2.0 1.0 0.0 +#3.0 1.0 0.0 +[ 4 ] +#CREATE MERGE TABLE complete ( x double, y double, z double); +#ALTER TABLE complete ADD TABLE part1; +#ALTER TABLE complete ADD TABLE part2; +#SELECT * FROM COMPLETE; +% .complete, .complete, .complete # table_name +% x, y, z # name +% double, double, double # type +% 24, 24, 24 # length +[ 0, 0, 0 ] +[ 1, 0, 0 ] +[ 0, 1, 0 ] +[ 1, 1, 0 ] +[ 2, 0, 0 ] +[ 3, 0, 0 ] +[ 2, 1, 0 ] +[ 3, 1, 0 ] +#SELECT * FROM complete where x>=0.0 AND x <=1.0; +% .complete, .complete, .complete # table_name +% x, y, z # name +% double, double, double # type +% 24, 24, 24 # length +[ 0, 0, 0 ] +[ 1, 0, 0 ] +[ 0, 1, 0 ] +[ 1, 1, 0 ] +#SELECT * FROM complete where x>=2.0 AND x <=3.0; +% .complete, .complete, .complete # table_name +% x, y, z # name +% double, double, double # type +% 24, 24, 24 # length +[ 2, 0, 0 ] +[ 3, 0, 0 ] +[ 2, 1, 0 ] +[ 3, 1, 0 ] +#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 +[ 1, 0, 0 ] +[ 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 +% 129 # length +function user.s13_1{autoCommit=true}(A0:dbl,A1:dbl):void; + X_83:void := querylog.define("explain insert into answ\nselect * from complete where x>=1.0 and x <=2.0;","default_pipe",52); + X_4 := sql.mvc(); + X_5:bat[:oid,:dbl] := bat.new(nil:oid,nil:dbl); + X_11:bat[:oid,:dbl] := sql.bind(X_4,"sys","part1","x",0); + X_8:bat[:oid,:oid] := sql.tid(X_4,"sys","part1"); + X_97 := algebra.subselect(X_11,X_8,A0,A1,true,true,false); + (X_14,r1_14) := sql.bind(X_4,"sys","part1","x",2); + X_98 := algebra.subselect(r1_14,nil:bat[:oid,:oid],A0,A1,true,true,false); + X_17:bat[:oid,:dbl] := sql.bind(X_4,"sys","part1","x",1); + X_100 := algebra.subselect(X_17,X_8,A0,A1,true,true,false); + X_19 := sql.subdelta(X_97,X_8,X_14,X_98,X_100); + X_21 := sql.projectdelta(X_19,X_11,X_14,r1_14,X_17); + X_22 := bat.append(X_5,X_21,true); + X_25:bat[:oid,:dbl] := sql.bind(X_4,"sys","part2","x",0); + X_23:bat[:oid,:oid] := sql.tid(X_4,"sys","part2"); + X_101 := algebra.subselect(X_25,X_23,A0,A1,true,true,false); + (X_26,r1_30) := sql.bind(X_4,"sys","part2","x",2); + X_102 := algebra.subselect(r1_30,nil:bat[:oid,:oid],A0,A1,true,true,false); + X_28:bat[:oid,:dbl] := sql.bind(X_4,"sys","part2","x",1); + X_104 := algebra.subselect(X_28,X_23,A0,A1,true,true,false); + X_29 := sql.subdelta(X_101,X_23,X_26,X_102,X_104); + X_31 := sql.projectdelta(X_29,X_25,X_26,r1_30,X_28); + X_32 := bat.append(X_22,X_31,true); + X_33 := sql.append(X_4,"sys","answ","x",X_32); + X_37:bat[:oid,:dbl] := bat.new(nil:oid,nil:dbl); + X_40:bat[:oid,:dbl] := sql.bind(X_33,"sys","part1","y",0); + (X_44,r1_53) := sql.bind(X_33,"sys","part1","y",2); + X_47:bat[:oid,:dbl] := sql.bind(X_33,"sys","part1","y",1); + X_49 := sql.projectdelta(X_19,X_40,X_44,r1_53,X_47); + X_50 := bat.append(X_37,X_49,true); + X_51:bat[:oid,:dbl] := sql.bind(X_33,"sys","part2","y",0); + (X_53,r1_64) := sql.bind(X_33,"sys","part2","y",2); + X_55:bat[:oid,:dbl] := sql.bind(X_33,"sys","part2","y",1); + X_56 := sql.projectdelta(X_29,X_51,X_53,r1_64,X_55); + X_57 := bat.append(X_50,X_56,true); + X_59 := sql.append(X_33,"sys","answ","y",X_57); + X_60:bat[:oid,:dbl] := bat.new(nil:oid,nil:dbl); + X_61:bat[:oid,:dbl] := sql.bind(X_59,"sys","part1","z",0); + (X_64,r1_78) := sql.bind(X_59,"sys","part1","z",2); + X_66:bat[:oid,:dbl] := sql.bind(X_59,"sys","part1","z",1); + X_67 := sql.projectdelta(X_19,X_61,X_64,r1_78,X_66); + X_68 := bat.append(X_60,X_67,true); + X_69:bat[:oid,:dbl] := sql.bind(X_59,"sys","part2","z",0); + (X_71,r1_87) := sql.bind(X_59,"sys","part2","z",2); + X_74:bat[:oid,:dbl] := sql.bind(X_59,"sys","part2","z",1); + X_76 := sql.projectdelta(X_29,X_69,X_71,r1_87,X_74); + X_77 := bat.append(X_68,X_76,true); + X_78 := sql.append(X_59,"sys","answ","z",X_77); + X_80 := aggr.count(X_77); + sql.affectedRows(X_78,X_80,""); +end user.s13_1; +#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 +% clob # type +% 151 # length +function user.s14_1{autoCommit=true}(A0:dbl,A1:dbl,A2:dbl,A3:dbl):void; + X_88:void := querylog.define("explain insert into answ\nselect * from complete\nwhere x between 0 and 2 and y between 0 and 2;","default_pipe",60); + X_6 := sql.mvc(); + X_7:bat[:oid,:dbl] := bat.new(nil:oid,nil:dbl); + X_13:bat[:oid,:dbl] := sql.bind(X_6,"sys","part1","x",0); + X_21:bat[:oid,:dbl] := sql.bind(X_6,"sys","part1","y",0); + X_10:bat[:oid,:oid] := sql.tid(X_6,"sys","part1"); + X_102 := algebra.subselect(X_21,X_10,A2,A3,true,true,false); + (X_23,r1_27) := sql.bind(X_6,"sys","part1","y",2); + X_103 := algebra.subselect(r1_27,nil:bat[:oid,:oid],A2,A3,true,true,false); + X_25:bat[:oid,:dbl] := sql.bind(X_6,"sys","part1","y",1); + X_105 := algebra.subselect(X_25,X_10,A2,A3,true,true,false); + X_26 := sql.subdelta(X_102,X_10,X_23,X_103,X_105); + X_106 := algebra.subselect(X_13,X_26,A0,A1,true,true,false); + (X_16,r1_16) := sql.bind(X_6,"sys","part1","x",2); + X_107 := algebra.subselect(r1_16,nil:bat[:oid,:oid],A0,A1,true,true,false); + X_19:bat[:oid,:dbl] := sql.bind(X_6,"sys","part1","x",1); + X_109 := algebra.subselect(X_19,X_26,A0,A1,true,true,false); + X_28 := sql.subdelta(X_106,X_26,X_16,X_107,X_109); + X_29 := sql.projectdelta(X_28,X_13,X_16,r1_16,X_19); + X_30 := bat.append(X_7,X_29,true); + X_34:bat[:oid,:dbl] := sql.bind(X_6,"sys","part2","x",0); + X_40:bat[:oid,:dbl] := sql.bind(X_6,"sys","part2","y",0); + X_32:bat[:oid,:oid] := sql.tid(X_6,"sys","part2"); + X_110 := algebra.subselect(X_40,X_32,A2,A3,true,true,false); + (X_42,r1_54) := sql.bind(X_6,"sys","part2","y",2); + X_111 := algebra.subselect(r1_54,nil:bat[:oid,:oid],A2,A3,true,true,false); + X_45:bat[:oid,:dbl] := sql.bind(X_6,"sys","part2","y",1); + X_113 := algebra.subselect(X_45,X_32,A2,A3,true,true,false); + X_47 := sql.subdelta(X_110,X_32,X_42,X_111,X_113); + X_114 := algebra.subselect(X_34,X_47,A0,A1,true,true,false); + (X_35,r1_43) := sql.bind(X_6,"sys","part2","x",2); + X_115 := algebra.subselect(r1_43,nil:bat[:oid,:oid],A0,A1,true,true,false); + X_38:bat[:oid,:dbl] := sql.bind(X_6,"sys","part2","x",1); + X_117 := algebra.subselect(X_38,X_47,A0,A1,true,true,false); + X_48 := sql.subdelta(X_114,X_47,X_35,X_115,X_117); + X_49 := sql.projectdelta(X_48,X_34,X_35,r1_43,X_38); + X_50 := bat.append(X_30,X_49,true); + X_51 := sql.append(X_6,"sys","answ","x",X_50); + X_53:bat[:oid,:dbl] := bat.new(nil:oid,nil:dbl); + X_56 := sql.projectdelta(X_28,X_21,X_23,r1_27,X_25); + X_57 := bat.append(X_53,X_56,true); + X_59 := sql.projectdelta(X_48,X_40,X_42,r1_54,X_45); + X_60 := bat.append(X_57,X_59,true); + X_61 := sql.append(X_51,"sys","answ","y",X_60); + X_64:bat[:oid,:dbl] := bat.new(nil:oid,nil:dbl); + X_65:bat[:oid,:dbl] := sql.bind(X_61,"sys","part1","z",0); + (X_69,r1_87) := sql.bind(X_61,"sys","part1","z",2); + X_72:bat[:oid,:dbl] := sql.bind(X_61,"sys","part1","z",1); + X_74 := sql.projectdelta(X_28,X_65,X_69,r1_87,X_72); + X_75 := bat.append(X_64,X_74,true); + X_76:bat[:oid,:dbl] := sql.bind(X_61,"sys","part2","z",0); + (X_78,r1_98) := sql.bind(X_61,"sys","part2","z",2); + X_80:bat[:oid,:dbl] := sql.bind(X_61,"sys","part2","z",1); + X_81 := sql.projectdelta(X_48,X_76,X_78,r1_98,X_80); + X_82 := bat.append(X_75,X_81,true); + X_83 := sql.append(X_61,"sys","answ","z",X_82); + X_85 := aggr.count(X_82); + sql.affectedRows(X_83,X_85,""); +end user.s14_1; +#INSERT INTO answ +#SELECT * FROM complete +#WHERE x BETWEEN 0 AND 2 AND Y BETWEEN 0 AND 2; +[ 6 ] +#DROP TABLE complete; +#DROP TABLE part1; +#DROP TABLE part2; + +# 16:20:24 > +# 16:20:24 > "Done." +# 16:20:24 > + _______________________________________________ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list