You signed in with another tab or window.Reload to refresh your session.You signed out in another tab or window.Reload to refresh your session.You switched accounts on another tab or window.Reload to refresh your session.Dismiss alert
Allow foreign and custom joins to handle EvalPlanQual rechecks.
Commite7cb7ee provided basicinfrastructure for allowing a foreign data wrapper or custom scanprovider to replace a join of one or more tables with a scan.However, this infrastructure failed to take into account the needfor possible EvalPlanQual rechecks, and ExecScanFetch would failan assertion (or just overwrite memory) if such a check was attemptedfor a plan containing a pushed-down join. To fix, adjust the EPQmachinery to skip some processing steps when scanrelid == 0, makingthose the responsibility of scan's recheck method, which also hasthe responsibility in this case of correctly populating the relevantslot.To allow foreign scans to gain control in the right place to makeuse of this new facility, add a new, optional RecheckForeignScanmethod. Also, allow a foreign scan to have a child plan, which canbe used to correctly populate the slot (or perhaps for somethingelse, but this is the only use currently envisioned).KaiGai Kohei, reviewed by Robert Haas, Etsuro Fujita, and KyotaroHoriguchi.