From 7afb6b58907754697908be4edeee311c56d5f944 Mon Sep 17 00:00:00 2001 From: unknown <malff/marcsql@weblab.(none)> Date: Mon, 11 Jun 2007 18:08:51 -0600 Subject: [PATCH] Resolved merge conflicts --- sql/field.cc | 2 +- sql/field.h | 2 +- sql/sql_lex.h | 37 +++++++++++++++++++++++++++---------- 3 files changed, 29 insertions(+), 12 deletions(-) diff --git a/sql/field.cc b/sql/field.cc index 9f412e99223..3e4d27b2e38 100644 --- a/sql/field.cc +++ b/sql/field.cc @@ -8264,7 +8264,7 @@ Field *Field_bit::new_key_field(MEM_ROOT *root, } -uint Field_bit::is_equal(create_field *new_field) +uint Field_bit::is_equal(Create_field *new_field) { return (new_field->sql_type == real_type() && new_field->length == max_display_length()); diff --git a/sql/field.h b/sql/field.h index 34ba540d2ea..7a64b04d5e5 100644 --- a/sql/field.h +++ b/sql/field.h @@ -1563,7 +1563,7 @@ public: bit_ptr == ((Field_bit *)field)->bit_ptr && bit_ofs == ((Field_bit *)field)->bit_ofs); } - uint is_equal(create_field *new_field); + uint is_equal(Create_field *new_field); void move_field_offset(my_ptrdiff_t ptr_diff) { Field::move_field_offset(ptr_diff); diff --git a/sql/sql_lex.h b/sql/sql_lex.h index 4d056643e51..2cecf282e7f 100644 --- a/sql/sql_lex.h +++ b/sql/sql_lex.h @@ -830,6 +830,13 @@ inline bool st_select_lex_unit::is_union () #define ALTER_REMOVE_PARTITIONING (1L << 25) #define ALTER_FOREIGN_KEY (1L << 26) +enum enum_alter_table_change_level +{ + ALTER_TABLE_METADATA_ONLY= 0, + ALTER_TABLE_DATA_CHANGED= 1, + ALTER_TABLE_INDEX_CHANGED= 2 +}; + /** @brief Parsing data for CREATE or ALTER TABLE. @@ -840,21 +847,28 @@ inline bool st_select_lex_unit::is_union () class Alter_info { public: - List<Alter_drop> drop_list; - List<Alter_column> alter_list; - List<Key> key_list; - List<Create_field> create_list; - uint flags; - enum enum_enable_or_disable keys_onoff; - enum tablespace_op_type tablespace_op; - List<char> partition_names; - uint no_parts; + List<Alter_drop> drop_list; + List<Alter_column> alter_list; + List<Key> key_list; + List<Create_field> create_list; + uint flags; + enum enum_enable_or_disable keys_onoff; + enum tablespace_op_type tablespace_op; + List<char> partition_names; + uint no_parts; + enum_alter_table_change_level change_level; + Create_field *datetime_field; + bool error_if_not_empty; + Alter_info() : flags(0), keys_onoff(LEAVE_AS_IS), tablespace_op(NO_TABLESPACE_OP), - no_parts(0) + no_parts(0), + change_level(ALTER_TABLE_METADATA_ONLY), + datetime_field(NULL), + error_if_not_empty(FALSE) {} void reset() @@ -868,6 +882,9 @@ public: tablespace_op= NO_TABLESPACE_OP; no_parts= 0; partition_names.empty(); + change_level= ALTER_TABLE_METADATA_ONLY; + datetime_field= 0; + error_if_not_empty= FALSE; } /** Construct a copy of this object to be used for mysql_alter_table