Hi, On Fri, Jun 2, 2023 at 9:31 PM Nishant Sharma <nishant.sha...@enterprisedb.com> wrote: > I also agree that Richard's patch is better. As it fixes the issue at the > backend and does not treat pseudoconstant as local condition. > > I have tested Richard's patch and observe that it is resolving the problem. > Patch looks good to me as well.
If the patch is intended for HEAD only, I also think it goes in the right direction. But if it is intended for back branches as well, I do not think so, because it would cause ABI breakage due to changes made to the ForeignPath struct and the create_foreign_join_path() API. (For the former, I think we could avoid doing so by adding the new member at the end of the struct, not in the middle, though.) To avoid this issue, I am wondering if we should modify add_paths_to_joinrel() in back branches so that it just disallows the FDW to consider pushing down joins when the restrictlist has pseudoconstant clauses. Attached is a patch for that. My apologies for not reviewing your patch and the long long delay. Best regards, Etsuro Fujita
disallow-join-pushdown-if-pseudoconstants.patch
Description: Binary data