Commit f00e5b36 authored by unknown's avatar unknown

Merge abarkov@bk-internal.mysql.com:/home/bk/mysql-4.1

into  mysql.com:/usr/home/bar/mysql-4.1.b15581

parents 31ff9e9a e1c61413
...@@ -1070,3 +1070,11 @@ char(a) ...@@ -1070,3 +1070,11 @@ char(a)
1 1
2 2
drop table t1; 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;
...@@ -882,4 +882,14 @@ set names utf8; ...@@ -882,4 +882,14 @@ set names utf8;
select distinct char(a) from t1; select distinct char(a) from t1;
drop table 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 # End of 4.1 tests
...@@ -6949,11 +6949,11 @@ uint32 Field_blob::max_length() ...@@ -6949,11 +6949,11 @@ uint32 Field_blob::max_length()
switch (packlength) switch (packlength)
{ {
case 1: case 1:
return 255; return 255 * field_charset->mbmaxlen;
case 2: case 2:
return 65535; return 65535 * field_charset->mbmaxlen;
case 3: case 3:
return 16777215; return 16777215 * field_charset->mbmaxlen;
case 4: case 4:
return (uint32) 4294967295U; return (uint32) 4294967295U;
default: default:
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment