mirror of
https://github.com/MariaDB/server.git
synced 2025-08-08 11:22:35 +03:00
MDEV-14404 Don't use LEX::check_exists in ALTER SEQUENCE
This commit is contained in:
@@ -387,13 +387,15 @@ public:
|
|||||||
/**
|
/**
|
||||||
Sql_cmd_alter_sequence represents the ALTER SEQUENCE statement.
|
Sql_cmd_alter_sequence represents the ALTER SEQUENCE statement.
|
||||||
*/
|
*/
|
||||||
class Sql_cmd_alter_sequence : public Sql_cmd
|
class Sql_cmd_alter_sequence : public Sql_cmd,
|
||||||
|
public DDL_options
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
/**
|
/**
|
||||||
Constructor, used to represent a ALTER TABLE statement.
|
Constructor, used to represent a ALTER TABLE statement.
|
||||||
*/
|
*/
|
||||||
Sql_cmd_alter_sequence()
|
Sql_cmd_alter_sequence(const DDL_options &options)
|
||||||
|
:DDL_options(options)
|
||||||
{}
|
{}
|
||||||
|
|
||||||
~Sql_cmd_alter_sequence()
|
~Sql_cmd_alter_sequence()
|
||||||
|
@@ -851,10 +851,10 @@ bool Sql_cmd_alter_sequence::execute(THD *thd)
|
|||||||
if (check_grant(thd, ALTER_ACL, first_table, FALSE, UINT_MAX, FALSE))
|
if (check_grant(thd, ALTER_ACL, first_table, FALSE, UINT_MAX, FALSE))
|
||||||
DBUG_RETURN(TRUE); /* purecov: inspected */
|
DBUG_RETURN(TRUE); /* purecov: inspected */
|
||||||
|
|
||||||
if (lex->check_exists)
|
if (if_exists())
|
||||||
thd->push_internal_handler(&no_such_table_handler);
|
thd->push_internal_handler(&no_such_table_handler);
|
||||||
error= open_and_lock_tables(thd, first_table, FALSE, 0);
|
error= open_and_lock_tables(thd, first_table, FALSE, 0);
|
||||||
if (lex->check_exists)
|
if (if_exists())
|
||||||
{
|
{
|
||||||
trapped_errors= no_such_table_handler.safely_trapped_errors();
|
trapped_errors= no_such_table_handler.safely_trapped_errors();
|
||||||
thd->pop_internal_handler();
|
thd->pop_internal_handler();
|
||||||
|
@@ -7314,7 +7314,7 @@ alter:
|
|||||||
Lex->create_info.set($2);
|
Lex->create_info.set($2);
|
||||||
Lex->sql_command= SQLCOM_ALTER_USER;
|
Lex->sql_command= SQLCOM_ALTER_USER;
|
||||||
}
|
}
|
||||||
| ALTER SEQUENCE_SYM opt_if_exists_table_element
|
| ALTER SEQUENCE_SYM opt_if_exists
|
||||||
{
|
{
|
||||||
LEX *lex= Lex;
|
LEX *lex= Lex;
|
||||||
lex->name= null_clex_str;
|
lex->name= null_clex_str;
|
||||||
@@ -7337,7 +7337,7 @@ alter:
|
|||||||
sequence_defs
|
sequence_defs
|
||||||
{
|
{
|
||||||
/* Create a generic ALTER SEQUENCE statment. */
|
/* Create a generic ALTER SEQUENCE statment. */
|
||||||
Lex->m_sql_cmd= new (thd->mem_root) Sql_cmd_alter_sequence();
|
Lex->m_sql_cmd= new (thd->mem_root) Sql_cmd_alter_sequence($3);
|
||||||
if (Lex->m_sql_cmd == NULL)
|
if (Lex->m_sql_cmd == NULL)
|
||||||
MYSQL_YYABORT;
|
MYSQL_YYABORT;
|
||||||
}
|
}
|
||||||
|
@@ -7301,7 +7301,7 @@ alter:
|
|||||||
Lex->create_info.set($2);
|
Lex->create_info.set($2);
|
||||||
Lex->sql_command= SQLCOM_ALTER_USER;
|
Lex->sql_command= SQLCOM_ALTER_USER;
|
||||||
}
|
}
|
||||||
| ALTER SEQUENCE_SYM opt_if_exists_table_element
|
| ALTER SEQUENCE_SYM opt_if_exists
|
||||||
{
|
{
|
||||||
LEX *lex= Lex;
|
LEX *lex= Lex;
|
||||||
lex->name= null_clex_str;
|
lex->name= null_clex_str;
|
||||||
@@ -7324,7 +7324,7 @@ alter:
|
|||||||
sequence_defs
|
sequence_defs
|
||||||
{
|
{
|
||||||
/* Create a generic ALTER SEQUENCE statment. */
|
/* Create a generic ALTER SEQUENCE statment. */
|
||||||
Lex->m_sql_cmd= new (thd->mem_root) Sql_cmd_alter_sequence();
|
Lex->m_sql_cmd= new (thd->mem_root) Sql_cmd_alter_sequence($3);
|
||||||
if (Lex->m_sql_cmd == NULL)
|
if (Lex->m_sql_cmd == NULL)
|
||||||
MYSQL_YYABORT;
|
MYSQL_YYABORT;
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user