87
87
uint32_t get_key_image(std::basic_string <unsigned char> &buff, uint32_t length);
88
88
void set_key_image(const unsigned char *buff,uint32_t length);
89
89
void sql_type(String &str) const;
90
virtual unsigned char *pack(unsigned char *to,
90
virtual unsigned char *pack(unsigned char *to,
91
91
const unsigned char *from,
92
92
uint32_t max_length,
93
93
bool low_byte_first);
95
unsigned char *pack_key(unsigned char *to, const unsigned char *from, uint32_t max_length, bool low_byte_first);
96
unsigned char *pack_key_from_key_image(unsigned char* to,
97
const unsigned char *from,
100
95
virtual const unsigned char *unpack(unsigned char* to,
101
96
const unsigned char *from,
102
97
uint32_t param_data,
103
98
bool low_byte_first);
105
const unsigned char *unpack_key(unsigned char* to, const unsigned char *from,
106
uint32_t max_length, bool low_byte_first);
107
int pack_cmp(const unsigned char *a, const unsigned char *b, uint32_t key_length,
108
bool insert_or_update);
109
int pack_cmp(const unsigned char *b, uint32_t key_length,bool insert_or_update);
110
100
int cmp_binary(const unsigned char *a,const unsigned char *b, uint32_t max_length=UINT32_MAX);
111
101
int key_cmp(const unsigned char *,const unsigned char*);
112
102
int key_cmp(const unsigned char *str, uint32_t length);
113
uint32_t packed_col_length(const unsigned char *to, uint32_t length);
114
103
uint32_t max_packed_col_length(uint32_t max_length);
115
uint32_t data_length();
116
104
uint32_t used_length();
117
105
uint32_t size_of() const { return sizeof(*this); }
118
106
enum_field_types real_type() const { return DRIZZLE_TYPE_VARCHAR; }
122
110
Field *new_key_field(MEM_ROOT *root, Table *new_table,
123
111
unsigned char *new_ptr, unsigned char *new_null_ptr,
124
112
uint32_t new_null_bit);
125
uint32_t is_equal(CreateField *new_field);
126
void hash(uint32_t *nr, uint32_t *nr2);
128
int do_save_field_metadata(unsigned char *first_byte);
131
115
#endif /* DRIZZLED_FIELD_VARSTRING_H */