Re: BUG #6336: SQL stored procedure returing 'int' calling into SRF does not raise error ... - Mailing list pgsql-bugs

From Kevin Grittner
Subject Re: BUG #6336: SQL stored procedure returing 'int' calling into SRF does not raise error ...
Date
Msg-id 4EE8FD630200002500043CCD@gw.wicourts.gov
Whole thread Raw
List pgsql-bugs
wrote:

> calling into generate_series() within a 'returns int' (singular)
> SQL stored function doesn't raise error (plpgsql does):
>
> -- SQL function elides over fact that generate_series() is a SRF
> create function foo_sql()
> returns int as
> $$
> select * from generate_series(1,5)
> $$ language sql stable;
>
> select foo_sql();
>
> /*
>
> whoa --- returns, and just one int.
> foo
> -----
> 1
> */

This is functioning as designed and documented.  The first two
sentences of the documentation of SQL functions are:

| SQL functions execute an arbitrary list of SQL statements,
| returning the result of the last query in the list. In the simple
| (non-set) case, the first row of the last query's result will be
| returned.

http://www.postgresql.org/docs/9.1/interactive/xfunc-sql.html

-Kevin

pgsql-bugs by date:

Previous
From: Maxim Boguk
Date:
Subject: Re: BUG #6335: Weird planner decision with exists (a join b) condition
Next
From: Tom Lane
Date:
Subject: Re: BUG #6335: Weird planner decision with exists (a join b) condition