Hello
I found some strange code. Is code in "ELSE" part dead, or its bug?
if (stmt->returnType)
{
/* explicit RETURNS clause */
compute_return_type(stmt->returnType, languageOid,
&prorettype,
&returnsSet);
if (OidIsValid(requiredResultType) && prorettype !=
requiredResultType)
ereport(ERROR,
(errcode(ERRCODE_INVALID_FUNCTION_DEFINITION),
errmsg("function result type must be
%s because of OUT parameters",
format_type_be(requiredResultType))));
}
else if (OidIsValid(requiredResultType))
{
/* default RETURNS clause from OUT parameters */
prorettype = requiredResultType;
returnsSet = false;
}
else
{
ereport(ERROR,
(errcode(ERRCODE_INVALID_FUNCTION_DEFINITION),
errmsg("function result type must be
specified")));
/* Alternative possibility: default to RETURNS VOID */
/* WHY FOLOWING LINES? */
prorettype = VOIDOID;
returnsSet = false;
}
Regards
Pavel
--
Sent via pgsql-hackers mailing list ([email protected])
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers