LCOV - differential code coverage report
Current view: top level - src/backend/storage/buffer - bufmgr.c (source / functions) Coverage Total Hit LBC UBC GBC GIC GNC CBC DCB
Current: ba12a202ce1b5581dc0ed149cf3f637d7897ad5d vs 2866d8c7dbfc9d882a7d80fef93fbbe763709932 Lines: 91.6 % 2430 2226 7 197 1 2225 1
Current Date: 2026-08-27 14:31:44 +0300 Functions: 96.5 % 144 139 5 1 138
Baseline: lcov-20260827-baseline Branches: 71.8 % 1841 1322 6 513 2 4 1316
Baseline Date: 2026-08-27 14:31:58 +0300 Line coverage date bins:
Legend: Lines:     hit not hit
Branches: + taken - not taken # not executed
(7,30] days: 100.0 % 1 1 1
(30,360] days: 91.2 % 799 729 1 69 729
(360..) days: 91.8 % 1630 1496 6 128 1496
Function coverage date bins:
(30,360] days: 94.9 % 39 37 2 37
(360..) days: 97.1 % 105 102 3 1 101
Branch coverage date bins:
(30,360] days: 72.9 % 573 418 1 154 2 2 414
(360..) days: 71.3 % 1268 904 5 359 2 902

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)
HoldingBufferPinThatDelaysRecovery CBC 3 85.7 % (6 / 7) 75.0 % (3 / 4)
FlushRelationsAllBuffers CBC 4 87.9 % (29 / 33) 77.3 % (17 / 22)
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 42 100.0 % (6 / 6) 50.0 % (1 / 2)
DebugPrintBufferRefcount CBC 46 100.0 % (13 / 13) 75.0 % (3 / 4)
WakePinCountWaiter CBC 75 90.0 % (9 / 10) 50.0 % (2 / 4)
DropDatabaseBuffers CBC 86 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)
WaitIO CBC 315 100.0 % (17 / 17) 83.3 % (5 / 6)
buffer_readv_decode_error CBC 642 100.0 % (13 / 13)
WaitBufHdrUnlocked CBC 787 100.0 % (8 / 8) 100.0 % (2 / 2)
DropRelationBuffers CBC 824 100.0 % (32 / 32) 92.9 % (26 / 28)
FindAndDropRelationBuffers CBC 862 94.4 % (17 / 18) 70.0 % (7 / 10)
IssuePendingWritebacks CBC 1229 10.7 % (3 / 28) 5.6 % (1 / 18)
BufferLockDequeueSelf CBC 1244 90.0 % (18 / 20) 83.3 % (10 / 12)
BufferSync CBC 1946 97.4 % (75 / 77) 85.3 % (29 / 34)
CheckPointBuffers CBC 1946 100.0 % (3 / 3)
EvictUnpinnedBufferInternal CBC 2519 76.5 % (13 / 17) 62.5 % (5 / 8)
IsBufferCleanupOK CBC 2702 64.7 % (11 / 17) 42.9 % (6 / 14)
local_buffer_readv_complete CBC 3007 100.0 % (2 / 2)
local_buffer_readv_stage CBC 3007 100.0 % (3 / 3)
WritebackContextInit CBC 3090 100.0 % (5 / 5) 50.0 % (1 / 2)
ReleaseAndReadBuffer CBC 3647 66.7 % (12 / 18) 40.9 % (9 / 22)
ReadRecentBuffer CBC 5139 95.2 % (20 / 21) 71.4 % (10 / 14)
ResOwnerReleaseBuffer CBC 10881 92.9 % (13 / 14) 60.0 % (6 / 10)
DropRelationsAllBuffers GNC 17690 96.7 % (58 / 60) 95.7 % (44 / 46)
BgBufferSync CBC 22128 100.0 % (65 / 65) 92.9 % (39 / 42)
AtProcExit_Buffers CBC 23313 100.0 % (5 / 5)
InitBufferManagerAccess CBC 23313 100.0 % (8 / 8) 50.0 % (1 / 2)
PrefetchBuffer CBC 29720 87.5 % (7 / 8) 50.0 % (6 / 12)
BufferLockWakeup CBC 37377 97.6 % (40 / 41) 89.5 % (34 / 38)
LockBufferForCleanup CBC 38532 90.0 % (54 / 60) 76.2 % (32 / 42)
BufferLockQueueSelf CBC 40211 83.3 % (10 / 12) 25.0 % (2 / 8)
PrefetchSharedBuffer CBC 40888 100.0 % (15 / 15) 75.0 % (6 / 8)
ExtendBufferedRelTo CBC 55101 100.0 % (36 / 36) 70.0 % (42 / 60)
ExtendBufferedRel CBC 55862 100.0 % (4 / 4)
UnlockBuffers CBC 64626 36.4 % (4 / 11) 16.7 % (1 / 6)
CreateAndCopyRelationData CBC 65664 100.0 % (14 / 14) 60.0 % (6 / 10)
RelationCopyStorageUsingBuffer CBC 85574 100.0 % (32 / 32) 65.0 % (13 / 20)
InvalidateBuffer CBC 130724 84.6 % (22 / 26) 50.0 % (6 / 12)
ExtendBufferedRelBy CBC 204509 100.0 % (7 / 7) 40.0 % (4 / 10)
ConditionalLockBufferForCleanup CBC 232256 100.0 % (24 / 24) 77.8 % (14 / 18)
ExtendBufferedRelShared CBC 246350 82.4 % (70 / 85) 56.5 % (52 / 92)
LimitAdditionalPins CBC 246350 100.0 % (7 / 7) 100.0 % (4 / 4)
ExtendBufferedRelCommon CBC 261842 100.0 % (8 / 8) 70.0 % (7 / 10)
ts_ckpt_progress_comparator CBC 285560 100.0 % (8 / 8) 100.0 % (4 / 4)
BufferFinishSetHintBits CBC 304725 100.0 % (6 / 6) 87.5 % (7 / 8)
BufferBeginSetHintBits CBC 304735 100.0 % (5 / 5) 100.0 % (2 / 2)
ZeroAndLockBuffer CBC 359641 100.0 % (24 / 24) 90.0 % (18 / 20)
FlushUnlockedBuffer CBC 379483 100.0 % (6 / 6)
PinBuffer_Locked CBC 380959 100.0 % (6 / 6) 50.0 % (1 / 2)
AtEOXact_Buffers CBC 431047 100.0 % (5 / 5) 50.0 % (1 / 2)
MarkBufferDirtyHint CBC 439876 88.9 % (8 / 9) 50.0 % (3 / 6)
CheckForBufferLeaks CBC 454360 38.9 % (7 / 18) 35.7 % (5 / 14)
GetPinLimit CBC 640696 100.0 % (2 / 2)
ScheduleBufferTagForWriteback CBC 713532 40.0 % (4 / 10) 30.0 % (3 / 10)
FlushBuffer CBC 717209 100.0 % (22 / 22) 90.0 % (9 / 10)
shared_buffer_readv_complete CBC 1253793 100.0 % (2 / 2)
buffer_readv_complete CBC 1256800 100.0 % (41 / 41) 88.6 % (39 / 44)
InvalidateVictimBuffer CBC 1333960 100.0 % (26 / 26) 58.3 % (14 / 24)
shared_buffer_readv_complete_local CBC 1391749 100.0 % (8 / 8) 100.0 % (4 / 4)
shared_buffer_readv_stage CBC 1391749 100.0 % (3 / 3)
ProcessReadBuffersResult CBC 1394264 100.0 % (18 / 18) 72.7 % (16 / 22)
buffer_stage_common CBC 1394756 88.9 % (32 / 36) 57.5 % (23 / 40)
WaitReadBuffers CBC 1395914 97.6 % (40 / 41) 76.7 % (23 / 30)
AsyncReadBuffers CBC 1396874 100.0 % (70 / 70) 82.5 % (33 / 40)
buffer_readv_complete_one CBC 1401183 100.0 % (44 / 44) 88.2 % (30 / 34)
ConditionalLockBuffer CBC 1475606 100.0 % (6 / 6) 75.0 % (6 / 8)
StartBufferIO CBC 1576436 100.0 % (6 / 6) 100.0 % (2 / 2)
StartReadBuffers CBC 1695431 100.0 % (2 / 2)
BufferLockConditional CBC 1748249 90.0 % (9 / 10) 66.7 % (4 / 6)
GetVictimBuffer CBC 2158076 93.9 % (31 / 33) 83.3 % (25 / 30)
RelationGetNumberOfBlocksInFork CBC 2258983 85.7 % (6 / 7) 62.5 % (10 / 16)
SyncOneBuffer CBC 2688798 100.0 % (21 / 21) 100.0 % (10 / 10)
TerminateBufferIO CBC 2702132 95.0 % (19 / 20) 78.6 % (11 / 14)
StartSharedBufferIO CBC 2877534 100.0 % (21 / 21) 100.0 % (12 / 12)
GetAdditionalPinLimit CBC 3370779 100.0 % (5 / 5) 100.0 % (2 / 2)
ckpt_buforder_comparator CBC 3499551 100.0 % (18 / 18) 100.0 % (16 / 16)
CheckBufferIsPinnedOnce CBC 4473958 71.4 % (5 / 7) 40.0 % (4 / 10)
ReadBufferWithoutRelcache CBC 5958103 100.0 % (3 / 3) 50.0 % (1 / 2)
BufferGetLSNAtomic CBC 8001475 100.0 % (4 / 4) 62.5 % (5 / 8)
rlocator_comparator CBC 13257037 75.0 % (12 / 16) 66.7 % (8 / 12)
IncrBufferRefCount CBC 14160917 100.0 % (10 / 10) 70.0 % (7 / 10)
SharedBufferBeginSetHintBits CBC 15226710 90.9 % (20 / 22) 61.1 % (11 / 18)
MarkSharedBufferDirtyHint CBC 15341264 100.0 % (25 / 25) 85.7 % (24 / 28)
BufferSetHintBits16 CBC 15822341 100.0 % (13 / 13) 75.0 % (6 / 8)
BufferIsPermanent CBC 17543692 100.0 % (7 / 7) 60.0 % (6 / 10)
BufferGetTag CBC 27630807 88.9 % (8 / 9) 50.0 % (4 / 8)
BufferIsDirty CBC 27706820 100.0 % (8 / 8) 75.0 % (9 / 12)
LockBufHdr CBC 27973487 100.0 % (11 / 11) 83.3 % (5 / 6)
BufferLockHeldByMe CBC 28681655 80.0 % (4 / 5) 50.0 % (1 / 2)
MarkBufferDirty CBC 34706917 95.2 % (20 / 21) 66.7 % (16 / 24)
AssertNotCatalogBufferLock CBC 44881285 88.9 % (8 / 9) 66.7 % (4 / 6)
UnpinBuffer CBC 47183499 100.0 % (5 / 5)
UnpinBufferNoOwner CBC 47190386 100.0 % (14 / 14) 66.7 % (8 / 12)
ReleaseBuffer CBC 47616662 85.7 % (6 / 7) 50.0 % (3 / 6)
UnlockReleaseBuffer CBC 50162433 95.2 % (20 / 21) 66.7 % (12 / 18)
ReadBuffer CBC 62166665 100.0 % (2 / 2)
BufferLockUnlock CBC 62815472 100.0 % (7 / 7) 50.0 % (1 / 2)
UnlockBuffer CBC 67842071 100.0 % (6 / 6) 75.0 % (6 / 8)
ReadBufferExtended CBC 73276340 100.0 % (3 / 3)
ForgetPrivateRefCountEntry CBC 74956449 100.0 % (11 / 11) 60.0 % (6 / 10)
NewPrivateRefCountEntry CBC 74956449 100.0 % (10 / 10) 50.0 % (1 / 2)
TrackNewBufferPin CBC 74956449 100.0 % (5 / 5)
ReadBuffer_common CBC 79234445 96.8 % (30 / 31) 89.3 % (25 / 28)
PinBuffer CBC 79643127 100.0 % (28 / 28) 87.5 % (21 / 24)
StartReadBuffer CBC 81079261 100.0 % (5 / 5) 50.0 % (1 / 2)
TrackBufferHit CBC 81418069 100.0 % (10 / 10) 100.0 % (14 / 14)
BufferAlloc CBC 81522069 100.0 % (42 / 42) 87.5 % (14 / 16)
StartReadBuffersImpl CBC 82774692 94.6 % (53 / 56) 76.1 % (35 / 46)
PinBufferForBlock CBC 83313246 100.0 % (11 / 11) 90.9 % (20 / 22)
CheckReadBuffersOperation CBC 85567957 100.0 % (13 / 13) 72.2 % (13 / 18)
ReservePrivateRefCountEntry CBC 86747020 100.0 % (23 / 23) 75.0 % (12 / 16)
BufferLockAcquire CBC 109771777 89.5 % (34 / 38) 66.7 % (10 / 15)
BufferLockDisownInternal CBC 111518185 85.7 % (6 / 7) 25.0 % (1 / 4)
BufferLockProcessRelease CBC 111518185 100.0 % (15 / 15) 91.7 % (11 / 12)
BufferLockReleaseSub CBC 111518185 100.0 % (7 / 7) 83.3 % (5 / 6)
BufferLockAttempt CBC 111599204 100.0 % (19 / 19) 100.0 % (14 / 14)
LockBufferInternal CBC 116145098 78.6 % (11 / 14) 50.0 % (11 / 22)
BufferIsLockedByMeInMode CBC 116212154 100.0 % (6 / 6) 75.0 % (6 / 8)
GetPrivateRefCountEntrySlow CBC 124147452 100.0 % (30 / 30) 80.0 % (16 / 20)
BufferLockHeldByMeInMode CBC 138464023 80.0 % (4 / 5) 50.0 % (1 / 2)
AssertBufferLocksPermitCatalogRead CBC 141799083 91.7 % (11 / 12) 90.0 % (9 / 10)
BufferGetBlockNumber CBC 231789141 100.0 % (6 / 6) 75.0 % (6 / 8)
GetPrivateRefCount CBC 712861755 100.0 % (7 / 7) 66.7 % (4 / 6)
GetPrivateRefCountEntry CBC 1307885708 100.0 % (7 / 7) 75.0 % (6 / 8)

Generated by: LCOV version 2.0-1