Allow %TYPE to be used with SETOF, per gripe from Murat Tasan.

This commit is contained in:
Tom Lane 2006-01-31 22:40:03 +00:00
parent 8a1468af4e
commit 6851baeda1

View File

@ -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;
}
;