diff options
Diffstat (limited to 'mysql-test')
| -rw-r--r-- | mysql-test/r/explain.result | 4 | ||||
| -rw-r--r-- | mysql-test/r/key_cache.result | 2 | ||||
| -rw-r--r-- | mysql-test/r/preload.result | 2 | ||||
| -rw-r--r-- | mysql-test/r/select.result | 14 | ||||
| -rw-r--r-- | mysql-test/t/explain.test | 4 | ||||
| -rw-r--r-- | mysql-test/t/select.test | 19 |
6 files changed, 35 insertions, 10 deletions
diff --git a/mysql-test/r/explain.result b/mysql-test/r/explain.result index d66dec741bd..f77ddce118e 100644 --- a/mysql-test/r/explain.result +++ b/mysql-test/r/explain.result @@ -24,9 +24,9 @@ explain select * from t1 use key (str,str) where str="foo"; id select_type table type possible_keys key key_len ref rows Extra 1 SIMPLE t1 const str str 11 const 1 explain select * from t1 use key (str,str,foo) where str="foo"; -ERROR 42000: Key column 'foo' doesn't exist in table +ERROR 42000: Index 'foo' is not defined for table 't1' explain select * from t1 ignore key (str,str,foo) where str="foo"; -ERROR 42000: Key column 'foo' doesn't exist in table +ERROR 42000: Index 'foo' is not defined for table 't1' drop table t1; explain select 1; id select_type table type possible_keys key key_len ref rows Extra diff --git a/mysql-test/r/key_cache.result b/mysql-test/r/key_cache.result index 15dc244693d..749af3c87d8 100644 --- a/mysql-test/r/key_cache.result +++ b/mysql-test/r/key_cache.result @@ -191,7 +191,7 @@ cache index t1 in unknown_key_cache; ERROR HY000: Unknown key cache 'unknown_key_cache' cache index t1 key (unknown_key) in keycache1; Table Op Msg_type Msg_text -test.t1 assign_to_keycache error Key column 'unknown_key' doesn't exist in table +test.t1 assign_to_keycache error Index 'unknown_key' is not defined for table 't1' test.t1 assign_to_keycache status Operation failed select @@keycache2.key_buffer_size; @@keycache2.key_buffer_size diff --git a/mysql-test/r/preload.result b/mysql-test/r/preload.result index 7237a0da7e0..efe39dc1f22 100644 --- a/mysql-test/r/preload.result +++ b/mysql-test/r/preload.result @@ -158,7 +158,7 @@ Key_reads 0 load index into cache t3 key (b), t2 key (c) ; Table Op Msg_type Msg_text test.t3 preload_keys error Table 'test.t3' doesn't exist -test.t2 preload_keys error Key column 'c' doesn't exist in table +test.t2 preload_keys error Index 'c' is not defined for table 't2' test.t2 preload_keys status Operation failed show status like "key_read%"; Variable_name Value diff --git a/mysql-test/r/select.result b/mysql-test/r/select.result index b80ca2b195e..82cb4f2b978 100644 --- a/mysql-test/r/select.result +++ b/mysql-test/r/select.result @@ -143,9 +143,9 @@ explain select fld3 from t2 use index (fld1,fld3) where fld3 = 'honeysuckle'; id select_type table type possible_keys key key_len ref rows Extra 1 SIMPLE t2 ref fld3 fld3 30 const 1 Using where; Using index explain select fld3 from t2 ignore index (fld3,not_used); -ERROR 42000: Key column 'not_used' doesn't exist in table +ERROR 42000: Index 'not_used' is not defined for table 't2' explain select fld3 from t2 use index (not_used); -ERROR 42000: Key column 'not_used' doesn't exist in table +ERROR 42000: Index 'not_used' is not defined for table 't2' select t2.fld3 from t2 where fld3 >= 'honeysuckle' and fld3 <= 'honoring' order by fld3; fld3 honeysuckle @@ -2714,3 +2714,13 @@ select * from t1 where f1 in (select f3 from t2 where (f3,f4)= (select f3,f4 fro f1 f2 1 1 drop table t1,t2; +CREATE TABLE t1 (a int, INDEX idx(a)); +INSERT INTO t1 VALUES (2), (3), (1); +EXPLAIN SELECT * FROM t1 IGNORE INDEX (idx); +id select_type table type possible_keys key key_len ref rows Extra +1 SIMPLE t1 ALL NULL NULL NULL NULL 3 +EXPLAIN SELECT * FROM t1 IGNORE INDEX (a); +ERROR 42000: Index 'a' is not defined for table 't1' +EXPLAIN SELECT * FROM t1 FORCE INDEX (a); +ERROR 42000: Index 'a' is not defined for table 't1' +DROP TABLE t1; diff --git a/mysql-test/t/explain.test b/mysql-test/t/explain.test index 2a3a23c5f96..8e64255f239 100644 --- a/mysql-test/t/explain.test +++ b/mysql-test/t/explain.test @@ -15,9 +15,9 @@ explain select * from t1 ignore key (str) where str="foo"; explain select * from t1 use key (str,str) where str="foo"; #The following should give errors ---error 1072 +--error 1303 explain select * from t1 use key (str,str,foo) where str="foo"; ---error 1072 +--error 1303 explain select * from t1 ignore key (str,str,foo) where str="foo"; drop table t1; diff --git a/mysql-test/t/select.test b/mysql-test/t/select.test index 996d5854854..90d54e59b61 100644 --- a/mysql-test/t/select.test +++ b/mysql-test/t/select.test @@ -1295,9 +1295,9 @@ explain select fld3 from t2 use index (fld1,fld3) where fld3 = 'honeysuckle'; # The next should give an error # --- error 1072 +-- error 1303 explain select fld3 from t2 ignore index (fld3,not_used); --- error 1072 +-- error 1303 explain select fld3 from t2 use index (not_used); # @@ -2248,4 +2248,19 @@ insert into t2 values(1,1); select * from t1 where f1 in (select f3 from t2 where (f3,f4)= (select f3,f4 from t2)); drop table t1,t2; +# +# Bug #17873: confusing error message when IGNORE INDEX refers a column name +# + +CREATE TABLE t1 (a int, INDEX idx(a)); +INSERT INTO t1 VALUES (2), (3), (1); + +EXPLAIN SELECT * FROM t1 IGNORE INDEX (idx); +--error 1303 +EXPLAIN SELECT * FROM t1 IGNORE INDEX (a); +--error 1303 +EXPLAIN SELECT * FROM t1 FORCE INDEX (a); + +DROP TABLE t1; + # End of 4.1 tests |
