Bug #13371 | Wrong result set using WHERE conditions on an indexed column | ||
---|---|---|---|
Submitted: | 21 Sep 2005 9:20 | Modified: | 21 Sep 2005 10:20 |
Reporter: | Sven Reifegerste | Email Updates: | |
Status: | Can't repeat | Impact on me: | |
Category: | MySQL Server | Severity: | S2 (Serious) |
Version: | Ver 14.7 Distrib 4.1.11 (i-386) | OS: | Linux (Linux (Debian, Suse)) |
Assigned to: | CPU Architecture: | Any |
[21 Sep 2005 9:20]
Sven Reifegerste
[21 Sep 2005 10:20]
Valeriy Kravchuk
I've tried to repeat the described behaviour on newer 4.1.14 version: mysql> use test; Database changed mysql> CREATE TABLE keytest (id int(10) NOT NULL default '1', KEY id (id)); Query OK, 0 rows affected (0.13 sec) mysql> INSERT INTO keytest VALUES (1); Query OK, 1 row affected (0.00 sec) mysql> INSERT INTO keytest VALUES (1); Query OK, 1 row affected (0.00 sec) mysql> SELECT * FROM keytest WHERE (id=4 OR (id>=1 AND id<=3) OR (id>=2 AND id<=5)); +----+ | id | +----+ | 1 | | 1 | +----+ 2 rows in set (0.01 sec) mysql> explain SELECT * FROM keytest WHERE (id=4 OR (id>=1 AND id<=3) OR (id>=2 AND id<=5)); +----+-------------+---------+-------+---------------+------+---------+------+-- ----+--------------------------+ | id | select_type | table | type | possible_keys | key | key_len | ref | r ows | Extra | +----+-------------+---------+-------+---------------+------+---------+------+-- ----+--------------------------+ | 1 | SIMPLE | keytest | range | id | id | 4 | NULL | 1 | Using where; Using index | +----+-------------+---------+-------+---------------+------+---------+------+-- ----+--------------------------+ 1 row in set (0.00 sec) mysql> select version(); +-----------+ | version() | +-----------+ | 4.1.14-nt | +-----------+ 1 row in set (0.00 sec) So, everythink works as expected. Please, try to use newer version of MySQL.