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

LP:879864 - Wrong result with aggregate + two-column subselect

    XMLWordPrintable

Details

    • Bug
    • Status: Closed (View Workflow)
    • Major
    • Resolution: Fixed
    • None
    • None
    • None

    Description

      This query:

      SELECT MAX( f1 ) FROM t1 WHERE ( 5 , 9 ) IN ( SELECT 3 , 5 );

      returns no rows even though it should return NULL (the where clause is false).

      Repeatable in maria-5.3,maria-5.2,mysql-5.5

      explain:

      1 PRIMARY NULL NULL NULL NULL NULL NULL NULL NULL Select tables optimized away
      2 DEPENDENT SUBQUERY NULL NULL NULL NULL NULL NULL NULL NULL No tables used

      explain extended:

      select max(`test`.`t1`.`f1`) AS `MAX( f1 )` from `test`.`t1` where <in_optimizer>((5,9),<exists>(select 3,5 having (((5 = 3) or isnull(3)) and ((9 = 5) or isnull(5)) and <is_not_null_test>(3) and <is_not_null_test>(5))))

      test case:

      CREATE TABLE t1 (f1 integer, key(f1)) engine=myisam;
      insert into t1 values (1),(2);
      SELECT MAX( f1 ) FROM t1 WHERE ( 5 , 9 ) IN ( SELECT 3 , 5 );

      Attachments

        Activity

          People

            igor Igor Babaev
            philipstoev Philip Stoev (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            0 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.