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 по дате отправления: