summaryrefslogtreecommitdiff
path: root/sql
diff options
context:
space:
mode:
authorunknown <malff/marcsql@weblab.(none)>2007-06-11 18:08:51 -0600
committerunknown <malff/marcsql@weblab.(none)>2007-06-11 18:08:51 -0600
commit7afb6b58907754697908be4edeee311c56d5f944 (patch)
tree49d6f993a717a356063abcfcad8d1193cf26adc9 /sql
parent9ab7ce8dcba5f1a34eac9b2be468d511dd666542 (diff)
downloadmariadb-git-7afb6b58907754697908be4edeee311c56d5f944.tar.gz
Resolved merge conflicts
Diffstat (limited to 'sql')
-rw-r--r--sql/field.cc2
-rw-r--r--sql/field.h2
-rw-r--r--sql/sql_lex.h37
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