Re: Page Scan Mode in Hash Index

Jesper Pedersen <jesper.pedersen@redhat.com>

From: Jesper Pedersen <jesper.pedersen@redhat.com>
To: Amit Kapila <amit.kapila16@gmail.com>, Ashutosh Sharma <ashu.coek88@gmail.com>
Cc: Robert Haas <robertmhaas@gmail.com>, pgsql-hackers <pgsql-hackers@postgresql.org>
Date: 2017-08-23T14:09:41Z
Lists: pgsql-hackers
On 08/23/2017 07:38 AM, Amit Kapila wrote:
> Thanks for the new version.  I again looked at the patches and fixed
> quite a few comments in the code and ReadMe.  You have forgotten to
> update README for the changes in vacuum patch
> (0003-Improve-locking-startegy-during-VACUUM-in-Hash-Index_v7).  I
> don't have anything more to add.  If you are okay with changes, then
> we can move it to Ready For Committer unless someone else has some
> more comments.
> 

Just some minor comments.

README:
+	it's pin till the end of scan)

its pin till the end of the scan)

+To minimize lock/unlock traffic, hash index scan always searches entire 
hash

To minimize lock/unlock traffic, hash index scan always searches the 
entire hash

hashsearch.c:

+static inline void _hash_saveitem(HashScanOpaque so, int itemIndex,
+			   OffsetNumber offnum, IndexTuple itup);

There are other instances of "inline" in the code base, so I guess that 
this is ok.

+	 * Advance to next tuple on current page; or if there's no more, try to

Advance to the next tuple on the current page; or if done, try to

Best regards,
  Jesper


Commits

  1. Remove lsn from HashScanPosData.

  2. Fix trivial mistake in README.

  3. hash: Implement page-at-a-time scan.

  4. Reduce pinning and buffer content locking for btree scans.