On Tue, Jul 25, 2023 at 3:39 PM Richard Guo <guofengli...@gmail.com> wrote:
> * This patch calculates the outer join relids that are being formed > generally in this way: > > bms_difference(joinrelids, bms_union(outerrelids, innerrelids)) > > Of course this can only be used after the outer join relids has been > added by add_outer_joins_to_relids(). This calculation is performed > multiple times during planning. I'm not sure if this has performance > issues. Maybe we can calculate it only once and store the result in > some place (such as in JoinPath)? > In the v2 patch, I added a member in JoinPath to store the relid set of any outer joins that will be calculated at this join, and this would avoid repeating this calculation when creating nestloop/merge/hash join plan nodes. Also fixed a comment in v2. Thanks Richard
v2-0001-Retiring-is_pushed_down.patch
Description: Binary data