Re: BUG #3116: attribute has wrong type

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Re: BUG #3116: attribute has wrong type
Дата
Msg-id 6899.1173205992@sss.pgh.pa.us
обсуждение исходный текст
Ответ на Re: BUG #3116: attribute has wrong type  (Tom Lane <tgl@sss.pgh.pa.us>)
Список pgsql-bugs
I wrote:
> "Greg Sabino Mullane" <greg@turnstep.com> writes:
>> CREATE OR REPLACE FUNCTION gregtest(int) RETURNS varchar
>> LANGUAGE sql AS $$ SELECT 'abc'::text; $$;

> Hm, I'd argue that that should be rejected.  SQL functions currently
> demand exact match between the declared return type and their final
> SELECT command ... wonder why this case is getting past?

Nah, I stand corrected:

        /*
         * For base-type returns, the target list should have exactly one
         * entry, and its type should agree with what the user declared. (As
         * of Postgres 7.2, we accept binary-compatible types too.)
         */

On reflection I think the problem is that inline_function() is inserting
the function's expression and not adding a RelabelType node to make sure
that the rebuilt expression still returns exactly the type the function
claims to return.  Will fix.

            regards, tom lane

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

Предыдущее
От: Tom Lane
Дата:
Сообщение: Re: BUG #3116: attribute has wrong type
Следующее
От: Tom Lane
Дата:
Сообщение: Re: BUG #3110: Online Backup introduces Duplicate OIDs