23 #include <drizzled/field.h>
26 #include <drizzled/type/uuid.h>
38 Uuid(
unsigned char *ptr_arg,
40 unsigned char *null_ptr_arg,
41 unsigned char null_bit_arg,
42 const char *field_name_arg);
44 enum_field_types type()
const {
return DRIZZLE_TYPE_UUID; }
45 enum ha_base_keytype key_type()
const {
return HA_KEYTYPE_BINARY; }
46 bool zero_pack()
const {
return 0; }
47 int reset(
void) { memset(
ptr, 0, type::Uuid::LENGTH);
return 0; }
49 uint32_t key_length()
const {
return type::Uuid::LENGTH; }
51 int store(
const char *to, uint32_t length,
const charset_info_st *
const charset);
52 int store(int64_t nr,
bool unsigned_val);
53 double val_real()
const;
54 int64_t val_int()
const;
58 Item_result result_type ()
const {
return STRING_RESULT; }
59 int cmp(
const unsigned char*,
const unsigned char*);
60 void sort_string(
unsigned char*, uint32_t);
61 uint32_t max_display_length() {
return type::Uuid::DISPLAY_LENGTH; }
63 int store(
double ) {
return 0; }
64 inline String *val_str(String *str) {
return val_str(str, str); }
65 uint32_t size_of()
const {
return sizeof(*this); }
67 bool get_date(type::Time <ime, uint32_t)
const;
68 bool get_time(type::Time <ime)
const;
72 void set(
const unsigned char *arg);
75 static size_t max_string_length()
77 return type::Uuid::LENGTH;