From: Roy Lyseng Date: August 16 2012 8:11am Subject: bzr push into mysql-5.6 branch (roy.lyseng:4106 to 4107) Bug#14272788 List-Archive: http://lists.mysql.com/commits/144564 X-Bug: 14272788 Message-Id: <201208160811.q7G8B2cw010226@khepri07.no.oracle.com> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit 4107 Roy Lyseng 2012-08-16 Bug#14272788: Query with MaterializeScan and materialized subquery returns too many rows Patch #7 - Extend JOIN::all_tables array - ad hoc fix while waiting for the complete removal of this array (in 5.6). sql/sql_optimizer.cc Extend JOIN::all_tables array with two elements when allocating it. modified: sql/sql_optimizer.cc 4106 Roy Lyseng 2012-08-15 Bug#14272788: Query with MaterializeScan and materialized subquery returns too many rows Patch #6 - More use of Key_field constructor, developed by Guilhem. sql/sql_optimizer.cc Function add_key_field() is modified to use new Key_field constructor. modified: sql/sql_optimizer.cc === modified file 'sql/sql_optimizer.cc' --- a/sql/sql_optimizer.cc 2012-08-15 11:42:18 +0000 +++ b/sql/sql_optimizer.cc 2012-08-16 08:10:28 +0000 @@ -3108,7 +3108,7 @@ make_join_statistics(JOIN *join, TABLE_L stat= new (thd->mem_root) JOIN_TAB[table_count]; stat_ref= (JOIN_TAB**) thd->alloc(sizeof(JOIN_TAB*)*MAX_TABLES); - table_vector= (TABLE**) thd->alloc(sizeof(TABLE*)*(table_count*2)); + table_vector= (TABLE**) thd->alloc(sizeof(TABLE*)*(table_count*2+2)); if (!stat || !stat_ref || !table_vector) DBUG_RETURN(true); No bundle (reason: useless for push emails).