Tomas Vondra <t...@fuzzy.cz> writes: > I'm writing my first FDW, and I need to get the list of columns I > actually need to fetch when planning the query. I do want to fetch only > the columns that are actually needed, not all of them.
reltargetlist and attr_needed only tell you about columns the scan has to *output* (ie, they are used in join conditions or the final result). Vars that are only mentioned in baserestrict conditions aren't included. So you'd need to do something like pull_varattnos on the baserestrictinfo list and union that with attr_needed. > Also, I'd like to apply as much restrictions as possible when executing > the plan. I see there's PlanState->qual, described as "implicitly-ANDed > qual conditions", which I assume is what I need. But this seems to be > available only in BeginForeignScan (as ss.ps.qual in ForeignScanState), > not in planning which is the place where I need to compute estimates > etc. Where do I get this, when planning the query? Same answer, rel->baserestrictinfo. regards, tom lane -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers