plpgsql - execute - cannot use a reference to record field

From: Pavel Stehule <pavel(dot)stehule(at)gmail(dot)com>
To: PostgreSQL Hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: plpgsql - execute - cannot use a reference to record field
Date: 2019-04-15 04:38:32
Message-ID: CAFj8pRA=ThwGSUDaNcA-Jky9JUz7uz-M=pxu7x9RXj4mc4_xpw@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Hi

Is there reason why following code should not to work?

do $$
declare r record; result int;
begin
select 10 as a, 20 as b into r;
raise notice 'a: %', r.a;
execute 'select $1.a + $1.b' into result using r;
raise notice '%', result;
end;
$$

but it fails

NOTICE: a: 10
ERROR: could not identify column "a" in record data type
LINE 1: select $1.a + $1.b
^
QUERY: select $1.a + $1.b
CONTEXT: PL/pgSQL function inline_code_block line 6 at EXECUTE

Regards

Pavel

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Ramanarayana 2019-04-15 05:06:19 Mailing list not working
Previous Message David Rowley 2019-04-15 04:32:53 Re: Issue in ExecCleanupTupleRouting()