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

ER_ILLEGAL_REFERENCE on 2nd execution of PS with NOT IN, aggregate function, HAVING

    Details

    • Type: Bug
    • Status: Open
    • Priority: Major
    • Resolution: Unresolved
    • Affects Version/s: 5.5.39, 10.0.14
    • Fix Version/s: 10.0, 5.5
    • Component/s: Optimizer
    • Labels:

      Description

      The problem appeared in 5.5 tree with the following revision:

      revno: 3843
      revision-id: psergey@askmonty.org-20130731132452-4qb11t56i2jw16aa
      parent: psergey@askmonty.org-20130731093701-10tmxhe668f3u1lx
      committer: Sergey Petrunya <psergey@askmonty.org>
      branch nick: 5.5
      timestamp: Wed 2013-07-31 17:24:52 +0400
      message:
        MDEV-4817: Optimizer fails to optimize expression of the form 'FOO' IS NULL
        - Modify the way Item_cond::fix_fields() and Item_cond::eval_not_null_tables() 
          calculate bitmap for Item_cond_or::not_null_tables():
          if they see a "... OR inexpensive_const_false_item OR ..." then the item can
          be ignored.
        - Updated test results. There can be more warnings produced since parts of WHERE 
          are evaluated more times.
      

      Test case:

      CREATE TABLE t1 (a INT, b INT, KEY(b));
      INSERT INTO t1 VALUES (1,2),(3,4);
      
      PREPARE stmt FROM "
        SELECT SUM( alias1.a ) AS field1, alias2.a AS field2 
        FROM t1 AS alias1 JOIN t1 AS alias2 ON ( alias2.a = alias1.a ) 
        WHERE 1 NOT IN ( SELECT b FROM t1 ) 
        GROUP BY field2 
        HAVING field1 != 1
      ";
      
      EXECUTE stmt;
      EXECUTE stmt;
      
      DEALLOCATE PREPARE stmt;
      DROP TABLE t1;
      
      MariaDB [test]> EXECUTE stmt;
      +--------+--------+
      | field1 | field2 |
      +--------+--------+
      |      3 |      3 |
      +--------+--------+
      1 row in set (0.01 sec)
      
      MariaDB [test]> EXECUTE stmt;
      ERROR 1247 (42S22): Reference 'field1' not supported (reference to group function)
      

        Gliffy Diagrams

          Attachments

            Activity

            There are no comments yet on this issue.

              People

              • Assignee:
                psergey Sergei Petrunia
                Reporter:
                elenst Elena Stepanova
              • Votes:
                0 Vote for this issue
                Watchers:
                2 Start watching this issue

                Dates

                • Created:
                  Updated: