Commit f00e5b36 authored by unknown's avatar unknown
Browse files

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

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

parents 31ff9e9a e1c61413
Loading
Loading
Loading
Loading
+8 −0
Original line number Diff line number Diff line
@@ -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;
+10 −0
Original line number Diff line number Diff line
@@ -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
+3 −3
Original line number Diff line number Diff line
@@ -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: