Re: Minmax indexes

Alvaro Herrera <alvherre@2ndquadrant.com>

From: Alvaro Herrera <alvherre@2ndquadrant.com>
To: Thom Brown <thom@linux.com>
Cc: Pg Hackers <pgsql-hackers@postgresql.org>
Date: 2013-09-17T21:52:24Z
Lists: pgsql-hackers

Attachments

Thom Brown wrote:

> Hit another issue with exactly the same procedure:
> 
> pgbench=# create index minmaxtest on pgbench_accounts using minmax (aid);
> ERROR:  lock 176475 is not held

That's what I get for restructuring the way buffers are acquired to use
the FSM, and then neglecting to test creation on decently-sized indexes.
Fix attached.

I just realized that xlog replay is also broken.

-- 
Álvaro Herrera                http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, 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>