Disallow SETOF in the input of parseTypeString(). Formerly it was

silently ignored, allowing one to write bizarre things like
	DECLARE x setof int;
in plpgsql.  This has misled at least one novice into thinking that
plpgsql variables could be sets ...
REL8_0_STABLE
Tom Lane 21 years ago
parent c3d6c7d8f9
commit 84dbd5a8f6
  1. 4
      src/backend/parser/parse_type.c

@ -8,7 +8,7 @@
*
*
* IDENTIFICATION
* $PostgreSQL: pgsql/src/backend/parser/parse_type.c,v 1.71 2004/08/29 05:06:44 momjian Exp $
* $PostgreSQL: pgsql/src/backend/parser/parse_type.c,v 1.72 2004/12/15 20:15:17 tgl Exp $
*
*-------------------------------------------------------------------------
*/
@ -453,6 +453,8 @@ parseTypeString(const char *str, Oid *type_id, int32 *typmod)
if (typename == NULL ||
!IsA(typename, TypeName))
goto fail;
if (typename->setof)
goto fail;
*type_id = typenameTypeId(typename);
*typmod = typename->typmod;

Loading…
Cancel
Save