Uploaded image for project: 'MariaDB Server'
  1. MariaDB Server
  2. MDEV-6666

Malformed result for CONCAT(utf8_column, binary_string)

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 5.3.12, 5.5.38, 10.0.13
    • Fix Version/s: 10.0.14
    • Component/s: None
    • Labels:
      None

      Description

      This script:

      drop table if exists t1;
      create table t1 (a varchar(10) character set utf8);
      insert into t1 values ('aaa');
      select concat(a, 0xFF), charset(concat(a, 0xFF)) from t1;
      

      returns a badly formed result:

      +-----------------+--------------------------+
      | concat(a, 0xFF) | charset(concat(a, 0xFF)) |
      +-----------------+--------------------------+
      | aaa�             | utf8                     |
      +-----------------+--------------------------+
      

      Notice, character set of the result is utf8, but the returned string
      is not a valid utf8 string.

      The correct behaviour would be to return an error, as 0xFF is a bad utf8 string.

      A similar problem happens with UNION:

      drop table if exists t1;
      create table t1 (a varchar(10) character set utf8);
      insert into t1 values ('aaa');
      select a from t1 union select 0xFF;
      show warnings;
      

      returns:

      +------+
      | a    |
      +------+
      | aaa  |
      |      |
      +------+
      2 rows in set, 1 warning (0.00 sec)
      
      +---------+------+--------------------------------------------------------+
      | Level   | Code | Message                                                |
      +---------+------+--------------------------------------------------------+
      | Warning | 1366 | Incorrect string value: '\xFF' for column 'a' at row 2 |
      +---------+------+--------------------------------------------------------+
      1 row in set (0.00 sec)
      

      The correct behaviour would be to return an error.

        Gliffy Diagrams

          Attachments

            Activity

            There are no comments yet on this issue.

              People

              • Assignee:
                bar Alexander Barkov
                Reporter:
                bar Alexander Barkov
              • Votes:
                0 Vote for this issue
                Watchers:
                2 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: