Bug #22398 index_merge_innodb.test fails on wrong result file
Submitted: 15 Sep 2006 17:25 Modified: 18 Sep 2006 18:12
Reporter: Ingo Strüwing Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Server: General Severity:S1 (Critical)
Version:5.1.12 OS:Linux (Linux)
Assigned to: Matthias Leich CPU Architecture:Any

[15 Sep 2006 17:25] Ingo Strüwing
Description:
index_merge_innodb             [ fail ]

Errors are (from /usersnfs/istruewing/autopush-76/mysql-5.1/mysql-test/var/log/mysqltest-time) :
mysqltest: Result length mismatch
(the last lines may be the most important ones)
Below are the diffs between actual and expected results:
-------------------------------------------------------
*** r/index_merge_innodb.result 2006-08-16 14:43:52.000000000 +0300
--- r/index_merge_innodb.reject 2006-09-15 18:53:01.000000000 +0300
***************
*** 284,289 ****
--- 284,329 ----
  COUNT(*)
  1
  drop table t1;
+ create table t1
+ (
+ key1 int not null, 
+ key2 int not null default 0,
+ key3 int not null default 0
+ );
+ insert into t1(key1) values (1),(2),(3),(4),(5),(6),(7),(8);
+ set @d=8;
+ insert into t1 (key1) select key1+@d from t1;
+ set @d=@d*2;
+ insert into t1 (key1) select key1+@d from t1;
+ set @d=@d*2;
+ insert into t1 (key1) select key1+@d from t1;
+ set @d=@d*2;
+ insert into t1 (key1) select key1+@d from t1;
+ set @d=@d*2;
+ insert into t1 (key1) select key1+@d from t1;
+ set @d=@d*2;
+ insert into t1 (key1) select key1+@d from t1;
+ set @d=@d*2;
+ insert into t1 (key1) select key1+@d from t1;
+ set @d=@d*2;
+ alter table t1 add index i2(key2);
+ alter table t1 add index i3(key3);
+ update t1 set key2=key1,key3=key1;
+ explain select * from t1 where (key3 > 30 and key3<35) or (key2 >32 and key2 < 40);
+ id    select_type     table   type    possible_keys   key     key_len ref     rows    Extra
+ 1     SIMPLE  t1      index_merge     i2,i3   i3,i2   4,4     NULL    9       Using sort_union(i3,i2); Using where
+ select * from t1 where (key3 > 30 and key3<35) or (key2 >32 and key2 < 40);
+ key1  key2    key3
+ 31    31      31
+ 32    32      32
+ 33    33      33
+ 34    34      34
+ 35    35      35
+ 36    36      36
+ 37    37      37
+ 38    38      38
+ 39    39      39
+ drop table t1;
  #---------------- 2-sweeps read Index merge test 2 -------------------------------
  SET SESSION STORAGE_ENGINE = InnoDB;
  drop table if exists t1;
-------------------------------------------------------
Please follow the instructions outlined at

How to repeat:
Log in on 'production'.
Stay at your home directory to use the local disk.
Do not work on a nfs disk.
bk clone bk-internal:/home/bk/mysql-5.1-engines mysql-5.1-engines
cd mysql-5.1-engines
Pull bk-internal:/home/bk/mysql-5.1
BUILD/compile-pentium-debug-max
make test
[18 Sep 2006 14:57] 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/commits/12136

ChangeSet@1.2322, 2006-09-18 16:55:56+02:00, mleich@three.local.lan +7 -0
  1. Cumulated fix for Bug#22398, #22404 and #22405
  2. Correct some logical bugs within the tests, which were caused by
     automatic resolve of BitKeeper
[18 Sep 2006 18:11] Matthias Leich
1. This bug was 
   - caused by automatic BitKeeper resolve
   - only a "conflict" between testscript and content of file with expected
     results.
   That means there was never a server bug.
2. The bug was fixed with
       mysql-5.1-engines ChangeSet@1.2322, 2006-09-18
3. There is no documentation needed, because the bug did not occur within
   the official tree.
[21 Sep 2006 8:02] Ingo Strüwing
Pushed to 5.1.12.