mirror of
https://github.com/MariaDB/server.git
synced 2025-07-29 05:21:33 +03:00
MDEV-19653 Add class Sql_cmd_create_table
This commit is contained in:
@ -102,6 +102,31 @@ 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);
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
@class Sql_cmd - Representation of an SQL command.
|
||||
|
||||
@ -145,6 +170,11 @@ public:
|
||||
*/
|
||||
virtual bool execute(THD *thd) = 0;
|
||||
|
||||
virtual Storage_engine_name *option_storage_engine_name()
|
||||
{
|
||||
return NULL;
|
||||
}
|
||||
|
||||
protected:
|
||||
Sql_cmd()
|
||||
{}
|
||||
@ -161,4 +191,15 @@ protected:
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
class Sql_cmd_create_table: public Sql_cmd,
|
||||
public Storage_engine_name
|
||||
{
|
||||
public:
|
||||
enum_sql_command sql_command_code() const { return SQLCOM_CREATE_TABLE; }
|
||||
Storage_engine_name *option_storage_engine_name() { return this; }
|
||||
bool execute(THD *thd);
|
||||
};
|
||||
|
||||
|
||||
#endif // SQL_CMD_INCLUDED
|
||||
|
Reference in New Issue
Block a user