pg.ddx.io  pgsql-committers@postgresql.org mailing list archive  
help / color / mirror / Atom feed
From: Richard Guo <rguo@postgresql.org>
To: pgsql-committers@lists.postgresql.org
Subject: pgsql: Refactor the checks for parameterized partial paths
Date: Tue, 30 Jul 2024 06:53:53 +0000
Message-ID: <E1sYgk5-001rAK-3N@gemulon.postgresql.org> (raw)

Refactor the checks for parameterized partial paths

Parameterized partial paths are not supported, and we have several
checks in try_partial_xxx_path functions to enforce this.  For a
partial nestloop join path, we need to ensure that if the inner path
is parameterized, the parameterization is fully satisfied by the
proposed outer path.  For a partial merge/hashjoin join path, we need
to ensure that the inner path is not parameterized.  In all cases, we
need to ensure that the outer path is not parameterized.

However, the comment in try_partial_hashjoin_path does not describe
this correctly.  This patch fixes that.

In addtion, this patch simplifies the checks peformed in
try_partial_hashjoin_path and try_partial_mergejoin_path with the help
of macro PATH_REQ_OUTER, and also adds asserts that the outer path is
not parameterized in try_partial_xxx_path functions.

Author: Richard Guo
Discussion: https://postgr.es/m/CAMbWs48mKJ6g_GnYNa7dnw04MHaMK-jnAEBrMVhTp2uUg3Ut4A@mail.gmail.com

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/2309eff62b463fb3f19e6dd229243902b3b44501

Modified Files
--------------
src/backend/optimizer/path/joinpath.c | 28 ++++++++++------------------
1 file changed, 10 insertions(+), 18 deletions(-)



Message-ID: <E1sYgk5-001rAK-3N@gemulon.postgresql.org>
Permalink:  ../E1sYgk5-001rAK-3N@gemulon.postgresql.org/
Also on:    postgresql.org/message-id/E1sYgk5-001rAK-3N@gemulon.postgresql.org

 · 

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: pgsql-committers@postgresql.org
  Cc: rguo@postgresql.org, pgsql-committers@lists.postgresql.org
  Subject: Re: pgsql: Refactor the checks for parameterized partial paths
  In-Reply-To: <E1sYgk5-001rAK-3N@gemulon.postgresql.org>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox