Re: WIP: BRIN multi-range indexes

From: Alexander Korotkov <a(dot)korotkov(at)postgrespro(dot)ru>
To: Tomas Vondra <tomas(dot)vondra(at)2ndquadrant(dot)com>
Cc: Nikita Glukhov <n(dot)gluhov(at)postgrespro(dot)ru>, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Andres Freund <andres(at)anarazel(dot)de>, Mark Dilger <hornschnorter(at)gmail(dot)com>, Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org>, pgsql-hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: WIP: BRIN multi-range indexes
Date: 2019-03-13 08:15:35
Message-ID: CAPpHfdsC8Y8+2ZvDM6m_7E6ZN7b0ev4Z2LvHd6tJCCsTsnGVrg@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Tue, Mar 12, 2019 at 8:15 PM Tomas Vondra
<tomas(dot)vondra(at)2ndquadrant(dot)com> wrote:
> > 0001. Pass all keys to BRIN consistent function at once.
> >
> > I think that changing the signature of consistent function is bad, because then
> > the authors of existing BRIN opclasses will need to maintain two variants of
> > the function for different version of PosgreSQL. Moreover, we can easily
> > distinguish two variants by the number of parameters. So I returned back a
> > call to old 3-argument variant of consistent() in bringetbitmap(). Also I
> > fixed brinvalidate() adding support for new 4-argument variant, and fixed
> > catalog entries for brin_minmax_consistent() and brin_inclusion_consistent()
> > which remained 3-argument. And also I removed unneeded indentation shift in
> > these two functions, which makes it difficult to compare changes, by extracting
> > subroutines minmax_consistent_key() and inclusion_consistent_key().
> >
>
> Hmmm. I admit I rather dislike functions that change the signature based
> on the number of arguments, for some reason. But maybe it's better than
> changing the consistent function. Not sure.

I also kind of dislike signature change based on the number of
arguments. But it's still good to let extensions use old interface if
needed. What do you think about invention new consistent method, so
that extension can implement one of them? We did similar thing for
GIN (bistate consistent vs tristate consistent).

------
Alexander Korotkov
Postgres Professional: http://www.postgrespro.com
The Russian Postgres Company

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Kyotaro HORIGUCHI 2019-03-13 08:24:15 Re: Introduce timeout capability for ConditionVariableSleep
Previous Message Michael Paquier 2019-03-13 08:08:15 Re: pg_rewind : feature to rewind promoted standby is broken!