po 15. 4. 2019 v 18:07 odesÃlatel Tom Lane <t...@sss.pgh.pa.us> napsal:
> Pavel Stehule <pavel.steh...@gmail.com> writes: > > 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; > > $$ > > You can't select fields by name out of an unspecified record. > The EXECUTE'd query is not particularly different from > > regression=# prepare foo(record) as select $1.a + $1.b; > psql: ERROR: could not identify column "a" in record data type > LINE 1: prepare foo(record) as select $1.a + $1.b; > ^ > > and surely you wouldn't expect that to work. > (The fact that either of the previous lines work is > thanks to plpgsql-specific hacking.) > yes. I looking to the code and I see so SPI_execute_with_args doesn't allow push typmods there. Regards Pavel > regards, tom lane >