Re: Function works in 8.4 but not in 9.0 beta2 "ERROR: structure of query does not match function result type"

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Re: Function works in 8.4 but not in 9.0 beta2 "ERROR: structure of query does not match function result type"
Дата
Msg-id 19198.1277825565@sss.pgh.pa.us
обсуждение исходный текст
Ответ на Function works in 8.4 but not in 9.0 beta2 "ERROR: structure of query does not match function result type"  (Marcel Asio <marcel.asio@redbet.com>)
Ответы Re: Function works in 8.4 but not in 9.0 beta2 "ERROR: structure of query does not match function result type"
Список pgsql-bugs
Marcel Asio <marcel.asio@redbet.com> writes:
> I've started testing our applications against PostgreSQL 9.0 beta2 and found
> that this function now does not work anymore(rewritten to be as small and
> anonymous as possible)
> CREATE TYPE test_type AS(
>     product text,
>     amount numeric(30,4)
> );
> CREATE FUNCTION test_func() RETURNS SETOF test_type AS $$
> BEGIN
>     RETURN QUERY SELECT 'test'::text, 30.2::numeric;
> END;
> $$ LANGUAGE plpgsql STABLE;

You need to actually coerce the 30.2 to numeric(30,4), not just numeric.
The former behavior wasn't self-consistent.

            regards, tom lane

В списке pgsql-bugs по дате отправления:

Предыдущее
От: "Kevin Grittner"
Дата:
Сообщение: Re: JDBC: 2 bugs: Getting a smallint array actually gets an integer array and return type of a boolean array is bit.
Следующее
От: Marcel Asio
Дата:
Сообщение: Re: Function works in 8.4 but not in 9.0 beta2 "ERROR: structure of query does not match function result type"