LCOV - differential code coverage report
Current view: top level - src/backend/storage/buffer - bufmgr.c (source / functions) Coverage Total Hit LBC UBC GBC CBC
Current: 603a3335f2b60b2c798da5c627b3bb288b92a7bd vs e395fbd32a07557de4ac98088928c1749d4845d8 Lines: 91.4 % 2430 2221 12 197 1 2220
Current Date: 2026-07-25 17:13:00 -0400 Functions: 96.5 % 144 139 5 139
Baseline: lcov-20260726-baseline Branches: 71.4 % 1837 1311 12 514 1 1310
Baseline Date: 2026-07-25 19:16:42 +0200 Line coverage date bins:
Legend: Lines:     hit not hit
Branches: + taken - not taken # not executed
(7,30] days: 82.4 % 17 14 3 14
(30,360] days: 91.4 % 795 727 1 67 727
(360..) days: 91.5 % 1618 1480 11 127 1 1479
Function coverage date bins:
(30,360] days: 94.9 % 39 37 2 37
(360..) days: 97.1 % 105 102 3 102
Branch coverage date bins:
(7,30] days: 71.4 % 14 10 4 10
(30,360] days: 72.4 % 557 403 3 151 403
(360..) days: 70.9 % 1266 898 9 359 1 897

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 UBC 0 0.0 % (0 / 4) 0.0 % (0 / 2)
ResOwnerPrintBuffer UBC 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 CBC 1 94.7 % (18 / 19) 80.0 % (8 / 10)
MarkDirtyAllUnpinnedBuffers CBC 1 94.7 % (18 / 19) 80.0 % (8 / 10)
MarkDirtyRelUnpinnedBuffers CBC 1 52.0 % (13 / 25) 38.9 % (7 / 18)
MarkDirtyUnpinnedBuffer CBC 1 100.0 % (10 / 10) 33.3 % (2 / 6)
FlushRelationsAllBuffers CBC 4 87.9 % (29 / 33) 77.3 % (17 / 22)
HoldingBufferPinThatDelaysRecovery CBC 4 100.0 % (7 / 7) 100.0 % (4 / 4)
FlushDatabaseBuffers CBC 5 100.0 % (15 / 15) 87.5 % (7 / 8)
AbortBufferIO CBC 15 69.2 % (9 / 13) 25.0 % (3 / 12)
ResOwnerReleaseBufferIO CBC 15 100.0 % (4 / 4)
EvictRelUnpinnedBuffers CBC 29 88.0 % (22 / 25) 72.2 % (13 / 18)
WakePinCountWaiter CBC 30 90.0 % (9 / 10) 50.0 % (2 / 4)
MarkDirtyUnpinnedBufferInternal CBC 36 90.0 % (18 / 20) 75.0 % (6 / 8)
shared_buffer_write_error_callback CBC 42 100.0 % (6 / 6) 50.0 % (1 / 2)
DebugPrintBufferRefcount CBC 46 100.0 % (13 / 13) 75.0 % (3 / 4)
DropDatabaseBuffers CBC 82 90.0 % (9 / 10) 83.3 % (5 / 6)
BufferIsLockedByMe CBC 112 83.3 % (5 / 6) 50.0 % (4 / 8)
FlushOneBuffer CBC 112 100.0 % (7 / 7) 50.0 % (5 / 10)
EvictUnpinnedBuffer CBC 137 100.0 % (7 / 7) 50.0 % (2 / 4)
FlushRelationBuffers CBC 181 100.0 % (31 / 31) 93.8 % (15 / 16)
buffer_readv_encode_error CBC 192 100.0 % (31 / 31) 75.0 % (18 / 24)
buffer_readv_report CBC 272 97.2 % (35 / 36) 71.1 % (27 / 38)
buffer_readv_decode_error CBC 642 100.0 % (13 / 13)
WaitBufHdrUnlocked CBC 810 100.0 % (8 / 8) 100.0 % (2 / 2)
DropRelationBuffers CBC 839 100.0 % (32 / 32) 92.9 % (26 / 28)
FindAndDropRelationBuffers CBC 916 94.4 % (17 / 18) 70.0 % (7 / 10)
BufferLockDequeueSelf CBC 1171 90.0 % (18 / 20) 83.3 % (10 / 12)
IssuePendingWritebacks CBC 1212 10.7 % (3 / 28) 5.6 % (1 / 18)
BufferSync CBC 1930 97.4 % (75 / 77) 85.3 % (29 / 34)
CheckPointBuffers CBC 1930 100.0 % (3 / 3)
EvictUnpinnedBufferInternal CBC 2516 76.5 % (13 / 17) 62.5 % (5 / 8)
IsBufferCleanupOK CBC 2708 64.7 % (11 / 17) 42.9 % (6 / 14)
local_buffer_readv_complete CBC 2854 100.0 % (2 / 2)
local_buffer_readv_stage CBC 2854 100.0 % (3 / 3)
WritebackContextInit CBC 3052 100.0 % (5 / 5) 50.0 % (1 / 2)
ReleaseAndReadBuffer CBC 3646 66.7 % (12 / 18) 40.9 % (9 / 22)
ReadRecentBuffer CBC 5126 95.2 % (20 / 21) 71.4 % (10 / 14)
WaitIO CBC 6692 100.0 % (17 / 17) 83.3 % (5 / 6)
ResOwnerReleaseBuffer CBC 10857 92.9 % (13 / 14) 60.0 % (6 / 10)
DropRelationsAllBuffers CBC 18244 96.7 % (58 / 60) 95.7 % (44 / 46)
BgBufferSync CBC 21482 100.0 % (65 / 65) 92.9 % (39 / 42)
AtProcExit_Buffers CBC 22809 100.0 % (5 / 5)
InitBufferManagerAccess CBC 22809 100.0 % (8 / 8) 50.0 % (1 / 2)
PrefetchBuffer CBC 29735 87.5 % (7 / 8) 50.0 % (6 / 12)
BufferLockWakeup CBC 38508 97.6 % (40 / 41) 84.2 % (32 / 38)
LockBufferForCleanup CBC 39167 90.0 % (54 / 60) 76.2 % (32 / 42)
PrefetchSharedBuffer CBC 40763 100.0 % (15 / 15) 75.0 % (6 / 8)
BufferLockQueueSelf CBC 41546 83.3 % (10 / 12) 25.0 % (2 / 8)
ExtendBufferedRelTo CBC 55816 94.4 % (34 / 36) 65.0 % (39 / 60)
ExtendBufferedRel CBC 56441 100.0 % (4 / 4)
UnlockBuffers CBC 64012 36.4 % (4 / 11) 16.7 % (1 / 6)
CreateAndCopyRelationData CBC 64688 100.0 % (14 / 14) 60.0 % (6 / 10)
RelationCopyStorageUsingBuffer CBC 84302 100.0 % (32 / 32) 65.0 % (13 / 20)
InvalidateBuffer CBC 127253 96.2 % (25 / 26) 58.3 % (7 / 12)
ExtendBufferedRelBy CBC 205839 100.0 % (7 / 7) 40.0 % (4 / 10)
ConditionalLockBufferForCleanup CBC 243829 100.0 % (24 / 24) 77.8 % (14 / 18)
ExtendBufferedRelShared CBC 248912 74.1 % (63 / 85) 52.2 % (48 / 92)
LimitAdditionalPins CBC 248912 100.0 % (7 / 7) 100.0 % (4 / 4)
ExtendBufferedRelCommon CBC 263905 100.0 % (8 / 8) 70.0 % (7 / 10)
ts_ckpt_progress_comparator CBC 275201 100.0 % (8 / 8) 100.0 % (4 / 4)
BufferFinishSetHintBits CBC 316277 100.0 % (6 / 6) 87.5 % (7 / 8)
BufferBeginSetHintBits CBC 316297 100.0 % (5 / 5) 100.0 % (2 / 2)
ZeroAndLockBuffer CBC 357478 100.0 % (24 / 24) 90.0 % (18 / 20)
FlushUnlockedBuffer CBC 367551 100.0 % (6 / 6)
PinBuffer_Locked CBC 369025 100.0 % (6 / 6) 50.0 % (1 / 2)
AtEOXact_Buffers CBC 429245 100.0 % (5 / 5) 50.0 % (1 / 2)
CheckForBufferLeaks CBC 452054 38.9 % (7 / 18) 35.7 % (5 / 14)
MarkBufferDirtyHint CBC 458519 88.9 % (8 / 9) 50.0 % (3 / 6)
GetPinLimit CBC 645167 100.0 % (2 / 2)
ScheduleBufferTagForWriteback CBC 731092 40.0 % (4 / 10) 30.0 % (3 / 10)
FlushBuffer CBC 734747 100.0 % (22 / 22) 90.0 % (9 / 10)
shared_buffer_readv_complete CBC 1307929 100.0 % (2 / 2)
buffer_readv_complete CBC 1310783 100.0 % (41 / 41) 88.6 % (39 / 44)
InvalidateVictimBuffer CBC 1393966 100.0 % (26 / 26) 58.3 % (14 / 24)
shared_buffer_readv_complete_local CBC 1445582 100.0 % (8 / 8) 100.0 % (4 / 4)
shared_buffer_readv_stage CBC 1445582 100.0 % (3 / 3)
ProcessReadBuffersResult CBC 1447942 100.0 % (18 / 18) 72.7 % (16 / 22)
buffer_stage_common CBC 1448436 88.9 % (32 / 36) 57.5 % (23 / 40)
WaitReadBuffers CBC 1450322 97.6 % (40 / 41) 76.7 % (23 / 30)
AsyncReadBuffers CBC 1451374 100.0 % (70 / 70) 82.5 % (33 / 40)
buffer_readv_complete_one CBC 1454286 100.0 % (44 / 44) 88.2 % (30 / 34)
ConditionalLockBuffer CBC 1483473 100.0 % (6 / 6) 75.0 % (6 / 8)
StartBufferIO CBC 1630030 100.0 % (6 / 6) 100.0 % (2 / 2)
StartReadBuffers CBC 1748264 100.0 % (2 / 2)
BufferLockConditional CBC 1789889 90.0 % (9 / 10) 66.7 % (4 / 6)
GetVictimBuffer CBC 2211013 93.9 % (31 / 33) 83.3 % (25 / 30)
RelationGetNumberOfBlocksInFork CBC 2249692 85.7 % (6 / 7) 62.5 % (10 / 16)
SyncOneBuffer CBC 2647406 100.0 % (21 / 21) 100.0 % (10 / 10)
TerminateBufferIO CBC 2772773 95.0 % (19 / 20) 78.6 % (11 / 14)
StartSharedBufferIO CBC 2948667 100.0 % (21 / 21) 100.0 % (12 / 12)
ckpt_buforder_comparator CBC 3379336 100.0 % (18 / 18) 100.0 % (16 / 16)
GetAdditionalPinLimit CBC 3478839 100.0 % (5 / 5) 100.0 % (2 / 2)
CheckBufferIsPinnedOnce CBC 4596740 71.4 % (5 / 7) 40.0 % (4 / 10)
ReadBufferWithoutRelcache CBC 6011451 100.0 % (3 / 3) 50.0 % (1 / 2)
BufferGetLSNAtomic CBC 8044140 100.0 % (4 / 4) 62.5 % (5 / 8)
rlocator_comparator CBC 13257622 75.0 % (12 / 16) 66.7 % (8 / 12)
SharedBufferBeginSetHintBits CBC 13914811 90.9 % (20 / 22) 61.1 % (11 / 18)
MarkSharedBufferDirtyHint CBC 14037299 100.0 % (25 / 25) 85.7 % (24 / 28)
IncrBufferRefCount CBC 14175527 100.0 % (10 / 10) 70.0 % (7 / 10)
BufferSetHintBits16 CBC 14404596 100.0 % (13 / 13) 75.0 % (6 / 8)
BufferIsPermanent CBC 17508271 100.0 % (7 / 7) 60.0 % (6 / 10)
BufferGetTag CBC 27778946 88.9 % (8 / 9) 50.0 % (4 / 8)
BufferIsDirty CBC 27897425 100.0 % (8 / 8) 75.0 % (9 / 12)
LockBufHdr CBC 28018396 100.0 % (11 / 11) 83.3 % (5 / 6)
BufferLockHeldByMe CBC 28921163 80.0 % (4 / 5) 50.0 % (1 / 2)
MarkBufferDirty CBC 34731762 95.2 % (20 / 21) 66.7 % (16 / 24)
AssertNotCatalogBufferLock CBC 44674439 88.9 % (8 / 9) 66.7 % (4 / 6)
UnpinBuffer CBC 47498027 100.0 % (5 / 5)
UnpinBufferNoOwner CBC 47504889 100.0 % (14 / 14) 66.7 % (8 / 12)
ReleaseBuffer CBC 47876250 85.7 % (6 / 7) 50.0 % (3 / 6)
UnlockReleaseBuffer CBC 50508107 95.2 % (20 / 21) 66.7 % (12 / 18)
ReadBuffer CBC 62665543 100.0 % (2 / 2)
BufferLockUnlock CBC 63219526 100.0 % (7 / 7) 50.0 % (1 / 2)
UnlockBuffer CBC 68052626 100.0 % (6 / 6) 75.0 % (6 / 8)
ReadBufferExtended CBC 73700344 100.0 % (3 / 3)
ForgetPrivateRefCountEntry CBC 75645035 100.0 % (11 / 11) 60.0 % (6 / 10)
NewPrivateRefCountEntry CBC 75645035 100.0 % (10 / 10) 50.0 % (1 / 2)
TrackNewBufferPin CBC 75645035 100.0 % (5 / 5)
ReadBuffer_common CBC 79711795 96.8 % (30 / 31) 89.3 % (25 / 28)
PinBuffer CBC 80319522 100.0 % (28 / 28) 87.5 % (21 / 24)
StartReadBuffer CBC 81613871 100.0 % (5 / 5) 50.0 % (1 / 2)
TrackBufferHit CBC 81952298 100.0 % (10 / 10) 100.0 % (12 / 12)
BufferAlloc CBC 82248778 100.0 % (42 / 42) 87.5 % (14 / 16)
StartReadBuffersImpl CBC 83362135 94.6 % (53 / 56) 76.1 % (35 / 46)
PinBufferForBlock CBC 83897620 100.0 % (11 / 11) 90.0 % (18 / 20)
CheckReadBuffersOperation CBC 86264223 100.0 % (13 / 13) 72.2 % (13 / 18)
ReservePrivateRefCountEntry CBC 87487251 100.0 % (23 / 23) 75.0 % (12 / 16)
BufferLockAcquire CBC 110557286 89.5 % (34 / 38) 66.7 % (10 / 15)
BufferLockDisownInternal CBC 112345717 85.7 % (6 / 7) 25.0 % (1 / 4)
BufferLockProcessRelease CBC 112345717 100.0 % (15 / 15) 91.7 % (11 / 12)
BufferLockReleaseSub CBC 112345717 100.0 % (7 / 7) 83.3 % (5 / 6)
BufferLockAttempt CBC 112429096 100.0 % (19 / 19) 100.0 % (14 / 14)
LockBufferInternal CBC 116660733 78.6 % (11 / 14) 50.0 % (11 / 22)
BufferIsLockedByMeInMode CBC 116900468 100.0 % (6 / 6) 75.0 % (6 / 8)
GetPrivateRefCountEntrySlow CBC 124893863 100.0 % (30 / 30) 80.0 % (16 / 20)
BufferLockHeldByMeInMode CBC 138531422 80.0 % (4 / 5) 50.0 % (1 / 2)
AssertBufferLocksPermitCatalogRead CBC 142272319 91.7 % (11 / 12) 90.0 % (9 / 10)
BufferGetBlockNumber CBC 233569710 100.0 % (6 / 6) 75.0 % (6 / 8)
GetPrivateRefCount CBC 716764919 100.0 % (7 / 7) 66.7 % (4 / 6)
GetPrivateRefCountEntry CBC 1313857197 100.0 % (7 / 7) 75.0 % (6 / 8)

Generated by: LCOV version 2.0-1