Re: BRIN range operator class

Alvaro Herrera <alvherre@2ndquadrant.com>

From: Alvaro Herrera <alvherre@2ndquadrant.com>
To: Emre Hasegeli <emre@hasegeli.com>
Cc: Andreas Karlsson <andreas@proxel.se>, PostgreSQL Hackers <pgsql-hackers@postgresql.org>
Date: 2015-05-07T16:06:11Z
Lists: pgsql-hackers
Emre Hasegeli wrote:
> > After looking at 05 again, I don't like the "same as %" business.
> > Creating a whole new class of exceptions is not my thing, particularly
> > not in a regression test whose sole purpose is to look for exceptional
> > (a.k.a. "wrong") cases.  I would much rather define the opclasses for
> > those two datatypes using the existing @> operators rather than create
> > && operators for this purpose.  We can add a note to the docs, "for
> > historical reasons the brin opclass for datatype box/point uses the <@
> > operator instead of &&", or something like that.
> 
> I worked around this by adding point <@ box operator as the overlap
> strategy and removed additional && operators.

That works for me.

I pushed patches 04 and 07, as well as adopting some of the changes to
the regression test in 06.  I'm afraid I caused a bit of merge pain for
you -- sorry about that.

-- 
Álvaro Herrera                http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services


Commits

  1. Refactor per-page logic common to all redo routines to a new function.

  2. Reduce use of heavyweight locking inside hash AM.

  3. Scan the buffer pool just once, not once per fork, during relation drop.

  4. Major patch from Thomas Lockhart <Thomas.G.Lockhart@jpl.nasa.gov>