Re: Retiring is_pushed_down

From: Richard Guo <guofenglinux(at)gmail(dot)com>
To: PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Retiring is_pushed_down
Date: 2023-07-27 02:55:07
Message-ID: CAMbWs4-BGokURcVNDmEpQ8OG9Ur_2MP_+FVWRWb9OsC_DvX=4g@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Tue, Jul 25, 2023 at 3:39 PM Richard Guo <guofenglinux(at)gmail(dot)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

Attachment Content-Type Size
v2-0001-Retiring-is_pushed_down.patch application/octet-stream 40.4 KB

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Peter Geoghegan 2023-07-27 04:13:47 Re: Optimizing nbtree ScalarArrayOp execution, allowing multi-column ordered scans, skip scan
Previous Message David Rowley 2023-07-27 02:51:20 Re: Performance degradation on concurrent COPY into a single relation in PG16.