Re: BRIN range operator class

Emre Hasegeli <emre@hasegeli.com>

From: Emre Hasegeli <emre@hasegeli.com>
To: Alvaro Herrera <alvherre@2ndquadrant.com>
Cc: Andreas Karlsson <andreas@proxel.se>, PostgreSQL Hackers <pgsql-hackers@postgresql.org>
Date: 2015-05-06T09:49:33Z
Lists: pgsql-hackers

Attachments

> 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.

> AFAICS this is just some pretty small changes to patches 05 and 06.
> Will you please resubmit?

New series of patches are attached.  Note that
brin-inclusion-v08-04-fix-brin-deform-tuple.patch is the one from you.

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>