Drizzled Public API Documentation

bin_string.h
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, Inc.
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 #pragma once
21 
22 #include <drizzled/charset.h>
23 #include <drizzled/item/hex_string.h>
24 #include <drizzled/visibility.h>
25 
26 namespace drizzled {
27 
29 {
30 public:
32 };
33 
34 class DRIZZLED_API Item_result_field : public Item /* Item with result field */
35 {
36 public:
37  Field *result_field; /* Save result here */
38  Item_result_field() : result_field(0) {}
39  // Constructor used for Item_sum/Item_cond_and/or (see Item comment)
41  Item(session, item), result_field(item->result_field)
42  {}
43  Field *get_tmp_table_field() { return result_field; }
44  Field *tmp_table_field(Table *)
45  { return result_field; }
46  table_map used_tables() const { return 1; }
47  virtual void fix_length_and_dec()=0;
48  void set_result_field(Field *field) { result_field= field; }
49  bool is_result_field() { return true; }
50  void save_in_result_field(bool no_conversions)
51  {
52  save_in_field(result_field, no_conversions);
53  }
54  void cleanup();
55 };
56 
57 } /* namespace drizzled */
58