Hi,
I have a query that throws error "Variable not found in subplan target
lists".
This should allow it to be reproduce.
create temporary table table1 (
col1 integer not null,
col2 integer not null
);
create temporary table table2 ();
create or replace function udftable1row(integer, integer) returns table1 AS
$$
select $1, $2;
$$ language sql immutable;
create or replace function udf(table1) returns void as $$
$$ language sql immutable;
-- This throws "Variable not found in subplan target lists"
select
udf(t1)
from
udftable1Row(1,2) t1
cross join table2;
-- Now that we have Row constructor, I can get rid of
my function udftable1row() and this works ok
select
udf(t1)
from
(select (cast(row(1,2) as table1)).*) t1
cross join table2;
I am on PostgreSQL 8.1 beta3 under Windows XP Service Pack 2.
Thanks,
Jean-Pierre Pelletier
e-djuster