src/backend/access/hash/hashpage.c
Buffer
_hash_getbuf_with_strategy(Relation rel, BlockNumber blkno,
						   int access, int flags,
						   BufferAccessStrategy bstrategy)
{
	Buffer		buf;

	if (blkno == P_NEW)
		elog(ERROR, "hash AM does not use P_NEW");

	buf = ReadBufferExtended(rel, MAIN_FORKNUM, blkno, RBM_NORMAL, bstrategy);

	if (access != HASH_NOLOCK)
		LockBuffer(buf, access);

	/* ref count and lock type are correct */

	_hash_checkpage(rel, buf, flags);

	return buf;
}
/*
 *	_hash_getbuf_with_strategy() -- Get a buffer with nondefault strategy.
 *
 *		This is identical to _hash_getbuf() but also allows a buffer access
 *		strategy to be specified.  We use this for VACUUM operations.
 */
- Get a buffer with nondefault strategy.
This is identical to _hash_getbuf() but also allows a buffer access
strategy to be specified.  We use this for VACUUM operations.
- Get a buffer with nondefault strategy . This is identical to _hash_getbuf () but also allows a buffer access strategy to be specified . We use this for VACUUM operations .
Buffer
_hash_getbuf_with_strategy(Relation rel, BlockNumber blkno,
						   int access, int flags,
						   BufferAccessStrategy bstrategy)
{
	Buffer		buf;
	if (blkno == P_NEW)
		elog(ERROR, "hash AM does not use P_NEW");
	buf = ReadBufferExtended(rel, MAIN_FORKNUM, blkno, RBM_NORMAL, bstrategy);
	if (access != HASH_NOLOCK)
		LockBuffer(buf, access);
	_hash_checkpage(rel, buf, flags);
	return buf;
}
Buffer _hash_getbuf_with_strategy ( Relation rel , BlockNumber blkno , int access , int flags , BufferAccessStrategy bstrategy ) { Buffer buf ; if ( blkno == P_NEW ) elog ( ERROR , " " ) ; buf = ReadBufferExtended ( rel , MAIN_FORKNUM , blkno , RBM_NORMAL , bstrategy ) ; if ( access != HASH_NOLOCK ) LockBuffer ( buf , access ) ; _hash_checkpage ( rel , buf , flags ) ; return buf ; }
_hash_getbuf_with_strategy() -- Get a buffer with nondefault strategy.
_hash_getbuf_with_strategy () -- Get a buffer with nondefault strategy .
/* ref count and lock type are correct */