Обсуждение: Re: BUG #6336: SQL stored procedure returing 'int' calling into SRF does not raise error ...

Поиск
Список
Период
Сортировка

Re: BUG #6336: SQL stored procedure returing 'int' calling into SRF does not raise error ...

От
"Kevin Grittner"
Дата:
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