LCOV - differential code coverage report
Current view: top level - src/backend/storage/buffer - bufmgr.c (source / functions) Coverage Total Hit UNC LBC UIC UBC GBC GIC GNC CBC ECB DUB DCB
Current: 380a8b2ea024c33a35e7abc8628e7c4f52f9f9f9 vs db5ed03217b9c238703df8b4b286115d6e940488 Lines: 91.7 % 2420 2219 70 10 1 120 14 1 721 1483 3 34 388
Current Date: 2026-05-29 21:51:00 -0400 Functions: 96.5 % 144 139 2 3 96 43 1 12
Baseline: lcov-20260530-034037-baseline Branches: 72.1 % 1827 1317 149 10 24 327 14 398 905 78 180
Baseline Date: 2026-05-29 14:39:03 -0700 Line coverage date bins:
Legend: Lines:     hit not hit
Branches: + taken - not taken # not executed
(7,30] days: 75.0 % 4 3 1 3
(30,360] days: 91.7 % 794 728 65 1 2 1 708 17
(360..) days: 91.7 % 1622 1488 5 10 1 118 12 13 1463 3
Function coverage date bins:
(30,360] days: 94.9 % 39 37 2 37
(360..) days: 97.1 % 105 102 3 59 43
Branch coverage date bins:
(7,30] days: 75.0 % 16 12 4 12
(30,360] days: 73.4 % 541 397 142 2 1 393 3
(360..) days: 71.5 % 1270 908 7 10 24 321 13 5 890

