LCOV - differential code coverage report
Current view: top level - src/backend/storage/buffer - bufmgr.c (source / functions) Coverage Total Hit UNC LBC UBC GBC GIC GNC CBC DUB DCB
Current: 1a1248818fb8b8b0353c292c632d6a6af77e8209 vs 8e82d6610e7280d7870c0c36ff1c797e3cfb3e09 Lines: 91.8 % 2431 2232 1 1 197 10 2222 1 10
Current Date: 2026-10-12 11:56:10 +0200 Functions: 96.5 % 144 139 5 4 135
Baseline: lcov-20261012-baseline Branches: 72.1 % 1841 1327 1 1 512 4 4 3 1316
Baseline Date: 2026-10-12 10:36:06 +0200 Line coverage date bins:
Legend: Lines:     hit not hit
Branches: + taken - not taken # not executed
(1,7] days: 100.0 % 1 1 1
(30,360] days: 91.5 % 774 708 1 1 64 10 698
(360..) days: 92.0 % 1656 1523 133 1523
Function coverage date bins:
(30,360] days: 94.3 % 35 33 2 33
(360..) days: 97.2 % 109 106 3 4 102
Branch coverage date bins:
(30,360] days: 73.5 % 551 405 1 145 2 2 3 398
(360..) days: 71.5 % 1290 922 1 367 2 2 918

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 GNC 4 85.7 % (6 / 7) 75.0 % (3 / 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)
MarkDirtyUnpinnedBufferInternal CBC 36 90.0 % (18 / 20) 75.0 % (6 / 8)
shared_buffer_write_error_callback CBC 43 100.0 % (6 / 6) 50.0 % (1 / 2)
DebugPrintBufferRefcount CBC 46 100.0 % (13 / 13) 75.0 % (3 / 4)
WakePinCountWaiter CBC 56 90.0 % (9 / 10) 50.0 % (2 / 4)
DropDatabaseBuffers CBC 87 90.0 % (9 / 10) 83.3 % (5 / 6)
BufferIsLockedByMe CBC 110 83.3 % (5 / 6) 50.0 % (4 / 8)
FlushOneBuffer CBC 110 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)
WaitIO CBC 237 100.0 % (17 / 17) 83.3 % (5 / 6)
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 706 100.0 % (8 / 8) 100.0 % (2 / 2)
DropRelationBuffers CBC 819 100.0 % (32 / 32) 92.9 % (26 / 28)
FindAndDropRelationBuffers CBC 861 94.4 % (17 / 18) 70.0 % (7 / 10)
BufferLockDequeueSelf CBC 1154 90.0 % (18 / 20) 83.3 % (10 / 12)
IssuePendingWritebacks CBC 1260 10.7 % (3 / 28) 5.6 % (1 / 18)
BufferSync CBC 1998 97.4 % (75 / 77) 88.2 % (30 / 34)
CheckPointBuffers CBC 1998 100.0 % (3 / 3)
EvictUnpinnedBufferInternal CBC 2476 76.5 % (13 / 17) 62.5 % (5 / 8)
IsBufferCleanupOK CBC 2702 64.7 % (11 / 17) 42.9 % (6 / 14)
local_buffer_readv_complete CBC 3044 100.0 % (2 / 2)
local_buffer_readv_stage CBC 3044 100.0 % (3 / 3)
ReleaseAndReadBuffer CBC 3647 66.7 % (12 / 18) 40.9 % (9 / 22)
ReadRecentBuffer CBC 5187 95.2 % (20 / 21) 71.4 % (10 / 14)
ResOwnerReleaseBuffer CBC 11764 92.9 % (13 / 14) 60.0 % (6 / 10)
DropRelationsAllBuffers GNC 17554 96.7 % (58 / 60) 95.7 % (44 / 46)
BgBufferSync CBC 21858 100.0 % (65 / 65) 92.9 % (39 / 42)
AtProcExit_Buffers CBC 23932 100.0 % (5 / 5)
InitBufferManagerAccess CBC 23932 100.0 % (9 / 9) 50.0 % (1 / 2)
WritebackContextInit CBC 25843 100.0 % (5 / 5) 50.0 % (1 / 2)
PrefetchBuffer CBC 29084 87.5 % (7 / 8) 50.0 % (6 / 12)
LockBufferForCleanup GNC 34930 90.0 % (54 / 60) 76.2 % (32 / 42)
BufferLockWakeup CBC 35982 97.6 % (40 / 41) 89.5 % (34 / 38)
BufferLockQueueSelf CBC 38736 83.3 % (10 / 12) 25.0 % (2 / 8)
PrefetchSharedBuffer CBC 40502 100.0 % (15 / 15) 75.0 % (6 / 8)
ExtendBufferedRelTo CBC 55600 100.0 % (36 / 36) 71.7 % (43 / 60)
ExtendBufferedRel CBC 56092 100.0 % (4 / 4)
CreateAndCopyRelationData CBC 61404 100.0 % (14 / 14) 60.0 % (6 / 10)
UnlockBuffers CBC 65008 36.4 % (4 / 11) 16.7 % (1 / 6)
RelationCopyStorageUsingBuffer CBC 81684 100.0 % (32 / 32) 65.0 % (13 / 20)
InvalidateBuffer CBC 131676 96.2 % (25 / 26) 58.3 % (7 / 12)
ExtendBufferedRelBy CBC 206799 100.0 % (7 / 7) 40.0 % (4 / 10)
ConditionalLockBufferForCleanup CBC 228688 100.0 % (24 / 24) 77.8 % (14 / 18)
ExtendBufferedRelShared CBC 249123 82.4 % (70 / 85) 56.5 % (52 / 92)
LimitAdditionalPins CBC 249123 100.0 % (7 / 7) 100.0 % (4 / 4)
ExtendBufferedRelCommon CBC 264712 100.0 % (8 / 8) 70.0 % (7 / 10)
ts_ckpt_progress_comparator CBC 288593 100.0 % (8 / 8) 100.0 % (4 / 4)
BufferFinishSetHintBits CBC 303026 100.0 % (6 / 6) 87.5 % (7 / 8)
BufferBeginSetHintBits CBC 303037 100.0 % (5 / 5) 100.0 % (2 / 2)
ZeroAndLockBuffer CBC 356882 100.0 % (24 / 24) 90.0 % (18 / 20)
FlushUnlockedBuffer CBC 380188 100.0 % (6 / 6)
PinBuffer_Locked CBC 381648 100.0 % (6 / 6) 50.0 % (1 / 2)
AtEOXact_Buffers CBC 427069 100.0 % (5 / 5) 50.0 % (1 / 2)
CheckForBufferLeaks CBC 451001 38.9 % (7 / 18) 35.7 % (5 / 14)
GetPinLimit CBC 628754 100.0 % (2 / 2)
ScheduleBufferTagForWriteback CBC 709324 70.0 % (7 / 10) 60.0 % (6 / 10)
FlushBuffer CBC 712972 100.0 % (22 / 22) 90.0 % (9 / 10)
MarkBufferDirtyHint CBC 727179 88.9 % (8 / 9) 50.0 % (3 / 6)
shared_buffer_readv_complete CBC 1232626 100.0 % (2 / 2)
buffer_readv_complete CBC 1235670 100.0 % (41 / 41) 88.6 % (39 / 44)
InvalidateVictimBuffer CBC 1309769 100.0 % (26 / 26) 58.3 % (14 / 24)
shared_buffer_readv_complete_local CBC 1370427 100.0 % (8 / 8) 100.0 % (4 / 4)
shared_buffer_readv_stage CBC 1370427 100.0 % (3 / 3)
ProcessReadBuffersResult CBC 1372982 100.0 % (18 / 18) 72.7 % (16 / 22)
buffer_stage_common CBC 1373471 88.9 % (32 / 36) 57.5 % (23 / 40)
WaitReadBuffers CBC 1374328 97.6 % (40 / 41) 76.7 % (23 / 30)
AsyncReadBuffers CBC 1375345 100.0 % (70 / 70) 82.5 % (33 / 40)
buffer_readv_complete_one CBC 1377642 100.0 % (44 / 44) 88.2 % (30 / 34)
ConditionalLockBuffer CBC 1472770 100.0 % (6 / 6) 75.0 % (6 / 8)
StartBufferIO CBC 1550804 100.0 % (6 / 6) 100.0 % (2 / 2)
StartReadBuffers CBC 1682595 100.0 % (2 / 2)
BufferLockConditional CBC 1741002 90.0 % (9 / 10) 66.7 % (4 / 6)
GetVictimBuffer CBC 2132455 93.9 % (31 / 33) 83.3 % (25 / 30)
RelationGetNumberOfBlocksInFork CBC 2280519 85.7 % (6 / 7) 62.5 % (10 / 16)
SyncOneBuffer CBC 2628608 100.0 % (21 / 21) 100.0 % (10 / 10)
TerminateBufferIO CBC 2674338 95.0 % (19 / 20) 78.6 % (11 / 14)
StartSharedBufferIO CBC 2847643 100.0 % (21 / 21) 100.0 % (12 / 12)
GetAdditionalPinLimit CBC 3345355 100.0 % (5 / 5) 100.0 % (2 / 2)
ckpt_buforder_comparator CBC 3541047 100.0 % (18 / 18) 100.0 % (16 / 16)
CheckBufferIsPinnedOnce CBC 4417029 71.4 % (5 / 7) 40.0 % (4 / 10)
ReadBufferWithoutRelcache CBC 5937488 100.0 % (3 / 3) 50.0 % (1 / 2)
BufferGetLSNAtomic CBC 8220699 100.0 % (4 / 4) 62.5 % (5 / 8)
rlocator_comparator CBC 13306953 75.0 % (12 / 16) 66.7 % (8 / 12)
IncrBufferRefCount CBC 13980654 100.0 % (10 / 10) 70.0 % (7 / 10)
SharedBufferBeginSetHintBits CBC 15237515 90.9 % (20 / 22) 61.1 % (11 / 18)
MarkSharedBufferDirtyHint CBC 15650592 100.0 % (25 / 25) 85.7 % (24 / 28)
BufferSetHintBits16 CBC 15836403 100.0 % (13 / 13) 75.0 % (6 / 8)
BufferIsPermanent CBC 17572096 100.0 % (7 / 7) 60.0 % (6 / 10)
BufferLockHeldByMe CBC 21772405 80.0 % (4 / 5) 50.0 % (1 / 2)
BufferGetTag CBC 27713085 88.9 % (8 / 9) 50.0 % (4 / 8)
BufferIsDirty CBC 27763262 75.0 % (6 / 8) 58.3 % (7 / 12)
LockBufHdr CBC 28278256 100.0 % (11 / 11) 83.3 % (5 / 6)
MarkBufferDirty CBC 34496510 95.2 % (20 / 21) 66.7 % (16 / 24)
UnpinBuffer CBC 39927082 100.0 % (5 / 5)
UnpinBufferNoOwner CBC 39933759 100.0 % (14 / 14) 66.7 % (8 / 12)
ReleaseBuffer CBC 40355300 85.7 % (6 / 7) 50.0 % (3 / 6)
AssertNotCatalogBufferLock CBC 40871863 88.9 % (8 / 9) 66.7 % (4 / 6)
BufferLockUnlock CBC 55080579 100.0 % (7 / 7) 50.0 % (1 / 2)
UnlockReleaseBuffer CBC 57859054 100.0 % (21 / 21) 72.2 % (13 / 18)
UnlockBuffer CBC 60111903 100.0 % (6 / 6) 75.0 % (6 / 8)
ReadBuffer CBC 62665052 100.0 % (2 / 2)
ReadBufferExtended CBC 73985264 100.0 % (3 / 3)
ForgetPrivateRefCountEntry CBC 75590348 100.0 % (11 / 11) 60.0 % (6 / 10)
NewPrivateRefCountEntry CBC 75590348 100.0 % (10 / 10) 50.0 % (1 / 2)
TrackNewBufferPin CBC 75590348 100.0 % (5 / 5)
ReadBuffer_common GNC 79922756 96.8 % (30 / 31) 89.3 % (25 / 28)
PinBuffer CBC 80284444 100.0 % (28 / 28) 87.5 % (21 / 24)
StartReadBuffer CBC 81711505 100.0 % (5 / 5) 50.0 % (1 / 2)
TrackBufferHit CBC 82059005 100.0 % (10 / 10) 100.0 % (14 / 14)
BufferAlloc CBC 82134897 100.0 % (42 / 42) 87.5 % (14 / 16)
StartReadBuffersImpl CBC 83394100 94.6 % (53 / 56) 76.1 % (35 / 46)
PinBufferForBlock CBC 83925794 100.0 % (11 / 11) 90.9 % (20 / 22)
CheckReadBuffersOperation CBC 86144171 100.0 % (13 / 13) 72.2 % (13 / 18)
ReservePrivateRefCountEntry CBC 87276155 100.0 % (23 / 23) 75.0 % (12 / 16)
BufferLockAcquire CBC 109741182 89.5 % (34 / 38) 66.7 % (10 / 15)
BufferLockDisownInternal CBC 111480459 85.7 % (6 / 7) 25.0 % (1 / 4)
BufferLockProcessRelease CBC 111480459 100.0 % (15 / 15) 91.7 % (11 / 12)
BufferLockReleaseSub CBC 111480459 100.0 % (7 / 7) 83.3 % (5 / 6)
BufferLockAttempt CBC 111558502 100.0 % (19 / 19) 100.0 % (14 / 14)
LockBufferInternal CBC 116118618 78.6 % (11 / 14) 50.0 % (11 / 22)
BufferIsLockedByMeInMode CBC 116216694 100.0 % (6 / 6) 75.0 % (6 / 8)
GetPrivateRefCountEntrySlow CBC 125459126 100.0 % (30 / 30) 80.0 % (16 / 20)
BufferLockHeldByMeInMode CBC 138758906 80.0 % (4 / 5) 50.0 % (1 / 2)
AssertBufferLocksPermitCatalogRead CBC 140842690 91.7 % (11 / 12) 90.0 % (9 / 10)
BufferGetBlockNumber CBC 224381753 100.0 % (6 / 6) 75.0 % (6 / 8)
GetPrivateRefCount CBC 705558529 100.0 % (7 / 7) 66.7 % (4 / 6)
GetPrivateRefCountEntry CBC 1294809392 100.0 % (7 / 7) 75.0 % (6 / 8)

Generated by: LCOV version 2.0-1