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

main.type_bit fails with a wrong result with cursor-protocol, no UNIQUE_KEY flag for DISTINCT

    XMLWordPrintable

Details

    • Bug
    • Status: In Testing (View Workflow)
    • Critical
    • Resolution: Unresolved
    • N/A
    • 13.1
    • Tests, MTR
    • None

    Description

      While it is probably a test-only problem, it must be fixed before the release because the test in this configuration runs and fails in the buildbot.
      https://buildbot.mariadb.org/#/builders/639/builds/23223

      bb-blob-monty 4d3e5d05080a4663ec33dea982ce4022c12a86ed

      $ perl ./mtr main.type_bit --mem --cursor-protocol
      ...
      main.type_bit                            [ fail ]
              Test ended at 2026-05-21 17:44:00
       
      CURRENT_TEST: main.type_bit
      --- /share8t/bld/testing/bb-blob-monty-debug/mysql-test/main/type_bit.result    2026-05-20 16:55:18.743542079 +0300
      +++ /share8t/bld/testing/bb-blob-monty-debug/mysql-test/main/type_bit.reject    2026-05-21 17:44:00.844978771 +0300
      @@ -648,13 +648,13 @@
       INSERT INTO t1 (b) VALUES (1), (0);
       SELECT DISTINCT b FROM t1;
       Catalog        Database        Table   Table_alias     Column  Column_alias    Type    Length  Max length      Is_null Flags   Decimals        Charsetnr
      -def    test    t1      t1      b       b       16      1       1       Y       36      0       63
      +def    test    t1      t1      b       b       16      1       1       Y       32      0       63
       b
       #
       #
       SELECT b FROM t1 GROUP BY b;
       Catalog        Database        Table   Table_alias     Column  Column_alias    Type    Length  Max length      Is_null Flags   Decimals        Charsetnr
      -def    test    t1      t1      b       b       16      1       1       Y       36      0       63
      +def    test    t1      t1      b       b       16      1       1       Y       32      0       63
       b
       #
       #
       
      Result content mismatch
      

      Due to MDEV-38975 the query in the case below (which represents the fragment of the type_bit test) acquired the extra flag UNIQUE_KEY:

      MariaDB [test]> CREATE TABLE t1 (b BIT);
      Query OK, 0 rows affected (0.031 sec)
       
      MariaDB [test]> INSERT INTO t1 (b) VALUES (1), (0);
      Query OK, 2 rows affected (0.013 sec)
      Records: 2  Duplicates: 0  Warnings: 0
       
      MariaDB [test]> SELECT DISTINCT b FROM t1;
      Field   1:  `b`
      Org_field:  `b`
      Catalog:    `def`
      Database:   `test`
      Table:      `t1`
      Org_table:  `t1`
      Type:       BIT
      Collation:  binary (63)
      Length:     1
      Max_length: 1
      Decimals:   0
      Flags:      UNIQUE_KEY UNSIGNED 
       
      +------+
      | b    |
      +------+
      |     |
      |      |
      +------+
      2 rows in set (0.001 sec)
      

      This change was reflected in main/type_bit.result.

      However, apparently the flag doesn't appear when the same query is executed via cursor protocol, so the test case now fails with a result mismatch.

      Probably the easiest way to avoid it is to disable cursor protocol for this part of the test, but first it should be confirmed that the behavior is expected.

      Attachments

        Issue Links

          Activity

            People

              elenst Elena Stepanova
              elenst Elena Stepanova
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:

                Git Integration

                  Error rendering 'com.xiplink.jira.git.jira_git_plugin:git-issue-webpanel'. Please contact your Jira administrators.