1
/* -*- mode: c++; c-basic-offset: 2; indent-tabs-mode: nil; -*-
2
* vim:expandtab:shiftwidth=2:tabstop=2:smarttab:
4
* Copyright (C) 2009 Sun Microsystems
6
* This program is free software; you can redistribute it and/or modify
7
* it under the terms of the GNU General Public License as published by
8
* the Free Software Foundation; either version 2 of the License, or
9
* (at your option) any later version.
11
* This program is distributed in the hope that it will be useful,
12
* but WITHOUT ANY WARRANTY; without even the implied warranty of
13
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14
* GNU General Public License for more details.
16
* You should have received a copy of the GNU General Public License
17
* along with this program; if not, write to the Free Software
18
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
22
* @file Declaration of the AlterInfo class
25
#ifndef DRIZZLED_ALTER_INFO_H
26
#define DRIZZLED_ALTER_INFO_H
28
#include "drizzled/base.h"
29
#include "drizzled/enum.h"
30
#include "drizzled/sql_list.h" /** @TODO use STL vectors! */
31
#include "drizzled/key.h"
32
#include "drizzled/message/table.pb.h"
39
/* Some forward declarations needed */
44
enum enum_alter_info_flags
68
enum tablespace_op_type
76
* Contains information about the parsed CREATE or ALTER TABLE statement.
78
* This structure contains a list of columns or indexes to be created,
84
List<AlterDrop> drop_list;
85
List<AlterColumn> alter_list;
87
List<CreateField> create_list;
88
message::AlterTable alter_proto;
89
std::bitset<32> flags;
90
enum enum_enable_or_disable keys_onoff;
91
enum tablespace_op_type tablespace_op;
93
enum ha_build_method build_method;
94
CreateField *datetime_field;
95
bool error_if_not_empty;
98
AlterInfo(const AlterInfo &rhs, memory::Root *mem_root);
100
AlterInfo &operator=(const AlterInfo &rhs); // not implemented
101
AlterInfo(const AlterInfo &rhs); // not implemented
104
} /* namespace drizzled */
106
#endif /* DRIZZLED_ALTER_INFO_H */