mirror of
https://github.com/MariaDB/server.git
synced 2025-01-18 21:12:26 +01:00
Merge polly.(none):/home/kaa/src/maint/bug30453/my50-bug28878
into polly.(none):/home/kaa/src/maint/bug30453/my51-bug28878
This commit is contained in:
commit
5fe9f0f7dd
3 changed files with 38 additions and 5 deletions
|
@ -499,4 +499,18 @@ i
|
|||
2
|
||||
2
|
||||
DROP TABLE t1, t2;
|
||||
CREATE TABLE t1 (c1 INT NOT NULL);
|
||||
INSERT INTO t1 VALUES(4188.32999999999992724042385816574096679687500),
|
||||
('4188.32999999999992724042385816574096679687500'), (4188);
|
||||
SELECT * FROM t1;
|
||||
c1
|
||||
4188
|
||||
4188
|
||||
4188
|
||||
CREATE TABLE t2 (c1 BIGINT);
|
||||
INSERT INTO t2 VALUES('15449237462.0000000000');
|
||||
SELECT * FROM t2;
|
||||
c1
|
||||
15449237462
|
||||
DROP TABLE t1, t2;
|
||||
End of 5.0 tests.
|
||||
|
|
|
@ -387,5 +387,20 @@ SELECT * FROM t2;
|
|||
|
||||
DROP TABLE t1, t2;
|
||||
|
||||
#
|
||||
# Bug #30453: String not cast to int correctly
|
||||
#
|
||||
|
||||
CREATE TABLE t1 (c1 INT NOT NULL);
|
||||
INSERT INTO t1 VALUES(4188.32999999999992724042385816574096679687500),
|
||||
('4188.32999999999992724042385816574096679687500'), (4188);
|
||||
SELECT * FROM t1;
|
||||
|
||||
CREATE TABLE t2 (c1 BIGINT);
|
||||
INSERT INTO t2 VALUES('15449237462.0000000000');
|
||||
SELECT * FROM t2;
|
||||
|
||||
DROP TABLE t1, t2;
|
||||
|
||||
--echo End of 5.0 tests.
|
||||
|
||||
|
|
|
@ -1561,14 +1561,18 @@ my_strntoull10rnd_8bit(CHARSET_INFO *cs __attribute__((unused)),
|
|||
}
|
||||
else
|
||||
addon= (*str >= '5');
|
||||
for ( ; str < end && (ch= (uchar) (*str - '0')) < 10; str++)
|
||||
if (!dot)
|
||||
{
|
||||
if (!dot)
|
||||
shift++;
|
||||
for ( ; str < end && (ch= (uchar) (*str - '0')) < 10; shift++, str++);
|
||||
if (str < end && *str == '.')
|
||||
{
|
||||
str++;
|
||||
for ( ; str < end && (ch= (uchar) (*str - '0')) < 10; str++);
|
||||
}
|
||||
}
|
||||
if (str < end && *str == '.' && !dot)
|
||||
else
|
||||
{
|
||||
str++;
|
||||
shift= dot - str;
|
||||
for ( ; str < end && (ch= (uchar) (*str - '0')) < 10; str++);
|
||||
}
|
||||
goto exp;
|
||||
|
|
Loading…
Reference in a new issue