mirror of
https://github.com/MariaDB/server.git
synced 2025-01-31 11:01:52 +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
|
||||||
2
|
2
|
||||||
DROP TABLE t1, t2;
|
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.
|
End of 5.0 tests.
|
||||||
|
|
|
@ -387,5 +387,20 @@ SELECT * FROM t2;
|
||||||
|
|
||||||
DROP TABLE t1, 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.
|
--echo End of 5.0 tests.
|
||||||
|
|
||||||
|
|
|
@ -1561,14 +1561,18 @@ my_strntoull10rnd_8bit(CHARSET_INFO *cs __attribute__((unused)),
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
addon= (*str >= '5');
|
addon= (*str >= '5');
|
||||||
for ( ; str < end && (ch= (uchar) (*str - '0')) < 10; str++)
|
if (!dot)
|
||||||
{
|
{
|
||||||
if (!dot)
|
for ( ; str < end && (ch= (uchar) (*str - '0')) < 10; shift++, str++);
|
||||||
shift++;
|
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++);
|
for ( ; str < end && (ch= (uchar) (*str - '0')) < 10; str++);
|
||||||
}
|
}
|
||||||
goto exp;
|
goto exp;
|
||||||
|
|
Loading…
Add table
Reference in a new issue