* BufferGetBlockNumber * Returns the block number associated with a buffer. * * Note: * Assumes that the buffer is valid and pinned, else the * value may be obsolete immediately... */
| 2910 | * value may be obsolete immediately... |
| 2911 | */ |
| 2912 | BlockNumber |
| 2913 | BufferGetBlockNumber(Buffer buffer) |
| 2914 | { |
| 2915 | BufferDesc *bufHdr; |
| 2916 | |
| 2917 | Assert(BufferIsPinned(buffer)); |
| 2918 | |
| 2919 | if (BufferIsLocal(buffer)) |
| 2920 | bufHdr = GetLocalBufferDescriptor(-buffer - 1); |
| 2921 | else |
| 2922 | bufHdr = GetBufferDescriptor(buffer - 1); |
| 2923 | |
| 2924 | /* pinned, so OK to read tag without spinlock */ |
| 2925 | return bufHdr->tag.blockNum; |
| 2926 | } |
| 2927 | |
| 2928 | /* |
| 2929 | * BufferGetTag |
no outgoing calls
no test coverage detected