Re: [PATCH] Keeps tracking the uniqueness with UniqueKey

From: Andy Fan <zhihui(dot)fan1213(at)gmail(dot)com>
To: David Rowley <dgrowleyml(at)gmail(dot)com>
Cc: PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org>, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Ashutosh Bapat <ashutosh(dot)bapat(dot)oss(at)gmail(dot)com>, rushabh(dot)lathia(at)gmail(dot)com
Subject: Re: [PATCH] Keeps tracking the uniqueness with UniqueKey
Date: 2020-04-29 00:34:59
Message-ID: CAKU4AWrF2OO+miCw=41+a7KFBYTwgv1YgOKdvP6foZ8TU09ZhA@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Wed, Apr 29, 2020 at 8:29 AM David Rowley <dgrowleyml(at)gmail(dot)com> wrote:

> On Thu, 16 Apr 2020 at 14:17, Andy Fan <zhihui(dot)fan1213(at)gmail(dot)com> wrote:
> > V6 also includes:
> > 1. Fix the comment misleading you mentioned above.
> > 2. Fixed a concern case for `relation_has_uniquekeys_for` function.
>
> Over on [1], Richard highlights a problem in the current join removals
> lack of ability to remove left joins unless the min_righthand side of
> the join is a singleton rel. It's my understanding that the reason the
> code checks for this is down to the fact that join removals used
> unique indexed to prove the uniqueness of the relation and obviously,
> those can only exist on base relations. I wondered if you might want
> to look into a 0003 patch which removes that restriction? I think this
> can be done now since we no longer look at unique indexes to provide
> the proves that the join to be removed won't duplicate outer side
> rows.
>

Yes, I think that would be another benefit of UniqueKey, but it doesn't
happen
until now. I will take a look of it today and fix it in a separated
commit.

Best Regards
Andy Fan

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Rui DeSousa 2020-04-29 00:40:57 Re: PostgreSQL CHARACTER VARYING vs CHARACTER VARYING (Length)
Previous Message David G. Johnston 2020-04-29 00:34:00 Re: PostgreSQL CHARACTER VARYING vs CHARACTER VARYING (Length)