Re: Write Ahead Logging for Hash Indexes
Jesper Pedersen <jesper.pedersen@redhat.com>
From: Jesper Pedersen <jesper.pedersen@redhat.com>
To: Amit Kapila <amit.kapila16@gmail.com>
Cc: Jeff Janes <jeff.janes@gmail.com>,
pgsql-hackers <pgsql-hackers@postgresql.org>
Date: 2016-09-13T18:34:36Z
Lists: pgsql-hackers
On 09/13/2016 07:41 AM, Amit Kapila wrote: >> README: >> +in_complete split flag. The reader algorithm works correctly, as it will >> scan >> >> What flag ? >> > > in-complete-split flag which indicates that split has to be finished > for that particular bucket. The value of these flags are > LH_BUCKET_NEW_PAGE_SPLIT and LH_BUCKET_OLD_PAGE_SPLIT for new and old > bucket respectively. It is set in hasho_flag in special area of page. > I have slightly expanded the definition in README, but not sure if it > is good idea to mention flags defined in hash.h. Let me know, if still > it is unclear or you want some thing additional to be added in README. > I think it is better now. >> hashxlog.c: >> >> hash_xlog_move_page_contents >> hash_xlog_squeeze_page >> >> Both have "bukcetbuf" (-> "bucketbuf"), and >> >> + if (BufferIsValid(bukcetbuf)); >> >> -> >> >> + if (BufferIsValid(bucketbuf)) >> >> and indent following line: >> >> LockBufferForCleanup(bukcetbuf); >> >> hash_xlog_delete >> >> has the "if" issue too. >> > > Fixed all the above cosmetic issues. > I meant there is an extra ';' on the "if" statements: + if (BufferIsValid(bukcetbuf)); <-- in hash_xlog_move_page_contents, hash_xlog_squeeze_page and hash_xlog_delete. Best regards, Jesper
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