bugfix: substr expr get wrong result length
This commit is contained in:
@ -173,3 +173,37 @@ select substr(3.14159, 2.1, 2.1) from dual;
|
||||
+---------------------------+
|
||||
| .1 |
|
||||
+---------------------------+
|
||||
select substr(1, 1, 9223372036854775807);
|
||||
+-----------------------------------+
|
||||
| substr(1, 1, 9223372036854775807) |
|
||||
+-----------------------------------+
|
||||
| 1 |
|
||||
+-----------------------------------+
|
||||
select substr(123, 2, 9223372036854775806);
|
||||
+-------------------------------------+
|
||||
| substr(123, 2, 9223372036854775806) |
|
||||
+-------------------------------------+
|
||||
| 23 |
|
||||
+-------------------------------------+
|
||||
drop view if exists v1;
|
||||
create view v1 as select substr(123, 2, 9223372036854775807);
|
||||
desc v1;
|
||||
+-------------------------------------+------------+------+-----+---------+-------+
|
||||
| Field | Type | Null | Key | Default | Extra |
|
||||
+-------------------------------------+------------+------+-----+---------+-------+
|
||||
| substr(123, 2, 9223372036854775807) | varchar(2) | NO | | | |
|
||||
+-------------------------------------+------------+------+-----+---------+-------+
|
||||
select * from v1;
|
||||
+-------------------------------------+
|
||||
| substr(123, 2, 9223372036854775807) |
|
||||
+-------------------------------------+
|
||||
| 23 |
|
||||
+-------------------------------------+
|
||||
drop view v1;
|
||||
SELECT NULL ORDER BY SUBSTR ( 9223372036854775807 FROM @@ob_query_timeout FOR 9223372036854775807 );
|
||||
+------+
|
||||
| NULL |
|
||||
+------+
|
||||
| NULL |
|
||||
+------+
|
||||
|
||||
|
||||
@ -47,5 +47,17 @@ select substr(3.14159, 2.9, 2.9) from dual;
|
||||
select substr(3.14159, 2.1, 2.1) from dual;
|
||||
--enable_warnings
|
||||
|
||||
# bug:
|
||||
select substr(1, 1, 9223372036854775807);
|
||||
select substr(123, 2, 9223372036854775806);
|
||||
--disable_warnings
|
||||
drop view if exists v1;
|
||||
--enable_warnings
|
||||
create view v1 as select substr(123, 2, 9223372036854775807);
|
||||
desc v1;
|
||||
select * from v1;
|
||||
drop view v1;
|
||||
SELECT NULL ORDER BY SUBSTR ( 9223372036854775807 FROM @@ob_query_timeout FOR 9223372036854775807 );
|
||||
|
||||
connection syscon;
|
||||
--sleep 2
|
||||
|
||||
Reference in New Issue
Block a user