00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #pragma once
00021
00022 #include <drizzled/charset.h>
00023 #include <drizzled/item/hex_string.h>
00024 #include <drizzled/visibility.h>
00025
00026 namespace drizzled {
00027
00028 class Item_bin_string : public Item_hex_string
00029 {
00030 public:
00031 Item_bin_string(str_ref);
00032 };
00033
00034 class DRIZZLED_API Item_result_field : public Item
00035 {
00036 public:
00037 Field *result_field;
00038 Item_result_field() : result_field(0) {}
00039
00040 Item_result_field(Session *session, Item_result_field *item):
00041 Item(session, item), result_field(item->result_field)
00042 {}
00043 Field *get_tmp_table_field() { return result_field; }
00044 Field *tmp_table_field(Table *)
00045 { return result_field; }
00046 table_map used_tables() const { return 1; }
00047 virtual void fix_length_and_dec()=0;
00048 void set_result_field(Field *field) { result_field= field; }
00049 bool is_result_field() { return true; }
00050 void save_in_result_field(bool no_conversions)
00051 {
00052 save_in_field(result_field, no_conversions);
00053 }
00054 void cleanup();
00055 };
00056
00057 }
00058