Function Name Sort by function name TLA Hit count Sort by function hit count Lines Sort by unexercised lines in function Branches Sort by unexercised branches in function
BufferLockDisown UNC 0 0.0 % (0 / 4) 0.0 % (0 / 2)
ResOwnerPrintBuffer UNC 0 0.0 % (0 / 2)
ResOwnerPrintBufferIO UBC 0 0.0 % (0 / 3)
buffertag_comparator UBC 0 0.0 % (0 / 15) 0.0 % (0 / 10)
local_buffer_write_error_callback UBC 0 0.0 % (0 / 6) 0.0 % (0 / 2)
EvictAllUnpinnedBuffers GNC 1 94.7 % (18 / 19) 80.0 % (8 / 10)
MarkDirtyAllUnpinnedBuffers GNC 1 94.7 % (18 / 19) 80.0 % (8 / 10)
MarkDirtyRelUnpinnedBuffers GNC 1 52.0 % (13 / 25) 38.9 % (7 / 18)
MarkDirtyUnpinnedBuffer GNC 1 100.0 % (10 / 10) 33.3 % (2 / 6)
HoldingBufferPinThatDelaysRecovery CBC 3 85.7 % (6 / 7) 75.0 % (3 / 4)
FlushDatabaseBuffers GNC 5 100.0 % (15 / 15) 87.5 % (7 / 8)
FlushRelationsAllBuffers GNC 5 87.9 % (29 / 33) 77.3 % (17 / 22)
AbortBufferIO GNC 15 69.2 % (9 / 13) 25.0 % (3 / 12)
ResOwnerReleaseBufferIO CBC 15 100.0 % (4 / 4)
MarkDirtyUnpinnedBufferInternal GNC 36 90.0 % (18 / 20) 75.0 % (6 / 8)
shared_buffer_write_error_callback CBC 41 100.0 % (6 / 6) 50.0 % (1 / 2)
EvictRelUnpinnedBuffers GNC 44 88.0 % (22 / 25) 72.2 % (13 / 18)
WakePinCountWaiter GNC 45 100.0 % (10 / 10) 75.0 % (3 / 4)
DebugPrintBufferRefcount GNC 72 100.0 % (13 / 13) 75.0 % (3 / 4)
DropDatabaseBuffers GNC 81 90.0 % (9 / 10) 83.3 % (5 / 6)
BufferIsLockedByMe GNC 115 83.3 % (5 / 6) 50.0 % (4 / 8)
FlushOneBuffer GNC 115 100.0 % (7 / 7) 50.0 % (5 / 10)
FlushRelationBuffers GNC 167 100.0 % (31 / 31) 93.8 % (15 / 16)
EvictUnpinnedBuffer CBC 205 100.0 % (7 / 7) 50.0 % (2 / 4)
WaitIO GNC 270 100.0 % (17 / 17) 83.3 % (5 / 6)
buffer_readv_encode_error CBC 288 100.0 % (31 / 31) 75.0 % (18 / 24)
WaitBufHdrUnlocked GNC 317 100.0 % (8 / 8) 100.0 % (2 / 2)
buffer_readv_report CBC 408 97.2 % (35 / 36) 71.1 % (27 / 38)
BufferLockDequeueSelf GNC 704 90.0 % (18 / 20) 83.3 % (10 / 12)
DropRelationBuffers GNC 796 100.0 % (32 / 32) 92.9 % (26 / 28)
FindAndDropRelationBuffers GNC 894 94.4 % (17 / 18) 70.0 % (7 / 10)
buffer_readv_decode_error CBC 962 100.0 % (13 / 13)
IssuePendingWritebacks CBC 1220 10.7 % (3 / 28) 5.6 % (1 / 18)
BufferSync GNC 1950 97.4 % (75 / 77) 85.3 % (29 / 34)
CheckPointBuffers CBC 1950 100.0 % (3 / 3)
EvictUnpinnedBufferInternal GNC 2822 76.5 % (13 / 17) 62.5 % (5 / 8)
local_buffer_readv_complete CBC 2889 100.0 % (2 / 2)
local_buffer_readv_stage CBC 2889 100.0 % (3 / 3)
WritebackContextInit CBC 3104 100.0 % (5 / 5) 50.0 % (1 / 2)
ReleaseAndReadBuffer CBC 3646 66.7 % (12 / 18) 40.9 % (9 / 22)
ReadRecentBuffer GNC 5145 95.2 % (20 / 21) 71.4 % (10 / 14)
ResOwnerReleaseBuffer GNC 10662 92.9 % (13 / 14) 60.0 % (6 / 10)
BgBufferSync CBC 14299 100.0 % (65 / 65) 92.9 % (39 / 42)
DropRelationsAllBuffers GNC 17950 96.7 % (58 / 60) 95.7 % (44 / 46)
AtProcExit_Buffers CBC 23105 100.0 % (5 / 5)
InitBufferManagerAccess GNC 23105 100.0 % (8 / 8) 50.0 % (1 / 2)
BufferLockWakeup GNC 27274 97.6 % (40 / 41) 89.5 % (34 / 38)
BufferLockQueueSelf GNC 29630 83.3 % (10 / 12) 25.0 % (2 / 8)
PrefetchBuffer CBC 29851 87.5 % (7 / 8) 50.0 % (6 / 12)
LockBufferForCleanup GNC 32944 94.2 % (49 / 52) 77.5 % (31 / 40)
PrefetchSharedBuffer CBC 40541 100.0 % (15 / 15) 75.0 % (6 / 8)
ExtendBufferedRelTo GNC 56032 100.0 % (36 / 36) 71.7 % (43 / 60)
ExtendBufferedRel CBC 57744 100.0 % (4 / 4)
UnlockBuffers GNC 63885 36.4 % (4 / 11) 16.7 % (1 / 6)
CreateAndCopyRelationData CBC 66154 100.0 % (14 / 14) 60.0 % (6 / 10)
RelationCopyStorageUsingBuffer CBC 86213 100.0 % (32 / 32) 65.0 % (13 / 20)
InvalidateBuffer GNC 128090 65.4 % (17 / 26) 33.3 % (4 / 12)
ExtendBufferedRelBy GNC 210696 100.0 % (7 / 7) 40.0 % (4 / 10)
ConditionalLockBufferForCleanup GNC 229433 100.0 % (24 / 24) 77.8 % (14 / 18)
ExtendBufferedRelShared GNC 252920 82.4 % (70 / 85) 56.5 % (52 / 92)
LimitAdditionalPins CBC 252920 100.0 % (7 / 7) 100.0 % (4 / 4)
ExtendBufferedRelCommon GNC 268936 100.0 % (6 / 6) 100.0 % (2 / 2)
ts_ckpt_progress_comparator GNC 286432 100.0 % (8 / 8) 100.0 % (4 / 4)
BufferFinishSetHintBits GNC 304844 100.0 % (6 / 6) 87.5 % (7 / 8)
BufferBeginSetHintBits GNC 304853 100.0 % (5 / 5) 100.0 % (2 / 2)
FlushUnlockedBuffer GNC 363252 100.0 % (6 / 6)
ZeroAndLockBuffer GNC 363554 100.0 % (24 / 24) 90.0 % (18 / 20)
PinBuffer_Locked GNC 364966 100.0 % (6 / 6) 50.0 % (1 / 2)
AtEOXact_Buffers CBC 425509 100.0 % (5 / 5) 50.0 % (1 / 2)
CheckForBufferLeaks GNC 448614 38.9 % (7 / 18) 35.7 % (5 / 14)
GetPinLimit CBC 655719 100.0 % (2 / 2)
ScheduleBufferTagForWriteback CBC 719136 70.0 % (7 / 10) 60.0 % (6 / 10)
FlushBuffer GNC 723166 100.0 % (22 / 22) 90.0 % (9 / 10)
shared_buffer_readv_complete CBC 1347065 100.0 % (2 / 2)
buffer_readv_complete CBC 1349954 100.0 % (41 / 41) 88.6 % (39 / 44)
InvalidateVictimBuffer GNC 1426688 100.0 % (26 / 26) 58.3 % (14 / 24)
ConditionalLockBuffer GNC 1470979 100.0 % (6 / 6) 75.0 % (6 / 8)
shared_buffer_readv_complete_local CBC 1483146 100.0 % (8 / 8) 100.0 % (4 / 4)
shared_buffer_readv_stage CBC 1483146 100.0 % (3 / 3)
ProcessReadBuffersResult CBC 1485495 100.0 % (18 / 18) 72.7 % (16 / 22)
buffer_stage_common GNC 1486035 88.9 % (32 / 36) 57.5 % (23 / 40)
WaitReadBuffers GNC 1487050 97.6 % (40 / 41) 80.0 % (24 / 30)
AsyncReadBuffers GNC 1488047 100.0 % (70 / 70) 82.5 % (33 / 40)
buffer_readv_complete_one GNC 1497661 100.0 % (44 / 44) 88.2 % (30 / 34)
BufferLockConditional GNC 1765527 90.0 % (9 / 10) 66.7 % (4 / 6)
StartReadBuffers CBC 1783155 100.0 % (2 / 2)
GetVictimBuffer GNC 2261437 93.9 % (31 / 33) 83.3 % (25 / 30)
SyncOneBuffer GNC 2360548 100.0 % (21 / 21) 100.0 % (10 / 10)
RelationGetNumberOfBlocksInFork CBC 2509115 85.7 % (6 / 7) 62.5 % (10 / 16)
TerminateBufferIO GNC 2814624 95.0 % (19 / 20) 78.6 % (11 / 14)
StartSharedBufferIO GNC 2987533 100.0 % (21 / 21) 100.0 % (12 / 12)
ckpt_buforder_comparator CBC 3511557 100.0 % (18 / 18) 100.0 % (16 / 16)
GetAdditionalPinLimit CBC 3548668 100.0 % (5 / 5) 100.0 % (2 / 2)
CheckBufferIsPinnedOnce CBC 4672011 71.4 % (5 / 7) 40.0 % (4 / 10)
ReadBufferWithoutRelcache CBC 5977830 100.0 % (3 / 3) 50.0 % (1 / 2)
BufferGetLSNAtomic GNC 8178502 100.0 % (4 / 4) 62.5 % (5 / 8)
rlocator_comparator CBC 13254974 75.0 % (12 / 16) 66.7 % (8 / 12)
IncrBufferRefCount GNC 14599689 100.0 % (10 / 10) 70.0 % (7 / 10)
SharedBufferBeginSetHintBits GNC 15237481 90.9 % (20 / 22) 61.1 % (11 / 18)
MarkSharedBufferDirtyHint GNC 15354968 100.0 % (25 / 25) 85.7 % (24 / 28)
BufferSetHintBits16 GNC 15847538 100.0 % (13 / 13) 75.0 % (6 / 8)
BufferIsPermanent GNC 17629034 100.0 % (7 / 7) 60.0 % (6 / 10)
BufferGetTag CBC 27837612 88.9 % (8 / 9) 50.0 % (4 / 8)
BufferIsDirty GNC 27924500 100.0 % (8 / 8) 75.0 % (9 / 12)
LockBufHdr GNC 28400384 100.0 % (11 / 11) 83.3 % (5 / 6)
BufferLockHeldByMe GNC 29433328 80.0 % (4 / 5) 50.0 % (1 / 2)
MarkBufferDirty GNC 35008971 95.2 % (20 / 21) 66.7 % (16 / 24)
UnpinBuffer CBC 48430064 100.0 % (5 / 5)
UnpinBufferNoOwner GNC 48436728 100.0 % (14 / 14) 66.7 % (8 / 12)
ReleaseBuffer CBC 48814461 85.7 % (6 / 7) 50.0 % (3 / 6)
UnlockReleaseBuffer GNC 51088140 100.0 % (21 / 21) 72.2 % (13 / 18)
ReadBuffer CBC 63320769 100.0 % (2 / 2)
BufferLockUnlock GNC 63788325 100.0 % (7 / 7) 50.0 % (1 / 2)
UnlockBuffer GNC 68626968 100.0 % (6 / 6) 75.0 % (6 / 8)
ReadBufferExtended CBC 74513050 100.0 % (3 / 3)
ForgetPrivateRefCountEntry GNC 76486101 100.0 % (11 / 11) 60.0 % (6 / 10)
NewPrivateRefCountEntry GNC 76486101 100.0 % (10 / 10) 50.0 % (1 / 2)
TrackNewBufferPin GNC 76486101 100.0 % (5 / 5)
ReadBuffer_common GNC 80490883 96.8 % (30 / 31) 89.3 % (25 / 28)
PinBuffer GNC 81101997 100.0 % (28 / 28) 87.5 % (21 / 24)
StartReadBuffer CBC 82662413 100.0 % (5 / 5) 50.0 % (1 / 2)
TrackBufferHit GNC 82998186 100.0 % (10 / 10) 100.0 % (12 / 12)
BufferAlloc GNC 83078162 100.0 % (42 / 42) 87.5 % (14 / 16)
StartReadBuffersImpl GNC 84445568 94.6 % (53 / 56) 76.1 % (35 / 46)
PinBufferForBlock GNC 84990431 100.0 % (11 / 11) 90.0 % (18 / 20)
CheckReadBuffersOperation GNC 87421147 100.0 % (13 / 13) 72.2 % (13 / 18)
ReservePrivateRefCountEntry GNC 88088487 100.0 % (23 / 23) 75.0 % (12 / 16)
BufferLockAcquire GNC 111465278 89.5 % (34 / 38) 66.7 % (10 / 15)
BufferLockDisownInternal GNC 113230004 85.7 % (6 / 7) 25.0 % (1 / 4)
BufferLockProcessRelease GNC 113230004 100.0 % (15 / 15) 91.7 % (11 / 12)
BufferLockReleaseSub GNC 113230004 100.0 % (7 / 7) 83.3 % (5 / 6)
BufferLockAttempt GNC 113289361 100.0 % (19 / 19) 100.0 % (14 / 14)
BufferIsLockedByMeInMode GNC 117089719 100.0 % (6 / 6) 75.0 % (6 / 8)
LockBufferInternal GNC 117837126 78.6 % (11 / 14) 50.0 % (11 / 22)
GetPrivateRefCountEntrySlow GNC 126896645 100.0 % (30 / 30) 80.0 % (16 / 20)
BufferLockHeldByMeInMode GNC 139389745 80.0 % (4 / 5) 50.0 % (1 / 2)
AssertBufferLocksPermitCatalogRead GNC 144078393 91.7 % (11 / 12) 90.0 % (9 / 10)
BufferGetBlockNumber CBC 237240393 100.0 % (6 / 6) 75.0 % (6 / 8)
GetPrivateRefCount GNC 723751081 100.0 % (7 / 7) 66.7 % (4 / 6)

Generated by: LCOV version 2.5.0-beta