Bug #10037 Range test fails on multiple build hosts
Submitted: 20 Apr 2005 17:07 Modified: 25 Apr 2005 22:23
Reporter: Matt Wagner Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Server Severity:S2 (Serious)
Version:5.0.5 OS:many
Assigned to: Sergey Petrunya CPU Architecture:Any

[20 Apr 2005 17:07] Matt Wagner
Description:
Range test is failing with the following reject:

Below are the diffs between actual and expected results:
-------------------------------------------------------
*** r/range.result      Wed Apr 20 01:07:49 2005
--- r/range.reject      Wed Apr 20 05:13:34 2005
***************
*** 256,267 ****
  explain select * from t1, t2 where (t1.key1 <t2.keya + 1) and t2.keya=3;
  id    select_type     table   type    possible_keys   key     key_len ref     rows    Extra
  1     SIMPLE  t2      ref     j1      j1      4       const   1       Using index
! 1     SIMPLE  t1      range   i1      i1      4       NULL    7       Using where; Using index
  explain select * from t1 force index(i1), t2 force index(j1) where 
  (t1.key1 <t2.keya + 1) and t2.keya=3;
  id    select_type     table   type    possible_keys   key     key_len ref     rows    Extra
  1     SIMPLE  t2      ref     j1      j1      4       const   1       Using index
! 1     SIMPLE  t1      range   i1      i1      4       NULL    7       Using where; Using index
  DROP TABLE t1,t2;
  CREATE TABLE t1 (
  a int(11) default NULL,
--- 256,267 ----
  explain select * from t1, t2 where (t1.key1 <t2.keya + 1) and t2.keya=3;
  id    select_type     table   type    possible_keys   key     key_len ref     rows    Extra
  1     SIMPLE  t2      ref     j1      j1      4       const   1       Using index
! 1     SIMPLE  t1      index   i1      i1      4       NULL    7       Using where; Using index
  explain select * from t1 force index(i1), t2 force index(j1) where 
  (t1.key1 <t2.keya + 1) and t2.keya=3;
  id    select_type     table   type    possible_keys   key     key_len ref     rows    Extra
  1     SIMPLE  t2      ref     j1      j1      4       const   1       Using index
! 1     SIMPLE  t1      index   i1      i1      4       NULL    7       Using where; Using index
  DROP TABLE t1,t2;
  CREATE TABLE t1 (
  a int(11) default NULL,
-------------------------------------------------------

How to repeat:
Run test suite with 5.0.5 test build.
[20 Apr 2005 21:51] Bugs System
A patch for this bug has been committed. After review, it may
be pushed to the relevant source trees for release in the next
version. You can access the patch from:

  http://lists.mysql.com/internals/24178
[25 Apr 2005 12:16] Lenz Grimmer
Sorry, I have to reopen that one, as it still occurs with the latest 5.0.5 build, based on the following ChangeSet:

ChangeSet@1.1882, 2005-04-25 12:02:34+02:00, joreland@mysql.com
  Merge joreland@bk-internal.mysql.com:/home/bk/mysql-5.0
  into mysql.com:/home/jonas/src/mysql-5.0
  TAG: clone-5.0.5-build

Your initial fix is included, however:

ChangeSet
  1.1858.4.1 05/04/21 01:55:33 sergefp@mysql.com +2 -0
  Fix for BUG#10037
  * Add 0.01 to cost of 'range'+'using index' scan to avoid optimizer choice races with
    'index' scan.

But it still fails:

raid                           [ skipped ]
range                          [ fail ]

Errors are (from /data0/mysqldev/my/mysql-5.0.5-beta-build/mysql-test/var/log/mysqltest-time) :
/data0/mysqldev/my/mysql-5.0.5-beta-build/client/.libs/mysqltest: At line 456: Result content mismat
ch
(the last lines may be the most important ones)
Below are the diffs between actual and expected results:
-------------------------------------------------------
*** r/range.result      2005-04-25 14:06:38.000000000 +0300
--- r/range.reject      2005-04-25 15:02:05.762450570 +0300
***************
*** 256,267 ****
  explain select * from t1, t2 where (t1.key1 <t2.keya + 1) and t2.keya=3;
  id    select_type     table   type    possible_keys   key     key_len ref     rows    Extra
  1     SIMPLE  t2      ref     j1      j1      4       const   1       Using index
! 1     SIMPLE  t1      index   i1      i1      4       NULL    7       Using where; Using index
  explain select * from t1 force index(i1), t2 force index(j1) where
  (t1.key1 <t2.keya + 1) and t2.keya=3;
  id    select_type     table   type    possible_keys   key     key_len ref     rows    Extra
  1     SIMPLE  t2      ref     j1      j1      4       const   1       Using index
! 1     SIMPLE  t1      index   i1      i1      4       NULL    7       Using where; Using index
  DROP TABLE t1,t2;
  CREATE TABLE t1 (
  a int(11) default NULL,
--- 256,267 ----
  explain select * from t1, t2 where (t1.key1 <t2.keya + 1) and t2.keya=3;
  id    select_type     table   type    possible_keys   key     key_len ref     rows    Extra
  1     SIMPLE  t2      ref     j1      j1      4       const   1       Using index
! 1     SIMPLE  t1      range   i1      i1      4       NULL    7       Using where; Using index
  explain select * from t1 force index(i1), t2 force index(j1) where
  (t1.key1 <t2.keya + 1) and t2.keya=3;
  id    select_type     table   type    possible_keys   key     key_len ref     rows    Extra
  1     SIMPLE  t2      ref     j1      j1      4       const   1       Using index
! 1     SIMPLE  t1      range   i1      i1      4       NULL    7       Using where; Using index
  DROP TABLE t1,t2;
  CREATE TABLE t1 (
  a int(11) default NULL,
-------------------------------------------------------
[25 Apr 2005 12:17] Lenz Grimmer
Setting Status to "Verified"
[25 Apr 2005 21:42] Bugs System
A patch for this bug has been committed. After review, it may
be pushed to the relevant source trees for release in the next
version. You can access the patch from:

  http://lists.mysql.com/internals/24293
[25 Apr 2005 21:51] Bugs System
A patch for this bug has been committed. After review, it may
be pushed to the relevant source trees for release in the next
version. You can access the patch from:

  http://lists.mysql.com/internals/24294