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

wrong result when comparing utf8 column with an invalid literal

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Blocker
    • Resolution: Fixed
    • Affects versions: 5.5, 10.0
    • Fix versions: 5.5.43
    • Components: Character Sets
    • Labels:
      None
    • Sprint:

      Description

      The test case shows that SELECT returns a row that doesn't match the WHERE condition. This only happens when the column is not indexed, if there's an index the result is correct (no rows found).

      DROP DATABASE IF EXISTS `strict_unicode_test`;
      SET NAMES 'utf8' COLLATE 'utf8_unicode_ci';
      SET SESSION sql_mode='STRICT_ALL_TABLES';
      CREATE DATABASE `strict_unicode_test` COLLATE utf8_unicode_ci;
      USE `strict_unicode_test`;
      SHOW VARIABLES LIKE 'coll%';
      SHOW VARIABLES LIKE 'character%';
      DROP TABLE IF EXISTS `users`;
      CREATE TABLE `users` (
        `ID` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
        `login` varchar(60) COLLATE utf8_unicode_ci NOT NULL DEFAULT '',
        PRIMARY KEY (`ID`)
      ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
      INSERT INTO users (login) VALUES ('admin');
      SELECT * FROM `users` WHERE `login` = 'admin𝌆';
      SHOW WARNINGS;
      

        Attachments

          Issue links

            Activity

              People

              • Assignee:
                bar Alexander Barkov
                Reporter:
                serg Sergei Golubchik
              • Votes:
                0 Vote for this issue
                Watchers:
                5 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved:

                  Time Tracking

                  Estimated:
                  Original Estimate - Not Specified
                  Not Specified
                  Remaining:
                  Remaining Estimate - 0 minutes
                  0m
                  Logged:
                  Time Spent - 20 minutes
                  20m