Test foreign_key_outer_join_dead_code_elimination-explain-2join-view.sql (id 85ca3a09c8e6) (err)
foreign_key_outer_join_dead_code_elimination-explain-2join-view.stable.out.FILTERED 2018-12-05 19:40:33.563804665 +0100foreign_key_outer_join_dead_code_elimination-explain-2join-view.test.out.FILTERED 2018-12-05 19:40:33.573805135 +0100
1 Statistics about stdout of test 'foreign_key_outer_join_dead_code_elimination-explain-2join-view` in directory 'sql/test/FeatureRequests`: 1 1 Statistics about stdout of test 'foreign_key_outer_join_dead_code_elimination-explain-2join-view` in directory 'sql/test/FeatureRequests`: 1
2 88 lines, 404 words, 4784 chars in lines not matching '^$|^(\| |)#|^=` 2 ! 2 89 lines, 407 words, 4850 chars in lines not matching '^$|^(\| |)#|^=` 2
3 = 88 lines, 404 words, 4784 chars in lines not matching '^$|^(\| |)#` 3 ! 3 = 89 lines, 407 words, 4850 chars in lines not matching '^$|^(\| |)#` 3
4 # 201 lines, 940 words, 8610 chars in all lines 4 ! 4 # 194 lines, 919 words, 8553 chars in all lines 4
5 5 5 5
..................
#explain select count(*) from v2;
39 % clob # type 39 36 % clob # type 36
40 % 123 # length 40 ! 37 % 103 # length 37
41 function user.s4_1():void; 41 38 function user.s4_1():void; 38
42 X_1:void := querylog.define("explain select count(*) from v2;":str, "sequential_pipe":str, 87:int); 42 ! 39 X_1:void := querylog.define("explain select count(*) from v2;":str, "sequential_pipe":str, 12:int); 39
43 X_4:int := sql.mvc(); 43 40 X_4:int := sql.mvc(); 40
..................
#explain select count(*) from v2;
45 X_8:bat[:int] := sql.bind(X_4:int, "sys":str, "fk":str, "id":str, 0:int); 45 42 X_8:bat[:int] := sql.bind(X_4:int, "sys":str, "fk":str, "id":str, 0:int); 42
46 X_18:lng := aggr.count(X_8:bat[:int], C_5:bat[:oid]); 46 ! 43 X_17:bat[:int] := algebra.projection(C_5:bat[:oid], X_8:bat[:int]); 43
+ 44 X_18:lng := aggr.count(X_17:bat[:int]); 44
47 sql.resultSet("sys.L14":str, "L13":str, "bigint":str, 64:int, 0:int, 7:int, X_18:lng); 47 ! 45 sql.resultSet("sys.L13":str, "L13":str, "bigint":str, 64:int, 0:int, 7:int, X_18:lng); 45
48 end user.s4_1; 48 46 end user.s4_1; 46
..................
#explain select id from v2 order b
78 % clob # type 78 74 % clob # type 74
79 % 123 # length 79 ! 75 % 114 # length 75
80 function user.s6_1():void; 80 76 function user.s6_1():void; 76
81 X_1:void := querylog.define("explain select id from v2 order by id;":str, "sequential_pipe":str, 98:int); 81 ! 77 X_1:void := querylog.define("explain select id from v2 order by id;":str, "sequential_pipe":str, 33:int); 77
82 X_25:bat[:str] := bat.new(nil:str); 82 ! 78 X_39:bat[:str] := bat.new(nil:str); 78
83 X_31:bat[:int] := bat.new(nil:int); 83 ! 79 X_45:bat[:int] := bat.new(nil:int); 79
84 X_29:bat[:int] := bat.new(nil:int); 84 ! 80 X_43:bat[:int] := bat.new(nil:int); 80
85 X_28:bat[:str] := bat.new(nil:str); 85 ! 81 X_42:bat[:str] := bat.new(nil:str); 81
86 X_27:bat[:str] := bat.new(nil:str); 86 ! 82 X_41:bat[:str] := bat.new(nil:str); 82
87 X_4:int := sql.mvc(); 87 83 X_4:int := sql.mvc(); 83
..................
#explain select id from v2 order b
90 X_17:bat[:int] := algebra.projection(C_5:bat[:oid], X_8:bat[:int]); 90 86 X_17:bat[:int] := algebra.projection(C_5:bat[:oid], X_8:bat[:int]); 86
91 (X_18:bat[:int], X_19:bat[:oid], X_20:bat[:oid]) := algebra.sort(X_17:bat[:int], false:bit, false:bit); 91 ! 87 (X_32:bat[:int], X_33:bat[:oid], X_34:bat[:oid]) := algebra.sort(X_17:bat[:int], false:bit, false:bit); 87
92 X_23:bat[:int] := algebra.projection(X_19:bat[:oid], X_17:bat[:int]); 92 ! 88 X_37:bat[:int] := algebra.projection(X_33:bat[:oid], X_17:bat[:int]); 88
93 X_32:bat[:str] := bat.append(X_25:bat[:str], "sys.v2":str); 93 ! 89 X_46:bat[:str] := bat.append(X_39:bat[:str], "sys.v2":str); 89
94 X_34:bat[:str] := bat.append(X_27:bat[:str], "id":str); 94 ! 90 X_48:bat[:str] := bat.append(X_41:bat[:str], "id":str); 90
95 X_35:bat[:str] := bat.append(X_28:bat[:str], "int":str); 95 ! 91 X_50:bat[:str] := bat.append(X_42:bat[:str], "int":str); 91
96 X_37:bat[:int] := bat.append(X_29:bat[:int], 32:int); 96 ! 92 X_52:bat[:int] := bat.append(X_43:bat[:int], 32:int); 92
97 X_39:bat[:int] := bat.append(X_31:bat[:int], 0:int); 97 ! 93 X_54:bat[:int] := bat.append(X_45:bat[:int], 0:int); 93
98 sql.resultSet(X_32:bat[:str], X_34:bat[:str], X_35:bat[:str], X_37:bat[:int], X_39:bat[:int], X_23:bat[:int]); 98 ! 94 sql.resultSet(X_46:bat[:str], X_48:bat[:str], X_50:bat[:str], X_52:bat[:int], X_54:bat[:int], X_37:bat[:int]); 94
99 end user.s6_1; 99 95 end user.s6_1; 95
..................
#explain select id , v2 from v2 order b
129 % clob # type 129 123 % clob # type 123
130 % 137 # length 130 ! 124 % 135 # length 124
131 function user.s8_1():void; 131 125 function user.s8_1():void; 125
132 X_1:void := querylog.define("explain select id , v2 from v2 order by id;":str, "sequential_pipe":str, 115:int); 132 ! 126 X_1:void := querylog.define("explain select id , v2 from v2 order by id;":str, "sequential_pipe":str, 75:int); 126
133 X_43:bat[:int] := bat.new(nil:int); 133 ! 127 X_50:bat[:int] := bat.new(nil:int); 127
134 X_4:int := sql.mvc(); 134 128 X_4:int := sql.mvc(); 128
135 C_5:bat[:oid] := sql.tid(X_4:int, "sys":str, "fk":str); 135 129 C_5:bat[:oid] := sql.tid(X_4:int, "sys":str, "fk":str); 129
136 X_18:bat[:oid] := sql.bind_idxbat(X_4:int, "sys":str, "fk":str, "fk_fk1_fkey":str, 0:int); 136 ! 130 X_25:bat[:oid] := sql.bind_idxbat(X_4:int, "sys":str, "fk":str, "fk_fk2_fkey":str, 0:int); 130
137 (X_21:bat[:oid], X_22:bat[:oid]) := sql.bind_idxbat(X_4:int, "sys":str, "fk":str, "fk_fk1_fkey":str, 2:int); 137 ! 131 (X_28:bat[:oid], X_29:bat[:oid]) := sql.bind_idxbat(X_4:int, "sys":str, "fk":str, "fk_fk2_fkey":str, 2:int); 131
138 X_20:bat[:oid] := sql.bind_idxbat(X_4:int, "sys":str, "fk":str, "fk_fk1_fkey":str, 1:int); 138 ! 132 X_27:bat[:oid] := sql.bind_idxbat(X_4:int, "sys":str, "fk":str, "fk_fk2_fkey":str, 1:int); 132
139 X_23:bat[:oid] := sql.delta(X_18:bat[:oid], X_21:bat[:oid], X_22:bat[:oid], X_20:bat[:oid]); 139 ! 133 X_30:bat[:oid] := sql.delta(X_25:bat[:oid], X_28:bat[:oid], X_29:bat[:oid], X_27:bat[:oid]); 133
140 X_24:bat[:oid] := algebra.projection(C_5:bat[:oid], X_23:bat[:oid]); 140 ! 134 X_31:bat[:oid] := algebra.projection(C_5:bat[:oid], X_30:bat[:oid]); 134
141 C_25:bat[:oid] := sql.tid(X_4:int, "sys":str, "pk1":str); 141 ! 135 C_32:bat[:oid] := sql.tid(X_4:int, "sys":str, "pk2":str); 135
142 (X_34:bat[:oid], X_35:bat[:oid]) := algebra.join(X_24:bat[:oid], C_25:bat[:oid], nil:BAT, nil:BAT, false:bit, nil:lng); 142 ! 136 (X_41:bat[:oid], X_42:bat[:oid]) := algebra.join(X_31:bat[:oid], C_32:bat[:oid], nil:BAT, nil:BAT, false:bit, nil:lng); 136
143 X_8:bat[:int] := sql.bind(X_4:int, "sys":str, "fk":str, "id":str, 0:int); 143 137 X_8:bat[:int] := sql.bind(X_4:int, "sys":str, "fk":str, "id":str, 0:int); 137
144 X_17:bat[:int] := algebra.projection(C_5:bat[:oid], X_8:bat[:int]); 144 138 X_17:bat[:int] := algebra.projection(C_5:bat[:oid], X_8:bat[:int]); 138
145 X_42:bat[:int] := algebra.projection(X_34:bat[:oid], X_17:bat[:int]); 145 ! 139 X_49:bat[:int] := algebra.projection(X_41:bat[:oid], X_17:bat[:int]); 139
146 C_40:bat[:oid] := bat.mirror(X_17:bat[:int]); 146 ! 140 C_47:bat[:oid] := bat.mirror(X_17:bat[:int]); 140
147 C_41:bat[:oid] := algebra.difference(C_40:bat[:oid], X_34:bat[:oid], nil:BAT, nil:BAT, false:bit, nil:lng); 147 ! 141 C_48:bat[:oid] := algebra.difference(C_47:bat[:oid], X_41:bat[:oid], nil:BAT, nil:BAT, false:bit, nil:lng); 141
148 X_27:bat[:int] := sql.bind(X_4:int, "sys":str, "pk1":str, "v2":str, 0:int); 148 ! 142 X_34:bat[:int] := sql.bind(X_4:int, "sys":str, "pk2":str, "v2":str, 0:int); 142
149 X_45:bat[:int] := bat.append(X_43:bat[:int], X_42:bat[:int], true:bit); 149 ! 143 X_52:bat[:int] := bat.append(X_50:bat[:int], X_49:bat[:int], true:bit); 143
150 X_47:bat[:int] := algebra.projection(C_41:bat[:oid], X_17:bat[:int]); 150 ! 144 X_54:bat[:int] := algebra.projection(C_48:bat[:oid], X_17:bat[:int]); 144
151 X_48:bat[:int] := bat.append(X_45:bat[:int], X_47:bat[:int], true:bit); 151 ! 145 X_55:bat[:int] := bat.append(X_52:bat[:int], X_54:bat[:int], true:bit); 145
152 X_56:bat[:int] := bat.new(nil:int); 152 ! 146 X_68:bat[:int] := bat.new(nil:int); 146
153 X_55:bat[:int] := algebra.projectionpath(X_35:bat[:oid], C_25:bat[:oid], X_27:bat[:int]); 153 ! 147 X_67:bat[:int] := algebra.projectionpath(X_42:bat[:oid], C_32:bat[:oid], X_34:bat[:int]); 147
154 X_57:bat[:int] := bat.append(X_56:bat[:int], X_55:bat[:int], true:bit); 154 ! 148 X_69:bat[:int] := bat.append(X_68:bat[:int], X_67:bat[:int], true:bit); 148
155 X_59:bat[:int] := algebra.project(C_41:bat[:oid], nil:int); 155 ! 149 X_71:bat[:int] := algebra.project(C_48:bat[:oid], nil:int); 149
156 X_60:bat[:int] := bat.append(X_57:bat[:int], X_59:bat[:int], true:bit); 156 ! 150 X_72:bat[:int] := bat.append(X_69:bat[:int], X_71:bat[:int], true:bit); 150
157 X_73:bat[:str] := bat.new(nil:str); 157 ! 151 X_87:bat[:str] := bat.new(nil:str); 151
158 X_79:bat[:int] := bat.new(nil:int); 158 ! 152 X_93:bat[:int] := bat.new(nil:int); 152
159 X_77:bat[:int] := bat.new(nil:int); 159 ! 153 X_91:bat[:int] := bat.new(nil:int); 153
160 X_76:bat[:str] := bat.new(nil:str); 160 ! 154 X_90:bat[:str] := bat.new(nil:str); 154
161 X_75:bat[:str] := bat.new(nil:str); 161 ! 155 X_89:bat[:str] := bat.new(nil:str); 155
162 (X_67:bat[:int], X_68:bat[:oid], X_69:bat[:oid]) := algebra.sort(X_48:bat[:int], false:bit, false:bit); 162 ! 156 (X_79:bat[:int], X_80:bat[:oid], X_81:bat[:oid]) := algebra.sort(X_55:bat[:int], false:bit, false:bit); 156
163 X_71:bat[:int] := algebra.projection(X_68:bat[:oid], X_60:bat[:int]); 163 ! 157 X_85:bat[:int] := algebra.projection(X_80:bat[:oid], X_72:bat[:int]); 157
164 X_70:bat[:int] := algebra.projection(X_68:bat[:oid], X_48:bat[:int]); 164 ! 158 X_84:bat[:int] := algebra.projection(X_80:bat[:oid], X_55:bat[:int]); 158
165 X_80:bat[:str] := bat.append(X_73:bat[:str], ".v2":str); 165 ! 159 X_94:bat[:str] := bat.append(X_87:bat[:str], ".v2":str); 159
166 X_82:bat[:str] := bat.append(X_75:bat[:str], "id":str); 166 ! 160 X_96:bat[:str] := bat.append(X_89:bat[:str], "id":str); 160
167 X_84:bat[:str] := bat.append(X_76:bat[:str], "int":str); 167 ! 161 X_98:bat[:str] := bat.append(X_90:bat[:str], "int":str); 161
168 X_86:bat[:int] := bat.append(X_77:bat[:int], 32:int); 168 ! 162 X_100:bat[:int] := bat.append(X_91:bat[:int], 32:int); 162
169 X_88:bat[:int] := bat.append(X_79:bat[:int], 0:int); 169 ! 163 X_102:bat[:int] := bat.append(X_93:bat[:int], 0:int); 163
170 X_90:bat[:str] := bat.append(X_80:bat[:str], ".v2":str); 170 ! 164 X_104:bat[:str] := bat.append(X_94:bat[:str], ".v2":str); 164
171 X_91:bat[:str] := bat.append(X_82:bat[:str], "v2":str); 171 ! 165 X_105:bat[:str] := bat.append(X_96:bat[:str], "v2":str); 165
172 X_93:bat[:str] := bat.append(X_84:bat[:str], "int":str); 172 ! 166 X_107:bat[:str] := bat.append(X_98:bat[:str], "int":str); 166
173 X_94:bat[:int] := bat.append(X_86:bat[:int], 32:int); 173 ! 167 X_108:bat[:int] := bat.append(X_100:bat[:int], 32:int); 167
174 X_95:bat[:int] := bat.append(X_88:bat[:int], 0:int); 174 ! 168 X_109:bat[:int] := bat.append(X_102:bat[:int], 0:int); 168
175 sql.resultSet(X_90:bat[:str], X_91:bat[:str], X_93:bat[:str], X_94:bat[:int], X_95:bat[:int], X_70:bat[:int], X_71:bat[:int]); 175 ! 169 sql.resultSet(X_104:bat[:str], X_105:bat[:str], X_107:bat[:str], X_108:bat[:int], X_109:bat[:int], X_84:bat[:int], X_85:bat[:int]); 169
176 end user.s8_1; 176 170 end user.s8_1; 170