Re: FDW / list of needed columns, WHERE conditions (in PlanForeignScan)
От | Tom Lane |
---|---|
Тема | Re: FDW / list of needed columns, WHERE conditions (in PlanForeignScan) |
Дата | |
Msg-id | 13762.1338240037@sss.pgh.pa.us обсуждение исходный текст |
Ответ на | FDW / list of needed columns, WHERE conditions (in PlanForeignScan) (Tomas Vondra <tv@fuzzy.cz>) |
Ответы |
Re: FDW / list of needed columns, WHERE conditions (in
PlanForeignScan)
|
Список | pgsql-hackers |
Tomas Vondra <tv@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
В списке pgsql-hackers по дате отправления: