From: Jon Olav Hauglid Date: January 26 2012 12:23pm Subject: bzr push into mysql-trunk-wl5534 branch (jon.hauglid:3468 to 3469) WL#5534 List-Archive: http://lists.mysql.com/commits/142578 Message-Id: <201201261224.q0QCO3G2001124@acsmt358.oracle.com> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit 3469 Jon Olav Hauglid 2012-01-26 WL#5534 Online ALTER, Phase 1. Patch #77: Minor polish to reduce size of merge to trunk. modified: sql/handler.cc sql/handler.h sql/sql_insert.cc sql/sql_table.cc 3468 Jon Olav Hauglid 2012-01-26 WL#5534 Online ALTER, Phase 1. Patch #76: Fix regression in parts.partition_debug_innodb. Restore ha_partition::alter_table_flags() as is needed for compatibility layer implementation of handler::check_if_supported_inplace_alter(). modified: sql/ha_partition.cc sql/ha_partition.h sql/handler.h === modified file 'sql/handler.cc' --- a/sql/handler.cc 2012-01-25 16:40:54 +0000 +++ b/sql/handler.cc 2012-01-26 12:23:27 +0000 @@ -3951,7 +3951,6 @@ bool handler::ha_prepare_inplace_alter_t { DBUG_ASSERT(table_share->tmp_table != NO_TMP_TABLE || m_lock_type != F_UNLCK); - mark_trx_read_write(); prepare_for_alter(); === modified file 'sql/handler.h' --- a/sql/handler.h 2012-01-26 10:02:26 +0000 +++ b/sql/handler.h 2012-01-26 12:23:27 +0000 @@ -916,7 +916,7 @@ typedef struct st_ha_create_information /** In-place alter handler context. - This is a superclass indented to be subclassed by individual handler + This is a superclass intended to be subclassed by individual handlers in order to store handler unique context between in-place alter API calls. The handler is responsible for creating the object. This can be done === modified file 'sql/sql_insert.cc' --- a/sql/sql_insert.cc 2012-01-25 16:40:54 +0000 +++ b/sql/sql_insert.cc 2012-01-26 12:23:27 +0000 @@ -3793,8 +3793,7 @@ static TABLE *create_table_from_items(TH if (!mysql_create_table_no_lock(thd, create_table->db, create_table->table_name, create_info, alter_info, 0, - select_field_count, false, - NULL)) + select_field_count, false, NULL)) { DEBUG_SYNC(thd,"create_table_select_before_open"); === modified file 'sql/sql_table.cc' --- a/sql/sql_table.cc 2012-01-25 16:40:54 +0000 +++ b/sql/sql_table.cc 2012-01-26 12:23:27 +0000 @@ -5323,9 +5323,7 @@ static bool fill_alter_inplace_info(THD ((table_key->flags & HA_KEYFLAG_MASK) != (new_key->flags & HA_KEYFLAG_MASK)) || (table_key->key_parts != new_key->key_parts)) - { goto index_changed; - } /* Check that the key parts remain compatible between the old and @@ -5351,7 +5349,6 @@ static bool fill_alter_inplace_info(THD if (! new_field->field || new_field->field != key_part->field) goto index_changed; } - continue; index_changed: @@ -5635,8 +5632,7 @@ bool mysql_compare_tables(TABLE *table, DBUG_RETURN(false); } - /* Tables are compatible. */ - *metadata_equal= true; + *metadata_equal= true; // Tables are compatible DBUG_RETURN(false); } No bundle (reason: useless for push emails).