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