Re: Write Ahead Logging for Hash Indexes
Amit Kapila <amit.kapila16@gmail.com>
From: Amit Kapila <amit.kapila16@gmail.com>
To: Robert Haas <robertmhaas@gmail.com>
Cc: Jesper Pedersen <jesper.pedersen@redhat.com>,
Jeff Janes <jeff.janes@gmail.com>, pgsql-hackers <pgsql-hackers@postgresql.org>
Date: 2017-02-13T15:22:09Z
Lists: pgsql-hackers
Attachments
- 0001-Expose-a-new-API-_hash_pgaddmultitup-to-add-multiple.patch (application/octet-stream) patch 0001
- 0002-Expose-hashinitbitmapbuffer-to-initialize-bitmap-pag.patch (application/octet-stream) patch 0002
- 0003-Restructure-_hash_addovflpage-so-that-the-operation-.patch (application/octet-stream) patch 0003
- 0004-restructure-split-bucket-code-so-that-the-operation-.patch (application/octet-stream) patch 0004
- 0005-Restructure-hash-index-creation-and-metapage-initial.patch (application/octet-stream) patch 0005
- 0006-Enable-WAL-for-Hash-Indexes.patch (application/octet-stream) patch 0006
On Fri, Feb 10, 2017 at 12:15 PM, Amit Kapila <amit.kapila16@gmail.com> wrote: > On Thu, Feb 9, 2017 at 10:28 PM, Robert Haas <robertmhaas@gmail.com> wrote: > >> The things that look like preliminary refactoring to >> me are: >> >> - Adding _hash_pgaddmultitup and using it in various places. >> - Adding and freeing overflow pages has been extensively reworked. >> > > Freeing the overflow page is too tightly coupled with changes related > to _hash_pgaddmultitup, so it might be better to keep it along with > it. However, I think we can prepare a separate patch for changes > related to adding the overflow page. > >> - Similarly, there is some refactoring of how bitmap pages get initialized. >> - Index initialization has been rejiggered significantly. >> - Bucket splits have been rejiggered. >> > As discussed, attached are refactoring patches and a patch to enable WAL for the hash index on top of them. -- With Regards, Amit Kapila. EnterpriseDB: http://www.enterprisedb.com
Commits
-
Add a regression test for snapshot too old with hash indexes.
- 42bdaebf1618 10.0 landed
-
hash: Add write-ahead logging support.
- c11453ce0aea 10.0 landed
-
Improve coding in _hash_addovflpage.
- e898437460f5 10.0 cited
-
Remove _hash_wrtbuf() in favor of calling MarkBufferDirty().
- 25216c989384 10.0 cited
-
Improve hash index bucket split behavior.
- 6d46f4783efe 10.0 cited