Kristian Nielsen <knielsen@xxxxxxxxxxxxxxx> writes:
We are working on merging latest MySQL (5.1.41) into MariaDB.
After the merge, I see some test failures in the PBXT test suite.
See here:
Ok, seems most of the PBXT failures are gone now. But one remains:
http://askmonty.org/buildbot/reports/cross_reference#branch=5.1-
merge&revision=&platform=debian5-i386-
fulltest
&dt
=
&bbnum
=
&typ
=
&info
=
&fail_name
=pbxt.join_nested&fail_variant=&fail_info_short=&fail_info_full=
(see end of mail for diff).
It looks like the test is not deterministic, and chooses a slightly
different
execution plan between different test runs and platforms for the
table t3 and
t4.
Do you have any suggestions about how to deal with this?
- Kristian.
CURRENT_TEST: pbxt.join_nested
--- /var/lib/buildbot/maria-slave/debian5-i386-fulltest/build/mysql-
test/suite/pbxt/r/join_nested.result 2009-11-25 21:10:35.000000000
+0300
+++ /var/lib/buildbot/maria-slave/debian5-i386-fulltest/build/mysql-
test/suite/pbxt/r/join_nested.reject 2009-11-25 21:46:01.000000000
+0300
@@ -1008,13 +1008,13 @@
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 Using where
-1 SIMPLE t4 ref idx_b idx_b 5 test.t2.b 1 100.00 Using where
+1 SIMPLE t4 ref idx_b idx_b 5 test.t2.b 1 100.00
1 SIMPLE t5 ALL idx_b NULL NULL NULL 3 100.00 Using where
1 SIMPLE t6 ALL NULL NULL NULL NULL 3 100.00 Using where
1 SIMPLE t7 ALL NULL NULL NULL NULL 2 100.00 Using where
1 SIMPLE t8 ref idx_b idx_b 5 test.t5.b 1 100.00 Using where
1 SIMPLE t9 ALL NULL NULL NULL NULL 3 100.00 Using where; Using join
buffer
-Note 1003 select `test`.`t0`.`a` AS `a`,`test`.`t0`.`b` AS
`b`,`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`,`test`.`t5`.`a` AS
`a`,`test`.`t5`.`b` AS `b`,`test`.`t6`.`a` AS `a`,`test`.`t6`.`b` AS
`b`,`test`.`t7`.`a` AS `a`,`test`.`t7`.`b` AS `b`,`test`.`t8`.`a` AS
`a`,`test`.`t8`.`b` AS `b`,`test`.`t9`.`a` AS `a`,`test`.`t9`.`b` AS
`b` from `test`.`t0` join `test`.`t1` left join (`test`.`t2` left
join (`test`.`t3` join `test`.`t4`) on(((`test`.`t4`.`b` =
`test`.`t2`.`b`) and (`test`.`t3`.`a` = 1))) join `test`.`t5` left
join (`test`.`t6` join `test`.`t7` left join `test`.`t8`
on(((`test`.`t8`.`b` = `test`.`t5`.`b`) and (`test`.`t6`.`b` <
10)))) on(((`test`.`t7`.`b` = `test`.`t5`.`b`) and (`test`.`t6`.`b`
>= 2)))) on((((`test`.`t3`.`b` = 2) or isnull(`test`.`t3`.`c`)) and
((`test`.`t6`.`b` = 2) or isnull(`test`.`t6`.`c`)) and
((`test`.`t5`.`b` = `test`.`t0`.`b`) or isnull(`test`.`t3`.`c`) or
isnull(`test`.`t6`.`c`) or isnull(`test`.`t8`.`c`)) and
(`test`.`t1`.`a` <> 2))) join `test`.`t9` where ((`test`.`t9`.`a` =
1) and (`test`.`t1`.`b` = `test`.`t0`.`b`) and (`test`.`t0`.`a` = 1)
and ((`test`.`t2`.`a` >= 4) or isnull(`test`.`t2`.`c`)) and
((`test`.`t3`.`a` < 5) or isnull(`test`.`t3`.`c`)) and
((`test`.`t4`.`b` = `test`.`t3`.`b`) or isnull(`test`.`t3`.`c`) or
isnull(`test`.`t4`.`c`)) and ((`test`.`t5`.`a` >= 2) or
isnull(`test`.`t5`.`c`)) and ((`test`.`t6`.`a` >= 4) or
isnull(`test`.`t6`.`c`)) and ((`test`.`t7`.`a` <= 2) or
isnull(`test`.`t7`.`c`)) and ((`test`.`t8`.`a` < 1) or
isnull(`test`.`t8`.`c`)) and ((`test`.`t9`.`b` = `test`.`t8`.`b`) or
isnull(`test`.`t8`.`c`)))
+Note 1003 select `test`.`t0`.`a` AS `a`,`test`.`t0`.`b` AS
`b`,`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`,`test`.`t5`.`a` AS
`a`,`test`.`t5`.`b` AS `b`,`test`.`t6`.`a` AS `a`,`test`.`t6`.`b` AS
`b`,`test`.`t7`.`a` AS `a`,`test`.`t7`.`b` AS `b`,`test`.`t8`.`a` AS
`a`,`test`.`t8`.`b` AS `b`,`test`.`t9`.`a` AS `a`,`test`.`t9`.`b` AS
`b` from `test`.`t0` join `test`.`t1` left join (`test`.`t2` left
join (`test`.`t3` join `test`.`t4`) on(((`test`.`t4`.`b` =
`test`.`t2`.`b`) and (`test`.`t3`.`a` = 1))) join `test`.`t5` left
join (`test`.`t6` join `test`.`t7` left join `test`.`t8`
on(((`test`.`t8`.`b` = `test`.`t5`.`b`) and (`test`.`t6`.`b` <
10)))) on(((`test`.`t7`.`b` = `test`.`t5`.`b`) and (`test`.`t6`.`b`
>= 2)))) on((((`test`.`t3`.`b` = 2) or isnull(`test`.`t3`.`c`)) and
((`test`.`t6`.`b` = 2) or isnull(`test`.`t6`.`c`)) and
((`test`.`t5`.`b` = `test`.`t0`.`b`) or isnull(`test`.`t3`.`c`) or
isnull(`test`.`t6`.`c`) or isnull(`test`.`t8`.`c`)) and
(`test`.`t1`.`a` <> 2))) join `test`.`t9` where ((`test`.`t9`.`a` =
1) and (`test`.`t1`.`b` = `test`.`t0`.`b`) and (`test`.`t0`.`a` = 1)
and ((`test`.`t2`.`a` >= 4) or isnull(`test`.`t2`.`c`)) and
((`test`.`t3`.`a` < 5) or isnull(`test`.`t3`.`c`)) and
((`test`.`t3`.`b` = `test`.`t4`.`b`) or isnull(`test`.`t3`.`c`) or
isnull(`test`.`t4`.`c`)) and ((`test`.`t5`.`a` >= 2) or
isnull(`test`.`t5`.`c`)) and ((`test`.`t6`.`a` >= 4) or
isnull(`test`.`t6`.`c`)) and ((`test`.`t7`.`a` <= 2) or
isnull(`test`.`t7`.`c`)) and ((`test`.`t8`.`a` < 1) or
isnull(`test`.`t8`.`c`)) and ((`test`.`t9`.`b` = `test`.`t8`.`b`) or
isnull(`test`.`t8`.`c`)))