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 <my_global.h>
#include <my_compare.h>
=== 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).
| Thread |
|---|
| • bzr push into mysql-trunk-wl5534 branch (Dmitry.Lenev:3463 to 3464) WL#5534 | Dmitry Lenev | 20 Jan |