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