diff options
author | unknown <bar@gw.udmsearch.izhnet.ru> | 2002-06-26 16:00:43 +0500 |
---|---|---|
committer | unknown <bar@gw.udmsearch.izhnet.ru> | 2002-06-26 16:00:43 +0500 |
commit | 1ff701ee0ccc7410a9dc42ce5ee11e4004002d3a (patch) | |
tree | 351864c2a320096c0191ddb08289cc5a4dd7ee4b /sql/field.h | |
parent | 969919146e96f7709f32ac882359372a45da7944 (diff) | |
download | mariadb-git-1ff701ee0ccc7410a9dc42ce5ee11e4004002d3a.tar.gz |
Several problems were fixed (mostly BLOB+charset related)
Fixed that MyISAM were not working properly with non-8bit charsets in some cases
CONVERT() function now works properly
myisam/mi_unique.c:
Fix for non-8bit charsets
sql/field.cc:
Initialize blobs with charset
sql/field.h:
Initialize blobs with charset
sql/field_conv.cc:
Initialize blobs with charset
sql/item_strfunc.cc:
CONVERT() function now has working fix_lenght_and_dec(), and it's own
fix_fields()
sql/item_strfunc.h:
CONVERT() function now has working fix_lenght_and_dec(), and it's own
fix_fields()
sql/sql_select.cc:
Fixes for BLOBs
Fixed that wrong charset was used in some cases
Diffstat (limited to 'sql/field.h')
-rw-r--r-- | sql/field.h | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/sql/field.h b/sql/field.h index 5b9723654d9..5bc463af48d 100644 --- a/sql/field.h +++ b/sql/field.h @@ -842,11 +842,11 @@ public: Field_blob(char *ptr_arg, uchar *null_ptr_arg, uchar null_bit_arg, enum utype unireg_check_arg, const char *field_name_arg, struct st_table *table_arg,uint blob_pack_length, - bool binary_arg); + bool binary_arg, CHARSET_INFO *cs); Field_blob(uint32 len_arg,bool maybe_null_arg, const char *field_name_arg, - struct st_table *table_arg, bool binary_arg) + struct st_table *table_arg, bool binary_arg, CHARSET_INFO *cs) :Field_str((char*) 0,len_arg, maybe_null_arg ? (uchar*) "": 0,0, - NONE, field_name_arg, table_arg, default_charset_info), + NONE, field_name_arg, table_arg, cs), packlength(3),binary_flag(binary_arg), geom_flag(true) { flags|= BLOB_FLAG; @@ -930,11 +930,12 @@ public: struct st_table *table_arg,uint blob_pack_length, bool binary_arg) :Field_blob(ptr_arg, null_ptr_arg, null_bit_arg, unireg_check_arg, - field_name_arg, table_arg, blob_pack_length,binary_arg) {} + field_name_arg, table_arg, blob_pack_length,binary_arg, + default_charset_info) {} Field_geom(uint32 len_arg,bool maybe_null_arg, const char *field_name_arg, struct st_table *table_arg, bool binary_arg) :Field_blob(len_arg, maybe_null_arg, field_name_arg, - table_arg, binary_arg) {} + table_arg, binary_arg, default_charset_info) {} enum ha_base_keytype key_type() const { return HA_KEYTYPE_VARBINARY; } void get_key_image(char *buff,uint length, imagetype type); |