~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to drizzled/create_field.h

MergeĀ fromĀ Nathan

Show diffs side-by-side

added added

removed removed

Lines of Context:
20
20
#ifndef DRIZZLED_CREATE_FIELD_H
21
21
#define DRIZZLED_CREATE_FIELD_H
22
22
 
 
23
#include <vector>
 
24
 
23
25
/**
24
26
 * Class representing a field in a CREATE TABLE statement.
25
27
 *
26
28
 * Basically, all information for a new or altered field
27
29
 * definition is contained in the Create_field class.
28
30
 */
29
 
class Create_field :public Sql_alloc
 
31
class CreateField :public Sql_alloc
30
32
{
31
33
public:
32
34
  const char *field_name; /**< Name of the field to be created */
51
53
  uint32_t key_length;
52
54
  Field::utype unireg_check; /**< See Field::unireg_check */
53
55
  TYPELIB *interval; /**< Which interval to use (ENUM types..) */
54
 
  List<String> interval_list;
 
56
  std::vector<String*> interval_list;
55
57
  const CHARSET_INFO *charset; /**< Character set for the column -- @TODO should be deleted */
56
58
  Field *field; // For alter table
57
59
 
59
61
  uint32_t offset;
60
62
  uint32_t pack_flag;
61
63
 
62
 
  Create_field() :after(0) {}
63
 
  Create_field(Field *field, Field *orig_field);
 
64
  CreateField() :after(0) {}
 
65
  CreateField(Field *field, Field *orig_field);
64
66
  /* Used to make a clone of this object for ALTER/CREATE TABLE */
65
 
  Create_field *clone(MEM_ROOT *mem_root) const
66
 
    { return new (mem_root) Create_field(*this); }
 
67
  CreateField *clone(MEM_ROOT *mem_root) const
 
68
    { return new (mem_root) CreateField(*this); }
67
69
  void create_length_to_internal_length(void);
68
70
 
69
71
  inline enum column_format_type column_format() const