summaryrefslogtreecommitdiff
path: root/sql/handler.h
diff options
context:
space:
mode:
Diffstat (limited to 'sql/handler.h')
-rw-r--r--sql/handler.h14
1 files changed, 10 insertions, 4 deletions
diff --git a/sql/handler.h b/sql/handler.h
index 1c971b2f831..9dde78d22d0 100644
--- a/sql/handler.h
+++ b/sql/handler.h
@@ -1881,7 +1881,8 @@ struct Vers_parse_info
{
Vers_parse_info() :
versioned_fields(false),
- unversioned_fields(false)
+ unversioned_fields(false),
+ can_native(-1)
{}
void init() // Deep initialization
@@ -1890,6 +1891,7 @@ struct Vers_parse_info
as_row= start_end_t(null_clex_str, null_clex_str);
versioned_fields= false;
unversioned_fields= false;
+ can_native= -1;
}
struct start_end_t
@@ -1936,6 +1938,9 @@ protected:
bool need_check(const Alter_info *alter_info) const;
bool check_conditions(const Lex_table_name &table_name,
const Lex_table_name &db) const;
+ bool create_sys_field(THD *thd, const char *field_name,
+ Alter_info *alter_info, int flags);
+
public:
static const Lex_ident default_start;
static const Lex_ident default_end;
@@ -1945,8 +1950,7 @@ public:
bool fix_create_like(Alter_info &alter_info, HA_CREATE_INFO &create_info,
TABLE_LIST &src_table, TABLE_LIST &table);
bool check_sys_fields(const Lex_table_name &table_name,
- const Lex_table_name &db, Alter_info *alter_info,
- bool can_native) const;
+ const Lex_table_name &db, Alter_info *alter_info) const;
/**
At least one field was specified 'WITH/WITHOUT SYSTEM VERSIONING'.
@@ -1954,6 +1958,7 @@ public:
*/
bool versioned_fields : 1;
bool unversioned_fields : 1;
+ int can_native;
};
/**
@@ -2059,6 +2064,8 @@ struct Table_scope_and_contents_source_st:
vers_info.init();
}
+ void vers_check_native();
+
bool vers_fix_system_fields(THD *thd, Alter_info *alter_info,
const TABLE_LIST &create_table);
@@ -2066,7 +2073,6 @@ struct Table_scope_and_contents_source_st:
const Lex_table_name &table_name,
const Lex_table_name &db,
int select_count= 0);
-
};