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