From 96492290b5aa960d58daaf3982a1e1399ce8418c Mon Sep 17 00:00:00 2001
From: Bruce Momjian <bruce@momjian.us>
Date: Fri, 21 May 1999 15:47:13 +0000
Subject: [PATCH] Treat {} as special regex too.

---
 src/backend/parser/gram.y | 12 +++++++-----
 1 file changed, 7 insertions(+), 5 deletions(-)

diff --git a/src/backend/parser/gram.y b/src/backend/parser/gram.y
index 2cb1a4795a0..bb2a5863825 100644
--- a/src/backend/parser/gram.y
+++ b/src/backend/parser/gram.y
@@ -10,7 +10,7 @@
  *
  *
  * IDENTIFICATION
- *	  $Header: /cvsroot/pgsql/src/backend/parser/gram.y,v 2.80 1999/05/21 04:40:04 momjian Exp $
+ *	  $Header: /cvsroot/pgsql/src/backend/parser/gram.y,v 2.81 1999/05/21 15:47:13 momjian Exp $
  *
  * HISTORY
  *	  AUTHOR			DATE			MAJOR EVENT
@@ -5360,13 +5360,15 @@ static Node *makeIndexable(char *opname, Node *lexpr, Node *rexpr)
 			char *match_least = palloc(strlen(n->val.val.str)+2);
 			char *match_most = palloc(strlen(n->val.val.str)+2);
 			int pos, match_pos=0;
-			bool found_pipe = false;
+			bool found_special = false;
 
 			for (pos = 1; n->val.val.str[pos]; pos++)
 			{
-				if (n->val.val.str[pos] == '|')
+				if (n->val.val.str[pos] == '|' ||
+				if (n->val.val.str[pos] == '{' ||
+				if (n->val.val.str[pos] == '}')
 				{
-					found_pipe = true;
+					found_special = true;
 					break;
 				}
 		     	if (n->val.val.str[pos] == '\\')
@@ -5374,7 +5376,7 @@ static Node *makeIndexable(char *opname, Node *lexpr, Node *rexpr)
 			}
 
 			/* skip leading ^ */
-			if (!found_pipe)
+			if (!found_special)
 			{
 				for (pos = 1; n->val.val.str[pos]; pos++)
 				{
-- 
GitLab