• unknown's avatar
    Bug #32036: EXISTS within a WHERE clause with a UNION · 3315addf
    unknown authored
      crashes MySQL 5.122
    There was a difference in how UNIONs are handled
    on top level and when in sub-query.
    Because the rules for sub-queries were syntactically
    allowing cases that are not currently supported by
    the server we had crashes (this bug) or wrong results
    (bug 32051).
    Fixed by making the syntax rules for UNIONs match the 
    ones at top level.
    
    These rules however do not support nesting UNIONs, e.g.
    (SELECT a FROM t1 UNION ALL SELECT b FROM t2) 
     UNION
    (SELECT c FROM t3 UNION ALL SELECT d FROM t4)
    Supports for statements with nested UNIONs will be
    added in a future version.
    
    
    mysql-test/r/subselect.result:
      Bug #32036: test case
    mysql-test/t/subselect.test:
      Bug #32036: test case
    sql/sql_yacc.yy:
      Bug #32036: Make the syntax rules for UNIONs in subqueries the same
      as for top level UNIONs.
    3315addf
sql_yacc.yy 262 KB