Allow parenthesized query expression for standard-compliance ------------------------------------------------------------
Key: CORE-6511 URL: http://tracker.firebirdsql.org/browse/CORE-6511 Project: Firebird Core Issue Type: Improvement Components: Engine Reporter: Mark Rotteveel Attachments: query-expr-v3.diff See also discussion with subject "Standard-compliance for query expressions" on firebird-devel (March 6th, 2021). The SQL standard allows parentheses around query expressions (without with-clause), and Firebird does not. It would be helpful if Firebird added this support. Specifically, SQL:2016 specifies the following: ``` <query expression> ::= [ <with clause> ] <query expression body> [ <order by clause> ] [ <result offset clause> ] [ <fetch first clause> ] <query expression body> ::= <query term> | <query expression body> UNION [ ALL | DISTINCT ] [ <corresponding spec> ] <query term> | <query expression body> EXCEPT [ ALL | DISTINCT ] [ <corresponding spec> ] <query term> <query term> ::= <query primary> | <query term> INTERSECT [ ALL | DISTINCT ] [ <corresponding spec> ] <query primary> <query primary> ::= <simple table> | <left paren> <query expression body> [ <order by clause> ] [ <result offset clause> ] [ <fetch first clause> ] <right paren> <simple table> ::= <query specification> | <table value constructor> | <explicit table> <query specification> ::= SELECT [ <set quantifier> ] <select list> <table expression> <table expression> ::= <from clause> [ <where clause> ] [ <group by clause> ] [ <having clause> ] [ <window clause> ] ``` If I follow the grammar in parse.y correctly, the problem is that in Firebird, <query primary> is basically <query specification>, so it's missing the following alternative: ``` <left paren> <query expression body> [ <order by clause> ] [ <result offset clause> ] [ <fetch first clause> ] <right paren> ``` Adriano wrote the attached patch. -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://tracker.firebirdsql.org/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira Firebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel