Re: Minmax indexes
Thom Brown <thom@linux.com>
From: Thom Brown <thom@linux.com>
To: Jaime Casanova <jaime@2ndquadrant.com>
Cc: Alvaro Herrera <alvherre@2ndquadrant.com>,
Pg Hackers <pgsql-hackers@postgresql.org>
Date: 2013-09-17T08:30:12Z
Lists: pgsql-hackers
On 17 September 2013 07:20, Jaime Casanova <jaime@2ndquadrant.com> wrote: > On Mon, Sep 16, 2013 at 3:47 AM, Thom Brown <thom@linux.com> wrote: > > On 15 September 2013 01:14, Alvaro Herrera <alvherre@2ndquadrant.com> > wrote: > >> > >> Hi, > >> > >> Here's a reviewable version of what I've dubbed Minmax indexes. > >> > > Thanks for the patch, but I seem to have immediately hit a snag: > > > > pgbench=# CREATE INDEX minmaxtest ON pgbench_accounts USING minmax (aid); > > PANIC: invalid xlog record length 0 > > > > fwiw, this seems to be triggered by ANALYZE. > At least i can trigger it by executing ANALYZE on the table (attached > is a stacktrace of a backend exhibiting the failure) > > Another thing is this messages i got when compiling: > """ > mmxlog.c: In function ‘minmax_xlog_revmap_set’: > mmxlog.c:161:14: warning: unused variable ‘blkno’ [-Wunused-variable] > bufpage.c: In function ‘PageIndexDeleteNoCompact’: > bufpage.c:1066:18: warning: ‘lastused’ may be used uninitialized in > this function [-Wmaybe-uninitialized] > """ > I'm able to run ANALYSE manually without it dying: pgbench=# analyse pgbench_accounts; ANALYZE pgbench=# analyse pgbench_accounts; ANALYZE pgbench=# create index minmaxtest on pgbench_accounts using minmax (aid); PANIC: invalid xlog record length 0 -- Thom
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