summaryrefslogtreecommitdiff
path: root/sql/field.h
diff options
context:
space:
mode:
authorunknown <bar@gw.udmsearch.izhnet.ru>2002-06-26 16:00:43 +0500
committerunknown <bar@gw.udmsearch.izhnet.ru>2002-06-26 16:00:43 +0500
commit1ff701ee0ccc7410a9dc42ce5ee11e4004002d3a (patch)
tree351864c2a320096c0191ddb08289cc5a4dd7ee4b /sql/field.h
parent969919146e96f7709f32ac882359372a45da7944 (diff)
downloadmariadb-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.h11
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);