Hi all, Thank you for the updated v2 patch. I reproduced the issue using the provided test case. With the unpatched code, the planner chose a local Hash Semi Join, followed by Sort and Limit, instead of pushing down the semi-join. After applying the patch, the planner selected a single Foreign Scan, with the semi-join, filters, ORDER BY, LIMIT, and OFFSET pushed down to the remote server as intended. I also ran the postgres_fdw regression tests, including postgres_fdw and query_cancel, along with the eval_plan_qual isolation test. All three tests passed. The change looks good to me. Thank you for addressing this issue.
Regards, Solai
