mirror of
https://github.com/MariaDB/server.git
synced 2025-07-29 05:21:33 +03:00
Fixed bug #32282: TEXT silently truncates when value is exactly 65536
bytes length. The server has been modified to report warnings on truncation to 65536 bytes as usual.
This commit is contained in:
@ -807,4 +807,18 @@ set @@sql_mode='TRADITIONAL';
|
|||||||
create table t1 (a text default '');
|
create table t1 (a text default '');
|
||||||
ERROR 42000: BLOB/TEXT column 'a' can't have a default value
|
ERROR 42000: BLOB/TEXT column 'a' can't have a default value
|
||||||
set @@sql_mode='';
|
set @@sql_mode='';
|
||||||
|
CREATE TABLE t (c TEXT CHARSET ASCII);
|
||||||
|
INSERT INTO t (c) VALUES (REPEAT('1',65537));
|
||||||
|
Warnings:
|
||||||
|
Warning 1265 Data truncated for column 'c' at row 1
|
||||||
|
INSERT INTO t (c) VALUES (REPEAT('2',65536));
|
||||||
|
Warnings:
|
||||||
|
Warning 1265 Data truncated for column 'c' at row 1
|
||||||
|
INSERT INTO t (c) VALUES (REPEAT('3',65535));
|
||||||
|
SELECT LENGTH(c), CHAR_LENGTH(c) FROM t;
|
||||||
|
LENGTH(c) CHAR_LENGTH(c)
|
||||||
|
65535 65535
|
||||||
|
65535 65535
|
||||||
|
65535 65535
|
||||||
|
DROP TABLE t;
|
||||||
End of 5.0 tests
|
End of 5.0 tests
|
||||||
|
@ -436,4 +436,15 @@ set @@sql_mode='TRADITIONAL';
|
|||||||
create table t1 (a text default '');
|
create table t1 (a text default '');
|
||||||
set @@sql_mode='';
|
set @@sql_mode='';
|
||||||
|
|
||||||
|
#
|
||||||
|
# Bug #32282: TEXT silently truncates when value is exactly 65536 bytes
|
||||||
|
#
|
||||||
|
|
||||||
|
CREATE TABLE t (c TEXT CHARSET ASCII);
|
||||||
|
INSERT INTO t (c) VALUES (REPEAT('1',65537));
|
||||||
|
INSERT INTO t (c) VALUES (REPEAT('2',65536));
|
||||||
|
INSERT INTO t (c) VALUES (REPEAT('3',65535));
|
||||||
|
SELECT LENGTH(c), CHAR_LENGTH(c) FROM t;
|
||||||
|
DROP TABLE t;
|
||||||
|
|
||||||
--echo End of 5.0 tests
|
--echo End of 5.0 tests
|
||||||
|
@ -858,7 +858,7 @@ outp:
|
|||||||
with optional left padding (for binary -> UCS2 conversion)
|
with optional left padding (for binary -> UCS2 conversion)
|
||||||
|
|
||||||
SYNOPSIS
|
SYNOPSIS
|
||||||
well_formed_copy_nhars()
|
well_formed_copy_nchars()
|
||||||
to Store result here
|
to Store result here
|
||||||
to_length Maxinum length of "to" string
|
to_length Maxinum length of "to" string
|
||||||
to_cs Character set of "to" string
|
to_cs Character set of "to" string
|
||||||
@ -997,7 +997,10 @@ outp:
|
|||||||
goto outp;
|
goto outp;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
{
|
||||||
|
from= from_prev;
|
||||||
break;
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
*from_end_pos= from;
|
*from_end_pos= from;
|
||||||
res= to - to_start;
|
res= to - to_start;
|
||||||
|
Reference in New Issue
Block a user