mirror of
https://github.com/MariaDB/server.git
synced 2025-01-17 20:42:30 +01:00
Bug #58137 char(0) column cause: my_gcvt: Assertion `width > 0 && to != ((void *)0)' failed
This commit is contained in:
parent
46dd9e8658
commit
0654c94ca2
3 changed files with 23 additions and 3 deletions
|
@ -607,3 +607,12 @@ SELECT floor(log10(format(concat_ws(5445796E25, 5306463, 30837), -358821)))
|
|||
as foo;
|
||||
foo
|
||||
2
|
||||
#
|
||||
# Bug #58137 char(0) column cause:
|
||||
# my_gcvt: Assertion `width > 0 && to != ((void *)0)' failed
|
||||
#
|
||||
CREATE TABLE t1(a char(0));
|
||||
INSERT INTO t1 (SELECT -pi());
|
||||
Warnings:
|
||||
Warning 1265 Data truncated for column 'a' at row 1
|
||||
DROP TABLE t1;
|
||||
|
|
|
@ -464,3 +464,11 @@ SELECT -9223372036854775808 MOD -1;
|
|||
--echo #
|
||||
SELECT floor(log10(format(concat_ws(5445796E25, 5306463, 30837), -358821)))
|
||||
as foo;
|
||||
|
||||
--echo #
|
||||
--echo # Bug #58137 char(0) column cause:
|
||||
--echo # my_gcvt: Assertion `width > 0 && to != ((void *)0)' failed
|
||||
--echo #
|
||||
CREATE TABLE t1(a char(0));
|
||||
INSERT INTO t1 (SELECT -pi());
|
||||
DROP TABLE t1;
|
||||
|
|
|
@ -6327,10 +6327,13 @@ int Field_str::store(double nr)
|
|||
ASSERT_COLUMN_MARKED_FOR_WRITE;
|
||||
char buff[DOUBLE_TO_STRING_CONVERSION_BUFFER_SIZE];
|
||||
uint local_char_length= field_length / charset()->mbmaxlen;
|
||||
size_t length;
|
||||
my_bool error;
|
||||
size_t length= 0;
|
||||
my_bool error= (local_char_length == 0);
|
||||
|
||||
// my_gcvt() requires width > 0, and we may have a CHAR(0) column.
|
||||
if (!error)
|
||||
length= my_gcvt(nr, MY_GCVT_ARG_DOUBLE, local_char_length, buff, &error);
|
||||
|
||||
length= my_gcvt(nr, MY_GCVT_ARG_DOUBLE, local_char_length, buff, &error);
|
||||
if (error)
|
||||
{
|
||||
if (table->in_use->abort_on_warning)
|
||||
|
|
Loading…
Reference in a new issue