aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/backend/parser/gram.y12
1 files changed, 10 insertions, 2 deletions
diff --git a/src/backend/parser/gram.y b/src/backend/parser/gram.y
index 82d36cea023..bda5c932548 100644
--- a/src/backend/parser/gram.y
+++ b/src/backend/parser/gram.y
@@ -11,7 +11,7 @@
*
*
* IDENTIFICATION
- * $PostgreSQL: pgsql/src/backend/parser/gram.y,v 2.524 2006/01/22 20:03:16 tgl Exp $
+ * $PostgreSQL: pgsql/src/backend/parser/gram.y,v 2.525 2006/01/31 22:40:03 tgl Exp $
*
* HISTORY
* AUTHOR DATE MAJOR EVENT
@@ -3672,7 +3672,7 @@ func_return:
;
/*
- * We would like to make the second production here be ColId attrs etc,
+ * We would like to make the %TYPE productions here be ColId attrs etc,
* but that causes reduce/reduce conflicts. type_name is next best choice.
*/
func_type: Typename { $$ = $1; }
@@ -3683,6 +3683,14 @@ func_type: Typename { $$ = $1; }
$$->pct_type = true;
$$->typmod = -1;
}
+ | SETOF type_name attrs '%' TYPE_P
+ {
+ $$ = makeNode(TypeName);
+ $$->names = lcons(makeString($2), $3);
+ $$->pct_type = true;
+ $$->typmod = -1;
+ $$->setof = TRUE;
+ }
;