diff options
Diffstat (limited to 'sql/sql_alter.h')
-rw-r--r-- | sql/sql_alter.h | 66 |
1 files changed, 66 insertions, 0 deletions
diff --git a/sql/sql_alter.h b/sql/sql_alter.h new file mode 100644 index 00000000000..6a17f87f5a4 --- /dev/null +++ b/sql/sql_alter.h @@ -0,0 +1,66 @@ +/* Copyright (c) 2010 Oracle and/or its affiliates. All rights reserved. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; version 2 of the License. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + +#ifndef SQL_ALTER_TABLE_H +#define SQL_ALTER_TABLE_H + +/** + Alter_table_common represents the common properties of the ALTER TABLE + statements. + @todo move Alter_info and other ALTER generic structures from Lex here. +*/ +class Alter_table_common : public Sql_statement +{ +protected: + /** + Constructor. + @param lex the LEX structure for this statement. + */ + Alter_table_common(LEX *lex) + : Sql_statement(lex) + {} + + virtual ~Alter_table_common() + {} + +}; + +/** + Alter_table_statement represents the generic ALTER TABLE statement. + @todo move Alter_info and other ALTER specific structures from Lex here. +*/ +class Alter_table_statement : public Alter_table_common +{ +public: + /** + Constructor, used to represent a ALTER TABLE statement. + @param lex the LEX structure for this statement. + */ + Alter_table_statement(LEX *lex) + : Alter_table_common(lex) + {} + + ~Alter_table_statement() + {} + + /** + Execute a ALTER TABLE statement at runtime. + @param thd the current thread. + @return false on success. + */ + bool execute(THD *thd); +}; + +#endif |