Loading mysql-test/r/ctype_utf8.result +8 −0 Original line number Diff line number Diff line Loading @@ -1070,3 +1070,11 @@ char(a) 1 2 drop table t1; CREATE TABLE t1 (t TINYTEXT CHARACTER SET utf8); INSERT INTO t1 VALUES(REPEAT('a', 100)); CREATE TEMPORARY TABLE t2 SELECT COALESCE(t) AS bug FROM t1; SELECT LENGTH(bug) FROM t2; LENGTH(bug) 100 DROP TABLE t2; DROP TABLE t1; mysql-test/t/ctype_utf8.test +10 −0 Original line number Diff line number Diff line Loading @@ -882,4 +882,14 @@ set names utf8; select distinct char(a) from t1; drop table t1; # # Bug#15581: COALESCE function truncates mutli-byte TINYTEXT values # CREATE TABLE t1 (t TINYTEXT CHARACTER SET utf8); INSERT INTO t1 VALUES(REPEAT('a', 100)); CREATE TEMPORARY TABLE t2 SELECT COALESCE(t) AS bug FROM t1; SELECT LENGTH(bug) FROM t2; DROP TABLE t2; DROP TABLE t1; # End of 4.1 tests sql/field.cc +3 −3 Original line number Diff line number Diff line Loading @@ -6949,11 +6949,11 @@ uint32 Field_blob::max_length() switch (packlength) { case 1: return 255; return 255 * field_charset->mbmaxlen; case 2: return 65535; return 65535 * field_charset->mbmaxlen; case 3: return 16777215; return 16777215 * field_charset->mbmaxlen; case 4: return (uint32) 4294967295U; default: Loading Loading
mysql-test/r/ctype_utf8.result +8 −0 Original line number Diff line number Diff line Loading @@ -1070,3 +1070,11 @@ char(a) 1 2 drop table t1; CREATE TABLE t1 (t TINYTEXT CHARACTER SET utf8); INSERT INTO t1 VALUES(REPEAT('a', 100)); CREATE TEMPORARY TABLE t2 SELECT COALESCE(t) AS bug FROM t1; SELECT LENGTH(bug) FROM t2; LENGTH(bug) 100 DROP TABLE t2; DROP TABLE t1;
mysql-test/t/ctype_utf8.test +10 −0 Original line number Diff line number Diff line Loading @@ -882,4 +882,14 @@ set names utf8; select distinct char(a) from t1; drop table t1; # # Bug#15581: COALESCE function truncates mutli-byte TINYTEXT values # CREATE TABLE t1 (t TINYTEXT CHARACTER SET utf8); INSERT INTO t1 VALUES(REPEAT('a', 100)); CREATE TEMPORARY TABLE t2 SELECT COALESCE(t) AS bug FROM t1; SELECT LENGTH(bug) FROM t2; DROP TABLE t2; DROP TABLE t1; # End of 4.1 tests
sql/field.cc +3 −3 Original line number Diff line number Diff line Loading @@ -6949,11 +6949,11 @@ uint32 Field_blob::max_length() switch (packlength) { case 1: return 255; return 255 * field_charset->mbmaxlen; case 2: return 65535; return 65535 * field_charset->mbmaxlen; case 3: return 16777215; return 16777215 * field_charset->mbmaxlen; case 4: return (uint32) 4294967295U; default: Loading