From: Dmitry Lenev Date: January 20 2012 3:55am Subject: bzr push into mysql-trunk-wl5534 branch (Dmitry.Lenev:3463 to 3464) WL#5534 List-Archive: http://lists.mysql.com/commits/142450 Message-Id: <20120120035516.1F11C42040B@jubjub> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit 3464 Dmitry Lenev 2012-01-20 WL#5534 Online ALTER, Phase 1. Patch #72: Review changes: - Fix some comments. - Remove unnecessary include. modified: sql/handler.cc sql/handler.h sql/mdl.cc sql/sql_alter.h sql/sql_table.cc sql/sql_table.h 3463 Jon Olav Hauglid 2012-01-19 [merge] Merge from mysql-trunk to mysql-trunk-wl5534 No conflicts added: mysql-test/suite/sys_vars/r/innodb_change_buffering_debug_basic.result mysql-test/suite/sys_vars/r/innodb_doublewrite_batch_size_basic.result mysql-test/suite/sys_vars/r/innodb_page_hash_locks_basic.result mysql-test/suite/sys_vars/r/innodb_trx_rseg_n_slots_debug_basic.result mysql-test/suite/sys_vars/t/innodb_change_buffering_debug_basic.test mysql-test/suite/sys_vars/t/innodb_doublewrite_batch_size_basic.test mysql-test/suite/sys_vars/t/innodb_page_hash_locks_basic.test mysql-test/suite/sys_vars/t/innodb_trx_rseg_n_slots_debug_basic.test modified: CMakeLists.txt include/my_global.h mysql-test/extra/rpl_tests/rpl_extra_col_master.test mysql-test/extra/rpl_tests/rpl_start_stop_slave.test mysql-test/include/subquery_mat.inc mysql-test/include/subquery_sj.inc mysql-test/r/func_time.result mysql-test/r/group_by.result mysql-test/r/partition.result mysql-test/r/subquery_mat.result mysql-test/r/subquery_mat_all.result mysql-test/r/subquery_mat_none.result mysql-test/r/subquery_sj_all.result mysql-test/r/subquery_sj_all_bka.result mysql-test/r/subquery_sj_all_bka_nixbnl.result mysql-test/r/subquery_sj_all_bkaunique.result mysql-test/r/subquery_sj_dupsweed.result mysql-test/r/subquery_sj_dupsweed_bka.result mysql-test/r/subquery_sj_dupsweed_bka_nixbnl.result mysql-test/r/subquery_sj_dupsweed_bkaunique.result mysql-test/r/subquery_sj_firstmatch.result mysql-test/r/subquery_sj_firstmatch_bka.result mysql-test/r/subquery_sj_firstmatch_bka_nixbnl.result mysql-test/r/subquery_sj_firstmatch_bkaunique.result mysql-test/r/subquery_sj_loosescan.result mysql-test/r/subquery_sj_loosescan_bka.result mysql-test/r/subquery_sj_loosescan_bka_nixbnl.result mysql-test/r/subquery_sj_loosescan_bkaunique.result mysql-test/r/subquery_sj_mat.result mysql-test/r/subquery_sj_mat_bka.result mysql-test/r/subquery_sj_mat_bka_nixbnl.result mysql-test/r/subquery_sj_mat_bkaunique.result mysql-test/r/subquery_sj_mat_nosj.result mysql-test/r/subquery_sj_none.result mysql-test/r/subquery_sj_none_bka.result mysql-test/r/subquery_sj_none_bka_nixbnl.result mysql-test/r/subquery_sj_none_bkaunique.result mysql-test/r/type_float.result mysql-test/r/user_var.result mysql-test/suite/funcs_1/r/is_columns_mysql.result mysql-test/suite/funcs_1/r/is_columns_mysql_embedded.result mysql-test/suite/funcs_1/r/is_tables_mysql.result mysql-test/suite/funcs_1/r/is_tables_mysql_embedded.result mysql-test/suite/rpl/r/rpl_log_pos.result mysql-test/suite/rpl/r/rpl_manual_change_index_file.result mysql-test/suite/rpl/r/rpl_packet.result mysql-test/suite/rpl/r/rpl_stm_start_stop_slave.result mysql-test/suite/rpl/t/rpl_stm_start_stop_slave.test mysql-test/suite/sys_vars/r/all_vars.result mysql-test/suite/sys_vars/r/character_sets_dir_basic.result mysql-test/suite/sys_vars/r/plugin_dir_basic.result mysql-test/suite/sys_vars/t/all_vars.test mysql-test/suite/sys_vars/t/character_sets_dir_basic.test mysql-test/t/func_time.test mysql-test/t/group_by.test mysql-test/t/partition.test mysql-test/t/type_float.test mysql-test/t/user_var.test scripts/mysql_system_tables.sql scripts/mysqld_safe.sh scripts/mysqlhotcopy.sh sql/filesort.cc sql/filesort_utils.h sql/item.cc sql/item_func.h sql/item_subselect.cc sql/mysqld.cc sql/rpl_master.cc sql/share/errmsg-utf8.txt sql/sql_base.cc sql/sql_executor.cc sql/sql_optimizer.cc sql/sql_planner.cc sql/sql_plugin.cc sql/sql_select.h sql/sql_table.cc sql/sql_udf.cc sql/table.h storage/innobase/dict/dict0boot.cc storage/innobase/dict/dict0crea.cc storage/innobase/dict/dict0dict.cc storage/innobase/dict/dict0load.cc storage/innobase/dict/dict0mem.cc storage/innobase/dict/dict0stats.cc storage/innobase/fil/fil0fil.cc storage/innobase/handler/ha_innodb.cc storage/innobase/handler/i_s.cc storage/innobase/ibuf/ibuf0ibuf.cc storage/innobase/include/dict0boot.h storage/innobase/include/dict0mem.h storage/innobase/include/dict0types.h storage/innobase/include/fil0fil.h storage/innobase/pars/pars0pars.cc storage/innobase/row/row0merge.cc storage/innobase/row/row0mysql.cc storage/innobase/srv/srv0start.cc strings/dtoa.c unittest/gunit/filesort_buffer-t.cc === modified file 'sql/handler.cc' --- a/sql/handler.cc 2012-01-09 08:31:24 +0000 +++ b/sql/handler.cc 2012-01-20 03:54:02 +0000 @@ -3723,8 +3723,10 @@ static void check_alter_index_flags(ulon ulong no_write_flag, ulong no_read_write_flag) { - // If we already know that the operation must be done using copy algorithm, - // there's nothing left to check. + /* + If we already know that the operation must be done using copy algorithm, + there's nothing left to check. + */ if (*result == HA_ALTER_INPLACE_NOT_SUPPORTED) return; if (handler_alter_flags & no_write_flag) === modified file 'sql/handler.h' --- a/sql/handler.h 2011-12-21 09:35:29 +0000 +++ b/sql/handler.h 2012-01-20 03:54:02 +0000 @@ -29,7 +29,6 @@ #include "thr_lock.h" /* thr_lock_type, THR_LOCK_DATA */ #include "sql_cache.h" #include "structs.h" /* SHOW_COMP_OPTION */ -#include "sql_bitmap.h" #include #include === modified file 'sql/mdl.cc' --- a/sql/mdl.cc 2011-11-16 16:21:20 +0000 +++ b/sql/mdl.cc 2012-01-20 03:54:02 +0000 @@ -1884,7 +1884,7 @@ MDL_context::clone_ticket(MDL_request *m /** Notify threads holding a shared metadata locks on object which - conflict with a pending X, SU, SNW or SNRW lock. + conflict with a pending X, SNW or SNRW lock. @param ctx MDL_context for current thread. */ === modified file 'sql/sql_alter.h' --- a/sql/sql_alter.h 2011-12-20 12:49:28 +0000 +++ b/sql/sql_alter.h 2012-01-20 03:54:02 +0000 @@ -39,30 +39,30 @@ public: */ // Set for ADD [COLUMN] - static const uint ALTER_ADD_COLUMN = 1L << 0; + static const uint ALTER_ADD_COLUMN = 1L << 0; // Set for DROP [COLUMN] - static const uint ALTER_DROP_COLUMN = 1L << 1; + static const uint ALTER_DROP_COLUMN = 1L << 1; // Set for CHANGE [COLUMN] | MODIFY [CHANGE] // Set by mysql_recreate_table() - static const uint ALTER_CHANGE_COLUMN = 1L << 2; + static const uint ALTER_CHANGE_COLUMN = 1L << 2; // Set for ADD INDEX | ADD KEY | ADD PRIMARY KEY | ADD UNIQUE KEY | // ADD UNIQUE INDEX | ALTER ADD [COLUMN] - static const uint ALTER_ADD_INDEX = 1L << 3; + static const uint ALTER_ADD_INDEX = 1L << 3; // Set for DROP PRIMARY KEY | DROP FOREIGN KEY | DROP KEY | DROP INDEX - static const uint ALTER_DROP_INDEX = 1L << 4; + static const uint ALTER_DROP_INDEX = 1L << 4; // Set for RENAME [TO] - static const uint ALTER_RENAME = 1L << 5; + static const uint ALTER_RENAME = 1L << 5; // Set for ORDER BY - static const uint ALTER_ORDER = 1L << 6; + static const uint ALTER_ORDER = 1L << 6; // Set for table_options - static const uint ALTER_OPTIONS = 1L << 7; + static const uint ALTER_OPTIONS = 1L << 7; // Set for ALTER [COLUMN] ... SET DEFAULT ... | DROP DEFAULT static const uint ALTER_CHANGE_COLUMN_DEFAULT = 1L << 8; === modified file 'sql/sql_table.cc' --- a/sql/sql_table.cc 2012-01-19 09:57:36 +0000 +++ b/sql/sql_table.cc 2012-01-20 03:54:02 +0000 @@ -4053,11 +4053,12 @@ void sp_prepare_create_field(THD *thd, C @param db Database @param table_name Table name @param create_info Create information (like MAX_ROWS) - @param fields List of fields to create - @param keys List of keys to create + @param alter_info Description of fields and keys for new table @param internal_tmp_table Set to true if this is an internal temporary table - (From ALTER TABLE) - @param select_field_count + (From ALTER TABLE) + @param select_field_count Number of fields coming from SELECT part of + CREATE TABLE ... SELECT statement. Must be zero + for standard create of table. @param is_trans Identifies the type of engine where the table was created: either trans or non-trans. @param no_ha_table Indicates that only .FRM file (and PAR file if table @@ -4071,11 +4072,6 @@ void sp_prepare_create_field(THD *thd, C way to ensure that concurrent operations won't intervene. mysql_create_table() is a wrapper that can be used for this. - no_log is needed for the case of CREATE ... SELECT, - as the logging will be done later in sql_insert.cc - select_field_count is also used for CREATE ... SELECT, - and must be zero for standard create of table. - @retval false OK @retval true error */ === modified file 'sql/sql_table.h' --- a/sql/sql_table.h 2011-12-20 12:49:28 +0000 +++ b/sql/sql_table.h 2012-01-20 03:54:02 +0000 @@ -133,7 +133,7 @@ static const uint FN_TO_IS_TMP= 1 << static const uint FN_IS_TMP= FN_FROM_IS_TMP | FN_TO_IS_TMP; static const uint NO_FRM_RENAME= 1 << 2; static const uint FRM_ONLY= 1 << 3; -/* Don't remove table in engine. Remove only .FRM and maybe.PAR files. */ +/** Don't remove table in engine. Remove only .FRM and maybe .PAR files. */ static const uint NO_HA_TABLE= 1 << 4; uint filename_to_tablename(const char *from, char *to, uint to_length No bundle (reason: useless for push emails).