mirror of
https://github.com/MariaDB/server.git
synced 2025-07-30 16:24:05 +03:00
Bug#15757: Wrong SUBSTRING() result when a tmp table was employed.
When the SUBSTRING() function was used over a LONGTEXT field the max_length of the SUBSTRING() result was wrongly calculated and set to 0. As the max_length parameter is used while tmp field creation it limits the length of the result field and leads to printing an empty string instead of the correct result. Now the Item_func_substr::fix_length_and_dec() function correctly calculates the max_length parameter.
This commit is contained in:
@ -1946,4 +1946,15 @@ NULL
|
||||
SELECT UNHEX('G') IS NULL;
|
||||
UNHEX('G') IS NULL
|
||||
1
|
||||
create table t1(f1 longtext);
|
||||
insert into t1 values ("123"),("456");
|
||||
select substring(f1,1,1) from t1 group by 1;
|
||||
substring(f1,1,1)
|
||||
1
|
||||
4
|
||||
create table t2(f1 varchar(3));
|
||||
insert into t1 values ("123"),("456");
|
||||
select substring(f1,4,1), substring(f1,-4,1) from t2;
|
||||
substring(f1,4,1) substring(f1,-4,1)
|
||||
drop table t1,t2;
|
||||
End of 5.0 tests
|
||||
|
Reference in New Issue
Block a user