diff options
| author | Oleksandr Byelkin <sanja@mariadb.com> | 2019-06-14 07:36:47 +0200 |
|---|---|---|
| committer | Oleksandr Byelkin <sanja@mariadb.com> | 2019-06-14 07:36:47 +0200 |
| commit | 4a3d51c76c131e7b5348d7c714a619f82de32d39 (patch) | |
| tree | 4fb180861c733e364af930529565a7b799c4833a /sql/sql_cmd.h | |
| parent | d9fe615ef6862c85c5aada96d4f5b62b7093177c (diff) | |
| parent | 50653e021f1678c3c28c6b5886fadb9fcf8d87ff (diff) | |
| download | mariadb-git-4a3d51c76c131e7b5348d7c714a619f82de32d39.tar.gz | |
Merge branch '10.2' into 10.3
Diffstat (limited to 'sql/sql_cmd.h')
| -rw-r--r-- | sql/sql_cmd.h | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/sql/sql_cmd.h b/sql/sql_cmd.h index a9d8178d3f8..f5df73216d8 100644 --- a/sql/sql_cmd.h +++ b/sql/sql_cmd.h @@ -117,6 +117,32 @@ enum enum_sql_command { SQLCOM_END }; + +class Storage_engine_name +{ +protected: + LEX_CSTRING m_storage_engine_name; +public: + Storage_engine_name() + { + m_storage_engine_name.str= NULL; + m_storage_engine_name.length= 0; + } + Storage_engine_name(const LEX_CSTRING &name) + :m_storage_engine_name(name) + { } + Storage_engine_name(const LEX_STRING &name) + { + m_storage_engine_name.str= name.str; + m_storage_engine_name.length= name.length; + } + bool resolve_storage_engine_with_error(THD *thd, + handlerton **ha, + bool tmp_table); + bool is_set() { return m_storage_engine_name.str != NULL; } +}; + + /** @class Sql_cmd - Representation of an SQL command. @@ -160,6 +186,11 @@ public: */ virtual bool execute(THD *thd) = 0; + virtual Storage_engine_name *option_storage_engine_name() + { + return NULL; + } + protected: Sql_cmd() {} @@ -176,6 +207,26 @@ protected: } }; +class Sql_cmd_create_table_like: public Sql_cmd, + public Storage_engine_name +{ +public: + Storage_engine_name *option_storage_engine_name() { return this; } + bool execute(THD *thd); +}; + +class Sql_cmd_create_table: public Sql_cmd_create_table_like +{ +public: + enum_sql_command sql_command_code() const { return SQLCOM_CREATE_TABLE; } +}; + +class Sql_cmd_create_sequence: public Sql_cmd_create_table_like +{ +public: + enum_sql_command sql_command_code() const { return SQLCOM_CREATE_SEQUENCE; } +}; + /** Sql_cmd_call represents the CALL statement. |
