Changeset: 3212dea592ec for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=3212dea592ec
Modified Files:
sql/test/BugTracker-2014/Tests/manifold.Bug-3556.sql
sql/test/BugTracker-2014/Tests/manifold.Bug-3556.stable.out
Branch: Oct2014
Log Message:
Use shorter explain for ease of interpretation.
diffs (truncated from 528 to 300 lines):
diff --git a/sql/test/BugTracker-2014/Tests/manifold.Bug-3556.sql
b/sql/test/BugTracker-2014/Tests/manifold.Bug-3556.sql
--- a/sql/test/BugTracker-2014/Tests/manifold.Bug-3556.sql
+++ b/sql/test/BugTracker-2014/Tests/manifold.Bug-3556.sql
@@ -1,3 +1,4 @@
+set optimizer='sequential_pipe';
explain select replace(a1,a2,a3), id
from (
select name as a1, 'a' as a2, 'A' as a3, id as id
diff --git a/sql/test/BugTracker-2014/Tests/manifold.Bug-3556.stable.out
b/sql/test/BugTracker-2014/Tests/manifold.Bug-3556.stable.out
--- a/sql/test/BugTracker-2014/Tests/manifold.Bug-3556.stable.out
+++ b/sql/test/BugTracker-2014/Tests/manifold.Bug-3556.stable.out
@@ -61,124 +61,28 @@ Ready.
% .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();
+% 176 # length
+function user.s2_1{autoCommit=true}(A0:str,A1:str):void;
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")
+ X_5:bat[:oid,:oid] := sql.tid(X_4,"sys","functions");
+ X_8:bat[:oid,:str] := sql.bind(X_4,"sys","functions","name",0);
+ (X_11,r1_11) := sql.bind(X_4,"sys","functions","name",2);
+ X_14:bat[:oid,:str] := sql.bind(X_4,"sys","functions","name",1);
+ X_16 := sql.delta(X_8,X_11,r1_11,X_14);
+ X_17 := algebra.leftfetchjoin(X_5,X_16);
+ X_18:bat[:oid,:str] := mal.manifold("str","replace",X_17,A0,A1);
+ X_21:bat[:oid,:int] := sql.bind(X_4,"sys","functions","id",0);
+ (X_23,r1_25) := sql.bind(X_4,"sys","functions","id",2);
+ X_25:bat[:oid,:int] := sql.bind(X_4,"sys","functions","id",1);
+ X_26 := sql.delta(X_21,X_23,r1_25,X_25);
+ X_27 := algebra.leftfetchjoin(X_5,X_26);
+ X_28 := sql.resultSet(2,1,X_18);
+ sql.rsColumn(X_28,"sys.L1","L1","varchar",0,0,X_18);
+ sql.rsColumn(X_28,"sys.x","id","int",32,0,X_27);
+ X_37 := io.stdout();
+ sql.exportResult(X_37,X_28);
+end s2_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;","sequential_pipe")
#explain select replace(a1,a2,a3), id
#from (
# select name as a1, 'a' as a2, 'A' as a3, id + 1 as id
@@ -187,164 +91,32 @@ end s1_1;
% .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();
+% 180 # length
+function user.s3_1{autoCommit=true}(A0:str,A1:str,A2:lng):void;
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);
- X_90:bat[:oid,:int] := sql.bind(X_5,"sys","functions","id",0,2,8);
- (X_106:bat[:oid,:oid] ,X_107:bat[:oid,:int] ) :=
sql.bind(X_5,"sys","functions","id",2,2,8);
- X_144 := sql.delta(X_90,X_106,X_107);
- X_153 := algebra.leftfetchjoin(X_49,X_144);
- X_163 := algebra.project(X_153,A0);
- X_176 := algebra.project(X_153,A1);
- X_184 := mal.manifold("str","replace",X_136,X_163,X_176);
- X_51:bat[:oid,:oid] := sql.tid(X_5,"sys","functions",3,8);
- X_64:bat[:oid,:str] := sql.bind(X_5,"sys","functions","name",0,3,8);
- (X_75:bat[:oid,:oid] ,X_76:bat[:oid,:str] ) :=
sql.bind(X_5,"sys","functions","name",2,3,8);
- X_125 := sql.delta(X_64,X_75,X_76);
- X_137 := algebra.leftfetchjoin(X_51,X_125);
- X_92:bat[:oid,:int] := sql.bind(X_5,"sys","functions","id",0,3,8);
- (X_108:bat[:oid,:oid] ,X_109:bat[:oid,:int] ) :=
sql.bind(X_5,"sys","functions","id",2,3,8);
- X_145 := sql.delta(X_92,X_108,X_109);
- X_154 := algebra.leftfetchjoin(X_51,X_145);
- X_165 := algebra.project(X_154,A0);
- X_177 := algebra.project(X_154,A1);
- X_185 := mal.manifold("str","replace",X_137,X_165,X_177);
- X_53:bat[:oid,:oid] := sql.tid(X_5,"sys","functions",4,8);
- X_65:bat[:oid,:str] := sql.bind(X_5,"sys","functions","name",0,4,8);
- (X_78:bat[:oid,:oid] ,X_79:bat[:oid,:str] ) :=
sql.bind(X_5,"sys","functions","name",2,4,8);
- X_127 := sql.delta(X_65,X_78,X_79);
- X_138 := algebra.leftfetchjoin(X_53,X_127);
- X_94:bat[:oid,:int] := sql.bind(X_5,"sys","functions","id",0,4,8);
- (X_111:bat[:oid,:oid] ,X_112:bat[:oid,:int] ) :=
sql.bind(X_5,"sys","functions","id",2,4,8);
- X_146 := sql.delta(X_94,X_111,X_112);
- X_155 := algebra.leftfetchjoin(X_53,X_146);
- X_167 := algebra.project(X_155,A0);
- X_178 := algebra.project(X_155,A1);
- X_186 := mal.manifold("str","replace",X_138,X_167,X_178);
- X_55:bat[:oid,:oid] := sql.tid(X_5,"sys","functions",5,8);
- X_66:bat[:oid,:str] := sql.bind(X_5,"sys","functions","name",0,5,8);
- (X_80:bat[:oid,:oid] ,X_81:bat[:oid,:str] ) :=
sql.bind(X_5,"sys","functions","name",2,5,8);
- X_129 := sql.delta(X_66,X_80,X_81);
- X_139 := algebra.leftfetchjoin(X_55,X_129);
- X_96:bat[:oid,:int] := sql.bind(X_5,"sys","functions","id",0,5,8);
- (X_113:bat[:oid,:oid] ,X_114:bat[:oid,:int] ) :=
sql.bind(X_5,"sys","functions","id",2,5,8);
- X_147 := sql.delta(X_96,X_113,X_114);
- X_156 := algebra.leftfetchjoin(X_55,X_147);
- X_169 := algebra.project(X_156,A0);
- X_179 := algebra.project(X_156,A1);
- X_187 := mal.manifold("str","replace",X_139,X_169,X_179);
- X_57:bat[:oid,:oid] := sql.tid(X_5,"sys","functions",6,8);
- X_67:bat[:oid,:str] := sql.bind(X_5,"sys","functions","name",0,6,8);
- (X_82:bat[:oid,:oid] ,X_83:bat[:oid,:str] ) :=
sql.bind(X_5,"sys","functions","name",2,6,8);
- X_131 := sql.delta(X_67,X_82,X_83);
- X_140 := algebra.leftfetchjoin(X_57,X_131);
- X_98:bat[:oid,:int] := sql.bind(X_5,"sys","functions","id",0,6,8);
- (X_115:bat[:oid,:oid] ,X_116:bat[:oid,:int] ) :=
sql.bind(X_5,"sys","functions","id",2,6,8);
- X_148 := sql.delta(X_98,X_115,X_116);
- X_157 := algebra.leftfetchjoin(X_57,X_148);
- X_171 := algebra.project(X_157,A0);
- X_180 := algebra.project(X_157,A1);
- X_188 := mal.manifold("str","replace",X_140,X_171,X_180);
- X_59:bat[:oid,:oid] := sql.tid(X_5,"sys","functions",7,8);
- X_68:bat[:oid,:str] := sql.bind(X_5,"sys","functions","name",0,7,8);
- (X_84:bat[:oid,:oid] ,X_85:bat[:oid,:str] ) :=
sql.bind(X_5,"sys","functions","name",2,7,8);
- X_11:bat[:oid,:str] := sql.bind(X_5,"sys","functions","name",1);
- X_133 := sql.delta(X_68,X_84,X_85,X_11);
- X_141 := algebra.leftfetchjoin(X_59,X_133);
- X_100:bat[:oid,:int] := sql.bind(X_5,"sys","functions","id",0,7,8);
- (X_117:bat[:oid,:oid] ,X_118:bat[:oid,:int] ) :=
sql.bind(X_5,"sys","functions","id",2,7,8);
- X_14:bat[:oid,:int] := sql.bind(X_5,"sys","functions","id",1);
- X_149 := sql.delta(X_100,X_117,X_118,X_14);
- X_158 := algebra.leftfetchjoin(X_59,X_149);
- X_173 := algebra.project(X_158,A0);
- X_181 := algebra.project(X_158,A1);
- X_189 := mal.manifold("str","replace",X_141,X_173,X_181);
- X_214 := mat.packIncrement(X_182,8);
- X_215 := mat.packIncrement(X_214,X_183);
- X_216 := mat.packIncrement(X_215,X_184);
- X_217 := mat.packIncrement(X_216,X_185);
- X_218 := mat.packIncrement(X_217,X_186);
- X_219 := mat.packIncrement(X_218,X_187);
- X_220 := mat.packIncrement(X_219,X_188);
- X_15:bat[:oid,:str] := mat.packIncrement(X_220,X_189);
- X_198 := batcalc.lng(X_158);
- X_213 := batcalc.+(X_198,A2);
- X_197 := batcalc.lng(X_157);
- X_211 := batcalc.+(X_197,A2);
- X_196 := batcalc.lng(X_156);
- X_209 := batcalc.+(X_196,A2);
- X_195 := batcalc.lng(X_155);
- X_207 := batcalc.+(X_195,A2);
- X_194 := batcalc.lng(X_154);
- X_205 := batcalc.+(X_194,A2);
- X_193 := batcalc.lng(X_153);
- X_203 := batcalc.+(X_193,A2);
- X_192 := batcalc.lng(X_152);
- X_201 := batcalc.+(X_192,A2);
- X_191 := batcalc.lng(X_151);
- X_199 := batcalc.+(X_191,A2);
- language.pass(X_45);
- language.pass(X_47);
- language.pass(X_49);
- language.pass(X_51);
- language.pass(X_53);
- language.pass(X_55);
- language.pass(X_57);
- language.pass(X_59);
- language.pass(X_158);
- language.pass(X_157);
- language.pass(X_156);
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list