diff --git a/src/backend/parser/gram.y b/src/backend/parser/gram.y
index 2cb1a4795a09ff7de43e1e160ed10471887f23dc..bb2a586382512541eef25766898856dc3dc58282 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++)
 				{