MCPcopy Create free account
hub / github.com/apache/cloudberry / BufferGetTag

Function BufferGetTag

src/backend/storage/buffer/bufmgr.c:2933–2951  ·  view source on GitHub ↗

* BufferGetTag * Returns the relfilenode, fork number and block number associated with * a buffer. */

Source from the content-addressed store, hash-verified

2931 * a buffer.
2932 */
2933void
2934BufferGetTag(Buffer buffer, RelFileNode *rnode, ForkNumber *forknum,
2935 BlockNumber *blknum)
2936{
2937 BufferDesc *bufHdr;
2938
2939 /* Do the same checks as BufferGetBlockNumber. */
2940 Assert(BufferIsPinned(buffer));
2941
2942 if (BufferIsLocal(buffer))
2943 bufHdr = GetLocalBufferDescriptor(-buffer - 1);
2944 else
2945 bufHdr = GetBufferDescriptor(buffer - 1);
2946
2947 /* pinned, so OK to read tag without spinlock */
2948 *rnode = bufHdr->tag.rnode;
2949 *forknum = bufHdr->tag.forkNum;
2950 *blknum = bufHdr->tag.blockNum;
2951}
2952
2953/*
2954 * FlushBuffer

Callers 6

fsm_search_availFunction · 0.85
ginRedoInsertEntryFunction · 0.85
XLogRegisterBufferFunction · 0.85
XLogSaveBufferForHintFunction · 0.85
log_newpage_bufferFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected