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

Unexpected Results by optimize_join_buffer_size

Details

    • Bug
    • Status: Open (View Workflow)
    • Major
    • Resolution: Unresolved
    • 11.1.2
    • 11.1(EOL)
    • Optimizer
    • None
    • docker run -it -p 3307:3306 -e MARIADB_ROOT_PASSWORD=root mariadb:latest

    Description

      The same query returns different results under different configurations of optimize_join_buffer_size.

      CREATE TABLE t0(c0 CHAR(100));
      CREATE TABLE t1(c0 CHAR(100));
       
      INSERT INTO t1 VALUES ('\r');
      INSERT INTO t0 VALUES ('');
      INSERT INTO t1 VALUES ('');
      SET SESSION join_buffer_size = 6503032224856747123;
      INSERT INTO t0 VALUES ('a');
       
      SELECT t0.c0 FROM t0 INNER JOIN t1 ON (t1.c0 REGEXP t1.c0); -- {}, {'a'}
      SET STATEMENT optimizer_switch = 'optimize_join_buffer_size=off' FOR SELECT t0.c0 FROM t0 INNER JOIN t1 ON (t1.c0 REGEXP t1.c0); -- {}, {'a'}, {'a'}
      

      Attachments

        Activity

          bajinsheng Jinsheng Ba created issue -
          serg Sergei Golubchik made changes -
          Field Original Value New Value
          Description The same query returns different results under different configurations of optimize_join_buffer_size.

          CREATE TABLE t0(c0 CHAR(100));
          CREATE TABLE t1(c0 CHAR(100));

          INSERT INTO t1 VALUES ('\r');
          INSERT INTO t0 VALUES ('');
          INSERT INTO t1 VALUES ('');
          SET SESSION join_buffer_size = 6503032224856747123;
          INSERT INTO t0 VALUES ('a');

          SET SESSION optimizer_switch = 'optimize_join_buffer_size=on';
          SELECT t0.c0 FROM t0 INNER JOIN t1 ON (t1.c0 REGEXP t1.c0); -- {}, {'a'}
          SET SESSION optimizer_switch = 'optimize_join_buffer_size=off';
          SELECT t0.c0 FROM t0 INNER JOIN t1 ON (t1.c0 REGEXP t1.c0); -- {}, {'a'}, {'a'}
          The same query returns different results under different configurations of optimize_join_buffer_size.
          {code:sql|
          CREATE TABLE t0(c0 CHAR(100));
          CREATE TABLE t1(c0 CHAR(100));

          INSERT INTO t1 VALUES ('\r');
          INSERT INTO t0 VALUES ('');
          INSERT INTO t1 VALUES ('');
          SET SESSION join_buffer_size = 6503032224856747123;
          INSERT INTO t0 VALUES ('a');

          SET SESSION optimizer_switch = 'optimize_join_buffer_size=on';
          SELECT t0.c0 FROM t0 INNER JOIN t1 ON (t1.c0 REGEXP t1.c0); -- {}, {'a'}
          SET SESSION optimizer_switch = 'optimize_join_buffer_size=off';
          SELECT t0.c0 FROM t0 INNER JOIN t1 ON (t1.c0 REGEXP t1.c0); -- {}, {'a'}, {'a'}
          {code}
          serg Sergei Golubchik made changes -
          Description The same query returns different results under different configurations of optimize_join_buffer_size.
          {code:sql|
          CREATE TABLE t0(c0 CHAR(100));
          CREATE TABLE t1(c0 CHAR(100));

          INSERT INTO t1 VALUES ('\r');
          INSERT INTO t0 VALUES ('');
          INSERT INTO t1 VALUES ('');
          SET SESSION join_buffer_size = 6503032224856747123;
          INSERT INTO t0 VALUES ('a');

          SET SESSION optimizer_switch = 'optimize_join_buffer_size=on';
          SELECT t0.c0 FROM t0 INNER JOIN t1 ON (t1.c0 REGEXP t1.c0); -- {}, {'a'}
          SET SESSION optimizer_switch = 'optimize_join_buffer_size=off';
          SELECT t0.c0 FROM t0 INNER JOIN t1 ON (t1.c0 REGEXP t1.c0); -- {}, {'a'}, {'a'}
          {code}
          The same query returns different results under different configurations of optimize_join_buffer_size.
          {code:sql}
          CREATE TABLE t0(c0 CHAR(100));
          CREATE TABLE t1(c0 CHAR(100));

          INSERT INTO t1 VALUES ('\r');
          INSERT INTO t0 VALUES ('');
          INSERT INTO t1 VALUES ('');
          SET SESSION join_buffer_size = 6503032224856747123;
          INSERT INTO t0 VALUES ('a');

          SET SESSION optimizer_switch = 'optimize_join_buffer_size=on';
          SELECT t0.c0 FROM t0 INNER JOIN t1 ON (t1.c0 REGEXP t1.c0); -- {}, {'a'}
          SET SESSION optimizer_switch = 'optimize_join_buffer_size=off';
          SELECT t0.c0 FROM t0 INNER JOIN t1 ON (t1.c0 REGEXP t1.c0); -- {}, {'a'}, {'a'}
          {code}
          serg Sergei Golubchik made changes -
          Fix Version/s 11.1 [ 28549 ]
          serg Sergei Golubchik made changes -
          Assignee Sergei Petrunia [ psergey ]
          bajinsheng Jinsheng Ba made changes -
          Description The same query returns different results under different configurations of optimize_join_buffer_size.
          {code:sql}
          CREATE TABLE t0(c0 CHAR(100));
          CREATE TABLE t1(c0 CHAR(100));

          INSERT INTO t1 VALUES ('\r');
          INSERT INTO t0 VALUES ('');
          INSERT INTO t1 VALUES ('');
          SET SESSION join_buffer_size = 6503032224856747123;
          INSERT INTO t0 VALUES ('a');

          SET SESSION optimizer_switch = 'optimize_join_buffer_size=on';
          SELECT t0.c0 FROM t0 INNER JOIN t1 ON (t1.c0 REGEXP t1.c0); -- {}, {'a'}
          SET SESSION optimizer_switch = 'optimize_join_buffer_size=off';
          SELECT t0.c0 FROM t0 INNER JOIN t1 ON (t1.c0 REGEXP t1.c0); -- {}, {'a'}, {'a'}
          {code}
          The same query returns different results under different configurations of optimize_join_buffer_size.
          {code:sql}
          CREATE TABLE t0(c0 CHAR(100));
          CREATE TABLE t1(c0 CHAR(100));

          INSERT INTO t1 VALUES ('\r');
          INSERT INTO t0 VALUES ('');
          INSERT INTO t1 VALUES ('');
          SET SESSION join_buffer_size = 6503032224856747123;
          INSERT INTO t0 VALUES ('a');

          SELECT t0.c0 FROM t0 INNER JOIN t1 ON (t1.c0 REGEXP t1.c0); -- {}, {'a'}
          SET STATEMENT optimizer_switch = 'optimize_join_buffer_size=off' FOR SELECT t0.c0 FROM t0 INNER JOIN t1 ON (t1.c0 REGEXP t1.c0); -- {}, {'a'}, {'a'}
          {code}
          bajinsheng Jinsheng Ba added a comment -

          May I check whether there is any update about this report? Thanks!

          bajinsheng Jinsheng Ba added a comment - May I check whether there is any update about this report? Thanks!

          No updates yet, sorry

          serg Sergei Golubchik added a comment - No updates yet, sorry

          People

            psergei Sergei Petrunia
            bajinsheng Jinsheng Ba
            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.