diff options
author | Alexander Barkov <bar@mariadb.com> | 2018-07-19 09:55:19 +0400 |
---|---|---|
committer | Alexander Barkov <bar@mariadb.com> | 2018-07-19 09:55:51 +0400 |
commit | ab58493db22d870cb6a470d6b0551cfc70dd09f3 (patch) | |
tree | 3f9394115673ae87a2dbfdf3e8ea0428a8dbddb5 /strings | |
parent | ada54101a7185782657813c553907f61f2a35faf (diff) | |
download | mariadb-git-ab58493db22d870cb6a470d6b0551cfc70dd09f3.tar.gz |
MDEV-13118 Wrong results with LOWER and UPPER and subquery
This problem is similar to MDEV-10306.
1. Fixing Item_str_conv::val_str(String *str) to return the result in "str",
and to use tmp_value only as a temporary buffer for args[0]->val_str().
The new code version now guarantees that the result is always returned in
"str". The trick with copy_if_not_alloced() is not used any more.
2. The change #1 revealed the same problem in SUBSTRING_INDEX(),
so some tests with combinations of UPPER()/LOWER() and SUBSTRING_INDEX()
started to fail. Fixing Item_func_substr_index::val_str() the same way,
to return the result in "str" and use tmp_value as a temporary buffer
for args[0]->val_str().
Diffstat (limited to 'strings')
0 files changed, 0 insertions, 0 deletions