On 2023-11-28 Tu 10:27, Tom Lane wrote:
Andrew Dunstan <and...@dunslane.net> writes:
Looks good. Perhaps the comments above the UNBOUNDED precedence setting
(esp. the first paragraph) need strengthening, with a stern injunction
to avoid different precedence for non-reserved keywords if at all possible.
OK.  How about rewriting that first para like this?

  * Sometimes it is necessary to assign precedence to keywords that are not
  * really part of the operator hierarchy, in order to resolve grammar
  * ambiguities.  It's best to avoid doing so whenever possible, because such
  * assignments have global effect and may hide ambiguities besides the one
  * you intended to solve.  (Attaching a precedence to a single rule with
  * %prec is far safer and should be preferred.)  If you must give precedence
  * to a new keyword, try very hard to give it the same precedence as IDENT.
  * If the keyword has IDENT's precedence then it clearly acts the same as
  * non-keywords and other similar keywords, thus reducing the risk of
  * unexpected precedence effects.
  *
  * We used to need to assign IDENT an explicit precedence just less than Op,
  * to support target_el without AS.  While that's not really necessary since
  * we removed postfix operators, we continue to do so because it provides a
  * reference point for a precedence level that we can assign to other
  * keywords that lack a natural precedence level.

                        


LGTM. Thanks.


cheers


andrew

--
Andrew Dunstan
EDB: https://www.enterprisedb.com



Reply via email to