From: | vignesh C <vignesh21(at)gmail(dot)com> |
---|---|
To: | Richard Guo <guofenglinux(at)gmail(dot)com> |
Cc: | PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: Trivial revise for the check of parameterized partial paths |
Date: | 2024-01-21 12:36:03 |
Message-ID: | CALDaNm280qURrgsSWWbrmUTvXtXBA_jLgBMXdCXLSourTTR58Q@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On Thu, 29 Jun 2023 at 08:53, Richard Guo <guofenglinux(at)gmail(dot)com> wrote:
>
> While working on the invalid parameterized join path issue [1], I
> noticed that we can simplify the codes for checking parameterized
> partial paths in try_partial_hashjoin/mergejoin_path, with the help of
> macro PATH_REQ_OUTER.
>
> - if (inner_path->param_info != NULL)
> - {
> - Relids inner_paramrels = inner_path->param_info->ppi_req_outer;
> -
> - if (!bms_is_empty(inner_paramrels))
> - return;
> - }
> + if (!bms_is_empty(PATH_REQ_OUTER(inner_path)))
> + return;
>
> Also there is a comment there that is not correct.
>
> * If the inner path is parameterized, the parameterization must be fully
> * satisfied by the proposed outer path.
>
> This is true for nestloop but not for hashjoin/mergejoin.
>
> Besides, I wonder if it'd be better that we verify that the outer input
> path for a partial join path should not have any parameterization
> dependency.
>
> Attached is a patch for all these changes.
I'm seeing that there has been no activity in this thread for nearly 7
months, I'm planning to close this in the current commitfest unless
someone is planning to take it forward.
Regards,
Vignesh
From | Date | Subject | |
---|---|---|---|
Next Message | vignesh C | 2024-01-21 12:37:47 | Re: Retiring is_pushed_down |
Previous Message | vignesh C | 2024-01-21 12:34:17 | Re: some namespace.c refactoring |