On Wed, Sep 6, 2023, at 1:55 PM, Richard Guo wrote:
> On Wed, Sep 6, 2023 at 11:40 AM Lepikhov Andrei
> <a.lepikhov@postgrespro.ru> wrote:
>> Hi,
>>
>> I am writing here just because you change this specific part of code.
>> Designing a custom node I found the problem with CTE and Subqueries. The reproduction sample looks quite similar to
yours:
>>
>> create view tt24v as
>> with cte as materialized (select r from (values(1,2),(3,4)) r)
>> select (r).column2 as col_a, (rr).column2 as col_b from
>> cte join (select rr from (values(1,7),(3,8)) rr limit 2) ss
>> on (r).column1 = (rr).column1;
>> explain (verbose, costs off) select * from tt24v;
>>
>> but fails with the error "failed to find plan for CTE ..." with a custom node over a JOIN.
>
> The error message indicates that something must have gone wrong. I
> don't know well enough about custom scan, but I cannot reproduce this
> error with your query. Am I missing something?
I invented a dummy extension "pg_extension" [1], commit 4199a0c, which adds CustomScan over the first
non-parameterizedHashJoin at the pathlist.
The example presented in my letter earlier causes the ERROR on CTE. Moreover, if you remove the word 'materialized',
youwill find the same error on Subquery.
[1] https://github.com/danolivo/pg_extension/tree/main
--
Regards,
Andrei Lepikhov