diff options
author | Alexander Barkov <bar@mariadb.org> | 2014-09-04 21:58:48 +0400 |
---|---|---|
committer | Alexander Barkov <bar@mariadb.org> | 2014-09-04 21:58:48 +0400 |
commit | 9392d0e280c622c56d1b533762d8b577ed5b82c6 (patch) | |
tree | 11dc8978b370ead259ae9eaa419e2a2710feaf73 /sql/sql_string.h | |
parent | bf4347eba07a7e8f11af07a684381d48d673e028 (diff) | |
download | mariadb-git-9392d0e280c622c56d1b533762d8b577ed5b82c6.tar.gz |
- MDEV-6695 Bad column name for UCS2 string literals
The Item_string constructors called set_name() on the source string,
which was wrong because in case of UCS2/UTF16/UTF32 the source value
might be a not well formed string (e.g. have incomplete leftmost character).
Now set_name() is called on str_value after its copied
(with optionally left zero padding) from the source string.
- MDEV-6694 Illegal mix of collation with a PS parameter
Item_param::convert_str_value() did not set repertoire.
Introducing a new structure MY_STRING_METADATA to collect
character length and repertoire of a string in a single loop,
to avoid two separate loops. Adding a new class Item_basic_value::Metadata
as a convenience wrapper around MY_STRING_METADATA, to reuse the
code between Item_string and Item_param.
Diffstat (limited to 'sql/sql_string.h')
-rw-r--r-- | sql/sql_string.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/sql/sql_string.h b/sql/sql_string.h index 4360e360590..8c7e69edf4b 100644 --- a/sql/sql_string.h +++ b/sql/sql_string.h @@ -411,7 +411,7 @@ public: friend int stringcmp(const String *a,const String *b); friend String *copy_if_not_alloced(String *a,String *b,uint32 arg_length); friend class Field; - uint32 numchars(); + uint32 numchars() const; int charpos(longlong i,uint32 offset=0); int reserve(uint32 space_needed) |