summaryrefslogtreecommitdiff
path: root/innobase/include/row0mysql.h
diff options
context:
space:
mode:
authorunknown <marko@hundin.mysql.fi>2004-12-17 18:35:11 +0200
committerunknown <marko@hundin.mysql.fi>2004-12-17 18:35:11 +0200
commit7b063137855ed2dd72f661260e9d157c8779b360 (patch)
treec409114526e80bf5c0378ea758cd06c7cc3ba8c4 /innobase/include/row0mysql.h
parent7b592c9e2416792fd17997a8f44eadb939c2629a (diff)
downloadmariadb-git-7b063137855ed2dd72f661260e9d157c8779b360.tar.gz
InnoDB: Fixed bugs in the padding and trimming of trailing spaces
that affected the UCS2 character set. (Bug #7350) innobase/data/data0type.c: Added dtype_get_charset_coll_noninline() innobase/include/data0type.h: Added dtype_get_charset_coll_noninline() innobase/include/row0mysql.h: Added charset field to mysql_row_templ_struct. innobase/include/row0mysql.ic: row_mysql_store_col_in_innobase_format(): When removing trailing spaces, treat the UCS2 character set properly. innobase/rem/rem0cmp.c: cmp_whole_field(): Do not remove trailing 0x20 bytes, as innobase_mysql_cmp() implicitly pads the strings with trailing spaces as necessary. innobase/row/row0sel.c: row_sel_field_store_in_mysql_format(): Do not pad with 0x20 bytes. row_sel_store_mysql_rec(): Pad VARCHARs with trailing spaces (0x20, or 0x0020 in UCS2). sql/ha_innodb.cc: build_template(): Initialize templ->charset
Diffstat (limited to 'innobase/include/row0mysql.h')
-rw-r--r--innobase/include/row0mysql.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/innobase/include/row0mysql.h b/innobase/include/row0mysql.h
index f47ce74ce37..062dae4e60c 100644
--- a/innobase/include/row0mysql.h
+++ b/innobase/include/row0mysql.h
@@ -454,6 +454,8 @@ struct mysql_row_templ_struct {
zero if column cannot be NULL */
ulint type; /* column type in Innobase mtype
numbers DATA_CHAR... */
+ ulint charset; /* MySQL charset-collation code
+ of the column, or zero */
ulint is_unsigned; /* if a column type is an integer
type and this field is != 0, then
it is an unsigned integer type */