~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to drizzled/item/field.h

  • Committer: Olaf van der Spek
  • Date: 2011-10-10 09:27:50 UTC
  • mto: (2430.1.6 rf)
  • mto: This revision was merged to the branch mainline in revision 2436.
  • Revision ID: olafvdspek@gmail.com-20111010092750-ryxgmn7zj5yvxfkf
Refactor

Show diffs side-by-side

added added

removed removed

Lines of Context:
17
17
 *  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
18
18
 */
19
19
 
20
 
#ifndef DRIZZLED_ITEM_FIELD_H
21
 
#define DRIZZLED_ITEM_FIELD_H
22
 
 
23
 
namespace drizzled
24
 
{
 
20
#pragma once
 
21
 
 
22
#include <drizzled/item/ident.h>
 
23
 
 
24
namespace drizzled {
 
25
 
 
26
class COND_EQUAL;
25
27
 
26
28
extern Item **not_found_item;
27
 
class COND_EQUAL;
28
29
 
29
30
class Item_field :public Item_ident
30
31
{
64
65
  bool eq(const Item *item, bool binary_cmp) const;
65
66
  double val_real();
66
67
  int64_t val_int();
67
 
  my_decimal *val_decimal(my_decimal *);
 
68
  type::Decimal *val_decimal(type::Decimal *);
68
69
  String *val_str(String*);
69
70
  double val_result();
70
71
  int64_t val_int_result();
71
72
  String *str_result(String* tmp);
72
 
  my_decimal *val_decimal_result(my_decimal *);
 
73
  type::Decimal *val_decimal_result(type::Decimal *);
73
74
  bool val_bool_result();
74
 
  bool send(plugin::Client *client, String *str_arg);
 
75
  void send(plugin::Client *client, String *str_arg);
75
76
  void reset_field(Field *f);
76
77
  bool fix_fields(Session *, Item **);
77
78
  void fix_after_pullout(Select_Lex *new_parent, Item **ref);
85
86
  int64_t val_int_endpoint(bool left_endp, bool *incl_endp);
86
87
  Field *get_tmp_table_field() { return result_field; }
87
88
  Field *tmp_table_field(Table *) { return result_field; }
88
 
  bool get_date(DRIZZLE_TIME *ltime,uint32_t fuzzydate);
89
 
  bool get_date_result(DRIZZLE_TIME *ltime,uint32_t fuzzydate);
90
 
  bool get_time(DRIZZLE_TIME *ltime);
 
89
  bool get_date(type::Time &ltime,uint32_t fuzzydate);
 
90
  bool get_date_result(type::Time &ltime, uint32_t fuzzydate);
 
91
  bool get_time(type::Time &ltime);
91
92
  bool is_null();
92
93
  void update_null_value();
93
94
  Item *get_tmp_table_item(Session *session);
102
103
  bool set_no_const_sub(unsigned char *arg);
103
104
  Item *replace_equal_field(unsigned char *arg);
104
105
  uint32_t max_disp_length();
105
 
  Item *safe_charset_converter(const CHARSET_INFO * const tocs);
 
106
  Item *safe_charset_converter(const charset_info_st * const tocs);
106
107
  int fix_outer_field(Session *session, Field **field, Item **reference);
107
108
  virtual Item *update_value_transformer(unsigned char *select_arg);
108
 
  virtual void print(String *str, enum_query_type query_type);
 
109
  virtual void print(String *str);
109
110
 
110
111
  friend class Item_default_value;
111
112
  friend class Item_insert_value;
114
115
 
115
116
} /* namespace drizzled */
116
117
 
117
 
#endif /* DRIZZLED_ITEM_FIELD_H */