diff options
author | Alexander Barkov <bar@mariadb.org> | 2017-11-15 19:18:28 +0400 |
---|---|---|
committer | Alexander Barkov <bar@mariadb.org> | 2017-11-15 19:18:28 +0400 |
commit | 1c3460843613c6e7ac28456c0f24085a8877e13f (patch) | |
tree | 675017a6b5666a1629100fb2ad4eb728d8f73473 /sql | |
parent | 7663773e56e64098b1126651a6ff3cbc41192329 (diff) | |
download | mariadb-git-1c3460843613c6e7ac28456c0f24085a8877e13f.tar.gz |
MDEV-14404 Don't use LEX::check_exists in ALTER SEQUENCE
Diffstat (limited to 'sql')
-rw-r--r-- | sql/sql_alter.h | 6 | ||||
-rw-r--r-- | sql/sql_sequence.cc | 4 | ||||
-rw-r--r-- | sql/sql_yacc.yy | 4 | ||||
-rw-r--r-- | sql/sql_yacc_ora.yy | 4 |
4 files changed, 10 insertions, 8 deletions
diff --git a/sql/sql_alter.h b/sql/sql_alter.h index c0232dd7358..5c898a5407c 100644 --- a/sql/sql_alter.h +++ b/sql/sql_alter.h @@ -387,13 +387,15 @@ public: /** 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: /** 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() diff --git a/sql/sql_sequence.cc b/sql/sql_sequence.cc index ec40dc5a507..82d53486c95 100644 --- a/sql/sql_sequence.cc +++ b/sql/sql_sequence.cc @@ -851,10 +851,10 @@ bool Sql_cmd_alter_sequence::execute(THD *thd) if (check_grant(thd, ALTER_ACL, first_table, FALSE, UINT_MAX, FALSE)) DBUG_RETURN(TRUE); /* purecov: inspected */ - if (lex->check_exists) + if (if_exists()) thd->push_internal_handler(&no_such_table_handler); 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(); thd->pop_internal_handler(); diff --git a/sql/sql_yacc.yy b/sql/sql_yacc.yy index c43edc8a513..bf9e1ba660e 100644 --- a/sql/sql_yacc.yy +++ b/sql/sql_yacc.yy @@ -7314,7 +7314,7 @@ alter: Lex->create_info.set($2); Lex->sql_command= SQLCOM_ALTER_USER; } - | ALTER SEQUENCE_SYM opt_if_exists_table_element + | ALTER SEQUENCE_SYM opt_if_exists { LEX *lex= Lex; lex->name= null_clex_str; @@ -7337,7 +7337,7 @@ alter: sequence_defs { /* 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) MYSQL_YYABORT; } diff --git a/sql/sql_yacc_ora.yy b/sql/sql_yacc_ora.yy index 11c577884d8..30c4b6a0f7c 100644 --- a/sql/sql_yacc_ora.yy +++ b/sql/sql_yacc_ora.yy @@ -7301,7 +7301,7 @@ alter: Lex->create_info.set($2); Lex->sql_command= SQLCOM_ALTER_USER; } - | ALTER SEQUENCE_SYM opt_if_exists_table_element + | ALTER SEQUENCE_SYM opt_if_exists { LEX *lex= Lex; lex->name= null_clex_str; @@ -7324,7 +7324,7 @@ alter: sequence_defs { /* 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) MYSQL_YYABORT; } |