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

LP:1002546 - Wrong result from a query with an empty derived table

Details

    Description

      The following test case gives us a wrong result in MariaDB 5.2/5.5

      CREATE TABLE t1 (
        pk int NOT NULL,
        col_int_nokey int NOT NULL,
        col_int_key int NOT NULL,
        col_time_key time NOT NULL,
        col_varchar_key varchar(1) NOT NULL,
        col_varchar_nokey varchar(1) NOT NULL,
        PRIMARY KEY (pk),
        KEY col_int_key (col_int_key),
        KEY col_time_key (col_time_key),
        KEY col_varchar_key (col_varchar_key,col_int_key)
      ) ENGINE=MyISAM;
       
      CREATE TABLE t2 (
        pk int NOT NULL AUTO_INCREMENT,
        col_int_nokey int NOT NULL,
        col_int_key int NOT NULL,
        col_time_key time NOT NULL,
        col_varchar_key varchar(1) NOT NULL,
        col_varchar_nokey varchar(1) NOT NULL,
        PRIMARY KEY (pk),
        KEY col_int_key (col_int_key),
        KEY col_time_key (col_time_key),
        KEY col_varchar_key (col_varchar_key,col_int_key)
      ) ENGINE=MyISAM;
       
      INSERT INTO t2 VALUES (1,4,4,'00:00:00','b','b');
       
      SET @var2:=4, @var3:=8;

      MariaDB [test]> SELECT * FROM ( SELECT @var3:=12, sq4_alias1.* FROM t1 AS sq4_alias1 WHERE (sq4_alias1.col_varchar_key + NULL) IS NULL OR       sq4_alias1.col_varchar_key = @var3 )  AS alias3;
      +-----------+----+---------------+-------------+--------------+-----------------+-------------------+
      | @var3:=12 | pk | col_int_nokey | col_int_key | col_time_key | col_varchar_key | col_varchar_nokey |
      +-----------+----+---------------+-------------+--------------+-----------------+-------------------+
      |        12 |  0 |             0 |           0 | 00:00:00     |                 |                   |
      +-----------+----+---------------+-------------+--------------+-----------------+-------------------+

      No rows are expected in the result here.

      (see also bug #13651000 from mysql-trunk)

      Attachments

        Activity

          igor Igor Babaev (Inactive) created issue -

          Launchpad bug id: 1002546

          ratzpo Rasmus Johansson (Inactive) added a comment - Launchpad bug id: 1002546
          ratzpo Rasmus Johansson (Inactive) made changes -
          Field Original Value New Value
          Labels Launchpad
          ratzpo Rasmus Johansson (Inactive) made changes -
          Fix Version/s Maria 5.2 [ 11301 ]
          Labels Launchpad Launchpad MariaDB_5.2
          ratzpo Rasmus Johansson (Inactive) made changes -
          Key IMT-6571 MDEV-746
          Project ImportTest [ 10200 ] MariaDB Development [ 10000 ]
          Workflow jira [ 20220 ] defaullt [ 21590 ]
          serg Sergei Golubchik made changes -
          Fix Version/s 5.5.29 [ 11701 ]
          Fix Version/s 5.3.10 [ 11500 ]
          Fix Version/s 5.2.13 [ 10800 ]
          serg Sergei Golubchik made changes -
          Labels Launchpad MariaDB_5.2 Launchpad
          sanja Oleksandr Byelkin made changes -
          Status Open [ 1 ] In Progress [ 3 ]
          sanja Oleksandr Byelkin made changes -
          Description The following test case gives us a wrong result in MariaDB 5.2/5.5

          CREATE TABLE t1 (
            pk int NOT NULL,
            col_int_nokey int NOT NULL,
            col_int_key int NOT NULL,
            col_time_key time NOT NULL,
            col_varchar_key varchar(1) NOT NULL,
            col_varchar_nokey varchar(1) NOT NULL,
            PRIMARY KEY (pk),
            KEY col_int_key (col_int_key),
            KEY col_time_key (col_time_key),
            KEY col_varchar_key (col_varchar_key,col_int_key)
          ) ENGINE=MyISAM;

          CREATE TABLE t2 (
            pk int NOT NULL AUTO_INCREMENT,
            col_int_nokey int NOT NULL,
            col_int_key int NOT NULL,
            col_time_key time NOT NULL,
            col_varchar_key varchar(1) NOT NULL,
            col_varchar_nokey varchar(1) NOT NULL,
            PRIMARY KEY (pk),
            KEY col_int_key (col_int_key),
            KEY col_time_key (col_time_key),
            KEY col_varchar_key (col_varchar_key,col_int_key)
          ) ENGINE=MyISAM;

          INSERT INTO t2 VALUES (1,4,4,'00:00:00','b','b');

          SET @var2:=4, @var3:=8;

          MariaDB [test]> SELECT * FROM ( SELECT @var3:=12, sq4_alias1.* FROM t1 AS sq4_alias1 WHERE (sq4_alias1.col_varchar_key + NULL) IS NULL OR sq4_alias1.col_varchar_key = @var3 ) AS alias3;
          +-----------+----+---------------+-------------+--------------+-----------------+-------------------+
          | @var3:=12 | pk | col_int_nokey | col_int_key | col_time_key | col_varchar_key | col_varchar_nokey |
          +-----------+----+---------------+-------------+--------------+-----------------+-------------------+
          | 12 | 0 | 0 | 0 | 00:00:00 | | |
          +-----------+----+---------------+-------------+--------------+-----------------+-------------------+

          No rows are expected in the result here.

          (see also bug #13651000 from mysql-trunk)
          The following test case gives us a wrong result in MariaDB 5.2/5.5
          {noformat}
          CREATE TABLE t1 (
            pk int NOT NULL,
            col_int_nokey int NOT NULL,
            col_int_key int NOT NULL,
            col_time_key time NOT NULL,
            col_varchar_key varchar(1) NOT NULL,
            col_varchar_nokey varchar(1) NOT NULL,
            PRIMARY KEY (pk),
            KEY col_int_key (col_int_key),
            KEY col_time_key (col_time_key),
            KEY col_varchar_key (col_varchar_key,col_int_key)
          ) ENGINE=MyISAM;

          CREATE TABLE t2 (
            pk int NOT NULL AUTO_INCREMENT,
            col_int_nokey int NOT NULL,
            col_int_key int NOT NULL,
            col_time_key time NOT NULL,
            col_varchar_key varchar(1) NOT NULL,
            col_varchar_nokey varchar(1) NOT NULL,
            PRIMARY KEY (pk),
            KEY col_int_key (col_int_key),
            KEY col_time_key (col_time_key),
            KEY col_varchar_key (col_varchar_key,col_int_key)
          ) ENGINE=MyISAM;

          INSERT INTO t2 VALUES (1,4,4,'00:00:00','b','b');

          SET @var2:=4, @var3:=8;
          {noformat}
          {noformat}
          MariaDB [test]> SELECT * FROM ( SELECT @var3:=12, sq4_alias1.* FROM t1 AS sq4_alias1 WHERE (sq4_alias1.col_varchar_key + NULL) IS NULL OR sq4_alias1.col_varchar_key = @var3 ) AS alias3;
          +-----------+----+---------------+-------------+--------------+-----------------+-------------------+
          | @var3:=12 | pk | col_int_nokey | col_int_key | col_time_key | col_varchar_key | col_varchar_nokey |
          +-----------+----+---------------+-------------+--------------+-----------------+-------------------+
          | 12 | 0 | 0 | 0 | 00:00:00 | | |
          +-----------+----+---------------+-------------+--------------+-----------------+-------------------+
          {noformat}
          No rows are expected in the result here.

          (see also bug #13651000 from mysql-trunk)

          It is MySQL Bug#13651009 (last digit is nine)

          sanja Oleksandr Byelkin added a comment - It is MySQL Bug#13651009 (last digit is nine)

          MySQL patch looks OK.

          sanja Oleksandr Byelkin added a comment - MySQL patch looks OK.
          sanja Oleksandr Byelkin made changes -
          Status In Progress [ 3 ] Open [ 1 ]
          sanja Oleksandr Byelkin made changes -
          Status Open [ 1 ] In Progress [ 3 ]

          Mysql patch checked and history of previous changes. Commited. pushed.

          sanja Oleksandr Byelkin added a comment - Mysql patch checked and history of previous changes. Commited. pushed.
          sanja Oleksandr Byelkin made changes -
          Status In Progress [ 3 ] Open [ 1 ]

          checked by buildbot

          sanja Oleksandr Byelkin added a comment - checked by buildbot
          sanja Oleksandr Byelkin made changes -
          Resolution Fixed [ 1 ]
          Status Open [ 1 ] Closed [ 6 ]
          serg Sergei Golubchik made changes -
          Workflow defaullt [ 21590 ] MariaDB v2 [ 45755 ]
          ratzpo Rasmus Johansson (Inactive) made changes -
          Workflow MariaDB v2 [ 45755 ] MariaDB v3 [ 62955 ]
          serg Sergei Golubchik made changes -
          Workflow MariaDB v3 [ 62955 ] MariaDB v4 [ 145037 ]

          People

            sanja Oleksandr Byelkin
            igor Igor Babaev (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Git Integration

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