List:Commits« Previous MessageNext Message »
From:Georgi Kodinov Date:September 1 2011 12:27pm
Subject:bzr push into mysql-trunk branch (Georgi.Kodinov:3429 to 3430) Bug#11766001
View as plain text  
 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#11766001Georgi Kodinov1 Sep