~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to drizzled/item/field.h

  • Committer: Jay Pipes
  • Date: 2009-09-15 21:01:42 UTC
  • mto: (1126.2.5 merge)
  • mto: This revision was merged to the branch mainline in revision 1128.
  • Revision ID: jpipes@serialcoder-20090915210142-x8mwiqn1q0vzjspp
Moves Alter_info out into its own header and source file, cleans up some related include mess in sql_lex.h, and renames Alter_info to AlterInfo.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
1
/* -*- mode: c++; c-basic-offset: 2; indent-tabs-mode: nil; -*-
2
2
 *  vim:expandtab:shiftwidth=2:tabstop=2:smarttab:
3
3
 *
4
 
 *  Copyright (C) 2008 Sun Microsystems, Inc.
 
4
 *  Copyright (C) 2008 Sun Microsystems
5
5
 *
6
6
 *  This program is free software; you can redistribute it and/or modify
7
7
 *  it under the terms of the GNU General Public License as published by
20
20
#ifndef DRIZZLED_ITEM_FIELD_H
21
21
#define DRIZZLED_ITEM_FIELD_H
22
22
 
23
 
#include <drizzled/item/ident.h>
24
 
 
25
 
namespace drizzled
26
 
{
27
 
 
 
23
extern Item **not_found_item;
28
24
class COND_EQUAL;
29
 
class Item;
30
 
 
31
 
extern Item **not_found_item;
32
25
 
33
26
class Item_field :public Item_ident
34
27
{
68
61
  bool eq(const Item *item, bool binary_cmp) const;
69
62
  double val_real();
70
63
  int64_t val_int();
71
 
  type::Decimal *val_decimal(type::Decimal *);
 
64
  my_decimal *val_decimal(my_decimal *);
72
65
  String *val_str(String*);
73
66
  double val_result();
74
67
  int64_t val_int_result();
75
68
  String *str_result(String* tmp);
76
 
  type::Decimal *val_decimal_result(type::Decimal *);
 
69
  my_decimal *val_decimal_result(my_decimal *);
77
70
  bool val_bool_result();
78
 
  bool send(plugin::Client *client, String *str_arg);
 
71
  bool send(drizzled::plugin::Protocol *protocol, String *str_arg);
79
72
  void reset_field(Field *f);
80
73
  bool fix_fields(Session *, Item **);
81
74
  void fix_after_pullout(Select_Lex *new_parent, Item **ref);
89
82
  int64_t val_int_endpoint(bool left_endp, bool *incl_endp);
90
83
  Field *get_tmp_table_field() { return result_field; }
91
84
  Field *tmp_table_field(Table *) { return result_field; }
92
 
  bool get_date(type::Time &ltime,uint32_t fuzzydate);
93
 
  bool get_date_result(type::Time &ltime, uint32_t fuzzydate);
94
 
  bool get_time(type::Time &ltime);
 
85
  bool get_date(DRIZZLE_TIME *ltime,uint32_t fuzzydate);
 
86
  bool get_date_result(DRIZZLE_TIME *ltime,uint32_t fuzzydate);
 
87
  bool get_time(DRIZZLE_TIME *ltime);
95
88
  bool is_null();
96
89
  void update_null_value();
97
90
  Item *get_tmp_table_item(Session *session);
106
99
  bool set_no_const_sub(unsigned char *arg);
107
100
  Item *replace_equal_field(unsigned char *arg);
108
101
  uint32_t max_disp_length();
 
102
  Item_field *filed_for_view_update() { return this; }
109
103
  Item *safe_charset_converter(const CHARSET_INFO * const tocs);
110
104
  int fix_outer_field(Session *session, Field **field, Item **reference);
111
105
  virtual Item *update_value_transformer(unsigned char *select_arg);
116
110
  friend class Select_Lex_Unit;
117
111
};
118
112
 
119
 
} /* namespace drizzled */
120
 
 
121
113
#endif /* DRIZZLED_ITEM_FIELD_H */