antlr-plsql
antlr-plsql copied to clipboard
grammar uses binary_expression instead of expression often
For example, standard_function often allows an argument to be concatenation (which is now just another name for binary_expression
). E.g.
COUNT '(' ( '*' | (DISTINCT | UNIQUE | ALL)? concatenation) ')' over_clause?
However, the official postgres parser allows any expression
, rather than just concatentation
. E.g.
SELECT COUNT( a AND b) FROM x
Note, this may have more to do with differences between the oracle plsql and postgres plsql parsers. However, it seems better to be more permissive in what can be used, so putting in expression would be useful.