From 1e3e1ae266502eb6a15a788f74d48b7c94196f56 Mon Sep 17 00:00:00 2001 From: Tom Lane <tgl@sss.pgh.pa.us> Date: Sun, 9 Aug 2015 19:01:04 -0400 Subject: [PATCH] Remove gram.y's precedence declaration for OVERLAPS. The allowed syntax for OVERLAPS, viz "row OVERLAPS row", is sufficiently constrained that we don't actually need a precedence declaration for OVERLAPS; indeed removing this declaration does not change the generated gram.c file at all. Let's remove it to avoid confusion about whether OVERLAPS has precedence or not. If we ever generalize what we allow for OVERLAPS, we might need to put back a precedence declaration for it, but we might want some other level than what it has today --- and leaving the declaration there would just risk confusion about whether that would be an incompatible change. Likewise, remove OVERLAPS from the documentation's precedence table. Per discussion with Noah Misch. Back-patch to 9.5 where we hacked up some nearby precedence decisions. --- doc/src/sgml/syntax.sgml | 6 ------ src/backend/parser/gram.y | 1 - 2 files changed, 7 deletions(-) diff --git a/doc/src/sgml/syntax.sgml b/doc/src/sgml/syntax.sgml index c3de32873f1..8fc9edafe3e 100644 --- a/doc/src/sgml/syntax.sgml +++ b/doc/src/sgml/syntax.sgml @@ -1069,12 +1069,6 @@ SELECT (5 !) - 6; <entry>all other native and user-defined operators</entry> </row> - <row> - <entry><token>OVERLAPS</token></entry> - <entry></entry> - <entry>time interval overlap</entry> - </row> - <row> <entry><token>BETWEEN</token> <token>IN</token> <token>LIKE</token> <token>ILIKE</token> <token>SIMILAR</token></entry> <entry></entry> diff --git a/src/backend/parser/gram.y b/src/backend/parser/gram.y index 6b02cecac14..426a09dac38 100644 --- a/src/backend/parser/gram.y +++ b/src/backend/parser/gram.y @@ -673,7 +673,6 @@ static Node *makeRecursiveViewSelect(char *relname, List *aliases, Node *query); %nonassoc '<' '>' '=' LESS_EQUALS GREATER_EQUALS NOT_EQUALS %nonassoc BETWEEN IN_P LIKE ILIKE SIMILAR NOT_LA %nonassoc ESCAPE /* ESCAPE must be just above LIKE/ILIKE/SIMILAR */ -%nonassoc OVERLAPS %left POSTFIXOP /* dummy for postfix Op rules */ /* * To support target_el without AS, we must give IDENT an explicit priority -- GitLab