Merge lp:~linuxjedi/drizzle/trunk-bug-713347 into lp:drizzle/7.0
- trunk-bug-713347
- Merge into 7.0
Proposed by
Andrew Hutchings
Status: | Merged | ||||
---|---|---|---|---|---|
Approved by: | Brian Aker | ||||
Approved revision: | 2144 | ||||
Merged at revision: | 2149 | ||||
Proposed branch: | lp:~linuxjedi/drizzle/trunk-bug-713347 | ||||
Merge into: | lp:drizzle/7.0 | ||||
Diff against target: |
1631 lines (+171/-210) 79 files modified
drizzled/error.cc (+1/-1) drizzled/error_t.h (+2/-1) drizzled/join.cc (+7/-0) drizzled/sql_lex.cc (+1/-0) drizzled/sql_lex.h (+5/-0) drizzled/sql_yacc.yy (+5/-1) plugin/innobase/os/os0file.cc (+1/-1) plugin/innobase/tests/r/func_group_innodb.result (+4/-4) plugin/innobase/tests/r/index_merge_innodb.result (+1/-1) plugin/innobase/tests/r/innodb_mysql.result (+1/-1) plugin/innobase/tests/t/func_group_innodb.test (+4/-4) plugin/session_dictionary/tests/r/data_dictionary.result (+2/-2) plugin/session_dictionary/tests/t/data_dictionary.test (+2/-2) plugin/table_cache_dictionary/tests/r/table_cache.result (+1/-1) plugin/table_cache_dictionary/tests/r/table_definition_cache.result (+1/-1) plugin/table_cache_dictionary/tests/t/table_cache.test (+1/-1) plugin/table_cache_dictionary/tests/t/table_definition_cache.test (+1/-1) tests/include/index_merge2.inc (+1/-1) tests/include/mix1.inc (+1/-1) tests/r/derived.result (+9/-9) tests/r/distinct.result (+1/-3) tests/r/func_gconcat.result (+3/-2) tests/r/func_group.result (+2/-2) tests/r/func_in.result (+8/-8) tests/r/global_read_constraints.result (+1/-1) tests/r/group_by.result (+1/-1) tests/r/group_min_max.result (+1/-1) tests/r/insert_select.result (+1/-1) tests/r/join.result (+5/-7) tests/r/join_nested.result (+5/-21) tests/r/key_diff.result (+1/-1) tests/r/olap.result (+1/-1) tests/r/order_by.result (+3/-3) tests/r/range.result (+2/-2) tests/r/select.result (+3/-3) tests/r/select_safe.result (+2/-2) tests/r/status.result (+1/-1) tests/r/subselect.result (+2/-10) tests/r/subselect3.result (+1/-1) tests/r/subselect_sj.result (+1/-1) tests/r/subselect_sj2.result (+1/-1) tests/r/sum_distinct.result (+3/-3) tests/r/type_blob.result (+1/-1) tests/r/type_date.result (+2/-2) tests/r/type_float.result (+1/-1) tests/r/type_ranges.result (+1/-1) tests/r/union.result (+1/-1) tests/r/update.result (+1/-1) tests/suite/jp/r/join_utf8.result (+0/-30) tests/suite/jp/t/join_utf8.test (+0/-6) tests/t/derived.test (+6/-6) tests/t/distinct.test (+1/-0) tests/t/func_gconcat.test (+3/-2) tests/t/func_group.test (+2/-2) tests/t/func_in.test (+8/-8) tests/t/global_read_constraints.test (+1/-1) tests/t/group_by.test (+1/-1) tests/t/group_min_max.test (+1/-1) tests/t/insert_select.test (+1/-1) tests/t/join.test (+5/-2) tests/t/join_nested.test (+5/-5) tests/t/key_diff.test (+1/-1) tests/t/olap.test (+1/-1) tests/t/order_by.test (+5/-5) tests/t/range.test (+2/-2) tests/t/select.test (+3/-3) tests/t/select_safe.test (+2/-2) tests/t/status.test (+1/-1) tests/t/subselect.test (+2/-1) tests/t/subselect3.test (+1/-1) tests/t/subselect_sj.test (+1/-1) tests/t/subselect_sj2.test (+1/-1) tests/t/sum_distinct.test (+3/-3) tests/t/type_blob.test (+1/-1) tests/t/type_date.test (+2/-2) tests/t/type_float.test (+1/-1) tests/t/type_ranges.test (+1/-1) tests/t/union.test (+1/-1) tests/t/update.test (+1/-1) |
||||
To merge this branch: | bzr merge lp:~linuxjedi/drizzle/trunk-bug-713347 | ||||
Related bugs: |
|
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Drizzle Developers | Pending | ||
Review via email: mp+48808@code.launchpad.net |
Commit message
Description of the change
Implicit joins of the form "SELECT * FROM t1, t2" without WHERE or ON now error.
To post a comment you must log in.
- 2144. By Andrew Hutchings
-
Merge with trunk
Preview Diff
[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1 | === modified file 'drizzled/error.cc' |
2 | --- drizzled/error.cc 2011-02-04 09:28:16 +0000 |
3 | +++ drizzled/error.cc 2011-02-07 17:26:32 +0000 |
4 | @@ -503,7 +503,7 @@ |
5 | ADD_ERROR_MESSAGE(ER_USE_SQL_BIG_RESULT, N_("Temporary table too large, rerun with SQL_BIG_RESULT.")); |
6 | ADD_ERROR_MESSAGE(ER_UNKNOWN_ENGINE_OPTION, N_("Unknown table engine option key/pair %s = %s.")); |
7 | ADD_ERROR_MESSAGE(ER_UNKNOWN_SCHEMA_OPTION, N_("Unknown schema engine option key/pair %s = %s.")); |
8 | - |
9 | + ADD_ERROR_MESSAGE(ER_CARTESIAN_JOIN_ATTEMPTED, N_("Implicit cartesian join attempted.")); |
10 | ADD_ERROR_MESSAGE(ER_ADMIN_ACCESS, N_("Admin access not allowed from this username/IP address.")); |
11 | |
12 | // User lock/barrier error messages |
13 | |
14 | === modified file 'drizzled/error_t.h' |
15 | --- drizzled/error_t.h 2011-02-04 09:28:16 +0000 |
16 | +++ drizzled/error_t.h 2011-02-07 17:26:32 +0000 |
17 | @@ -864,7 +864,8 @@ |
18 | ER_INVALID_DATE_VALUE, |
19 | ER_TRANSACTIONAL_DDL_NOT_SUPPORTED, |
20 | ER_USE_DATA_DICTIONARY, |
21 | - ER_TRANSACTION_ALREADY_STARTED |
22 | + ER_TRANSACTION_ALREADY_STARTED, |
23 | + ER_CARTESIAN_JOIN_ATTEMPTED |
24 | }; |
25 | |
26 | |
27 | |
28 | === modified file 'drizzled/join.cc' |
29 | --- drizzled/join.cc 2011-02-04 19:50:47 +0000 |
30 | +++ drizzled/join.cc 2011-02-07 17:26:32 +0000 |
31 | @@ -4623,6 +4623,12 @@ |
32 | join->full_join= 1; |
33 | } |
34 | |
35 | + if (join->full_join and not session->lex->current_select->is_cross and not cond) |
36 | + { |
37 | + my_error(ER_CARTESIAN_JOIN_ATTEMPTED, MYF(0)); |
38 | + return 1; |
39 | + } |
40 | + |
41 | tmp= NULL; |
42 | if (cond) |
43 | tmp= make_cond_for_table(cond,used_tables,current_map, 0); |
44 | @@ -5877,6 +5883,7 @@ |
45 | s->quick=select->quick; |
46 | s->needed_reg=select->needed_reg; |
47 | select->quick=0; |
48 | + |
49 | if (records == 0 && s->table->reginfo.impossible_range) |
50 | { |
51 | /* |
52 | |
53 | === modified file 'drizzled/sql_lex.cc' |
54 | --- drizzled/sql_lex.cc 2011-01-24 23:10:42 +0000 |
55 | +++ drizzled/sql_lex.cc 2011-02-07 17:26:32 +0000 |
56 | @@ -1397,6 +1397,7 @@ |
57 | select_limit= 0; /* denotes the default limit = HA_POS_ERROR */ |
58 | offset_limit= 0; /* denotes the default offset = 0 */ |
59 | with_sum_func= 0; |
60 | + is_cross= false; |
61 | is_correlated= 0; |
62 | cur_pos_in_select_list= UNDEF_POS; |
63 | non_agg_fields.empty(); |
64 | |
65 | === modified file 'drizzled/sql_lex.h' |
66 | --- drizzled/sql_lex.h 2011-01-24 23:10:42 +0000 |
67 | +++ drizzled/sql_lex.h 2011-02-07 17:26:32 +0000 |
68 | @@ -450,6 +450,7 @@ |
69 | n_sum_items(0), |
70 | n_child_sum_items(0), |
71 | explicit_limit(0), |
72 | + is_cross(false), |
73 | subquery_in_having(0), |
74 | is_correlated(0), |
75 | exclude_from_table_unique_test(0), |
76 | @@ -534,6 +535,10 @@ |
77 | |
78 | /* explicit LIMIT clause was used */ |
79 | bool explicit_limit; |
80 | + |
81 | + /* explicit CROSS JOIN was used */ |
82 | + bool is_cross; |
83 | + |
84 | /* |
85 | there are subquery in HAVING clause => we can't close tables before |
86 | query processing end even if we use temporary table |
87 | |
88 | === modified file 'drizzled/sql_yacc.yy' |
89 | --- drizzled/sql_yacc.yy 2011-02-05 20:36:14 +0000 |
90 | +++ drizzled/sql_yacc.yy 2011-02-07 17:26:32 +0000 |
91 | @@ -3518,7 +3518,11 @@ |
92 | normal_join: |
93 | JOIN_SYM {} |
94 | | INNER_SYM JOIN_SYM {} |
95 | - | CROSS JOIN_SYM { Lex->is_cross= true; } |
96 | + | CROSS JOIN_SYM |
97 | + { |
98 | + Lex->is_cross= true; |
99 | + Lex->current_select->is_cross= true; |
100 | + } |
101 | ; |
102 | |
103 | /* |
104 | |
105 | === modified file 'plugin/innobase/os/os0file.cc' |
106 | --- plugin/innobase/os/os0file.cc 2011-01-08 09:35:11 +0000 |
107 | +++ plugin/innobase/os/os0file.cc 2011-02-07 17:26:32 +0000 |
108 | @@ -662,7 +662,7 @@ |
109 | if (errno == EAGAIN || errno == EACCES) { |
110 | fprintf(stderr, |
111 | "InnoDB: Check that you do not already have" |
112 | - " another mysqld process\n" |
113 | + " another drizzled process\n" |
114 | "InnoDB: using the same InnoDB data" |
115 | " or log files.\n"); |
116 | } |
117 | |
118 | === modified file 'plugin/innobase/tests/r/func_group_innodb.result' |
119 | --- plugin/innobase/tests/r/func_group_innodb.result 2010-09-12 14:34:27 +0000 |
120 | +++ plugin/innobase/tests/r/func_group_innodb.result 2011-02-07 17:26:32 +0000 |
121 | @@ -76,11 +76,11 @@ |
122 | select min(7); |
123 | min(7) |
124 | 7 |
125 | -explain select min(7) from t2i join t1i; |
126 | +explain select min(7) from t2i cross join t1i; |
127 | id select_type table type possible_keys key key_len ref rows Extra |
128 | 1 SIMPLE t2i ALL NULL NULL NULL NULL 1 |
129 | 1 SIMPLE t1i ALL NULL NULL NULL NULL 1 Using join buffer |
130 | -select min(7) from t2i join t1i; |
131 | +select min(7) from t2i cross join t1i; |
132 | min(7) |
133 | NULL |
134 | select max(a) from t1i; |
135 | @@ -92,11 +92,11 @@ |
136 | select max(7); |
137 | max(7) |
138 | 7 |
139 | -explain select max(7) from t2i join t1i; |
140 | +explain select max(7) from t2i cross join t1i; |
141 | id select_type table type possible_keys key key_len ref rows Extra |
142 | 1 SIMPLE t2i ALL NULL NULL NULL NULL 1 |
143 | 1 SIMPLE t1i ALL NULL NULL NULL NULL 1 Using join buffer |
144 | -select max(7) from t2i join t1i; |
145 | +select max(7) from t2i cross join t1i; |
146 | max(7) |
147 | NULL |
148 | select 1, min(a) from t1i where a=99; |
149 | |
150 | === modified file 'plugin/innobase/tests/r/index_merge_innodb.result' |
151 | --- plugin/innobase/tests/r/index_merge_innodb.result 2010-12-08 22:35:56 +0000 |
152 | +++ plugin/innobase/tests/r/index_merge_innodb.result 2011-02-07 17:26:32 +0000 |
153 | @@ -97,7 +97,7 @@ |
154 | create table t2 (a int); |
155 | insert into t2 values (0),(1),(2),(3),(4),(NULL); |
156 | insert into t1 (key1a, key1b, key2a, key2b, key3a, key3b) |
157 | -select A.a, B.a, C.a, D.a, C.a, D.a from t2 A,t2 B,t2 C, t2 D; |
158 | +select A.a, B.a, C.a, D.a, C.a, D.a from t2 A CROSS JOIN t2 B CROSS JOIN t2 C CROSS JOIN t2 D; |
159 | insert into t1 (key1a, key1b, key2a, key2b, key3a, key3b) |
160 | select key1a, key1b, key2a, key2b, key3a, key3b from t1; |
161 | insert into t1 (key1a, key1b, key2a, key2b, key3a, key3b) |
162 | |
163 | === modified file 'plugin/innobase/tests/r/innodb_mysql.result' |
164 | --- plugin/innobase/tests/r/innodb_mysql.result 2011-01-21 01:09:12 +0000 |
165 | +++ plugin/innobase/tests/r/innodb_mysql.result 2011-02-07 17:26:32 +0000 |
166 | @@ -277,7 +277,7 @@ |
167 | DELETE IGNORE FROM t1 WHERE i = 1; |
168 | Warnings: |
169 | Error 1451 Cannot delete or update a parent row: a foreign key constraint fails (`test`.`t2`, CONSTRAINT `t2_ibfk_1` FOREIGN KEY (`i`) REFERENCES `t1` (`i`) ON DELETE NO ACTION) |
170 | -SELECT * FROM t1, t2; |
171 | +SELECT * FROM t1 CROSS JOIN t2; |
172 | i i |
173 | 1 1 |
174 | DROP TABLE t2, t1; |
175 | |
176 | === modified file 'plugin/innobase/tests/t/func_group_innodb.test' |
177 | --- plugin/innobase/tests/t/func_group_innodb.test 2010-09-12 14:34:27 +0000 |
178 | +++ plugin/innobase/tests/t/func_group_innodb.test 2011-02-07 17:26:32 +0000 |
179 | @@ -53,14 +53,14 @@ |
180 | select min(a) from t1i; |
181 | select min(7) from t1i; |
182 | select min(7); |
183 | -explain select min(7) from t2i join t1i; |
184 | -select min(7) from t2i join t1i; |
185 | +explain select min(7) from t2i cross join t1i; |
186 | +select min(7) from t2i cross join t1i; |
187 | |
188 | select max(a) from t1i; |
189 | select max(7) from t1i; |
190 | select max(7); |
191 | -explain select max(7) from t2i join t1i; |
192 | -select max(7) from t2i join t1i; |
193 | +explain select max(7) from t2i cross join t1i; |
194 | +select max(7) from t2i cross join t1i; |
195 | |
196 | select 1, min(a) from t1i where a=99; |
197 | select 1, min(a) from t1i where 1=99; |
198 | |
199 | === modified file 'plugin/session_dictionary/tests/r/data_dictionary.result' |
200 | --- plugin/session_dictionary/tests/r/data_dictionary.result 2011-01-18 18:10:43 +0000 |
201 | +++ plugin/session_dictionary/tests/r/data_dictionary.result 2011-02-07 17:26:32 +0000 |
202 | @@ -20,5 +20,5 @@ |
203 | 1 |
204 | SELECT ASSERT(ID) FROM processlist; |
205 | SELECT ID FROM processlist ORDER BY ID; |
206 | -SELECT a.ID FROM processlist as a, processlist as b ORDER BY ID; |
207 | -SELECT a.ID FROM processlist as a, data_dictionary.processlist as b; |
208 | +SELECT a.ID FROM processlist as a CROSS JOIN processlist as b ORDER BY ID; |
209 | +SELECT a.ID FROM processlist as a CROSS JOIN data_dictionary.processlist as b; |
210 | |
211 | === modified file 'plugin/session_dictionary/tests/t/data_dictionary.test' |
212 | --- plugin/session_dictionary/tests/t/data_dictionary.test 2011-01-18 18:10:43 +0000 |
213 | +++ plugin/session_dictionary/tests/t/data_dictionary.test 2011-02-07 17:26:32 +0000 |
214 | @@ -18,9 +18,9 @@ |
215 | SELECT ID FROM processlist ORDER BY ID; |
216 | |
217 | --replace_column 1 # |
218 | -SELECT a.ID FROM processlist as a, processlist as b ORDER BY ID; |
219 | +SELECT a.ID FROM processlist as a CROSS JOIN processlist as b ORDER BY ID; |
220 | |
221 | --replace_column 1 # |
222 | -SELECT a.ID FROM processlist as a, data_dictionary.processlist as b; |
223 | +SELECT a.ID FROM processlist as a CROSS JOIN data_dictionary.processlist as b; |
224 | |
225 | --enable_result_log |
226 | |
227 | === modified file 'plugin/table_cache_dictionary/tests/r/table_cache.result' |
228 | --- plugin/table_cache_dictionary/tests/r/table_cache.result 2011-01-10 01:11:06 +0000 |
229 | +++ plugin/table_cache_dictionary/tests/r/table_cache.result 2011-02-07 17:26:32 +0000 |
230 | @@ -20,7 +20,7 @@ |
231 | # data_dictionary table_cache # # # 2112 # # |
232 | create table a ( a int); |
233 | create table b ( b int); |
234 | -select * FROM a,b; |
235 | +select * FROM a CROSS JOIN b; |
236 | a b |
237 | select * FROM data_dictionary.TABLE_CACHE ORDER BY TABLE_SCHEMA, TABLE_NAME; |
238 | SESSION_ID TABLE_SCHEMA TABLE_NAME VERSION IS_NAME_LOCKED ROWS AVG_ROW_LENGTH TABLE_SIZE AUTO_INCREMENT |
239 | |
240 | === modified file 'plugin/table_cache_dictionary/tests/r/table_definition_cache.result' |
241 | --- plugin/table_cache_dictionary/tests/r/table_definition_cache.result 2010-12-24 08:41:24 +0000 |
242 | +++ plugin/table_cache_dictionary/tests/r/table_definition_cache.result 2011-02-07 17:26:32 +0000 |
243 | @@ -16,7 +16,7 @@ |
244 | # table_definition_cache # # # |
245 | create table a ( a int); |
246 | create table b ( b int); |
247 | -select * FROM a,b; |
248 | +select * FROM a CROSS JOIN b; |
249 | a b |
250 | select * FROM data_dictionary.TABLE_DEFINITION_CACHE ORDER BY TABLE_SCHEMA, TABLE_NAME; |
251 | TABLE_SCHEMA TABLE_NAME VERSION TABLE_COUNT IS_NAME_LOCKED |
252 | |
253 | === modified file 'plugin/table_cache_dictionary/tests/t/table_cache.test' |
254 | --- plugin/table_cache_dictionary/tests/t/table_cache.test 2010-03-16 17:52:35 +0000 |
255 | +++ plugin/table_cache_dictionary/tests/t/table_cache.test 2011-02-07 17:26:32 +0000 |
256 | @@ -10,7 +10,7 @@ |
257 | |
258 | create table a ( a int); |
259 | create table b ( b int); |
260 | -select * FROM a,b; |
261 | +select * FROM a CROSS JOIN b; |
262 | --replace_column 1 # 4 # 5 # 6 # 8 # 9 # |
263 | select * FROM data_dictionary.TABLE_CACHE ORDER BY TABLE_SCHEMA, TABLE_NAME; |
264 | |
265 | |
266 | === modified file 'plugin/table_cache_dictionary/tests/t/table_definition_cache.test' |
267 | --- plugin/table_cache_dictionary/tests/t/table_definition_cache.test 2010-03-16 01:56:17 +0000 |
268 | +++ plugin/table_cache_dictionary/tests/t/table_definition_cache.test 2011-02-07 17:26:32 +0000 |
269 | @@ -10,7 +10,7 @@ |
270 | |
271 | create table a ( a int); |
272 | create table b ( b int); |
273 | -select * FROM a,b; |
274 | +select * FROM a CROSS JOIN b; |
275 | --replace_column 1 # 3 # 4 # 5 # |
276 | select * FROM data_dictionary.TABLE_DEFINITION_CACHE ORDER BY TABLE_SCHEMA, TABLE_NAME; |
277 | |
278 | |
279 | === modified file 'tests/include/index_merge2.inc' |
280 | --- tests/include/index_merge2.inc 2010-12-08 22:35:56 +0000 |
281 | +++ tests/include/index_merge2.inc 2011-02-07 17:26:32 +0000 |
282 | @@ -118,7 +118,7 @@ |
283 | insert into t2 values (0),(1),(2),(3),(4),(NULL); |
284 | |
285 | insert into t1 (key1a, key1b, key2a, key2b, key3a, key3b) |
286 | - select A.a, B.a, C.a, D.a, C.a, D.a from t2 A,t2 B,t2 C, t2 D; |
287 | + select A.a, B.a, C.a, D.a, C.a, D.a from t2 A CROSS JOIN t2 B CROSS JOIN t2 C CROSS JOIN t2 D; |
288 | insert into t1 (key1a, key1b, key2a, key2b, key3a, key3b) |
289 | select key1a, key1b, key2a, key2b, key3a, key3b from t1; |
290 | insert into t1 (key1a, key1b, key2a, key2b, key3a, key3b) |
291 | |
292 | === modified file 'tests/include/mix1.inc' |
293 | --- tests/include/mix1.inc 2011-02-01 18:23:24 +0000 |
294 | +++ tests/include/mix1.inc 2011-02-07 17:26:32 +0000 |
295 | @@ -317,7 +317,7 @@ |
296 | |
297 | DELETE IGNORE FROM t1 WHERE i = 1; |
298 | |
299 | -SELECT * FROM t1, t2; |
300 | +SELECT * FROM t1 CROSS JOIN t2; |
301 | |
302 | DROP TABLE t2, t1; |
303 | |
304 | |
305 | === modified file 'tests/r/derived.result' |
306 | --- tests/r/derived.result 2009-08-04 02:33:47 +0000 |
307 | +++ tests/r/derived.result 2011-02-07 17:26:32 +0000 |
308 | @@ -37,7 +37,7 @@ |
309 | ERROR 42S22: Unknown column 'a' in 'where clause' |
310 | SELECT (SELECT 1) as a FROM (SELECT 1 FROM t1 HAVING a=1) as a; |
311 | ERROR 42S22: Unknown column 'a' in 'having clause' |
312 | -select * from t1 as x1, (select * from t1) as x2; |
313 | +select * from t1 as x1, (select * from t1) as x2 where x1.a != 0; |
314 | a b a b |
315 | 1 a 1 a |
316 | 2 b 1 a |
317 | @@ -55,9 +55,9 @@ |
318 | 2 b 3 c |
319 | 3 c 3 c |
320 | 3 c 3 c |
321 | -explain select * from t1 as x1, (select * from t1) as x2; |
322 | +explain select * from t1 as x1, (select * from t1) as x2 where x1.a != 0; |
323 | id select_type table type possible_keys key key_len ref rows Extra |
324 | -1 PRIMARY x1 ALL NULL NULL NULL NULL 4 |
325 | +1 PRIMARY x1 ALL NULL NULL NULL NULL 4 Using where |
326 | 1 PRIMARY <derived2> ALL NULL NULL NULL NULL 4 Using join buffer |
327 | 2 DERIVED t1 ALL NULL NULL NULL NULL 4 |
328 | drop table if exists t2,t3; |
329 | @@ -140,9 +140,9 @@ |
330 | 18 18 |
331 | 19 19 |
332 | 20 20 |
333 | -explain select count(*) from t1 as tt1, (select * from t1) as tt2; |
334 | +explain select count(*) from t1 as tt1, (select * from t1) as tt2 where tt1.a != 0; |
335 | id select_type table type possible_keys key key_len ref rows Extra |
336 | -1 PRIMARY tt1 index NULL a 4 NULL X Using index |
337 | +1 PRIMARY tt1 range a a 4 NULL X Using where; Using index |
338 | 1 PRIMARY <derived2> ALL NULL NULL NULL NULL X Using join buffer |
339 | 2 DERIVED t1 ALL NULL NULL NULL NULL X |
340 | drop table t1; |
341 | @@ -225,15 +225,15 @@ |
342 | drop table t1; |
343 | create table t1 (a int); |
344 | insert into t1 values (1),(2); |
345 | -select * from ( select * from t1 union select * from t1) a,(select * from t1 union select * from t1) b; |
346 | +select * from ( select * from t1 union select * from t1) a,(select * from t1 union select * from t1) b where a.a != 0; |
347 | a a |
348 | 1 1 |
349 | 2 1 |
350 | 1 2 |
351 | 2 2 |
352 | -explain select * from ( select * from t1 union select * from t1) a,(select * from t1 union select * from t1) b; |
353 | +explain select * from ( select * from t1 union select * from t1) a,(select * from t1 union select * from t1) b where a.a != 0; |
354 | id select_type table type possible_keys key key_len ref rows Extra |
355 | -1 PRIMARY <derived2> ALL NULL NULL NULL NULL 2 |
356 | +1 PRIMARY <derived2> ALL NULL NULL NULL NULL 2 Using where |
357 | 1 PRIMARY <derived4> ALL NULL NULL NULL NULL 2 Using join buffer |
358 | 4 DERIVED t1 ALL NULL NULL NULL NULL 2 |
359 | 5 UNION t1 ALL NULL NULL NULL NULL 2 |
360 | @@ -328,7 +328,7 @@ |
361 | drop table t1, t2, t3; |
362 | create table t1 (a int); |
363 | create table t2 (a int); |
364 | -select * from (select * from t1,t2) foo; |
365 | +select * from (select * from t1,t2 where t1.a != 0) foo; |
366 | a a |
367 | drop table t1,t2; |
368 | create table t1 (ID int not null auto_increment, |
369 | |
370 | === modified file 'tests/r/distinct.result' |
371 | --- tests/r/distinct.result 2010-08-21 22:42:44 +0000 |
372 | +++ tests/r/distinct.result 2011-02-07 17:26:32 +0000 |
373 | @@ -523,9 +523,7 @@ |
374 | id select_type table type possible_keys key key_len ref rows Extra |
375 | 1 SIMPLE t1 ALL NULL NULL NULL NULL 3 |
376 | EXPLAIN SELECT DISTINCT t1_1.a, t1_1.b FROM t1 t1_1, t1 t1_2; |
377 | -id select_type table type possible_keys key key_len ref rows Extra |
378 | -1 SIMPLE t1_1 ALL NULL NULL NULL NULL 3 Using temporary |
379 | -1 SIMPLE t1_2 index NULL PRIMARY 4 NULL 3 Using index; Distinct; Using join buffer |
380 | +ERROR HY000: Implicit cartesian join attempted. |
381 | EXPLAIN SELECT DISTINCT t1_1.a, t1_1.b FROM t1 t1_1, t1 t1_2 |
382 | WHERE t1_1.a = t1_2.a; |
383 | id select_type table type possible_keys key key_len ref rows Extra |
384 | |
385 | === modified file 'tests/r/func_gconcat.result' |
386 | --- tests/r/func_gconcat.result 2010-09-02 18:35:05 +0000 |
387 | +++ tests/r/func_gconcat.result 2011-02-07 17:26:32 +0000 |
388 | @@ -191,7 +191,7 @@ |
389 | create table t1(id int); |
390 | create table t2(id int); |
391 | insert into t1 values(0),(1); |
392 | -select group_concat(t1.id) FROM t1,t2; |
393 | +select group_concat(t1.id) FROM t1,t2 where t2.id < 2; |
394 | group_concat(t1.id) |
395 | NULL |
396 | drop table t1; |
397 | @@ -321,7 +321,7 @@ |
398 | CREATE TABLE t2 ( a int ); |
399 | INSERT INTO t1 VALUES (1), (2); |
400 | INSERT INTO t2 VALUES (1), (2); |
401 | -SELECT GROUP_CONCAT(t1.a*t2.a ORDER BY t2.a) FROM t1, t2 GROUP BY t1.a; |
402 | +SELECT GROUP_CONCAT(t1.a*t2.a ORDER BY t2.a) FROM t1, t2 WHERE t1.a < 3 GROUP BY t1.a; |
403 | GROUP_CONCAT(t1.a*t2.a ORDER BY t2.a) |
404 | 1,2 |
405 | 2,4 |
406 | @@ -861,6 +861,7 @@ |
407 | FROM |
408 | t1 AS t1, |
409 | t1 AS t2 |
410 | +WHERE t2.a IS NULL |
411 | GROUP BY 1 |
412 | ) AS s1; |
413 | d1 |
414 | |
415 | === modified file 'tests/r/func_group.result' |
416 | --- tests/r/func_group.result 2010-12-02 04:36:22 +0000 |
417 | +++ tests/r/func_group.result 2011-02-07 17:26:32 +0000 |
418 | @@ -176,7 +176,7 @@ |
419 | select max(t1.a1), max(t2.a2) from t1, t2; |
420 | max(t1.a1) max(t2.a2) |
421 | NULL NULL |
422 | -select max(t1.a1) from t1, t2; |
423 | +select max(t1.a1) from t1, t2 where t1.a1 > 0; |
424 | max(t1.a1) |
425 | NULL |
426 | select max(t2.a2), max(t1.a1) from t1, t2; |
427 | @@ -190,7 +190,7 @@ |
428 | 1 SIMPLE NULL NULL NULL NULL NULL NULL NULL No matching min/max row |
429 | insert into t2 values('AAA', 10, 0.5); |
430 | insert into t2 values('BBB', 20, 1.0); |
431 | -select t1.a1, t1.a2, t2.a1, t2.a2 from t1,t2; |
432 | +select t1.a1, t1.a2, t2.a1, t2.a2 from t1,t2 where t1.a1 > 0; |
433 | a1 a2 a1 a2 |
434 | 10 NULL AAA 10 |
435 | 10 NULL BBB 20 |
436 | |
437 | === modified file 'tests/r/func_in.result' |
438 | --- tests/r/func_in.result 2010-12-20 19:20:57 +0000 |
439 | +++ tests/r/func_in.result 2011-02-07 17:26:32 +0000 |
440 | @@ -219,7 +219,7 @@ |
441 | create table t1 (a int); |
442 | insert into t1 values (0),(1),(2),(3),(4),(5),(6),(7),(8),(9); |
443 | create temporary table t2 (a int, filler char(200), key(a)) engine=myisam; |
444 | -insert into t2 select C.a*2, 'no' from t1 A, t1 B, t1 C; |
445 | +insert into t2 select C.a*2, 'no' from t1 A, t1 B, t1 C where A.a < 10; |
446 | insert into t2 select C.a*2+1, 'yes' from t1 C; |
447 | explain |
448 | select * from t2 where a NOT IN (0, 2,4,6,8,10,12,14,16,18); |
449 | @@ -271,9 +271,9 @@ |
450 | 2006-04-25 10:19:00 yes |
451 | drop table t2; |
452 | create table t2 (a varchar(10), filler char(200), key(a)); |
453 | -insert into t2 select 'foo', 'no' from t1 A, t1 B; |
454 | -insert into t2 select 'barbar', 'no' from t1 A, t1 B; |
455 | -insert into t2 select 'bazbazbaz', 'no' from t1 A, t1 B; |
456 | +insert into t2 select 'foo', 'no' from t1 A, t1 B where A.a < 10; |
457 | +insert into t2 select 'barbar', 'no' from t1 A, t1 B where A.a < 10; |
458 | +insert into t2 select 'bazbazbaz', 'no' from t1 A, t1 B where A.a < 10; |
459 | insert into t2 values ('fon', '1'), ('fop','1'), ('barbaq','1'), |
460 | ('barbas','1'), ('bazbazbay', '1'),('zz','1'); |
461 | explain select * from t2 where a not in('foo','barbar', 'bazbazbaz'); |
462 | @@ -281,9 +281,9 @@ |
463 | 1 SIMPLE t2 range a a 43 NULL 5 Using where |
464 | drop table t2; |
465 | create table t2 (a decimal(10,5), filler char(200), key(a)); |
466 | -insert into t2 select 345.67890, 'no' from t1 A, t1 B; |
467 | -insert into t2 select 43245.34, 'no' from t1 A, t1 B; |
468 | -insert into t2 select 64224.56344, 'no' from t1 A, t1 B; |
469 | +insert into t2 select 345.67890, 'no' from t1 A, t1 B where A.a < 10; |
470 | +insert into t2 select 43245.34, 'no' from t1 A, t1 B where A.a < 10; |
471 | +insert into t2 select 64224.56344, 'no' from t1 A, t1 B where A.a < 10; |
472 | insert into t2 values (0, '1'), (22334.123,'1'), (33333,'1'), |
473 | (55555,'1'), (77777, '1'); |
474 | explain |
475 | @@ -304,7 +304,7 @@ |
476 | set @str="update t2 set b=1 where a not in ("; |
477 | select count(*) from ( |
478 | select @str:=concat(@str, @cnt:=@cnt+1, ",") |
479 | -from t1 A, t1 B, t1 C, t1 D) Z; |
480 | +from t1 A, t1 B, t1 C, t1 D where A.a < 10) Z; |
481 | count(*) |
482 | 10000 |
483 | set @str:=concat(@str, "10000)"); |
484 | |
485 | === modified file 'tests/r/global_read_constraints.result' |
486 | --- tests/r/global_read_constraints.result 2010-11-01 20:27:03 +0000 |
487 | +++ tests/r/global_read_constraints.result 2011-02-07 17:26:32 +0000 |
488 | @@ -28,5 +28,5 @@ |
489 | CREATE TABLE t2 SELECT * FROM t1; |
490 | create temporary table t3 (a varchar(255), b varchar(255)) engine=myisam; |
491 | insert into t3 select * from t1; |
492 | -select SQL_BIG_RESULT * from t3, (select * from t1) as t4; |
493 | +select SQL_BIG_RESULT * from t3, (select * from t1) as t4 where t3.a != ''; |
494 | ERROR HY000: Global read memory constraint hit; increase read-buffer-threshold |
495 | |
496 | === modified file 'tests/r/group_by.result' |
497 | --- tests/r/group_by.result 2010-08-19 01:24:09 +0000 |
498 | +++ tests/r/group_by.result 2011-02-07 17:26:32 +0000 |
499 | @@ -895,7 +895,7 @@ |
500 | f1 f2 |
501 | select * from t1 group by f1, f2; |
502 | f1 f2 |
503 | -select t1.f1,t.* from t1, t1 t group by 1; |
504 | +select t1.f1,t.* from t1, t1 t where t1.f1 >= 0 group by 1; |
505 | f1 f1 f2 |
506 | drop table t1; |
507 | CREATE TABLE t1( |
508 | |
509 | === modified file 'tests/r/group_min_max.result' |
510 | --- tests/r/group_min_max.result 2010-12-02 04:36:22 +0000 |
511 | +++ tests/r/group_min_max.result 2011-02-07 17:26:32 +0000 |
512 | @@ -1608,7 +1608,7 @@ |
513 | b c b c |
514 | a d a d |
515 | b d b d |
516 | -select distinct t1.a1,t2.a1 from t1,t2; |
517 | +select distinct t1.a1,t2.a1 from t1,t2 where t1.a1 >= ''; |
518 | a1 a1 |
519 | a a |
520 | a b |
521 | |
522 | === modified file 'tests/r/insert_select.result' |
523 | --- tests/r/insert_select.result 2010-02-15 18:29:31 +0000 |
524 | +++ tests/r/insert_select.result 2011-02-07 17:26:32 +0000 |
525 | @@ -130,7 +130,7 @@ |
526 | 3 |
527 | 4 |
528 | 5 |
529 | -insert into t1 select t2.a from t1,t2; |
530 | +insert into t1 select t2.a from t1,t2 where t1.a > 0; |
531 | select * from t1; |
532 | a |
533 | 1 |
534 | |
535 | === modified file 'tests/r/join.result' |
536 | --- tests/r/join.result 2011-01-05 07:43:57 +0000 |
537 | +++ tests/r/join.result 2011-02-07 17:26:32 +0000 |
538 | @@ -4,11 +4,9 @@ |
539 | INSERT INTO t1 VALUES (1); |
540 | INSERT INTO t2 VALUES (2); |
541 | SELECT * FROM t1 JOIN t2; |
542 | -S1 S1 |
543 | -1 2 |
544 | +ERROR HY000: Implicit cartesian join attempted. |
545 | SELECT * FROM t1 INNER JOIN t2; |
546 | -S1 S1 |
547 | -1 2 |
548 | +ERROR HY000: Implicit cartesian join attempted. |
549 | SELECT * from t1 JOIN t2 USING (S1); |
550 | S1 |
551 | SELECT * FROM t1 INNER JOIN t2 USING (S1); |
552 | @@ -299,7 +297,7 @@ |
553 | CREATE TABLE t2 (b int); |
554 | CREATE TABLE t3 (c int); |
555 | SELECT * FROM t1 NATURAL JOIN t2 NATURAL JOIN t3; |
556 | -a b c |
557 | +ERROR HY000: Implicit cartesian join attempted. |
558 | DROP TABLE t1, t2, t3; |
559 | create table t1 (i int); |
560 | create table t2 (i int); |
561 | @@ -774,13 +772,13 @@ |
562 | create table t2 (a int, b int, filler char(100), key(a), key(b)); |
563 | create table t3 (a int, b int, filler char(100), key(a), key(b)); |
564 | insert into t2 |
565 | -select @a:= A.a + 10*(B.a + 10*C.a), @a, 'filler' from t1 A, t1 B, t1 C; |
566 | +select @a:= A.a + 10*(B.a + 10*C.a), @a, 'filler' from t1 A, t1 B, t1 C where B.a >= 0; |
567 | insert into t3 select * from t2 where a < 800; |
568 | drop table t1, t2, t3; |
569 | create table t1 (a int); |
570 | insert into t1 values (0),(1),(2),(3),(4),(5),(6),(7),(8),(9); |
571 | create table t2 (a int, b int, primary key(a)); |
572 | -insert into t2 select @v:=A.a+10*B.a, @v from t1 A, t1 B; |
573 | +insert into t2 select @v:=A.a+10*B.a, @v from t1 A, t1 B where B.a >= 0; |
574 | explain select * from t1; |
575 | id select_type table type possible_keys key key_len ref rows Extra |
576 | 1 SIMPLE t1 ALL NULL NULL NULL NULL 10 |
577 | |
578 | === modified file 'tests/r/join_nested.result' |
579 | --- tests/r/join_nested.result 2010-12-02 05:06:19 +0000 |
580 | +++ tests/r/join_nested.result 2011-02-07 17:26:32 +0000 |
581 | @@ -37,11 +37,7 @@ |
582 | 4 2 |
583 | SELECT t3.a,t3.b,t4.a,t4.b |
584 | FROM t3,t4; |
585 | -a b a b |
586 | -1 2 3 2 |
587 | -1 2 4 2 |
588 | -2 2 3 2 |
589 | -2 2 4 2 |
590 | +ERROR HY000: Implicit cartesian join attempted. |
591 | SELECT t2.a,t2.b,t3.a,t3.b,t4.a,t4.b |
592 | FROM t2 |
593 | LEFT JOIN |
594 | @@ -107,19 +103,7 @@ |
595 | 3 3 |
596 | SELECT t3.a,t3.b,t4.a,t4.b,t5.a,t5.b |
597 | FROM t3,t4,t5; |
598 | -a b a b a b |
599 | -1 2 3 2 2 2 |
600 | -1 2 3 2 3 1 |
601 | -1 2 3 2 3 3 |
602 | -1 2 4 2 2 2 |
603 | -1 2 4 2 3 1 |
604 | -1 2 4 2 3 3 |
605 | -2 2 3 2 2 2 |
606 | -2 2 3 2 3 1 |
607 | -2 2 3 2 3 3 |
608 | -2 2 4 2 2 2 |
609 | -2 2 4 2 3 1 |
610 | -2 2 4 2 3 3 |
611 | +ERROR HY000: Implicit cartesian join attempted. |
612 | SELECT t2.a,t2.b,t3.a,t3.b,t4.a,t4.b,t5.a,t5.b |
613 | FROM t2 |
614 | LEFT JOIN |
615 | @@ -208,7 +192,7 @@ |
616 | 1 1 |
617 | 2 2 |
618 | SELECT t6.a,t6.b,t7.a,t7.b |
619 | -FROM t6,t7; |
620 | +FROM t6 CROSS JOIN t7; |
621 | a b a b |
622 | 3 2 1 1 |
623 | 3 2 2 2 |
624 | @@ -766,7 +750,7 @@ |
625 | 2 2 4 2 2 2 |
626 | 2 2 5 3 NULL NULL |
627 | SELECT t3.a,t3.b,t4.a,t4.b |
628 | -FROM t3,t4; |
629 | +FROM t3 CROSS JOIN t4; |
630 | a b a b |
631 | 1 2 3 2 |
632 | 2 2 3 2 |
633 | @@ -1323,7 +1307,7 @@ |
634 | create table t1 (a int); |
635 | insert into t1 values (0),(1),(2),(3),(4),(5),(6),(7),(8),(9); |
636 | create table t2 (a int, filler char(100), key(a)); |
637 | -insert into t2 select A.a + 10*B.a, '' from t1 A, t1 B; |
638 | +insert into t2 select A.a + 10*B.a, '' from t1 A CROSS JOIN t1 B; |
639 | create table t3 like t2; |
640 | insert into t3 select * from t2; |
641 | explain select * from t1 left join |
642 | |
643 | === modified file 'tests/r/key_diff.result' |
644 | --- tests/r/key_diff.result 2010-08-21 22:42:44 +0000 |
645 | +++ tests/r/key_diff.result 2011-02-07 17:26:32 +0000 |
646 | @@ -6,7 +6,7 @@ |
647 | KEY (b) |
648 | ); |
649 | INSERT INTO t1 VALUES ('A','B'),('b','A'),('C','c'),('D','E'),('a','a'); |
650 | -select * from t1,t1 as t2; |
651 | +select * from t1 CROSS JOIN t1 as t2; |
652 | a b a b |
653 | A B A B |
654 | A B C c |
655 | |
656 | === modified file 'tests/r/olap.result' |
657 | --- tests/r/olap.result 2008-12-19 21:34:33 +0000 |
658 | +++ tests/r/olap.result 2011-02-07 17:26:32 +0000 |
659 | @@ -269,7 +269,7 @@ |
660 | i COUNT(*) |
661 | 100 1 |
662 | NULL 1 |
663 | -SELECT t1.i, t2.i, COUNT(*) FROM t1,t2 GROUP BY t1.i,t2.i WITH ROLLUP; |
664 | +SELECT t1.i, t2.i, COUNT(*) FROM t1 CROSS JOIN t2 GROUP BY t1.i,t2.i WITH ROLLUP; |
665 | i i COUNT(*) |
666 | 100 100 1 |
667 | 100 200 1 |
668 | |
669 | === modified file 'tests/r/order_by.result' |
670 | --- tests/r/order_by.result 2010-12-07 09:12:12 +0000 |
671 | +++ tests/r/order_by.result 2011-02-07 17:26:32 +0000 |
672 | @@ -1862,11 +1862,11 @@ |
673 | ERROR 42S22: Unknown column 'MissingCol' in 'order clause' |
674 | DROP TABLE bug25126; |
675 | CREATE TABLE t1 (a int); |
676 | -SELECT p.a AS val, q.a AS val1 FROM t1 p, t1 q ORDER BY val > 1; |
677 | +SELECT p.a AS val, q.a AS val1 FROM t1 p CROSS JOIN t1 q ORDER BY val > 1; |
678 | val val1 |
679 | -SELECT p.a AS val, q.a AS val FROM t1 p, t1 q ORDER BY val; |
680 | +SELECT p.a AS val, q.a AS val FROM t1 p CROSS JOIN t1 q ORDER BY val; |
681 | ERROR 23000: Column 'val' in order clause is ambiguous |
682 | -SELECT p.a AS val, q.a AS val FROM t1 p, t1 q ORDER BY val > 1; |
683 | +SELECT p.a AS val, q.a AS val FROM t1 p CROSS JOIN t1 q ORDER BY val > 1; |
684 | ERROR 23000: Column 'val' in order clause is ambiguous |
685 | DROP TABLE t1; |
686 | CREATE TABLE t1 (a int); |
687 | |
688 | === modified file 'tests/r/range.result' |
689 | --- tests/r/range.result 2010-12-20 19:20:57 +0000 |
690 | +++ tests/r/range.result 2011-02-07 17:26:32 +0000 |
691 | @@ -657,7 +657,7 @@ |
692 | filler char(82), |
693 | PRIMARY KEY (pk1,pk2,pk3,pk4) |
694 | ); |
695 | -insert into t2 select 1, A.a+10*B.a, 432, 44, 'fillerZ' from t1 A, t1 B; |
696 | +insert into t2 select 1, A.a+10*B.a, 432, 44, 'fillerZ' from t1 A CROSS JOIN t1 B; |
697 | INSERT INTO t2 VALUES (2621, 2635, 0, 0,'filler'), (2621, 2635, 1, 0,'filler'), |
698 | (2621, 2635, 10, 0,'filler'), (2621, 2635, 11, 0,'filler'), |
699 | (2621, 2635, 14, 0,'filler'), (2621, 2635, 1000015, 0,'filler'); |
700 | @@ -969,7 +969,7 @@ |
701 | insert into t1 values ('a ',''); |
702 | insert into t1 values ('a ', ''); |
703 | insert into t1 select concat('a', 1000 + A.a + 10 * (B.a + 10 * C.a)), '' |
704 | - from t3 A, t3 B, t3 C; |
705 | + from t3 A CROSS JOIN t3 B CROSS JOIN t3 C; |
706 | create table t2 (a varchar(10), filler char(200), key(a)); |
707 | insert into t2 select * from t1; |
708 | explain select * from t1 where a between 'a' and 'a '; |
709 | |
710 | === modified file 'tests/r/select.result' |
711 | --- tests/r/select.result 2011-01-26 21:05:29 +0000 |
712 | +++ tests/r/select.result 2011-02-07 17:26:32 +0000 |
713 | @@ -1266,7 +1266,7 @@ |
714 | 58 company 8 |
715 | 65 company 9 |
716 | 68 company 10 |
717 | -select * from t1,t1 t12; |
718 | +select * from t1 CROSS JOIN t1 t12; |
719 | Period Varor_period Period Varor_period |
720 | 9410 9412 9410 9412 |
721 | select t2.fld1,t22.fld1 from t2,t2 t22 where t2.fld1 >= 250501 and t2.fld1 <= 250505 and t22.fld1 >= 250501 and t22.fld1 <= 250505; |
722 | @@ -2932,7 +2932,7 @@ |
723 | create table t1 (a int); |
724 | insert into t1 values (0),(1),(2),(3),(4),(5),(6),(7),(8),(9); |
725 | create table t2 (a int, b int, c int, e int, primary key(a,b,c)); |
726 | -insert into t2 select A.a, B.a, C.a, C.a from t1 A, t1 B, t1 C; |
727 | +insert into t2 select A.a, B.a, C.a, C.a from t1 A CROSS JOIN t1 B CROSS JOIN t1 C; |
728 | analyze table t2; |
729 | Table Op Msg_type Msg_text |
730 | test.t2 analyze status OK |
731 | @@ -3555,7 +3555,7 @@ |
732 | c34 INT DEFAULT 0, |
733 | KEY (c33, c34, c32)); |
734 | INSERT INTO t1 values (),(),(),(),(); |
735 | -INSERT INTO t2 SELECT a.c11, b.c11 FROM t1 a, t1 b; |
736 | +INSERT INTO t2 SELECT a.c11, b.c11 FROM t1 a CROSS JOIN t1 b; |
737 | INSERT INTO t3 VALUES (1, 1, 1, 0), |
738 | (2, 2, 0, 0), |
739 | (3, 3, 1, 0), |
740 | |
741 | === modified file 'tests/r/select_safe.result' |
742 | --- tests/r/select_safe.result 2010-08-09 16:31:29 +0000 |
743 | +++ tests/r/select_safe.result 2011-02-07 17:26:32 +0000 |
744 | @@ -13,7 +13,7 @@ |
745 | 1 test |
746 | 2 test2 |
747 | update t1 set b="a" where a=1; |
748 | -select 1 from t1,t1 as t2,t1 as t3; |
749 | +select 1 from t1 CROSS JOIN t1 as t2 CROSS JOIN t1 as t3; |
750 | 1 |
751 | 1 |
752 | 1 |
753 | @@ -24,7 +24,7 @@ |
754 | delete from t1; |
755 | delete from t1 where b="test"; |
756 | delete from t1 where a+0=1; |
757 | -select 1 from t1,t1 as t2,t1 as t3,t1 as t4,t1 as t5; |
758 | +select 1 from t1 CROSS JOIN t1 as t2 CROSS JOIN t1 as t3 CROSS JOIN t1 as t4 CROSS JOIN t1 as t5; |
759 | 1 |
760 | update t1 set b="a" limit 1; |
761 | update t1 set b="a" where b="b" limit 2; |
762 | |
763 | === modified file 'tests/r/status.result' |
764 | --- tests/r/status.result 2011-01-18 23:35:32 +0000 |
765 | +++ tests/r/status.result 2011-02-07 17:26:32 +0000 |
766 | @@ -80,7 +80,7 @@ |
767 | SHOW SESSION STATUS LIKE 'Last_query_cost'; |
768 | Variable_name Value |
769 | Last_query_cost 0 |
770 | -SELECT * FROM t1 a, t1 b LIMIT 1; |
771 | +SELECT * FROM t1 a CROSS JOIN t1 b LIMIT 1; |
772 | a a |
773 | 1 1 |
774 | SHOW SESSION STATUS LIKE 'Last_query_cost'; |
775 | |
776 | === modified file 'tests/r/subselect.result' |
777 | --- tests/r/subselect.result 2011-02-04 08:47:29 +0000 |
778 | +++ tests/r/subselect.result 2011-02-07 17:26:32 +0000 |
779 | @@ -4524,17 +4524,9 @@ |
780 | SELECT * FROM t1 JOIN ((t1 t1a)) t1a ON 1; |
781 | ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your Drizzle server version for the right syntax to use near 't1a ON 1' at line 1 |
782 | SELECT * FROM t1 JOIN (t1 t1a) ON 1; |
783 | -a a |
784 | -1 1 |
785 | -1 2 |
786 | -2 1 |
787 | -2 2 |
788 | +ERROR HY000: Implicit cartesian join attempted. |
789 | SELECT * FROM t1 JOIN ((t1 t1a)) ON 1; |
790 | -a a |
791 | -1 1 |
792 | -2 1 |
793 | -1 2 |
794 | -2 2 |
795 | +ERROR HY000: Implicit cartesian join attempted. |
796 | SELECT * FROM (t1 t1a); |
797 | a |
798 | 1 |
799 | |
800 | === modified file 'tests/r/subselect3.result' |
801 | --- tests/r/subselect3.result 2010-10-25 23:13:58 +0000 |
802 | +++ tests/r/subselect3.result 2011-02-07 17:26:32 +0000 |
803 | @@ -247,7 +247,7 @@ |
804 | NULL 1 100 0 |
805 | NULL 2 100 NULL |
806 | create table t4 (x int); |
807 | -insert into t4 select A.a + 10*B.a from t1 A, t1 B; |
808 | +insert into t4 select A.a + 10*B.a from t1 A CROSS JOIN t1 B; |
809 | explain extended |
810 | select a,b, oref, |
811 | (a,b) in (select a,b from t1,t4 where c=t2.oref) Z |
812 | |
813 | === modified file 'tests/r/subselect_sj.result' |
814 | --- tests/r/subselect_sj.result 2009-06-16 01:16:01 +0000 |
815 | +++ tests/r/subselect_sj.result 2011-02-07 17:26:32 +0000 |
816 | @@ -70,7 +70,7 @@ |
817 | 0 0 0 0 |
818 | 1 1 1 1 |
819 | 2 2 2 2 |
820 | -insert into t1 select (A.a + 10 * B.a),1 from t0 A, t0 B; |
821 | +insert into t1 select (A.a + 10 * B.a),1 from t0 A CROSS JOIN t0 B; |
822 | explain extended select * from t1 where a in (select pk from t10 where pk<3); |
823 | id select_type table type possible_keys key key_len ref rows filtered Extra |
824 | 1 PRIMARY t1 ALL NULL NULL NULL NULL 103 100.00 Using where |
825 | |
826 | === modified file 'tests/r/subselect_sj2.result' |
827 | --- tests/r/subselect_sj2.result 2009-10-20 20:39:01 +0000 |
828 | +++ tests/r/subselect_sj2.result 2011-02-07 17:26:32 +0000 |
829 | @@ -353,7 +353,7 @@ |
830 | c1 |
831 | 2009-10-22 |
832 | 2142-10-22 |
833 | -explain select 1 from t2 where c2 in (select 1 from t3, t2) and c1 in (select convert(c6,char(1)) from t2); |
834 | +explain select 1 from t2 where c2 in (select 1 from t3 CROSS JOIN t2) and c1 in (select convert(c6,char(1)) from t2); |
835 | id select_type table type possible_keys key key_len ref rows Extra |
836 | 1 PRIMARY t2 ALL NULL NULL NULL NULL 1 Using where |
837 | 3 SUBQUERY t2 ALL NULL NULL NULL NULL 1 |
838 | |
839 | === modified file 'tests/r/sum_distinct.result' |
840 | --- tests/r/sum_distinct.result 2010-04-20 18:23:07 +0000 |
841 | +++ tests/r/sum_distinct.result 2011-02-07 17:26:32 +0000 |
842 | @@ -47,7 +47,7 @@ |
843 | SUM(DISTINCT LENGTH(g1.name)) s1, |
844 | SUM(DISTINCT SUBSTRING(g2.name, 1, 3)) s2, |
845 | SUM(DISTINCT LENGTH(SUBSTRING(g3.name, 1, 4))) s3 |
846 | -FROM t1 g1, t1 g2, t1 g3; |
847 | +FROM t1 g1 CROSS JOIN t1 g2 CROSS JOIN t1 g3; |
848 | s1 s2 s3 |
849 | 42 0 7 |
850 | SELECT |
851 | @@ -55,7 +55,7 @@ |
852 | SUM(DISTINCT LENGTH(g1.name)) s1, |
853 | SUM(DISTINCT SUBSTRING(g2.name, 1, 3)) s2, |
854 | SUM(DISTINCT LENGTH(SUBSTRING(g3.name, 1, 4))) s3 |
855 | -FROM t1 g1, t1 g2, t1 g3 GROUP BY LENGTH(SUBSTRING(g3.name, 5, 10)); |
856 | +FROM t1 g1 CROSS JOIN t1 g2 CROSS JOIN t1 g3 GROUP BY LENGTH(SUBSTRING(g3.name, 5, 10)); |
857 | s1 s2 s3 |
858 | 42 0 NULL |
859 | 42 0 7 |
860 | @@ -75,7 +75,7 @@ |
861 | SUM(DISTINCT LENGTH(g1.name)) s1, |
862 | SUM(DISTINCT SUBSTRING(g2.name, 1, 3)) s2, |
863 | SUM(DISTINCT LENGTH(SUBSTRING(g3.name, 1, 4))) s3 |
864 | -FROM t1 g1, t1 g2, t1 g3 GROUP BY LENGTH(SUBSTRING(g3.name, 5, 10)); |
865 | +FROM t1 g1 CROSS JOIN t1 g2 CROSS JOIN t1 g3 GROUP BY LENGTH(SUBSTRING(g3.name, 5, 10)); |
866 | s1 s2 s3 |
867 | 42 0 NULL |
868 | 42 0 7 |
869 | |
870 | === modified file 'tests/r/type_blob.result' |
871 | --- tests/r/type_blob.result 2010-09-10 10:05:56 +0000 |
872 | +++ tests/r/type_blob.result 2011-02-07 17:26:32 +0000 |
873 | @@ -43,7 +43,7 @@ |
874 | select last_insert_id(); |
875 | last_insert_id() |
876 | 3 |
877 | -select * from t1,t1 as t2; |
878 | +select * from t1 CROSS JOIN t1 as t2; |
879 | nr b str nr b str |
880 | 1 a A 1 a A |
881 | 1 a A 2 bbb BBB |
882 | |
883 | === modified file 'tests/r/type_date.result' |
884 | --- tests/r/type_date.result 2011-01-26 21:05:29 +0000 |
885 | +++ tests/r/type_date.result 2011-02-07 17:26:32 +0000 |
886 | @@ -65,11 +65,11 @@ |
887 | INSERT INTO t1 VALUES(1); |
888 | CREATE TABLE t2(GMT VARCHAR(32)); |
889 | INSERT INTO t2 VALUES('GMT-0800'); |
890 | -SELECT DATE_FORMAT("2002-03-06 10:11:12", CONCAT('%a, %d %M %Y %H:%i:%s ' , t2.GMT)) FROM t1, t2 GROUP BY t1.AFIELD; |
891 | +SELECT DATE_FORMAT("2002-03-06 10:11:12", CONCAT('%a, %d %M %Y %H:%i:%s ' , t2.GMT)) FROM t1 CROSS JOIN t2 GROUP BY t1.AFIELD; |
892 | DATE_FORMAT("2002-03-06 10:11:12", CONCAT('%a, %d %M %Y %H:%i:%s ' , t2.GMT)) |
893 | Wed, 06 March 2002 10:11:12 GMT-0800 |
894 | INSERT INTO t1 VALUES(1); |
895 | -SELECT DATE_FORMAT("2002-03-06 10:11:12", CONCAT('%a, %d %M %Y %H:%i:%s ' , t2.GMT)), DATE_FORMAT("2002-03-06 10:11:12", CONCAT('%a, %d %M %Y %H:%i:%s ' , t2.GMT)) FROM t1,t2 GROUP BY t1.AFIELD; |
896 | +SELECT DATE_FORMAT("2002-03-06 10:11:12", CONCAT('%a, %d %M %Y %H:%i:%s ' , t2.GMT)), DATE_FORMAT("2002-03-06 10:11:12", CONCAT('%a, %d %M %Y %H:%i:%s ' , t2.GMT)) FROM t1 CROSS JOIN t2 GROUP BY t1.AFIELD; |
897 | DATE_FORMAT("2002-03-06 10:11:12", CONCAT('%a, %d %M %Y %H:%i:%s ' , t2.GMT)) DATE_FORMAT("2002-03-06 10:11:12", CONCAT('%a, %d %M %Y %H:%i:%s ' , t2.GMT)) |
898 | Wed, 06 March 2002 10:11:12 GMT-0800 Wed, 06 March 2002 10:11:12 GMT-0800 |
899 | drop table t1,t2; |
900 | |
901 | === modified file 'tests/r/type_float.result' |
902 | --- tests/r/type_float.result 2010-09-02 18:35:05 +0000 |
903 | +++ tests/r/type_float.result 2011-02-07 17:26:32 +0000 |
904 | @@ -219,7 +219,7 @@ |
905 | desc t2; |
906 | Field Type Null Default Default_is_NULL On_Update |
907 | y DECIMAL NO NO |
908 | -create table t3 select x+y a from t1,t2; |
909 | +create table t3 select x+y a from t1 CROSS JOIN t2; |
910 | show warnings; |
911 | Level Code Message |
912 | desc t3; |
913 | |
914 | === modified file 'tests/r/type_ranges.result' |
915 | --- tests/r/type_ranges.result 2010-09-10 10:05:56 +0000 |
916 | +++ tests/r/type_ranges.result 2011-02-07 17:26:32 +0000 |
917 | @@ -206,7 +206,7 @@ |
918 | create table t2 select * from t1; |
919 | create table t3 select * from t1, t2; |
920 | ERROR 42S21: Duplicate column name 'c' |
921 | -create table t3 select t1.c AS c1, t2.c AS c2,1 as "const" from t1, t2; |
922 | +create table t3 select t1.c AS c1, t2.c AS c2,1 as "const" from t1 CROSS JOIN t2; |
923 | show columns from t3; |
924 | Field Type Null Default Default_is_NULL On_Update |
925 | c1 INTEGER YES YES |
926 | |
927 | === modified file 'tests/r/union.result' |
928 | --- tests/r/union.result 2011-02-04 08:47:29 +0000 |
929 | +++ tests/r/union.result 2011-02-07 17:26:32 +0000 |
930 | @@ -515,7 +515,7 @@ |
931 | insert into t2 (group_name) values ('Group A'); |
932 | insert into t2 (group_name) values ('Group B'); |
933 | insert into t3 (user_id, group_id) values (1,1); |
934 | -select 1 'is_in_group', a.user_name, c.group_name, b.id from t1 a, t3 b, t2 c where a.id = b.user_id and b.group_id = c.id UNION select 0 'is_in_group', a.user_name, c.group_name, null from t1 a, t2 c; |
935 | +select 1 'is_in_group', a.user_name, c.group_name, b.id from t1 a, t3 b, t2 c where a.id = b.user_id and b.group_id = c.id UNION select 0 'is_in_group', a.user_name, c.group_name, null from t1 a CROSS JOIN t2 c; |
936 | is_in_group user_name group_name id |
937 | 1 Tester Group A 1 |
938 | 0 Tester Group A NULL |
939 | |
940 | === modified file 'tests/r/update.result' |
941 | --- tests/r/update.result 2011-01-05 07:43:57 +0000 |
942 | +++ tests/r/update.result 2011-02-07 17:26:32 +0000 |
943 | @@ -277,7 +277,7 @@ |
944 | create table t1 (a int); |
945 | insert into t1 values (0),(1),(2),(3),(4),(5),(6),(7),(8),(9); |
946 | create table t2 (a int, filler1 char(200), filler2 char(200), key(a)); |
947 | -insert into t2 select A.a + 10*B.a, 'filler','filler' from t1 A, t1 B; |
948 | +insert into t2 select A.a + 10*B.a, 'filler','filler' from t1 A CROSS JOIN t1 B; |
949 | flush status; |
950 | update t2 set a=3 where a=2; |
951 | show status like 'handler_read%'; |
952 | |
953 | === modified file 'tests/suite/jp/r/join_utf8.result' |
954 | --- tests/suite/jp/r/join_utf8.result 2010-10-25 03:09:38 +0000 |
955 | +++ tests/suite/jp/r/join_utf8.result 2011-02-07 17:26:32 +0000 |
956 | @@ -42,16 +42,6 @@ |
957 | INSERT INTO `T8a` VALUES ('あ'),('か'),('さ'); |
958 | INSERT INTO `T8b` VALUES ('あ'); |
959 | INSERT INTO `T9a` VALUES ('龔'),('龖'),('龗'); |
960 | -SELECT * FROM `T1a` JOIN `T1b`; |
961 | -C1 C1 |
962 | -ア ア |
963 | -カ ア |
964 | -サ ア |
965 | -SELECT * FROM `T1a` INNER JOIN `T1b`; |
966 | -C1 C1 |
967 | -ア ア |
968 | -カ ア |
969 | -サ ア |
970 | SELECT * FROM `T1a` JOIN `T1b` USING (`C1`); |
971 | C1 |
972 | ア |
973 | @@ -83,16 +73,6 @@ |
974 | ア ア |
975 | NULL カ |
976 | NULL サ |
977 | -SELECT * FROM `T2a` JOIN `T2b`; |
978 | -C1 C1 |
979 | -あ あ |
980 | -か あ |
981 | -さ あ |
982 | -SELECT * FROM `T2a` INNER JOIN `T2b`; |
983 | -C1 C1 |
984 | -あ あ |
985 | -か あ |
986 | -さ あ |
987 | SELECT * FROM `T2a` JOIN `T2b` USING (`C1`); |
988 | C1 |
989 | あ |
990 | @@ -124,16 +104,6 @@ |
991 | あ あ |
992 | NULL か |
993 | NULL さ |
994 | -SELECT * FROM `T3a` JOIN `T3b`; |
995 | -C1 C1 |
996 | -龔 龔 |
997 | -龖 龔 |
998 | -龗 龔 |
999 | -SELECT * FROM `T3a` INNER JOIN `T3b`; |
1000 | -C1 C1 |
1001 | -龔 龔 |
1002 | -龖 龔 |
1003 | -龗 龔 |
1004 | SELECT * FROM `T3a` JOIN `T3b` USING (`C1`); |
1005 | C1 |
1006 | 龔 |
1007 | |
1008 | === modified file 'tests/suite/jp/t/join_utf8.test' |
1009 | --- tests/suite/jp/t/join_utf8.test 2010-10-25 03:09:38 +0000 |
1010 | +++ tests/suite/jp/t/join_utf8.test 2011-02-07 17:26:32 +0000 |
1011 | @@ -57,8 +57,6 @@ |
1012 | INSERT INTO `T9a` VALUES ('龔'),('龖'),('龗'); |
1013 | |
1014 | #Test for innodb |
1015 | -SELECT * FROM `T1a` JOIN `T1b`; |
1016 | -SELECT * FROM `T1a` INNER JOIN `T1b`; |
1017 | SELECT * FROM `T1a` JOIN `T1b` USING (`C1`); |
1018 | SELECT * FROM `T1a` INNER JOIN `T1b` USING (`C1`); |
1019 | SELECT * FROM `T1a` CROSS JOIN `T1b`; |
1020 | @@ -66,8 +64,6 @@ |
1021 | SELECT * FROM `T1a` LEFT JOIN `T1b` ON (`T1a`.`C1` = `T1b`.`C1`); |
1022 | SELECT * FROM `T1b` RIGHT JOIN `T1a` USING (`C1`); |
1023 | SELECT * FROM `T1b` RIGHT JOIN `T1a` ON (`T1a`.`C1` = `T1b`.`C1`); |
1024 | -SELECT * FROM `T2a` JOIN `T2b`; |
1025 | -SELECT * FROM `T2a` INNER JOIN `T2b`; |
1026 | SELECT * FROM `T2a` JOIN `T2b` USING (`C1`); |
1027 | SELECT * FROM `T2a` INNER JOIN `T2b` USING (`C1`); |
1028 | SELECT * FROM `T2a` CROSS JOIN `T2b`; |
1029 | @@ -75,8 +71,6 @@ |
1030 | SELECT * FROM `T2a` LEFT JOIN `T2b` ON (`T2a`.`C1` = `T2b`.`C1`); |
1031 | SELECT * FROM `T2b` RIGHT JOIN `T2a` USING (`C1`); |
1032 | SELECT * FROM `T2b` RIGHT JOIN `T2a` ON (`T2a`.`C1` = `T2b`.`C1`); |
1033 | -SELECT * FROM `T3a` JOIN `T3b`; |
1034 | -SELECT * FROM `T3a` INNER JOIN `T3b`; |
1035 | SELECT * FROM `T3a` JOIN `T3b` USING (`C1`); |
1036 | SELECT * FROM `T3a` INNER JOIN `T3b` USING (`C1`); |
1037 | SELECT * FROM `T3a` CROSS JOIN `T3b`; |
1038 | |
1039 | === modified file 'tests/t/derived.test' |
1040 | --- tests/t/derived.test 2011-01-26 00:31:58 +0000 |
1041 | +++ tests/t/derived.test 2011-02-07 17:26:32 +0000 |
1042 | @@ -28,8 +28,8 @@ |
1043 | --error ER_BAD_FIELD_ERROR |
1044 | SELECT (SELECT 1) as a FROM (SELECT 1 FROM t1 HAVING a=1) as a; |
1045 | --sort_result |
1046 | -select * from t1 as x1, (select * from t1) as x2; |
1047 | -explain select * from t1 as x1, (select * from t1) as x2; |
1048 | +select * from t1 as x1, (select * from t1) as x2 where x1.a != 0; |
1049 | +explain select * from t1 as x1, (select * from t1) as x2 where x1.a != 0; |
1050 | drop table if exists t2,t3; |
1051 | select * from (select 1) as a; |
1052 | select a from (select 1 as a) as b; |
1053 | @@ -58,7 +58,7 @@ |
1054 | enable_query_log; |
1055 | SELECT * FROM (SELECT * FROM t1) as b ORDER BY a ASC LIMIT 0,20; |
1056 | --replace_column 9 X |
1057 | -explain select count(*) from t1 as tt1, (select * from t1) as tt2; |
1058 | +explain select count(*) from t1 as tt1, (select * from t1) as tt2 where tt1.a != 0; |
1059 | drop table t1; |
1060 | SELECT * FROM (SELECT (SELECT * FROM (SELECT 1 as a) as a )) as b; |
1061 | select * from (select 1 as a) b left join (select 2 as a) c using(a); |
1062 | @@ -125,8 +125,8 @@ |
1063 | create table t1 (a int); |
1064 | insert into t1 values (1),(2); |
1065 | --sort_result |
1066 | -select * from ( select * from t1 union select * from t1) a,(select * from t1 union select * from t1) b; |
1067 | -explain select * from ( select * from t1 union select * from t1) a,(select * from t1 union select * from t1) b; |
1068 | +select * from ( select * from t1 union select * from t1) a,(select * from t1 union select * from t1) b where a.a != 0; |
1069 | +explain select * from ( select * from t1 union select * from t1) a,(select * from t1 union select * from t1) b where a.a != 0; |
1070 | drop table t1; |
1071 | |
1072 | # |
1073 | @@ -221,7 +221,7 @@ |
1074 | # |
1075 | create table t1 (a int); |
1076 | create table t2 (a int); |
1077 | -select * from (select * from t1,t2) foo; |
1078 | +select * from (select * from t1,t2 where t1.a != 0) foo; |
1079 | drop table t1,t2; |
1080 | |
1081 | # |
1082 | |
1083 | === modified file 'tests/t/distinct.test' |
1084 | --- tests/t/distinct.test 2010-08-21 22:42:44 +0000 |
1085 | +++ tests/t/distinct.test 2011-02-07 17:26:32 +0000 |
1086 | @@ -345,6 +345,7 @@ |
1087 | INSERT INTO t1 VALUES (1,1), (2,1), (3,1); |
1088 | EXPLAIN SELECT DISTINCT a FROM t1; |
1089 | EXPLAIN SELECT DISTINCT a,b FROM t1; |
1090 | +--error ER_CARTESIAN_JOIN_ATTEMPTED |
1091 | EXPLAIN SELECT DISTINCT t1_1.a, t1_1.b FROM t1 t1_1, t1 t1_2; |
1092 | --sorted_result |
1093 | EXPLAIN SELECT DISTINCT t1_1.a, t1_1.b FROM t1 t1_1, t1 t1_2 |
1094 | |
1095 | === modified file 'tests/t/func_gconcat.test' |
1096 | --- tests/t/func_gconcat.test 2010-08-26 21:56:15 +0000 |
1097 | +++ tests/t/func_gconcat.test 2011-02-07 17:26:32 +0000 |
1098 | @@ -104,7 +104,7 @@ |
1099 | create table t1(id int); |
1100 | create table t2(id int); |
1101 | insert into t1 values(0),(1); |
1102 | -select group_concat(t1.id) FROM t1,t2; |
1103 | +select group_concat(t1.id) FROM t1,t2 where t2.id < 2; |
1104 | drop table t1; |
1105 | drop table t2; |
1106 | |
1107 | @@ -190,7 +190,7 @@ |
1108 | CREATE TABLE t2 ( a int ); |
1109 | INSERT INTO t1 VALUES (1), (2); |
1110 | INSERT INTO t2 VALUES (1), (2); |
1111 | -SELECT GROUP_CONCAT(t1.a*t2.a ORDER BY t2.a) FROM t1, t2 GROUP BY t1.a; |
1112 | +SELECT GROUP_CONCAT(t1.a*t2.a ORDER BY t2.a) FROM t1, t2 WHERE t1.a < 3 GROUP BY t1.a; |
1113 | DROP TABLE t1, t2; |
1114 | |
1115 | # |
1116 | @@ -602,6 +602,7 @@ |
1117 | FROM |
1118 | t1 AS t1, |
1119 | t1 AS t2 |
1120 | + WHERE t2.a IS NULL |
1121 | GROUP BY 1 |
1122 | ) AS s1; |
1123 | DROP TABLE t1; |
1124 | |
1125 | === modified file 'tests/t/func_group.test' |
1126 | --- tests/t/func_group.test 2010-08-23 19:49:47 +0000 |
1127 | +++ tests/t/func_group.test 2011-02-07 17:26:32 +0000 |
1128 | @@ -120,7 +120,7 @@ |
1129 | # The following returned NULL in 4.0.10 |
1130 | select min(a2) from t1; |
1131 | select max(t1.a1), max(t2.a2) from t1, t2; |
1132 | -select max(t1.a1) from t1, t2; |
1133 | +select max(t1.a1) from t1, t2 where t1.a1 > 0; |
1134 | select max(t2.a2), max(t1.a1) from t1, t2; |
1135 | |
1136 | explain select min(a2) from t1; |
1137 | @@ -129,7 +129,7 @@ |
1138 | insert into t2 values('AAA', 10, 0.5); |
1139 | insert into t2 values('BBB', 20, 1.0); |
1140 | --sorted_result |
1141 | -select t1.a1, t1.a2, t2.a1, t2.a2 from t1,t2; |
1142 | +select t1.a1, t1.a2, t2.a1, t2.a2 from t1,t2 where t1.a1 > 0; |
1143 | |
1144 | select max(t1.a1), max(t2.a1) from t1, t2 where t2.a2=9; |
1145 | select max(t2.a1), max(t1.a1) from t1, t2 where t2.a2=9; |
1146 | |
1147 | === modified file 'tests/t/func_in.test' |
1148 | --- tests/t/func_in.test 2010-12-20 19:20:57 +0000 |
1149 | +++ tests/t/func_in.test 2011-02-07 17:26:32 +0000 |
1150 | @@ -142,7 +142,7 @@ |
1151 | insert into t1 values (0),(1),(2),(3),(4),(5),(6),(7),(8),(9); |
1152 | create temporary table t2 (a int, filler char(200), key(a)) engine=myisam; |
1153 | |
1154 | -insert into t2 select C.a*2, 'no' from t1 A, t1 B, t1 C; |
1155 | +insert into t2 select C.a*2, 'no' from t1 A, t1 B, t1 C where A.a < 10; |
1156 | insert into t2 select C.a*2+1, 'yes' from t1 C; |
1157 | |
1158 | explain |
1159 | @@ -180,9 +180,9 @@ |
1160 | # |
1161 | create table t2 (a varchar(10), filler char(200), key(a)); |
1162 | |
1163 | -insert into t2 select 'foo', 'no' from t1 A, t1 B; |
1164 | -insert into t2 select 'barbar', 'no' from t1 A, t1 B; |
1165 | -insert into t2 select 'bazbazbaz', 'no' from t1 A, t1 B; |
1166 | +insert into t2 select 'foo', 'no' from t1 A, t1 B where A.a < 10; |
1167 | +insert into t2 select 'barbar', 'no' from t1 A, t1 B where A.a < 10; |
1168 | +insert into t2 select 'bazbazbaz', 'no' from t1 A, t1 B where A.a < 10; |
1169 | |
1170 | insert into t2 values ('fon', '1'), ('fop','1'), ('barbaq','1'), |
1171 | ('barbas','1'), ('bazbazbay', '1'),('zz','1'); |
1172 | @@ -196,9 +196,9 @@ |
1173 | # |
1174 | create table t2 (a decimal(10,5), filler char(200), key(a)); |
1175 | |
1176 | -insert into t2 select 345.67890, 'no' from t1 A, t1 B; |
1177 | -insert into t2 select 43245.34, 'no' from t1 A, t1 B; |
1178 | -insert into t2 select 64224.56344, 'no' from t1 A, t1 B; |
1179 | +insert into t2 select 345.67890, 'no' from t1 A, t1 B where A.a < 10; |
1180 | +insert into t2 select 43245.34, 'no' from t1 A, t1 B where A.a < 10; |
1181 | +insert into t2 select 64224.56344, 'no' from t1 A, t1 B where A.a < 10; |
1182 | |
1183 | insert into t2 values (0, '1'), (22334.123,'1'), (33333,'1'), |
1184 | (55555,'1'), (77777, '1'); |
1185 | @@ -217,7 +217,7 @@ |
1186 | set @str="update t2 set b=1 where a not in ("; |
1187 | select count(*) from ( |
1188 | select @str:=concat(@str, @cnt:=@cnt+1, ",") |
1189 | - from t1 A, t1 B, t1 C, t1 D) Z; |
1190 | + from t1 A, t1 B, t1 C, t1 D where A.a < 10) Z; |
1191 | |
1192 | set @str:=concat(@str, "10000)"); |
1193 | select substr(@str, 1, 50); |
1194 | |
1195 | === modified file 'tests/t/global_read_constraints.test' |
1196 | --- tests/t/global_read_constraints.test 2011-01-24 04:22:18 +0000 |
1197 | +++ tests/t/global_read_constraints.test 2011-02-07 17:26:32 +0000 |
1198 | @@ -6,4 +6,4 @@ |
1199 | create temporary table t3 (a varchar(255), b varchar(255)) engine=myisam; |
1200 | insert into t3 select * from t1; |
1201 | --error ER_OUT_OF_GLOBAL_READMEMORY |
1202 | -select SQL_BIG_RESULT * from t3, (select * from t1) as t4; |
1203 | +select SQL_BIG_RESULT * from t3, (select * from t1) as t4 where t3.a != ''; |
1204 | |
1205 | === modified file 'tests/t/group_by.test' |
1206 | --- tests/t/group_by.test 2011-01-26 00:31:58 +0000 |
1207 | +++ tests/t/group_by.test 2011-02-07 17:26:32 +0000 |
1208 | @@ -750,7 +750,7 @@ |
1209 | select * from t1 group by f1; |
1210 | select * from t1 group by f2; |
1211 | select * from t1 group by f1, f2; |
1212 | -select t1.f1,t.* from t1, t1 t group by 1; |
1213 | +select t1.f1,t.* from t1, t1 t where t1.f1 >= 0 group by 1; |
1214 | drop table t1; |
1215 | |
1216 | # |
1217 | |
1218 | === modified file 'tests/t/group_min_max.test' |
1219 | --- tests/t/group_min_max.test 2010-08-21 22:42:44 +0000 |
1220 | +++ tests/t/group_min_max.test 2011-02-07 17:26:32 +0000 |
1221 | @@ -524,7 +524,7 @@ |
1222 | select distinct a1,a1 from t1; |
1223 | select distinct a2,a1,a2,a1 from t1; |
1224 | --sorted_result |
1225 | -select distinct t1.a1,t2.a1 from t1,t2; |
1226 | +select distinct t1.a1,t2.a1 from t1,t2 where t1.a1 >= ''; |
1227 | |
1228 | |
1229 | # |
1230 | |
1231 | === modified file 'tests/t/insert_select.test' |
1232 | --- tests/t/insert_select.test 2010-08-26 21:56:15 +0000 |
1233 | +++ tests/t/insert_select.test 2011-02-07 17:26:32 +0000 |
1234 | @@ -87,7 +87,7 @@ |
1235 | select * from t1; |
1236 | insert into t2 select * from t1 as t2; |
1237 | select * from t1; |
1238 | -insert into t1 select t2.a from t1,t2; |
1239 | +insert into t1 select t2.a from t1,t2 where t1.a > 0; |
1240 | select * from t1; |
1241 | --error ER_NONUNIQ_TABLE |
1242 | insert into t1 select * from t1,t1; |
1243 | |
1244 | === modified file 'tests/t/join.test' |
1245 | --- tests/t/join.test 2011-01-26 00:31:58 +0000 |
1246 | +++ tests/t/join.test 2011-02-07 17:26:32 +0000 |
1247 | @@ -12,7 +12,9 @@ |
1248 | CREATE TABLE t2 (S1 INT); |
1249 | INSERT INTO t1 VALUES (1); |
1250 | INSERT INTO t2 VALUES (2); |
1251 | +--error ER_CARTESIAN_JOIN_ATTEMPTED |
1252 | SELECT * FROM t1 JOIN t2; |
1253 | +--error ER_CARTESIAN_JOIN_ATTEMPTED |
1254 | SELECT * FROM t1 INNER JOIN t2; |
1255 | SELECT * from t1 JOIN t2 USING (S1); |
1256 | SELECT * FROM t1 INNER JOIN t2 USING (S1); |
1257 | @@ -299,6 +301,7 @@ |
1258 | CREATE TABLE t1 (a int); |
1259 | CREATE TABLE t2 (b int); |
1260 | CREATE TABLE t3 (c int); |
1261 | +--error ER_CARTESIAN_JOIN_ATTEMPTED |
1262 | SELECT * FROM t1 NATURAL JOIN t2 NATURAL JOIN t3; |
1263 | DROP TABLE t1, t2, t3; |
1264 | |
1265 | @@ -598,7 +601,7 @@ |
1266 | create table t3 (a int, b int, filler char(100), key(a), key(b)); |
1267 | |
1268 | insert into t2 |
1269 | - select @a:= A.a + 10*(B.a + 10*C.a), @a, 'filler' from t1 A, t1 B, t1 C; |
1270 | + select @a:= A.a + 10*(B.a + 10*C.a), @a, 'filler' from t1 A, t1 B, t1 C where B.a >= 0; |
1271 | insert into t3 select * from t2 where a < 800; |
1272 | |
1273 | # The order of tables must be t2,t3: |
1274 | @@ -612,7 +615,7 @@ |
1275 | insert into t1 values (0),(1),(2),(3),(4),(5),(6),(7),(8),(9); |
1276 | |
1277 | create table t2 (a int, b int, primary key(a)); |
1278 | -insert into t2 select @v:=A.a+10*B.a, @v from t1 A, t1 B; |
1279 | +insert into t2 select @v:=A.a+10*B.a, @v from t1 A, t1 B where B.a >= 0; |
1280 | |
1281 | explain select * from t1; |
1282 | --replace_column 2 # |
1283 | |
1284 | === modified file 'tests/t/join_nested.test' |
1285 | --- tests/t/join_nested.test 2010-08-21 22:42:44 +0000 |
1286 | +++ tests/t/join_nested.test 2011-02-07 17:26:32 +0000 |
1287 | @@ -35,7 +35,7 @@ |
1288 | SELECT t4.a,t4.b |
1289 | FROM t4; |
1290 | |
1291 | ---sorted_result |
1292 | +--error ER_CARTESIAN_JOIN_ATTEMPTED |
1293 | SELECT t3.a,t3.b,t4.a,t4.b |
1294 | FROM t3,t4; |
1295 | |
1296 | @@ -76,7 +76,7 @@ |
1297 | SELECT t5.a,t5.b |
1298 | FROM t5; |
1299 | |
1300 | ---sorted_result |
1301 | +--error ER_CARTESIAN_JOIN_ATTEMPTED |
1302 | SELECT t3.a,t3.b,t4.a,t4.b,t5.a,t5.b |
1303 | FROM t3,t4,t5; |
1304 | |
1305 | @@ -126,7 +126,7 @@ |
1306 | |
1307 | --sorted_result |
1308 | SELECT t6.a,t6.b,t7.a,t7.b |
1309 | - FROM t6,t7; |
1310 | + FROM t6 CROSS JOIN t7; |
1311 | |
1312 | SELECT t8.a,t8.b |
1313 | FROM t8; |
1314 | @@ -426,7 +426,7 @@ |
1315 | WHERE t1.a <= 2; |
1316 | |
1317 | SELECT t3.a,t3.b,t4.a,t4.b |
1318 | - FROM t3,t4; |
1319 | + FROM t3 CROSS JOIN t4; |
1320 | |
1321 | SELECT t2.a,t2.b,t3.a,t3.b,t4.a,t4.b |
1322 | FROM t2 |
1323 | @@ -771,7 +771,7 @@ |
1324 | create table t1 (a int); |
1325 | insert into t1 values (0),(1),(2),(3),(4),(5),(6),(7),(8),(9); |
1326 | create table t2 (a int, filler char(100), key(a)); |
1327 | -insert into t2 select A.a + 10*B.a, '' from t1 A, t1 B; |
1328 | +insert into t2 select A.a + 10*B.a, '' from t1 A CROSS JOIN t1 B; |
1329 | create table t3 like t2; |
1330 | insert into t3 select * from t2; |
1331 | |
1332 | |
1333 | === modified file 'tests/t/key_diff.test' |
1334 | --- tests/t/key_diff.test 2010-08-21 22:42:44 +0000 |
1335 | +++ tests/t/key_diff.test 2011-02-07 17:26:32 +0000 |
1336 | @@ -15,7 +15,7 @@ |
1337 | INSERT INTO t1 VALUES ('A','B'),('b','A'),('C','c'),('D','E'),('a','a'); |
1338 | |
1339 | --sorted_result |
1340 | -select * from t1,t1 as t2; |
1341 | +select * from t1 CROSS JOIN t1 as t2; |
1342 | explain select t1.*,t2.* from t1,t1 as t2 where t1.A=t2.B; |
1343 | #select t1.*,t2.* from t1,t1 as t2 where t1.A=t2.B; |
1344 | select t1.*,t2.* from t1,t1 as t2 where t1.A=t2.B order by binary t1.a,t2.a; |
1345 | |
1346 | === modified file 'tests/t/olap.test' |
1347 | --- tests/t/olap.test 2010-08-26 21:56:15 +0000 |
1348 | +++ tests/t/olap.test 2011-02-07 17:26:32 +0000 |
1349 | @@ -90,7 +90,7 @@ |
1350 | CREATE TABLE t2 (i int); |
1351 | INSERT INTO t2 VALUES (100),(200); |
1352 | SELECT i, COUNT(*) FROM t1 GROUP BY i WITH ROLLUP; |
1353 | -SELECT t1.i, t2.i, COUNT(*) FROM t1,t2 GROUP BY t1.i,t2.i WITH ROLLUP; |
1354 | +SELECT t1.i, t2.i, COUNT(*) FROM t1 CROSS JOIN t2 GROUP BY t1.i,t2.i WITH ROLLUP; |
1355 | drop table t1,t2; |
1356 | |
1357 | #bug #4767: ROLLUP with LEFT JOIN |
1358 | |
1359 | === modified file 'tests/t/order_by.test' |
1360 | --- tests/t/order_by.test 2010-12-07 09:12:12 +0000 |
1361 | +++ tests/t/order_by.test 2011-02-07 17:26:32 +0000 |
1362 | @@ -623,11 +623,11 @@ |
1363 | |
1364 | CREATE TABLE t1 (a int); |
1365 | |
1366 | -SELECT p.a AS val, q.a AS val1 FROM t1 p, t1 q ORDER BY val > 1; |
1367 | ---error ER_NON_UNIQ_ERROR |
1368 | -SELECT p.a AS val, q.a AS val FROM t1 p, t1 q ORDER BY val; |
1369 | ---error ER_NON_UNIQ_ERROR |
1370 | -SELECT p.a AS val, q.a AS val FROM t1 p, t1 q ORDER BY val > 1; |
1371 | +SELECT p.a AS val, q.a AS val1 FROM t1 p CROSS JOIN t1 q ORDER BY val > 1; |
1372 | +--error ER_NON_UNIQ_ERROR |
1373 | +SELECT p.a AS val, q.a AS val FROM t1 p CROSS JOIN t1 q ORDER BY val; |
1374 | +--error ER_NON_UNIQ_ERROR |
1375 | +SELECT p.a AS val, q.a AS val FROM t1 p CROSS JOIN t1 q ORDER BY val > 1; |
1376 | |
1377 | DROP TABLE t1; |
1378 | |
1379 | |
1380 | === modified file 'tests/t/range.test' |
1381 | --- tests/t/range.test 2010-12-20 19:20:57 +0000 |
1382 | +++ tests/t/range.test 2011-02-07 17:26:32 +0000 |
1383 | @@ -508,7 +508,7 @@ |
1384 | PRIMARY KEY (pk1,pk2,pk3,pk4) |
1385 | ); |
1386 | |
1387 | -insert into t2 select 1, A.a+10*B.a, 432, 44, 'fillerZ' from t1 A, t1 B; |
1388 | +insert into t2 select 1, A.a+10*B.a, 432, 44, 'fillerZ' from t1 A CROSS JOIN t1 B; |
1389 | INSERT INTO t2 VALUES (2621, 2635, 0, 0,'filler'), (2621, 2635, 1, 0,'filler'), |
1390 | (2621, 2635, 10, 0,'filler'), (2621, 2635, 11, 0,'filler'), |
1391 | (2621, 2635, 14, 0,'filler'), (2621, 2635, 1000015, 0,'filler'); |
1392 | @@ -792,7 +792,7 @@ |
1393 | insert into t1 values ('a ',''); |
1394 | insert into t1 values ('a ', ''); |
1395 | insert into t1 select concat('a', 1000 + A.a + 10 * (B.a + 10 * C.a)), '' |
1396 | - from t3 A, t3 B, t3 C; |
1397 | + from t3 A CROSS JOIN t3 B CROSS JOIN t3 C; |
1398 | |
1399 | create table t2 (a varchar(10), filler char(200), key(a)); |
1400 | insert into t2 select * from t1; |
1401 | |
1402 | === modified file 'tests/t/select.test' |
1403 | --- tests/t/select.test 2011-02-01 18:23:24 +0000 |
1404 | +++ tests/t/select.test 2011-02-07 17:26:32 +0000 |
1405 | @@ -1534,7 +1534,7 @@ |
1406 | # Full join (same alias) |
1407 | # |
1408 | |
1409 | -select * from t1,t1 t12; |
1410 | +select * from t1 CROSS JOIN t1 t12; |
1411 | --sorted_result |
1412 | select t2.fld1,t22.fld1 from t2,t2 t22 where t2.fld1 >= 250501 and t2.fld1 <= 250505 and t22.fld1 >= 250501 and t22.fld1 <= 250505; |
1413 | |
1414 | @@ -2720,7 +2720,7 @@ |
1415 | create table t1 (a int); |
1416 | insert into t1 values (0),(1),(2),(3),(4),(5),(6),(7),(8),(9); |
1417 | create table t2 (a int, b int, c int, e int, primary key(a,b,c)); |
1418 | -insert into t2 select A.a, B.a, C.a, C.a from t1 A, t1 B, t1 C; |
1419 | +insert into t2 select A.a, B.a, C.a, C.a from t1 A CROSS JOIN t1 B CROSS JOIN t1 C; |
1420 | analyze table t2; |
1421 | select 'In next EXPLAIN, B.rows must be exactly 10:' Z; |
1422 | |
1423 | @@ -3278,7 +3278,7 @@ |
1424 | KEY (c33, c34, c32)); |
1425 | |
1426 | INSERT INTO t1 values (),(),(),(),(); |
1427 | -INSERT INTO t2 SELECT a.c11, b.c11 FROM t1 a, t1 b; |
1428 | +INSERT INTO t2 SELECT a.c11, b.c11 FROM t1 a CROSS JOIN t1 b; |
1429 | INSERT INTO t3 VALUES (1, 1, 1, 0), |
1430 | (2, 2, 0, 0), |
1431 | (3, 3, 1, 0), |
1432 | |
1433 | === modified file 'tests/t/select_safe.test' |
1434 | --- tests/t/select_safe.test 2010-08-26 21:56:15 +0000 |
1435 | +++ tests/t/select_safe.test 2011-02-07 17:26:32 +0000 |
1436 | @@ -17,7 +17,7 @@ |
1437 | --sorted_result |
1438 | SELECT SQL_BUFFER_RESULT * from t1; |
1439 | update t1 set b="a" where a=1; |
1440 | -select 1 from t1,t1 as t2,t1 as t3; |
1441 | +select 1 from t1 CROSS JOIN t1 as t2 CROSS JOIN t1 as t3; |
1442 | |
1443 | # The following should NOT give errors: |
1444 | update t1 set b="a"; |
1445 | @@ -25,7 +25,7 @@ |
1446 | delete from t1; |
1447 | delete from t1 where b="test"; |
1448 | delete from t1 where a+0=1; |
1449 | -select 1 from t1,t1 as t2,t1 as t3,t1 as t4,t1 as t5; |
1450 | +select 1 from t1 CROSS JOIN t1 as t2 CROSS JOIN t1 as t3 CROSS JOIN t1 as t4 CROSS JOIN t1 as t5; |
1451 | |
1452 | # The following should be ok: |
1453 | update t1 set b="a" limit 1; |
1454 | |
1455 | === modified file 'tests/t/status.test' |
1456 | --- tests/t/status.test 2011-01-18 23:35:32 +0000 |
1457 | +++ tests/t/status.test 2011-02-07 17:26:32 +0000 |
1458 | @@ -115,7 +115,7 @@ |
1459 | SELECT (SELECT a FROM t1 LIMIT 1) x FROM t1 LIMIT 1; |
1460 | SHOW SESSION STATUS LIKE 'Last_query_cost'; |
1461 | |
1462 | -SELECT * FROM t1 a, t1 b LIMIT 1; |
1463 | +SELECT * FROM t1 a CROSS JOIN t1 b LIMIT 1; |
1464 | SHOW SESSION STATUS LIKE 'Last_query_cost'; |
1465 | |
1466 | DROP TABLE t1; |
1467 | |
1468 | === modified file 'tests/t/subselect.test' |
1469 | --- tests/t/subselect.test 2011-02-04 04:21:02 +0000 |
1470 | +++ tests/t/subselect.test 2011-02-07 17:26:32 +0000 |
1471 | @@ -3119,8 +3119,9 @@ |
1472 | --error ER_PARSE_ERROR |
1473 | SELECT * FROM t1 JOIN ((t1 t1a)) t1a ON 1; |
1474 | |
1475 | ---sorted_result |
1476 | +--error ER_CARTESIAN_JOIN_ATTEMPTED |
1477 | SELECT * FROM t1 JOIN (t1 t1a) ON 1; |
1478 | +--error ER_CARTESIAN_JOIN_ATTEMPTED |
1479 | SELECT * FROM t1 JOIN ((t1 t1a)) ON 1; |
1480 | |
1481 | SELECT * FROM (t1 t1a); |
1482 | |
1483 | === modified file 'tests/t/subselect3.test' |
1484 | --- tests/t/subselect3.test 2010-12-21 02:58:40 +0000 |
1485 | +++ tests/t/subselect3.test 2011-02-07 17:26:32 +0000 |
1486 | @@ -225,7 +225,7 @@ |
1487 | |
1488 | # Then check that we do turn off 'ref' scans in the subquery |
1489 | create table t4 (x int); |
1490 | -insert into t4 select A.a + 10*B.a from t1 A, t1 B; |
1491 | +insert into t4 select A.a + 10*B.a from t1 A CROSS JOIN t1 B; |
1492 | explain extended |
1493 | select a,b, oref, |
1494 | (a,b) in (select a,b from t1,t4 where c=t2.oref) Z |
1495 | |
1496 | === modified file 'tests/t/subselect_sj.test' |
1497 | --- tests/t/subselect_sj.test 2009-06-16 01:16:01 +0000 |
1498 | +++ tests/t/subselect_sj.test 2011-02-07 17:26:32 +0000 |
1499 | @@ -81,7 +81,7 @@ |
1500 | where t1.a < 5; |
1501 | |
1502 | # Try I2O orders |
1503 | -insert into t1 select (A.a + 10 * B.a),1 from t0 A, t0 B; |
1504 | +insert into t1 select (A.a + 10 * B.a),1 from t0 A CROSS JOIN t0 B; |
1505 | explain extended select * from t1 where a in (select pk from t10 where pk<3); |
1506 | |
1507 | drop table t0, t1; |
1508 | |
1509 | === modified file 'tests/t/subselect_sj2.test' |
1510 | --- tests/t/subselect_sj2.test 2009-10-20 20:39:01 +0000 |
1511 | +++ tests/t/subselect_sj2.test 2011-02-07 17:26:32 +0000 |
1512 | @@ -371,7 +371,7 @@ |
1513 | insert into t3 values ('2009-10-22'),('2142-10-22'); |
1514 | create table t2 (c1 tinytext,c2 text,c6 timestamp) engine=innodb; |
1515 | select * from t3; |
1516 | -explain select 1 from t2 where c2 in (select 1 from t3, t2) and c1 in (select convert(c6,char(1)) from t2); |
1517 | +explain select 1 from t2 where c2 in (select 1 from t3 CROSS JOIN t2) and c1 in (select convert(c6,char(1)) from t2); |
1518 | drop table t2, t3; |
1519 | |
1520 | # |
1521 | |
1522 | === modified file 'tests/t/sum_distinct.test' |
1523 | --- tests/t/sum_distinct.test 2010-04-20 18:23:07 +0000 |
1524 | +++ tests/t/sum_distinct.test 2011-02-07 17:26:32 +0000 |
1525 | @@ -56,14 +56,14 @@ |
1526 | SUM(DISTINCT LENGTH(g1.name)) s1, |
1527 | SUM(DISTINCT SUBSTRING(g2.name, 1, 3)) s2, |
1528 | SUM(DISTINCT LENGTH(SUBSTRING(g3.name, 1, 4))) s3 |
1529 | -FROM t1 g1, t1 g2, t1 g3; |
1530 | +FROM t1 g1 CROSS JOIN t1 g2 CROSS JOIN t1 g3; |
1531 | |
1532 | SELECT |
1533 | SQL_BIG_RESULT |
1534 | SUM(DISTINCT LENGTH(g1.name)) s1, |
1535 | SUM(DISTINCT SUBSTRING(g2.name, 1, 3)) s2, |
1536 | SUM(DISTINCT LENGTH(SUBSTRING(g3.name, 1, 4))) s3 |
1537 | -FROM t1 g1, t1 g2, t1 g3 GROUP BY LENGTH(SUBSTRING(g3.name, 5, 10)); |
1538 | +FROM t1 g1 CROSS JOIN t1 g2 CROSS JOIN t1 g3 GROUP BY LENGTH(SUBSTRING(g3.name, 5, 10)); |
1539 | |
1540 | # here we explicitly request summing through temporary table (so |
1541 | # Item_sum_sum_distinct::copy_or_same() is called) |
1542 | @@ -78,7 +78,7 @@ |
1543 | SUM(DISTINCT LENGTH(g1.name)) s1, |
1544 | SUM(DISTINCT SUBSTRING(g2.name, 1, 3)) s2, |
1545 | SUM(DISTINCT LENGTH(SUBSTRING(g3.name, 1, 4))) s3 |
1546 | -FROM t1 g1, t1 g2, t1 g3 GROUP BY LENGTH(SUBSTRING(g3.name, 5, 10)); |
1547 | +FROM t1 g1 CROSS JOIN t1 g2 CROSS JOIN t1 g3 GROUP BY LENGTH(SUBSTRING(g3.name, 5, 10)); |
1548 | |
1549 | # this test demonstrates that strings are automatically converted to numbers |
1550 | # before summing |
1551 | |
1552 | === modified file 'tests/t/type_blob.test' |
1553 | --- tests/t/type_blob.test 2011-02-01 18:23:24 +0000 |
1554 | +++ tests/t/type_blob.test 2011-02-07 17:26:32 +0000 |
1555 | @@ -55,7 +55,7 @@ |
1556 | insert into t1 values (null,"ccc","CCC"); |
1557 | select last_insert_id(); |
1558 | --sorted_result |
1559 | -select * from t1,t1 as t2; |
1560 | +select * from t1 CROSS JOIN t1 as t2; |
1561 | |
1562 | drop table t1; |
1563 | |
1564 | |
1565 | === modified file 'tests/t/type_date.test' |
1566 | --- tests/t/type_date.test 2011-01-26 21:05:29 +0000 |
1567 | +++ tests/t/type_date.test 2011-02-07 17:26:32 +0000 |
1568 | @@ -75,9 +75,9 @@ |
1569 | INSERT INTO t1 VALUES(1); |
1570 | CREATE TABLE t2(GMT VARCHAR(32)); |
1571 | INSERT INTO t2 VALUES('GMT-0800'); |
1572 | -SELECT DATE_FORMAT("2002-03-06 10:11:12", CONCAT('%a, %d %M %Y %H:%i:%s ' , t2.GMT)) FROM t1, t2 GROUP BY t1.AFIELD; |
1573 | +SELECT DATE_FORMAT("2002-03-06 10:11:12", CONCAT('%a, %d %M %Y %H:%i:%s ' , t2.GMT)) FROM t1 CROSS JOIN t2 GROUP BY t1.AFIELD; |
1574 | INSERT INTO t1 VALUES(1); |
1575 | -SELECT DATE_FORMAT("2002-03-06 10:11:12", CONCAT('%a, %d %M %Y %H:%i:%s ' , t2.GMT)), DATE_FORMAT("2002-03-06 10:11:12", CONCAT('%a, %d %M %Y %H:%i:%s ' , t2.GMT)) FROM t1,t2 GROUP BY t1.AFIELD; |
1576 | +SELECT DATE_FORMAT("2002-03-06 10:11:12", CONCAT('%a, %d %M %Y %H:%i:%s ' , t2.GMT)), DATE_FORMAT("2002-03-06 10:11:12", CONCAT('%a, %d %M %Y %H:%i:%s ' , t2.GMT)) FROM t1 CROSS JOIN t2 GROUP BY t1.AFIELD; |
1577 | drop table t1,t2; |
1578 | |
1579 | # |
1580 | |
1581 | === modified file 'tests/t/type_float.test' |
1582 | --- tests/t/type_float.test 2010-08-26 21:56:15 +0000 |
1583 | +++ tests/t/type_float.test 2011-02-07 17:26:32 +0000 |
1584 | @@ -164,7 +164,7 @@ |
1585 | desc t1; |
1586 | create table t2 select 105213674794682365.00 y; |
1587 | desc t2; |
1588 | -create table t3 select x+y a from t1,t2; |
1589 | +create table t3 select x+y a from t1 CROSS JOIN t2; |
1590 | show warnings; |
1591 | desc t3; |
1592 | drop table t1,t2,t3; |
1593 | |
1594 | === modified file 'tests/t/type_ranges.test' |
1595 | --- tests/t/type_ranges.test 2010-08-26 21:56:15 +0000 |
1596 | +++ tests/t/type_ranges.test 2011-02-07 17:26:32 +0000 |
1597 | @@ -122,7 +122,7 @@ |
1598 | create table t2 select * from t1; |
1599 | --error ER_DUP_FIELDNAME |
1600 | create table t3 select * from t1, t2; # Should give an error |
1601 | -create table t3 select t1.c AS c1, t2.c AS c2,1 as "const" from t1, t2; |
1602 | +create table t3 select t1.c AS c1, t2.c AS c2,1 as "const" from t1 CROSS JOIN t2; |
1603 | # We mask out the Privileges column because it differs with embedded server |
1604 | --replace_column 8 # |
1605 | show columns from t3; |
1606 | |
1607 | === modified file 'tests/t/union.test' |
1608 | --- tests/t/union.test 2011-02-04 04:21:02 +0000 |
1609 | +++ tests/t/union.test 2011-02-07 17:26:32 +0000 |
1610 | @@ -316,7 +316,7 @@ |
1611 | insert into t2 (group_name) values ('Group A'); |
1612 | insert into t2 (group_name) values ('Group B'); |
1613 | insert into t3 (user_id, group_id) values (1,1); |
1614 | -select 1 'is_in_group', a.user_name, c.group_name, b.id from t1 a, t3 b, t2 c where a.id = b.user_id and b.group_id = c.id UNION select 0 'is_in_group', a.user_name, c.group_name, null from t1 a, t2 c; |
1615 | +select 1 'is_in_group', a.user_name, c.group_name, b.id from t1 a, t3 b, t2 c where a.id = b.user_id and b.group_id = c.id UNION select 0 'is_in_group', a.user_name, c.group_name, null from t1 a CROSS JOIN t2 c; |
1616 | drop table t3, t1, t2; |
1617 | |
1618 | # |
1619 | |
1620 | === modified file 'tests/t/update.test' |
1621 | --- tests/t/update.test 2011-01-05 07:43:57 +0000 |
1622 | +++ tests/t/update.test 2011-02-07 17:26:32 +0000 |
1623 | @@ -214,7 +214,7 @@ |
1624 | create table t1 (a int); |
1625 | insert into t1 values (0),(1),(2),(3),(4),(5),(6),(7),(8),(9); |
1626 | create table t2 (a int, filler1 char(200), filler2 char(200), key(a)); |
1627 | -insert into t2 select A.a + 10*B.a, 'filler','filler' from t1 A, t1 B; |
1628 | +insert into t2 select A.a + 10*B.a, 'filler','filler' from t1 A CROSS JOIN t1 B; |
1629 | flush status; |
1630 | update t2 set a=3 where a=2; |
1631 | --replace_column 2 # |