Thread: BUG #2788: Create Function operator Broken?

BUG #2788: Create Function operator Broken?

From
"Shawn Tayler"
Date:
The following bug has been logged online:

Bug reference:      2788
Logged by:          Shawn Tayler
Email address:      stayler@washoecounty.us
PostgreSQL version: 8.1.5
Operating system:   Linux 2.6.17
Description:        Create Function operator Broken?
Details:

I have been through the online DOC's the FAQ and can find nothing wrong with
it.  So I am thinking its a bug.

CREATE FUNCTION default_status() returns null AS
'BEGIN
update status set wc to false, np to false, elk to false, sp1 to false,
sp2 to false, wc_rep to false, np_rep to false, elk_rep to false, sp1_rep to
false,
sp2_rep to false;
END;'
language 'sql';

It throughs a syntax error at the 'AS' and I can't seem to figure out why.

Sorry if this is not a real bug.

Shawn

Re: BUG #2788: Create Function operator Broken?

From
Stephan Szabo
Date:
On Mon, 27 Nov 2006, Shawn Tayler wrote:

>
> The following bug has been logged online:
>
> Bug reference:      2788
> Logged by:          Shawn Tayler
> Email address:      stayler@washoecounty.us
> PostgreSQL version: 8.1.5
> Operating system:   Linux 2.6.17
> Description:        Create Function operator Broken?
> Details:
>
> I have been through the online DOC's the FAQ and can find nothing wrong with
> it.  So I am thinking its a bug.
>
> CREATE FUNCTION default_status() returns null AS

Do you mean returns void? I believe the issue is that returns null starts
the "returns null on null input" function attribute.

> 'BEGIN
> update status set wc to false, np to false, elk to false, sp1 to false,
> sp2 to false, wc_rep to false, np_rep to false, elk_rep to false, sp1_rep to
> false,
> sp2_rep to false;
> END;'
> language 'sql';

The above body isn't valid for an sql body as well.
Sql functions won't have a begin or end, and I don't think those "to"s
will be valid either.