Re: [HACKERS] Re: issue: record or row variable cannot be part of multiple-item INTO list
От | Tom Lane |
---|---|
Тема | Re: [HACKERS] Re: issue: record or row variable cannot be part of multiple-item INTO list |
Дата | |
Msg-id | 1776.1505854747@sss.pgh.pa.us обсуждение исходный текст |
Ответ на | Re: [HACKERS] Re: issue: record or row variable cannot be part ofmultiple-item INTO list ("David G. Johnston" <david.g.johnston@gmail.com>) |
Список | pgsql-hackers |
"David G. Johnston" <david.g.johnston@gmail.com> writes: >> Aside from being inconsistent, it doesn't cover all >> the cases --- what if you have just one query output column, that is >> composite, and you'd like it to go into a composite variable? That >> doesn't work today, and this patch doesn't fix it, but it does create >> enough confusion that we never would be able to fix it. > Actually, this does work, just not the way one would immediately expect. Uh ... how did you declare ct1, exactly? I tried this before claiming it doesn't work, and it doesn't, for me: create type complex as (r float8, i float8); create or replace function mkc(a float8, b float8) returns complex language sql as 'select a,b'; select mkc(1,2); create or replace function test() returns void language plpgsql as $$ declare c complex; begin select mkc(1,2) into c; raise notice 'c = %', c; end$$; select test(); I get ERROR: invalid input syntax for type double precision: "(1,2)" CONTEXT: PL/pgSQL function test() line 4 at SQL statement That's because it's trying to assign the result of mkc() into c.r, not into the whole composite variable. regards, tom lane -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers
В списке pgsql-hackers по дате отправления: