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

Reply via email to