Scans are offloaded to SeqScan instead of CustomScan when there are multiple relations in the same query

From: Amin <amin(dot)fallahi(at)gmail(dot)com>
To: pgsql-hackers(at)postgresql(dot)org
Subject: Scans are offloaded to SeqScan instead of CustomScan when there are multiple relations in the same query
Date: 2023-04-14 23:33:05
Message-ID: CAF-KA8-6=3KiP0wa0=9V0_NeL=Evcv5zTC2DWGFP0mtoMiivJw@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Hi there,

In my implementation of CustomScan, when I have a query that scans multiple
tables (select c from t1,t2,t3), the planner always picks one table to be
scanned by CustomScan and offloads the rest to SeqScan. I tried assigning a
cost of 0 to the CustomScan path, but still not working. BeginCustomScan
gets executed, ExecCustomScan is skipped, and then EndCustomScan is
executed for all the tables that are offloaded to Seq Scan. EXPLAIN shows
that always only one table is picked to be executed by CustomScan. Any idea
what I might be doing wrong? Like a value in a struct I might be setting
incorrectly?

Thanks!

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message David Rowley 2023-04-14 23:33:58 Re: v16dev: invalid memory alloc request size 8488348128
Previous Message Thomas Munro 2023-04-14 23:16:57 Re: Direct I/O