From: Ole John Aske Date: March 24 2011 10:00am Subject: bzr commit into mysql-5.1-telco-7.0 branch (ole.john.aske:4254) Bug#58553 List-Archive: http://lists.mysql.com/commits/133739 X-Bug: 58553 Message-Id: <20110324100014.417B1218@fimafeng09.norway.sun.com> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============5317617333871384267==" --===============5317617333871384267== MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Content-Disposition: inline #At file:///net/fimafeng09/export/home/tmp/oleja/mysql/mysql-5.1-telco-7.0/ based on revid:ole.john.aske@stripped 4254 Ole John Aske 2011-03-24 Cherrypicked Fix for bug#58553 to 'mysql-5.1-telco-7.0': "Queries with pushed conditions causes 'explain extended' to crash mysqld". handler::pushed_cond was not always properly reset when table objects where recycled via the table cache. handler::pushed_cond is now set to NULL in handler::ha_reset(). This should prevent pushed conditions from (incorrectly) re-apperaring in later queries. modified: sql/handler.cc sql/sql_base.cc sql/sql_select.cc === modified file 'sql/handler.cc' --- a/sql/handler.cc 2011-02-04 14:49:48 +0000 +++ b/sql/handler.cc 2011-03-24 10:00:09 +0000 @@ -4917,6 +4917,7 @@ int handler::ha_reset() free_io_cache(table); /* reset the bitmaps to point to defaults */ table->default_column_bitmaps(); + pushed_cond= NULL; DBUG_RETURN(reset()); } === modified file 'sql/sql_base.cc' --- a/sql/sql_base.cc 2010-10-22 14:13:23 +0000 +++ b/sql/sql_base.cc 2011-03-24 10:00:09 +0000 @@ -3001,6 +3001,11 @@ TABLE *open_table(THD *thd, TABLE_LIST * table->insert_values= 0; table->fulltext_searched= 0; table->file->ft_handler= 0; + /* + Check that there is no reference to a condtion from an earlier query + (cf. Bug#58553). + */ + DBUG_ASSERT(table->file->pushed_cond == NULL); table->reginfo.impossible_range= 0; /* Catch wrong handling of the auto_increment_field_not_null. */ DBUG_ASSERT(!table->auto_increment_field_not_null); === modified file 'sql/sql_select.cc' --- a/sql/sql_select.cc 2011-03-23 13:15:16 +0000 +++ b/sql/sql_select.cc 2011-03-24 10:00:09 +0000 @@ -6561,7 +6561,6 @@ make_join_select(JOIN *join,SQL_SELECT * tab->select_cond=sel->cond=tmp; /* Push condition to storage engine if this is enabled and the condition is not guarded */ - tab->table->file->pushed_cond= NULL; if (thd->variables.engine_condition_pushdown) { COND *push_cond= --===============5317617333871384267== MIME-Version: 1.0 Content-Type: text/bzr-bundle; charset="us-ascii"; name="bzr/ole.john.aske@stripped" Content-Transfer-Encoding: 7bit Content-Disposition: inline # Bazaar merge directive format 2 (Bazaar 0.90) # revision_id: ole.john.aske@stripped\ # ry3w43mg5peuxxwm # target_branch: file:///net/fimafeng09/export/home/tmp/oleja/mysql\ # /mysql-5.1-telco-7.0/ # testament_sha1: f896b26b99d79c2d6789e7a318ef3a50d2e1fb23 # timestamp: 2011-03-24 11:00:14 +0100 # base_revision_id: ole.john.aske@stripped\ # l0fi0mvqklv358z1 # # Begin bundle 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 --===============5317617333871384267==--