Bug #33939 main.join_nested test failure in test suite
Submitted: 19 Jan 2008 17:46 Modified: 19 Jan 2008 18:27
Reporter: Brandan Yares Email Updates:
Status: Duplicate Impact on me:
None 
Category:MySQL Server: Tests Severity:S3 (Non-critical)
Version:5.1.22 OS:Linux (LinuxFromScratch 6.3)
Assigned to: CPU Architecture:Any
Tags: Tests

[19 Jan 2008 17:46] Brandan Yares
Description:
main.join_nested               [ fail ]

Errors are (from /usr/src/my-sql/mysql-5.1.22-rc/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:
-------------------------------------------------------
*** /usr/src/my-sql/mysql-5.1.22-rc/mysql-test/r/join_nested.result     Mon Sep 24 14:29:21 2007
--- /usr/src/my-sql/mysql-5.1.22-rc/mysql-test/r/join_nested.reject     Sat Jan 19 09:27:43 2008
***************
*** 546,553 ****
  1     SIMPLE  t0      ALL     NULL    NULL    NULL    NULL    3       100.00 Using where
  1     SIMPLE  t1      ALL     NULL    NULL    NULL    NULL    3       100.00 Using where; Using join buffer
  1     SIMPLE  t2      ALL     NULL    NULL    NULL    NULL    3       100.00 Using where
- 1     SIMPLE  t3      ALL     NULL    NULL    NULL    NULL    2       100.00
  1     SIMPLE  t4      ALL     NULL    NULL    NULL    NULL    2       100.00
  1     SIMPLE  t5      ALL     NULL    NULL    NULL    NULL    3       100.00
  1     SIMPLE  t7      ALL     NULL    NULL    NULL    NULL    2       100.00
  1     SIMPLE  t6      ALL     NULL    NULL    NULL    NULL    3       100.00
--- 546,553 ----
  1     SIMPLE  t0      ALL     NULL    NULL    NULL    NULL    3       100.00 Using where
  1     SIMPLE  t1      ALL     NULL    NULL    NULL    NULL    3       100.00 Using where; Using join buffer
  1     SIMPLE  t2      ALL     NULL    NULL    NULL    NULL    3       100.00 Using where
  1     SIMPLE  t4      ALL     NULL    NULL    NULL    NULL    2       100.00
+ 1     SIMPLE  t3      ALL     NULL    NULL    NULL    NULL    2       100.00
  1     SIMPLE  t5      ALL     NULL    NULL    NULL    NULL    3       100.00
  1     SIMPLE  t7      ALL     NULL    NULL    NULL    NULL    2       100.00
  1     SIMPLE  t6      ALL     NULL    NULL    NULL    NULL    3       100.00
***************
*** 805,816 ****
  WHERE t1.a <= 2;
  a     b       a       b       a       b       a       b
  1     3       3       3       NULL    NULL    NULL    NULL
- 2     2       3       3       NULL    NULL    NULL    NULL
  1     3       4       2       1       2       3       2
  1     3       4       2       1       2       4       2
  2     2       4       2       1       2       3       2
  2     2       4       2       1       2       4       2
- 1     3       5       3       NULL    NULL    NULL    NULL
  2     2       5       3       NULL    NULL    NULL    NULL
  SELECT t1.a,t1.b,t2.a,t2.b,t3.a,t3.b,t4.a,t4.b
  FROM t1, (t3, t4)
--- 805,816 ----
  WHERE t1.a <= 2;
  a     b       a       b       a       b       a       b
  1     3       3       3       NULL    NULL    NULL    NULL
  1     3       4       2       1       2       3       2
  1     3       4       2       1       2       4       2
+ 1     3       5       3       NULL    NULL    NULL    NULL
+ 2     2       3       3       NULL    NULL    NULL    NULL
  2     2       4       2       1       2       3       2
  2     2       4       2       1       2       4       2
  2     2       5       3       NULL    NULL    NULL    NULL
  SELECT t1.a,t1.b,t2.a,t2.b,t3.a,t3.b,t4.a,t4.b
  FROM t1, (t3, t4)
***************
*** 820,831 ****
  WHERE t1.a <= 2;
  a     b       a       b       a       b       a       b
  1     3       3       3       NULL    NULL    NULL    NULL
- 2     2       3       3       NULL    NULL    NULL    NULL
  1     3       4       2       1       2       3       2
  1     3       4       2       1       2       4       2
  2     2       4       2       1       2       3       2
  2     2       4       2       1       2       4       2
- 1     3       5       3       NULL    NULL    NULL    NULL
  2     2       5       3       NULL    NULL    NULL    NULL
  EXPLAIN EXTENDED
  SELECT t1.a,t1.b,t2.a,t2.b,t3.a,t3.b,t4.a,t4.b
--- 820,831 ----
  WHERE t1.a <= 2;
  a     b       a       b       a       b       a       b
  1     3       3       3       NULL    NULL    NULL    NULL
  1     3       4       2       1       2       3       2
  1     3       4       2       1       2       4       2
+ 1     3       5       3       NULL    NULL    NULL    NULL
+ 2     2       3       3       NULL    NULL    NULL    NULL
  2     2       4       2       1       2       3       2
  2     2       4       2       1       2       4       2
  2     2       5       3       NULL    NULL    NULL    NULL
  EXPLAIN EXTENDED
  SELECT t1.a,t1.b,t2.a,t2.b,t3.a,t3.b,t4.a,t4.b
***************
*** 835,844 ****
  ON t3.a=1 AND t2.b=t4.b
  WHERE t1.a <= 2;
  id    select_type     table   type    possible_keys   key     key_len ref    rows     filtered        Extra
! 1     SIMPLE  t1      ALL     NULL    NULL    NULL    NULL    3       100.00 Using where
! 1     SIMPLE  t2      ALL     NULL    NULL    NULL    NULL    3       100.00 Using join buffer
  1     SIMPLE  t3      ALL     NULL    NULL    NULL    NULL    2       100.00
  1     SIMPLE  t4      ALL     NULL    NULL    NULL    NULL    2       100.00
  Warnings:
  Note  1003    select `test`.`t1`.`a` AS `a`,`test`.`t1`.`b` AS `b`,`test`.`t2`.`a` AS `a`,`test`.`t2`.`b` AS `b`,`test`.`t3`.`a` AS `a`,`test`.`t3`.`b` AS `b`,`test`.`t4`.`a` AS `a`,`test`.`t4`.`b` AS `b` from `test`.`t1` join `test`.`t2` left join (`test`.`t3` join `test`.`t4`) on(((`test`.`t4`.`b` = `test`.`t2`.`b`) and (`test`.`t3`.`a` = 1))) where (`test`.`t1`.`a` <= 2)
  CREATE INDEX idx_b ON t2(b);
--- 835,844 ----
  ON t3.a=1 AND t2.b=t4.b
  WHERE t1.a <= 2;
  id    select_type     table   type    possible_keys   key     key_len ref    rows     filtered        Extra
! 1     SIMPLE  t2      ALL     NULL    NULL    NULL    NULL    3       100.00
  1     SIMPLE  t3      ALL     NULL    NULL    NULL    NULL    2       100.00
  1     SIMPLE  t4      ALL     NULL    NULL    NULL    NULL    2       100.00
+ 1     SIMPLE  t1      ALL     NULL    NULL    NULL    NULL    3       100.00 Using where; Using join buffer
  Warnings:
  Note  1003    select `test`.`t1`.`a` AS `a`,`test`.`t1`.`b` AS `b`,`test`.`t2`.`a` AS `a`,`test`.`t2`.`b` AS `b`,`test`.`t3`.`a` AS `a`,`test`.`t3`.`b` AS `b`,`test`.`t4`.`a` AS `a`,`test`.`t4`.`b` AS `b` from `test`.`t1` join `test`.`t2` left join (`test`.`t3` join `test`.`t4`) on(((`test`.`t4`.`b` = `test`.`t2`.`b`) and (`test`.`t3`.`a` = 1))) where (`test`.`t1`.`a` <= 2)
  CREATE INDEX idx_b ON t2(b);

How to repeat:
./configure --prefix=/usr             --sysconfdir=/etc             --libexecdir=/usr/sbin             --localstatedir=/srv/mysql             --enable-thread-safe-client             --enable-assembler             --enable-local-infile             --with-unix-socket-path=/var/run/mysql/mysql.sock             --without-debug             --without-readline             --with-berkeley-db             --with-charset=latin1             --with-collation=latin1_general_ci             --with-extra-charsets=complex             --with-innodb

Compiled with flags: -O3 -march=pentium4 -static -fomit-frame-pointer -felide-constructors -fno-exceptions -fno-rtti

On a pentium 4 machine. Built using LFS 6.3 and the Package user system
[19 Jan 2008 18:27] Alexey Kopytov
Duplicate of bug #31207, fixed in 5.1.23.