Commit ab58493
committed
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().1 parent ada5410 commit ab58493
File tree
26 files changed
+433
-48
lines changed- mysql-test
- include
- r
- t
- sql
26 files changed
+433
-48
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
3022 | 3022 | | |
3023 | 3023 | | |
3024 | 3024 | | |
| 3025 | + | |
| 3026 | + | |
| 3027 | + | |
| 3028 | + | |
| 3029 | + | |
| 3030 | + | |
| 3031 | + | |
| 3032 | + | |
| 3033 | + | |
| 3034 | + | |
| 3035 | + | |
| 3036 | + | |
| 3037 | + | |
| 3038 | + | |
| 3039 | + | |
| 3040 | + | |
| 3041 | + | |
| 3042 | + | |
| 3043 | + | |
| 3044 | + | |
| 3045 | + | |
| 3046 | + | |
| 3047 | + | |
3025 | 3048 | | |
3026 | 3049 | | |
3027 | 3050 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
33636 | 33636 | | |
33637 | 33637 | | |
33638 | 33638 | | |
| 33639 | + | |
| 33640 | + | |
| 33641 | + | |
| 33642 | + | |
| 33643 | + | |
| 33644 | + | |
| 33645 | + | |
| 33646 | + | |
| 33647 | + | |
| 33648 | + | |
| 33649 | + | |
| 33650 | + | |
| 33651 | + | |
| 33652 | + | |
| 33653 | + | |
| 33654 | + | |
| 33655 | + | |
| 33656 | + | |
| 33657 | + | |
| 33658 | + | |
| 33659 | + | |
| 33660 | + | |
| 33661 | + | |
33639 | 33662 | | |
33640 | 33663 | | |
33641 | 33664 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
25274 | 25274 | | |
25275 | 25275 | | |
25276 | 25276 | | |
| 25277 | + | |
| 25278 | + | |
| 25279 | + | |
| 25280 | + | |
| 25281 | + | |
| 25282 | + | |
| 25283 | + | |
| 25284 | + | |
| 25285 | + | |
| 25286 | + | |
| 25287 | + | |
| 25288 | + | |
| 25289 | + | |
| 25290 | + | |
| 25291 | + | |
| 25292 | + | |
| 25293 | + | |
| 25294 | + | |
| 25295 | + | |
| 25296 | + | |
| 25297 | + | |
| 25298 | + | |
| 25299 | + | |
| 25300 | + | |
| 25301 | + | |
| 25302 | + | |
| 25303 | + | |
| 25304 | + | |
| 25305 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
4943 | 4943 | | |
4944 | 4944 | | |
4945 | 4945 | | |
| 4946 | + | |
| 4947 | + | |
| 4948 | + | |
| 4949 | + | |
| 4950 | + | |
| 4951 | + | |
| 4952 | + | |
| 4953 | + | |
| 4954 | + | |
| 4955 | + | |
| 4956 | + | |
| 4957 | + | |
| 4958 | + | |
| 4959 | + | |
| 4960 | + | |
| 4961 | + | |
| 4962 | + | |
| 4963 | + | |
| 4964 | + | |
| 4965 | + | |
| 4966 | + | |
| 4967 | + | |
| 4968 | + | |
4946 | 4969 | | |
4947 | 4970 | | |
4948 | 4971 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
7939 | 7939 | | |
7940 | 7940 | | |
7941 | 7941 | | |
| 7942 | + | |
| 7943 | + | |
| 7944 | + | |
| 7945 | + | |
| 7946 | + | |
| 7947 | + | |
| 7948 | + | |
| 7949 | + | |
| 7950 | + | |
| 7951 | + | |
| 7952 | + | |
| 7953 | + | |
| 7954 | + | |
| 7955 | + | |
| 7956 | + | |
| 7957 | + | |
| 7958 | + | |
| 7959 | + | |
| 7960 | + | |
| 7961 | + | |
| 7962 | + | |
| 7963 | + | |
| 7964 | + | |
7942 | 7965 | | |
7943 | 7966 | | |
7944 | 7967 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
5629 | 5629 | | |
5630 | 5630 | | |
5631 | 5631 | | |
| 5632 | + | |
| 5633 | + | |
| 5634 | + | |
| 5635 | + | |
| 5636 | + | |
| 5637 | + | |
| 5638 | + | |
| 5639 | + | |
| 5640 | + | |
| 5641 | + | |
| 5642 | + | |
| 5643 | + | |
| 5644 | + | |
| 5645 | + | |
| 5646 | + | |
| 5647 | + | |
| 5648 | + | |
| 5649 | + | |
| 5650 | + | |
| 5651 | + | |
| 5652 | + | |
| 5653 | + | |
| 5654 | + | |
5632 | 5655 | | |
5633 | 5656 | | |
5634 | 5657 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
25942 | 25942 | | |
25943 | 25943 | | |
25944 | 25944 | | |
| 25945 | + | |
| 25946 | + | |
| 25947 | + | |
| 25948 | + | |
| 25949 | + | |
| 25950 | + | |
| 25951 | + | |
| 25952 | + | |
| 25953 | + | |
| 25954 | + | |
| 25955 | + | |
| 25956 | + | |
| 25957 | + | |
| 25958 | + | |
| 25959 | + | |
| 25960 | + | |
| 25961 | + | |
| 25962 | + | |
| 25963 | + | |
| 25964 | + | |
| 25965 | + | |
| 25966 | + | |
| 25967 | + | |
25945 | 25968 | | |
25946 | 25969 | | |
25947 | 25970 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2134 | 2134 | | |
2135 | 2135 | | |
2136 | 2136 | | |
| 2137 | + | |
| 2138 | + | |
| 2139 | + | |
| 2140 | + | |
| 2141 | + | |
| 2142 | + | |
| 2143 | + | |
| 2144 | + | |
| 2145 | + | |
| 2146 | + | |
| 2147 | + | |
| 2148 | + | |
| 2149 | + | |
| 2150 | + | |
| 2151 | + | |
| 2152 | + | |
| 2153 | + | |
| 2154 | + | |
| 2155 | + | |
| 2156 | + | |
| 2157 | + | |
| 2158 | + | |
| 2159 | + | |
2137 | 2160 | | |
2138 | 2161 | | |
2139 | 2162 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2319 | 2319 | | |
2320 | 2320 | | |
2321 | 2321 | | |
| 2322 | + | |
| 2323 | + | |
| 2324 | + | |
| 2325 | + | |
| 2326 | + | |
| 2327 | + | |
| 2328 | + | |
| 2329 | + | |
| 2330 | + | |
| 2331 | + | |
| 2332 | + | |
| 2333 | + | |
| 2334 | + | |
| 2335 | + | |
| 2336 | + | |
| 2337 | + | |
| 2338 | + | |
| 2339 | + | |
| 2340 | + | |
| 2341 | + | |
| 2342 | + | |
| 2343 | + | |
| 2344 | + | |
| 2345 | + | |
| 2346 | + | |
| 2347 | + | |
| 2348 | + | |
| 2349 | + | |
| 2350 | + | |
0 commit comments