1
0
mirror of https://github.com/MariaDB/server.git synced 2025-07-27 18:02:13 +03:00

Merge branch '10.3' into 10.4

This commit is contained in:
Oleksandr Byelkin
2019-06-14 22:10:50 +02:00
86 changed files with 2305 additions and 2514 deletions

View File

@ -118,6 +118,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.
@ -161,6 +187,11 @@ public:
*/
virtual bool execute(THD *thd) = 0;
virtual Storage_engine_name *option_storage_engine_name()
{
return NULL;
}
protected:
Sql_cmd()
{}
@ -177,6 +208,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.