~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to drizzled/virtual_column_info.h

  • Committer: Monty Taylor
  • Date: 2008-11-17 07:23:53 UTC
  • mto: (589.1.3 devel)
  • mto: This revision was merged to the branch mainline in revision 589.
  • Revision ID: monty@inaugust.com-20081117072353-tc8ykdsycno0cc5u
Split out a little more code. Removed table_list.h from common_includes.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/* -*- mode: c++; c-basic-offset: 2; indent-tabs-mode: nil; -*-
 
2
 *  vim:expandtab:shiftwidth=2:tabstop=2:smarttab:
 
3
 *
 
4
 *  Copyright (C) 2008 Sun Microsystems
 
5
 *
 
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; version 2 of the License.
 
9
 *
 
10
 *  This program is distributed in the hope that it will be useful,
 
11
 *  but WITHOUT ANY WARRANTY; without even the implied warranty of
 
12
 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 
13
 *  GNU General Public License for more details.
 
14
 *
 
15
 *  You should have received a copy of the GNU General Public License
 
16
 *  along with this program; if not, write to the Free Software
 
17
 *  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 
18
 */
 
19
 
 
20
#ifndef DRIZZLED_VIRTUAL_COLUMN_INFO_H
 
21
#define DRIZZLED_VIRTUAL_COLUMN_INFO_H
 
22
 
 
23
#include <drizzled/definitions.h>
 
24
#include <drizzled/sql_alloc.h>
 
25
#include <drizzled/lex_string.h>
 
26
 
 
27
class Item;
 
28
 
 
29
class virtual_column_info: public Sql_alloc
 
30
{
 
31
public:
 
32
  Item *expr_item;
 
33
  LEX_STRING expr_str;
 
34
  Item *item_free_list;
 
35
 
 
36
  virtual_column_info()
 
37
  : expr_item(0), item_free_list(0),
 
38
    field_type(DRIZZLE_TYPE_VIRTUAL),
 
39
    is_stored(false), data_inited(false)
 
40
  {
 
41
    expr_str.str= NULL;
 
42
    expr_str.length= 0;
 
43
  };
 
44
  ~virtual_column_info() {}
 
45
  enum_field_types get_real_type();
 
46
  void set_field_type(enum_field_types fld_type);
 
47
  bool get_field_stored();
 
48
  void set_field_stored(bool stored);
 
49
 
 
50
private:
 
51
  /*
 
52
    The following data is only updated by the parser and read
 
53
    when a Create_field object is created/initialized.
 
54
  */
 
55
  enum_field_types field_type;   /* Real field type*/
 
56
  bool is_stored;             /* Indication that the field is
 
57
                                 phisically stored in the database*/
 
58
  /*
 
59
    This flag is used to prevent other applications from
 
60
    reading and using incorrect data.
 
61
  */
 
62
  bool data_inited;
 
63
};
 
64
 
 
65
#endif /* DRIZZLED_VIRTUAL_COLUMN_INFO_H */