3430 Georgi Kodinov 2011-09-01
Addendum to Bug #11766001: check if the test case can be run : make sure the plugins requred are there.
modified:
mysql-test/t/multi_plugin_load.test
3429 Olav Sandstaa 2011-09-01
Fix for Bug#12822678: 2 MORE ROWS WHEN ICP=ON W/ STRAIGHT_JOIN
The cause for the wrong result was that we pushed down index conditions
for a table with join type CONST. This table was the second table in
the join order. The pushed index condition contained a field from the
first table. Due to optimization of "const" tables the single row from
these are only read once from the storage engine and then re-used
multiple times during the join. This caused the pushed index condition
to only be evaluated once for the first access instead of on all
accesses to the row. This causes the pushed index condition to not
be evaluated for all records and can result in either more or zero
rows from the join.
The fix for this is to not use ICP when the join type is CONST
or SYSTEM. An alternative fix that also would solve this problem
is to only allow index conditions that only accessed fields from
the current table during evaluation. This would avoid index
conditions that referred to other tables to be pushed down.
@ mysql-test/include/icp_tests.inc
Test case for Bug#12822678: 2 MORE ROWS WHEN ICP=ON W/ STRAIGHT_JOIN
@ mysql-test/r/innodb_icp.result
Test case for Bug#12822678: 2 MORE ROWS WHEN ICP=ON W/ STRAIGHT_JOIN
Note that this change also changes one existing test from using
ICP for a const table to not use ICP.
@ mysql-test/r/innodb_icp_none.result
Test case for Bug#12822678: 2 MORE ROWS WHEN ICP=ON W/ STRAIGHT_JOIN
@ mysql-test/r/innodb_mrr_cost_icp.result
Test case change caused by fix for Bug#12822678:
2 MORE ROWS WHEN ICP=ON W/ STRAIGHT_JOIN.
Change in explain output due to no longer pushing index
conditions on tables with join type CONST.
@ mysql-test/r/innodb_mrr_icp.result
Test case change caused by fix for Bug#12822678:
2 MORE ROWS WHEN ICP=ON W/ STRAIGHT_JOIN.
Change in explain output due to no longer pushing index
conditions on tables with join type CONST.
@ mysql-test/r/myisam_icp.result
Test case for Bug#12822678: 2 MORE ROWS WHEN ICP=ON W/ STRAIGHT_JOIN
@ mysql-test/r/myisam_icp_none.result
Test case for Bug#12822678: 2 MORE ROWS WHEN ICP=ON W/ STRAIGHT_JOIN
@ sql/sql_select.cc
Disable use of index condition pushdown (ICP) for tables that
have join type CONST and SYSTEM. The reason for this is that these
will return max one record and the access is optimized so that
this record is only read once from the storage engine and then
re-used multiple times in the join.
The fix also adds DBUG statements for tracing calls to join_read_const().
modified:
mysql-test/include/icp_tests.inc
mysql-test/r/innodb_icp.result
mysql-test/r/innodb_icp_none.result
mysql-test/r/innodb_mrr_cost_icp.result
mysql-test/r/innodb_mrr_icp.result
mysql-test/r/myisam_icp.result
mysql-test/r/myisam_icp_none.result
sql/sql_select.cc
=== modified file 'mysql-test/t/multi_plugin_load.test'
--- a/mysql-test/t/multi_plugin_load.test 2011-08-18 08:31:08 +0000
+++ b/mysql-test/t/multi_plugin_load.test 2011-09-01 12:26:10 +0000
@@ -1,4 +1,5 @@
--source include/not_embedded.inc
+--source include/have_plugin_auth.inc
--echo #
--echo # Bug #11766001: ALLOW MULTIPLE --PLUGIN-LOAD OPTIONS
No bundle (reason: useless for push emails).
| Thread |
|---|
| • bzr push into mysql-trunk branch (Georgi.Kodinov:3429 to 3430) Bug#11766001 | Georgi Kodinov | 1 Sep |