Richard Guo <guofenglinux@gmail.com> writes: > BTW, do you think get_name_for_var_field() has similar problem for > RTE_SUBQUERY case? The RTE_CTE code path in that function crawls up the > namespace stack before recursing into the CTE while the RTE_SUBQUERY > code patch does not, which looks like an oversight.
Hmm, seems suspicious ...
> I tried to find a > test case to show it's indeed a problem but with no luck.
Note that any test case here would be of the form "dump a view or rule definition", not "EXPLAIN". What did you try?
Ah, thanks. I got one of the form "dump a view" leveraging your test case from the v2 patch (with a minor tweak).
create view composite_v as with cte(c) as materialized (select row(1, 2)), cte2(c) as (select * from cte) select 1 from cte2 as t where (select * from (select c as c1) s where (select (c1).f1 > 0)) is not null;