Changeset: 506bb6a962f7 for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=506bb6a962f7 Added Files: sql/test/BugTracker-2014/Tests/manifold.Bug-3556.sql sql/test/BugTracker-2014/Tests/manifold.Bug-3556.stable.err sql/test/BugTracker-2014/Tests/manifold.Bug-3556.stable.out Modified Files: sql/test/BugTracker-2014/Tests/All Branch: Oct2014 Log Message:
Manifold code generation test The code seems properly generated for Bug 3556 diffs (truncated from 588 to 300 lines): diff --git a/sql/test/BugTracker-2014/Tests/All b/sql/test/BugTracker-2014/Tests/All --- a/sql/test/BugTracker-2014/Tests/All +++ b/sql/test/BugTracker-2014/Tests/All @@ -43,3 +43,4 @@ locate-offset.Bug-3563 aggr-with-limit.Bug-3498 sign-sorted.Bug-3594 nil_2dec_lng.Bug-3592 +manifold.Bug-3556 diff --git a/sql/test/BugTracker-2014/Tests/manifold.Bug-3556.sql b/sql/test/BugTracker-2014/Tests/manifold.Bug-3556.sql new file mode 100644 --- /dev/null +++ b/sql/test/BugTracker-2014/Tests/manifold.Bug-3556.sql @@ -0,0 +1,18 @@ +explain select replace(a1,a2,a3), id +from ( + select name as a1, 'a' as a2, 'A' as a3, id as id + from sys.functions +) as x; + +explain select replace(a1,a2,a3), id +from ( + select name as a1, 'a' as a2, 'A' as a3, id + 1 as id + from sys.functions +) as x; + +explain select replace(a1,a2,a3), id +from ( + select name as a1, 'a' as a2, 'A' as a3, abs(id) as id + from sys.functions +) as x; + diff --git a/sql/test/BugTracker-2014/Tests/manifold.Bug-3556.stable.err b/sql/test/BugTracker-2014/Tests/manifold.Bug-3556.stable.err new file mode 100644 --- /dev/null +++ b/sql/test/BugTracker-2014/Tests/manifold.Bug-3556.stable.err @@ -0,0 +1,37 @@ +stderr of test 'manifold.Bug-3556` in directory 'sql/test/BugTracker-2014` itself: + + +# 14:13:38 > +# 14:13:38 > "mserver5" "--debug=10" "--set" "gdk_nr_threads=0" "--set" "mapi_open=true" "--set" "mapi_port=38920" "--set" "mapi_usock=/var/tmp/mtest-29507/.s.monetdb.38920" "--set" "monet_prompt=" "--forcemito" "--set" "mal_listing=2" "--dbpath=/export/scratch1/mk/Oct2014//Linux/var/MonetDB/mTests_sql_test_BugTracker-2014" "--set" "mal_listing=0" "--set" "embedded_r=yes" +# 14:13:38 > + +# builtin opt gdk_dbpath = /export/scratch1/mk/Oct2014//Linux/var/monetdb5/dbfarm/demo +# builtin opt gdk_debug = 0 +# builtin opt gdk_vmtrim = no +# builtin opt monet_prompt = > +# builtin opt monet_daemon = no +# builtin opt mapi_port = 50000 +# builtin opt mapi_open = false +# builtin opt mapi_autosense = false +# builtin opt sql_optimizer = default_pipe +# builtin opt sql_debug = 0 +# cmdline opt gdk_nr_threads = 0 +# cmdline opt mapi_open = true +# cmdline opt mapi_port = 38920 +# cmdline opt mapi_usock = /var/tmp/mtest-29507/.s.monetdb.38920 +# cmdline opt monet_prompt = +# cmdline opt mal_listing = 2 +# cmdline opt gdk_dbpath = /export/scratch1/mk/Oct2014//Linux/var/MonetDB/mTests_sql_test_BugTracker-2014 +# cmdline opt mal_listing = 0 +# cmdline opt embedded_r = yes +# cmdline opt gdk_debug = 536870922 + +# 14:13:38 > +# 14:13:38 > "mclient" "-lsql" "-ftest" "-Eutf-8" "-i" "-e" "--host=/var/tmp/mtest-29507" "--port=38920" +# 14:13:38 > + + +# 14:13:39 > +# 14:13:39 > "Done." +# 14:13:39 > + diff --git a/sql/test/BugTracker-2014/Tests/manifold.Bug-3556.stable.out b/sql/test/BugTracker-2014/Tests/manifold.Bug-3556.stable.out new file mode 100644 --- /dev/null +++ b/sql/test/BugTracker-2014/Tests/manifold.Bug-3556.stable.out @@ -0,0 +1,510 @@ +stdout of test 'manifold.Bug-3556` in directory 'sql/test/BugTracker-2014` itself: + + +# 14:13:38 > +# 14:13:38 > "mserver5" "--debug=10" "--set" "gdk_nr_threads=0" "--set" "mapi_open=true" "--set" "mapi_port=38920" "--set" "mapi_usock=/var/tmp/mtest-29507/.s.monetdb.38920" "--set" "monet_prompt=" "--forcemito" "--set" "mal_listing=2" "--dbpath=/export/scratch1/mk/Oct2014//Linux/var/MonetDB/mTests_sql_test_BugTracker-2014" "--set" "mal_listing=0" "--set" "embedded_r=yes" +# 14:13:38 > + +# MonetDB 5 server v11.19.0 +# This is an unreleased version +# Serving database 'mTests_sql_test_BugTracker-2014', using 8 threads +# Compiled for x86_64-unknown-linux-gnu/64bit with 64bit OIDs dynamically linked +# Found 15.590 GiB available main-memory. +# Copyright (c) 1993-July 2008 CWI. +# Copyright (c) August 2008-2014 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:38920/ +# Listening for UNIX domain connection requests on mapi:monetdb:///var/tmp/mtest-29507/.s.monetdb.38920 +# MonetDB/GIS module loaded +# MonetDB/SQL module loaded +# MonetDB/R module loaded + +Ready. +# SQL catalog created, loading sql scripts once +# loading sql script: 09_like.sql +# loading sql script: 10_math.sql +# loading sql script: 11_times.sql +# loading sql script: 12_url.sql +# loading sql script: 13_date.sql +# loading sql script: 14_inet.sql +# loading sql script: 15_querylog.sql +# loading sql script: 16_tracelog.sql +# loading sql script: 19_cluster.sql +# loading sql script: 20_vacuum.sql +# loading sql script: 21_dependency_functions.sql +# loading sql script: 22_clients.sql +# loading sql script: 23_skyserver.sql +# loading sql script: 24_zorder.sql +# loading sql script: 25_debug.sql +# loading sql script: 26_sysmon.sql +# loading sql script: 39_analytics.sql +# loading sql script: 40_geom.sql +# loading sql script: 40_json.sql +# loading sql script: 41_jsonstore.sql +# loading sql script: 45_uuid.sql +# loading sql script: 46_gsl.sql +# loading sql script: 75_storagemodel.sql +# loading sql script: 80_statistics.sql +# loading sql script: 80_udf.sql +# loading sql script: 90_generator.sql +# loading sql script: 99_system.sql + +# 14:13:38 > +# 14:13:38 > "mclient" "-lsql" "-ftest" "-Eutf-8" "-i" "-e" "--host=/var/tmp/mtest-29507" "--port=38920" +# 14:13:38 > + +#explain select replace(a1,a2,a3), id +#from ( +# select name as a1, 'a' as a2, 'A' as a3, id as id +# from sys.functions +#) as x; +% .explain # table_name +% mal # name +% clob # type +% 173 # length +function user.s1_1{autoCommit=true}(A0:str,A1:str):void; +barrier X_189 := language.dataflow(); + X_4 := sql.mvc(); + X_44:bat[:oid,:oid] := sql.tid(X_4,"sys","functions",0,8); + X_59:bat[:oid,:str] := sql.bind(X_4,"sys","functions","name",0,0,8); + (X_67:bat[:oid,:oid] ,X_68:bat[:oid,:str] ) := sql.bind(X_4,"sys","functions","name",2,0,8); + X_117 := sql.delta(X_59,X_67,X_68); + X_125 := algebra.leftfetchjoin(X_44,X_117); + X_140 := mal.manifold("str","replace",X_125,A0,A1); + X_46:bat[:oid,:oid] := sql.tid(X_4,"sys","functions",1,8); + X_60:bat[:oid,:str] := sql.bind(X_4,"sys","functions","name",0,1,8); + (X_69:bat[:oid,:oid] ,X_70:bat[:oid,:str] ) := sql.bind(X_4,"sys","functions","name",2,1,8); + X_118 := sql.delta(X_60,X_69,X_70); + X_127 := algebra.leftfetchjoin(X_46,X_118); + X_141 := mal.manifold("str","replace",X_127,A0,A1); + X_48:bat[:oid,:oid] := sql.tid(X_4,"sys","functions",2,8); + X_61:bat[:oid,:str] := sql.bind(X_4,"sys","functions","name",0,2,8); + (X_71:bat[:oid,:oid] ,X_72:bat[:oid,:str] ) := sql.bind(X_4,"sys","functions","name",2,2,8); + X_119 := sql.delta(X_61,X_71,X_72); + X_129 := algebra.leftfetchjoin(X_48,X_119); + X_142 := mal.manifold("str","replace",X_129,A0,A1); + X_50:bat[:oid,:oid] := sql.tid(X_4,"sys","functions",3,8); + X_62:bat[:oid,:str] := sql.bind(X_4,"sys","functions","name",0,3,8); + (X_73:bat[:oid,:oid] ,X_74:bat[:oid,:str] ) := sql.bind(X_4,"sys","functions","name",2,3,8); + X_120 := sql.delta(X_62,X_73,X_74); + X_131 := algebra.leftfetchjoin(X_50,X_120); + X_143 := mal.manifold("str","replace",X_131,A0,A1); + X_52:bat[:oid,:oid] := sql.tid(X_4,"sys","functions",4,8); + X_63:bat[:oid,:str] := sql.bind(X_4,"sys","functions","name",0,4,8); + (X_75:bat[:oid,:oid] ,X_76:bat[:oid,:str] ) := sql.bind(X_4,"sys","functions","name",2,4,8); + X_121 := sql.delta(X_63,X_75,X_76); + X_133 := algebra.leftfetchjoin(X_52,X_121); + X_144 := mal.manifold("str","replace",X_133,A0,A1); + X_54:bat[:oid,:oid] := sql.tid(X_4,"sys","functions",5,8); + X_64:bat[:oid,:str] := sql.bind(X_4,"sys","functions","name",0,5,8); + (X_78:bat[:oid,:oid] ,X_79:bat[:oid,:str] ) := sql.bind(X_4,"sys","functions","name",2,5,8); + X_122 := sql.delta(X_64,X_78,X_79); + X_135 := algebra.leftfetchjoin(X_54,X_122); + X_145 := mal.manifold("str","replace",X_135,A0,A1); + X_56:bat[:oid,:oid] := sql.tid(X_4,"sys","functions",6,8); + X_65:bat[:oid,:str] := sql.bind(X_4,"sys","functions","name",0,6,8); + (X_80:bat[:oid,:oid] ,X_81:bat[:oid,:str] ) := sql.bind(X_4,"sys","functions","name",2,6,8); + X_123 := sql.delta(X_65,X_80,X_81); + X_137 := algebra.leftfetchjoin(X_56,X_123); + X_146 := mal.manifold("str","replace",X_137,A0,A1); + X_58:bat[:oid,:oid] := sql.tid(X_4,"sys","functions",7,8); + X_66:bat[:oid,:str] := sql.bind(X_4,"sys","functions","name",0,7,8); + (X_82:bat[:oid,:oid] ,X_83:bat[:oid,:str] ) := sql.bind(X_4,"sys","functions","name",2,7,8); + X_10:bat[:oid,:str] := sql.bind(X_4,"sys","functions","name",1); + X_124 := sql.delta(X_66,X_82,X_83,X_10); + X_139 := algebra.leftfetchjoin(X_58,X_124); + X_147 := mal.manifold("str","replace",X_139,A0,A1); + X_165 := mat.packIncrement(X_140,8); + X_166 := mat.packIncrement(X_165,X_141); + X_167 := mat.packIncrement(X_166,X_142); + X_168 := mat.packIncrement(X_167,X_143); + X_169 := mat.packIncrement(X_168,X_144); + X_170 := mat.packIncrement(X_169,X_145); + X_171 := mat.packIncrement(X_170,X_146); + X_12:bat[:oid,:str] := mat.packIncrement(X_171,X_147); + X_99:bat[:oid,:int] := sql.bind(X_4,"sys","functions","id",0,7,8); + (X_115:bat[:oid,:oid] ,X_116:bat[:oid,:int] ) := sql.bind(X_4,"sys","functions","id",2,7,8); + X_16:bat[:oid,:int] := sql.bind(X_4,"sys","functions","id",1); + X_156 := sql.delta(X_99,X_115,X_116,X_16); + X_164 := algebra.leftfetchjoin(X_58,X_156); + X_97:bat[:oid,:int] := sql.bind(X_4,"sys","functions","id",0,6,8); + (X_113:bat[:oid,:oid] ,X_114:bat[:oid,:int] ) := sql.bind(X_4,"sys","functions","id",2,6,8); + X_155 := sql.delta(X_97,X_113,X_114); + X_163 := algebra.leftfetchjoin(X_56,X_155); + X_95:bat[:oid,:int] := sql.bind(X_4,"sys","functions","id",0,5,8); + (X_111:bat[:oid,:oid] ,X_112:bat[:oid,:int] ) := sql.bind(X_4,"sys","functions","id",2,5,8); + X_154 := sql.delta(X_95,X_111,X_112); + X_162 := algebra.leftfetchjoin(X_54,X_154); + X_93:bat[:oid,:int] := sql.bind(X_4,"sys","functions","id",0,4,8); + (X_108:bat[:oid,:oid] ,X_109:bat[:oid,:int] ) := sql.bind(X_4,"sys","functions","id",2,4,8); + X_153 := sql.delta(X_93,X_108,X_109); + X_161 := algebra.leftfetchjoin(X_52,X_153); + X_91:bat[:oid,:int] := sql.bind(X_4,"sys","functions","id",0,3,8); + (X_106:bat[:oid,:oid] ,X_107:bat[:oid,:int] ) := sql.bind(X_4,"sys","functions","id",2,3,8); + X_152 := sql.delta(X_91,X_106,X_107); + X_160 := algebra.leftfetchjoin(X_50,X_152); + X_89:bat[:oid,:int] := sql.bind(X_4,"sys","functions","id",0,2,8); + (X_104:bat[:oid,:oid] ,X_105:bat[:oid,:int] ) := sql.bind(X_4,"sys","functions","id",2,2,8); + X_151 := sql.delta(X_89,X_104,X_105); + X_159 := algebra.leftfetchjoin(X_48,X_151); + X_87:bat[:oid,:int] := sql.bind(X_4,"sys","functions","id",0,1,8); + (X_102:bat[:oid,:oid] ,X_103:bat[:oid,:int] ) := sql.bind(X_4,"sys","functions","id",2,1,8); + X_150 := sql.delta(X_87,X_102,X_103); + X_158 := algebra.leftfetchjoin(X_46,X_150); + X_85:bat[:oid,:int] := sql.bind(X_4,"sys","functions","id",0,0,8); + (X_100:bat[:oid,:oid] ,X_101:bat[:oid,:int] ) := sql.bind(X_4,"sys","functions","id",2,0,8); + X_149 := sql.delta(X_85,X_100,X_101); + X_157 := algebra.leftfetchjoin(X_44,X_149); + language.pass(X_58); + language.pass(X_56); + language.pass(X_54); + language.pass(X_52); + language.pass(X_50); + language.pass(X_48); + language.pass(X_46); + language.pass(X_44); +exit X_189; + X_18 := sql.resultSet(2,1,X_12); + sql.rsColumn(X_18,"sys.L1","L1","varchar",0,0,X_12); + X_173 := mat.packIncrement(X_157,8); + X_174 := mat.packIncrement(X_173,X_158); + X_175 := mat.packIncrement(X_174,X_159); + X_176 := mat.packIncrement(X_175,X_160); + X_177 := mat.packIncrement(X_176,X_161); + X_178 := mat.packIncrement(X_177,X_162); + X_179 := mat.packIncrement(X_178,X_163); + X_17 := mat.packIncrement(X_179,X_164); + sql.rsColumn(X_18,"sys.x","id","int",32,0,X_17); + X_27 := io.stdout(); + sql.exportResult(X_27,X_18); +end s1_1; +# querylog.define("explain select replace(a1,a2,a3), id\nfrom (\n select name as a1, \\'a\\' as a2, \\'A\\' as a3, id as id \n from sys.functions\n) as x;","default_pipe") +#explain select replace(a1,a2,a3), id +#from ( +# select name as a1, 'a' as a2, 'A' as a3, id + 1 as id +# from sys.functions +#) as x; +% .explain # table_name +% mal # name +% clob # type +% 177 # length +function user.s2_1{autoCommit=true}(A0:str,A1:str,A2:lng):void; +barrier X_247 := language.dataflow(); + X_5 := sql.mvc(); + X_45:bat[:oid,:oid] := sql.tid(X_5,"sys","functions",0,8); + X_61:bat[:oid,:str] := sql.bind(X_5,"sys","functions","name",0,0,8); + (X_69:bat[:oid,:oid] ,X_70:bat[:oid,:str] ) := sql.bind(X_5,"sys","functions","name",2,0,8); + X_119 := sql.delta(X_61,X_69,X_70); + X_134 := algebra.leftfetchjoin(X_45,X_119); + X_86:bat[:oid,:int] := sql.bind(X_5,"sys","functions","id",0,0,8); + (X_102:bat[:oid,:oid] ,X_103:bat[:oid,:int] ) := sql.bind(X_5,"sys","functions","id",2,0,8); + X_142 := sql.delta(X_86,X_102,X_103); + X_151 := algebra.leftfetchjoin(X_45,X_142); + X_159 := algebra.project(X_151,A0); + X_174 := algebra.project(X_151,A1); + X_182 := mal.manifold("str","replace",X_134,X_159,X_174); + X_47:bat[:oid,:oid] := sql.tid(X_5,"sys","functions",1,8); + X_62:bat[:oid,:str] := sql.bind(X_5,"sys","functions","name",0,1,8); + (X_71:bat[:oid,:oid] ,X_72:bat[:oid,:str] ) := sql.bind(X_5,"sys","functions","name",2,1,8); + X_121 := sql.delta(X_62,X_71,X_72); + X_135 := algebra.leftfetchjoin(X_47,X_121); + X_88:bat[:oid,:int] := sql.bind(X_5,"sys","functions","id",0,1,8); + (X_104:bat[:oid,:oid] ,X_105:bat[:oid,:int] ) := sql.bind(X_5,"sys","functions","id",2,1,8); + X_143 := sql.delta(X_88,X_104,X_105); + X_152 := algebra.leftfetchjoin(X_47,X_143); + X_161 := algebra.project(X_152,A0); + X_175 := algebra.project(X_152,A1); + X_183 := mal.manifold("str","replace",X_135,X_161,X_175); + X_49:bat[:oid,:oid] := sql.tid(X_5,"sys","functions",2,8); + X_63:bat[:oid,:str] := sql.bind(X_5,"sys","functions","name",0,2,8); + (X_73:bat[:oid,:oid] ,X_74:bat[:oid,:str] ) := sql.bind(X_5,"sys","functions","name",2,2,8); + X_123 := sql.delta(X_63,X_73,X_74); + X_136 := algebra.leftfetchjoin(X_49,X_123); _______________________________________________ checkin-list mailing list [email protected] https://www.monetdb.org/mailman/listinfo/checkin-list
