Re: BRIN range operator class
Alvaro Herrera <alvherre@2ndquadrant.com>
From: Alvaro Herrera <alvherre@2ndquadrant.com>
To: Heikki Linnakangas <hlinnaka@iki.fi>
Cc: Emre Hasegeli <emre@hasegeli.com>, Andreas Karlsson <andreas@proxel.se>,
PostgreSQL Hackers <pgsql-hackers@postgresql.org>,
Bruce Momjian <bruce@momjian.us>
Date: 2015-05-12T20:02:36Z
Lists: pgsql-hackers
Heikki Linnakangas wrote:
> On 05/12/2015 10:49 PM, Alvaro Herrera wrote:
> >If in the future, for instance, we come up with a way to store the ipv4
> >plus ipv6 info, we will want to change the page format. If we add a
> >page version to the metapage, we can detect the change at pg_upgrade
> >time and force a reindex of the index.
>
> A version number in the metapage is a certainly a good idea. But we already
> have that, don't we? :
>
> >/* Metapage definitions */
> >typedef struct BrinMetaPageData
> >{
> > uint32 brinMagic;
> > uint32 brinVersion;
> > BlockNumber pagesPerRange;
> > BlockNumber lastRevmapPage;
> >} BrinMetaPageData;
> >
> >#define BRIN_CURRENT_VERSION 1
> >#define BRIN_META_MAGIC 0xA8109CFA
>
> Did you have something else in mind?
Yeah, I was thinking we could have a separate version number for the
opclass code as well. An external extension could change that, for
instance. Also, we could change the 'inclusion' version and leave
minmax alone.
--
Álvaro Herrera http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services
Commits
-
Refactor per-page logic common to all redo routines to a new function.
- f8f4227976a2 9.5.0 cited
-
Reduce use of heavyweight locking inside hash AM.
- 76837c1507cb 9.3.0 cited
-
Scan the buffer pool just once, not once per fork, during relation drop.
- ece01aae4792 9.2.0 cited
-
Major patch from Thomas Lockhart <Thomas.G.Lockhart@jpl.nasa.gov>
- 9e2a87b62db8 7.1.1 cited