/src/postgres/src/include/storage/bufmgr.h
Line | Count | Source |
1 | | /*------------------------------------------------------------------------- |
2 | | * |
3 | | * bufmgr.h |
4 | | * POSTGRES buffer manager definitions. |
5 | | * |
6 | | * |
7 | | * Portions Copyright (c) 1996-2026, PostgreSQL Global Development Group |
8 | | * Portions Copyright (c) 1994, Regents of the University of California |
9 | | * |
10 | | * src/include/storage/bufmgr.h |
11 | | * |
12 | | *------------------------------------------------------------------------- |
13 | | */ |
14 | | #ifndef BUFMGR_H |
15 | | #define BUFMGR_H |
16 | | |
17 | | #include "port/pg_iovec.h" |
18 | | #include "storage/aio_types.h" |
19 | | #include "storage/block.h" |
20 | | #include "storage/buf.h" |
21 | | #include "storage/bufpage.h" |
22 | | #include "storage/relfilelocator.h" |
23 | | #include "utils/relcache.h" |
24 | | #include "utils/snapmgr.h" |
25 | | |
26 | | typedef void *Block; |
27 | | |
28 | | /* |
29 | | * Possible arguments for GetAccessStrategy(). |
30 | | * |
31 | | * If adding a new BufferAccessStrategyType, also add a new IOContext so |
32 | | * IO statistics using this strategy are tracked. |
33 | | */ |
34 | | typedef enum BufferAccessStrategyType |
35 | | { |
36 | | BAS_NORMAL, /* Normal random access */ |
37 | | BAS_BULKREAD, /* Large read-only scan (hint bit updates are |
38 | | * ok) */ |
39 | | BAS_BULKWRITE, /* Large multi-block write (e.g. COPY IN) */ |
40 | | BAS_VACUUM, /* VACUUM */ |
41 | | } BufferAccessStrategyType; |
42 | | |
43 | | /* Possible modes for ReadBufferExtended() */ |
44 | | typedef enum |
45 | | { |
46 | | RBM_NORMAL, /* Normal read */ |
47 | | RBM_ZERO_AND_LOCK, /* Don't read from disk, caller will |
48 | | * initialize. Also locks the page. */ |
49 | | RBM_ZERO_AND_CLEANUP_LOCK, /* Like RBM_ZERO_AND_LOCK, but locks the page |
50 | | * in "cleanup" mode */ |
51 | | RBM_ZERO_ON_ERROR, /* Read, but return an all-zeros page on error */ |
52 | | RBM_NORMAL_NO_LOG, /* Don't log page as invalid during WAL |
53 | | * replay; otherwise same as RBM_NORMAL */ |
54 | | } ReadBufferMode; |
55 | | |
56 | | /* |
57 | | * Type returned by PrefetchBuffer(). |
58 | | */ |
59 | | typedef struct PrefetchBufferResult |
60 | | { |
61 | | Buffer recent_buffer; /* If valid, a hit (recheck needed!) */ |
62 | | bool initiated_io; /* If true, a miss resulting in async I/O */ |
63 | | } PrefetchBufferResult; |
64 | | |
65 | | /* |
66 | | * Flags influencing the behaviour of ExtendBufferedRel* |
67 | | */ |
68 | | typedef enum ExtendBufferedFlags |
69 | | { |
70 | | /* |
71 | | * Don't acquire extension lock. This is safe only if the relation isn't |
72 | | * shared, an access exclusive lock is held or if this is the startup |
73 | | * process. |
74 | | */ |
75 | | EB_SKIP_EXTENSION_LOCK = (1 << 0), |
76 | | |
77 | | /* Is this extension part of recovery? */ |
78 | | EB_PERFORMING_RECOVERY = (1 << 1), |
79 | | |
80 | | /* |
81 | | * Should the fork be created if it does not currently exist? This likely |
82 | | * only ever makes sense for relation forks. |
83 | | */ |
84 | | EB_CREATE_FORK_IF_NEEDED = (1 << 2), |
85 | | |
86 | | /* Should the first (possibly only) return buffer be returned locked? */ |
87 | | EB_LOCK_FIRST = (1 << 3), |
88 | | |
89 | | /* Should the smgr size cache be cleared? */ |
90 | | EB_CLEAR_SIZE_CACHE = (1 << 4), |
91 | | |
92 | | /* internal flags follow */ |
93 | | EB_LOCK_TARGET = (1 << 5), |
94 | | } ExtendBufferedFlags; |
95 | | |
96 | | /* forward declared, to avoid including smgr.h here */ |
97 | | typedef struct SMgrRelationData *SMgrRelation; |
98 | | |
99 | | /* |
100 | | * Some functions identify relations either by relation or smgr + |
101 | | * relpersistence, initialized via the BMR_REL()/BMR_SMGR() macros below. |
102 | | * This allows us to use the same function for both recovery and normal |
103 | | * operation. When BMR_REL is used, it's not valid to cache its rd_smgr here, |
104 | | * because our pointer would be obsolete in case of relcache invalidation. |
105 | | * For simplicity, use BMR_GET_SMGR to read the smgr. |
106 | | */ |
107 | | typedef struct BufferManagerRelation |
108 | | { |
109 | | Relation rel; |
110 | | SMgrRelation smgr; |
111 | | char relpersistence; |
112 | | } BufferManagerRelation; |
113 | | |
114 | | #define BMR_REL(p_rel) \ |
115 | 0 | ((BufferManagerRelation){.rel = p_rel}) |
116 | | #define BMR_SMGR(p_smgr, p_relpersistence) \ |
117 | 0 | ((BufferManagerRelation){.smgr = p_smgr, .relpersistence = p_relpersistence}) |
118 | | #define BMR_GET_SMGR(bmr) \ |
119 | 0 | (RelationIsValid((bmr).rel) ? RelationGetSmgr((bmr).rel) : (bmr).smgr) |
120 | | |
121 | | /* Zero out page if reading fails. */ |
122 | 0 | #define READ_BUFFERS_ZERO_ON_ERROR (1 << 0) |
123 | | /* Call smgrprefetch() if I/O necessary. */ |
124 | 0 | #define READ_BUFFERS_ISSUE_ADVICE (1 << 1) |
125 | | /* Don't treat page as invalid due to checksum failures. */ |
126 | 0 | #define READ_BUFFERS_IGNORE_CHECKSUM_FAILURES (1 << 2) |
127 | | /* IO will immediately be waited for */ |
128 | 0 | #define READ_BUFFERS_SYNCHRONOUSLY (1 << 3) |
129 | | |
130 | | |
131 | | struct ReadBuffersOperation |
132 | | { |
133 | | /* The following members should be set by the caller. */ |
134 | | Relation rel; /* optional */ |
135 | | SMgrRelation smgr; |
136 | | char persistence; |
137 | | ForkNumber forknum; |
138 | | BufferAccessStrategy strategy; |
139 | | |
140 | | /* |
141 | | * The following private members are private state for communication |
142 | | * between StartReadBuffers() and WaitReadBuffers(), initialized only if |
143 | | * an actual read is required, and should not be modified. |
144 | | */ |
145 | | Buffer *buffers; |
146 | | BlockNumber blocknum; |
147 | | uint16 flags; |
148 | | int16 nblocks; |
149 | | int16 nblocks_done; |
150 | | /* true if waiting on another backend's IO */ |
151 | | bool foreign_io; |
152 | | PgAioWaitRef io_wref; |
153 | | PgAioReturn io_return; |
154 | | }; |
155 | | |
156 | | typedef struct ReadBuffersOperation ReadBuffersOperation; |
157 | | |
158 | | /* to avoid having to expose buf_internals.h here */ |
159 | | typedef struct WritebackContext WritebackContext; |
160 | | |
161 | | /* in globals.c ... this duplicates miscadmin.h */ |
162 | | extern PGDLLIMPORT int NBuffers; |
163 | | |
164 | | /* in bufmgr.c */ |
165 | | extern PGDLLIMPORT bool zero_damaged_pages; |
166 | | extern PGDLLIMPORT int bgwriter_lru_maxpages; |
167 | | extern PGDLLIMPORT double bgwriter_lru_multiplier; |
168 | | extern PGDLLIMPORT bool track_io_timing; |
169 | | |
170 | | #define DEFAULT_EFFECTIVE_IO_CONCURRENCY 16 |
171 | | #define DEFAULT_MAINTENANCE_IO_CONCURRENCY 16 |
172 | | extern PGDLLIMPORT int effective_io_concurrency; |
173 | | extern PGDLLIMPORT int maintenance_io_concurrency; |
174 | | |
175 | | #define MAX_IO_COMBINE_LIMIT PG_IOV_MAX |
176 | | #define DEFAULT_IO_COMBINE_LIMIT Min(MAX_IO_COMBINE_LIMIT, (128 * 1024) / BLCKSZ) |
177 | | extern PGDLLIMPORT int io_combine_limit; /* min of the two GUCs below */ |
178 | | extern PGDLLIMPORT int io_combine_limit_guc; |
179 | | extern PGDLLIMPORT int io_max_combine_limit; |
180 | | |
181 | | extern PGDLLIMPORT int checkpoint_flush_after; |
182 | | extern PGDLLIMPORT int backend_flush_after; |
183 | | extern PGDLLIMPORT int bgwriter_flush_after; |
184 | | |
185 | | extern PGDLLIMPORT const PgAioHandleCallbacks aio_shared_buffer_readv_cb; |
186 | | extern PGDLLIMPORT const PgAioHandleCallbacks aio_local_buffer_readv_cb; |
187 | | |
188 | | /* in buf_init.c */ |
189 | | extern PGDLLIMPORT char *BufferBlocks; |
190 | | |
191 | | /* in localbuf.c */ |
192 | | extern PGDLLIMPORT int NLocBuffer; |
193 | | extern PGDLLIMPORT Block *LocalBufferBlockPointers; |
194 | | extern PGDLLIMPORT int32 *LocalRefCount; |
195 | | |
196 | | /* upper limit for effective_io_concurrency */ |
197 | | #define MAX_IO_CONCURRENCY 1000 |
198 | | |
199 | | /* special block number for ReadBuffer() */ |
200 | 0 | #define P_NEW InvalidBlockNumber /* grow the file to get a new page */ |
201 | | |
202 | | /* |
203 | | * Buffer content lock modes (mode argument for LockBuffer()) |
204 | | */ |
205 | | typedef enum BufferLockMode |
206 | | { |
207 | | BUFFER_LOCK_UNLOCK, |
208 | | |
209 | | /* |
210 | | * A share lock conflicts with exclusive locks. |
211 | | */ |
212 | | BUFFER_LOCK_SHARE, |
213 | | |
214 | | /* |
215 | | * A share-exclusive lock conflicts with itself and exclusive locks. |
216 | | */ |
217 | | BUFFER_LOCK_SHARE_EXCLUSIVE, |
218 | | |
219 | | /* |
220 | | * An exclusive lock conflicts with every other lock type. |
221 | | */ |
222 | | BUFFER_LOCK_EXCLUSIVE, |
223 | | } BufferLockMode; |
224 | | |
225 | | |
226 | | /* |
227 | | * prototypes for functions in bufmgr.c |
228 | | */ |
229 | | extern PrefetchBufferResult PrefetchSharedBuffer(SMgrRelation smgr_reln, |
230 | | ForkNumber forkNum, |
231 | | BlockNumber blockNum); |
232 | | extern PrefetchBufferResult PrefetchBuffer(Relation reln, ForkNumber forkNum, |
233 | | BlockNumber blockNum); |
234 | | extern bool ReadRecentBuffer(RelFileLocator rlocator, ForkNumber forkNum, |
235 | | BlockNumber blockNum, Buffer recent_buffer); |
236 | | extern Buffer ReadBuffer(Relation reln, BlockNumber blockNum); |
237 | | extern Buffer ReadBufferExtended(Relation reln, ForkNumber forkNum, |
238 | | BlockNumber blockNum, ReadBufferMode mode, |
239 | | BufferAccessStrategy strategy); |
240 | | extern Buffer ReadBufferWithoutRelcache(RelFileLocator rlocator, |
241 | | ForkNumber forkNum, BlockNumber blockNum, |
242 | | ReadBufferMode mode, BufferAccessStrategy strategy, |
243 | | bool permanent); |
244 | | |
245 | | extern bool StartReadBuffer(ReadBuffersOperation *operation, |
246 | | Buffer *buffer, |
247 | | BlockNumber blocknum, |
248 | | int flags); |
249 | | extern bool StartReadBuffers(ReadBuffersOperation *operation, |
250 | | Buffer *buffers, |
251 | | BlockNumber blockNum, |
252 | | int *nblocks, |
253 | | int flags); |
254 | | extern bool WaitReadBuffers(ReadBuffersOperation *operation); |
255 | | |
256 | | extern void ReleaseBuffer(Buffer buffer); |
257 | | extern void UnlockReleaseBuffer(Buffer buffer); |
258 | | extern bool BufferIsLockedByMe(Buffer buffer); |
259 | | extern bool BufferIsLockedByMeInMode(Buffer buffer, BufferLockMode mode); |
260 | | extern bool BufferIsDirty(Buffer buffer); |
261 | | extern void MarkBufferDirty(Buffer buffer); |
262 | | extern void IncrBufferRefCount(Buffer buffer); |
263 | | extern void CheckBufferIsPinnedOnce(Buffer buffer); |
264 | | extern Buffer ReleaseAndReadBuffer(Buffer buffer, Relation relation, |
265 | | BlockNumber blockNum); |
266 | | |
267 | | extern Buffer ExtendBufferedRel(BufferManagerRelation bmr, |
268 | | ForkNumber forkNum, |
269 | | BufferAccessStrategy strategy, |
270 | | uint32 flags); |
271 | | extern BlockNumber ExtendBufferedRelBy(BufferManagerRelation bmr, |
272 | | ForkNumber fork, |
273 | | BufferAccessStrategy strategy, |
274 | | uint32 flags, |
275 | | uint32 extend_by, |
276 | | Buffer *buffers, |
277 | | uint32 *extended_by); |
278 | | extern Buffer ExtendBufferedRelTo(BufferManagerRelation bmr, |
279 | | ForkNumber fork, |
280 | | BufferAccessStrategy strategy, |
281 | | uint32 flags, |
282 | | BlockNumber extend_to, |
283 | | ReadBufferMode mode); |
284 | | |
285 | | extern void InitBufferManagerAccess(void); |
286 | | extern void AtEOXact_Buffers(bool isCommit); |
287 | | #ifdef USE_ASSERT_CHECKING |
288 | | extern void AssertBufferLocksPermitCatalogRead(void); |
289 | | #endif |
290 | | extern char *DebugPrintBufferRefcount(Buffer buffer); |
291 | | extern void CheckPointBuffers(int flags); |
292 | | extern BlockNumber BufferGetBlockNumber(Buffer buffer); |
293 | | extern BlockNumber RelationGetNumberOfBlocksInFork(Relation relation, |
294 | | ForkNumber forkNum); |
295 | | extern void FlushOneBuffer(Buffer buffer); |
296 | | extern void FlushRelationBuffers(Relation rel); |
297 | | extern void FlushRelationsAllBuffers(SMgrRelation *smgrs, int nrels); |
298 | | extern void CreateAndCopyRelationData(RelFileLocator src_rlocator, |
299 | | RelFileLocator dst_rlocator, |
300 | | bool permanent); |
301 | | extern void FlushDatabaseBuffers(Oid dbid); |
302 | | extern void DropRelationBuffers(SMgrRelation smgr_reln, |
303 | | ForkNumber *forkNum, |
304 | | int nforks, BlockNumber *firstDelBlock); |
305 | | extern void DropRelationsAllBuffers(SMgrRelation *smgr_reln, |
306 | | int nlocators); |
307 | | extern void DropDatabaseBuffers(Oid dbid); |
308 | | |
309 | | #define RelationGetNumberOfBlocks(reln) \ |
310 | 0 | RelationGetNumberOfBlocksInFork(reln, MAIN_FORKNUM) |
311 | | |
312 | | extern bool BufferIsPermanent(Buffer buffer); |
313 | | extern XLogRecPtr BufferGetLSNAtomic(Buffer buffer); |
314 | | extern void BufferGetTag(Buffer buffer, RelFileLocator *rlocator, |
315 | | ForkNumber *forknum, BlockNumber *blknum); |
316 | | |
317 | | extern void MarkBufferDirtyHint(Buffer buffer, bool buffer_std); |
318 | | |
319 | | extern bool BufferSetHintBits16(uint16 *ptr, uint16 val, Buffer buffer); |
320 | | extern bool BufferBeginSetHintBits(Buffer buffer); |
321 | | extern void BufferFinishSetHintBits(Buffer buffer, bool mark_dirty, bool buffer_std); |
322 | | |
323 | | extern void UnlockBuffers(void); |
324 | | extern void UnlockBuffer(Buffer buffer); |
325 | | extern void LockBufferInternal(Buffer buffer, BufferLockMode mode); |
326 | | |
327 | | /* |
328 | | * Handling BUFFER_LOCK_UNLOCK in bufmgr.c leads to sufficiently worse branch |
329 | | * prediction to impact performance. Therefore handle that switch here, where |
330 | | * most of the time `mode` will be a constant and thus can be optimized out by |
331 | | * the compiler. |
332 | | */ |
333 | | static inline void |
334 | | LockBuffer(Buffer buffer, BufferLockMode mode) |
335 | 0 | { |
336 | 0 | if (mode == BUFFER_LOCK_UNLOCK) |
337 | 0 | UnlockBuffer(buffer); |
338 | 0 | else |
339 | 0 | LockBufferInternal(buffer, mode); |
340 | 0 | } Unexecuted instantiation: fuzzer_initialize.c:LockBuffer Unexecuted instantiation: brin.c:LockBuffer Unexecuted instantiation: brin_pageops.c:LockBuffer Unexecuted instantiation: brin_revmap.c:LockBuffer Unexecuted instantiation: brin_xlog.c:LockBuffer Unexecuted instantiation: bufmask.c:LockBuffer Unexecuted instantiation: detoast.c:LockBuffer Unexecuted instantiation: reloptions.c:LockBuffer Unexecuted instantiation: toast_internals.c:LockBuffer Unexecuted instantiation: ginbtree.c:LockBuffer Unexecuted instantiation: ginbulk.c:LockBuffer Unexecuted instantiation: gindatapage.c:LockBuffer Unexecuted instantiation: ginentrypage.c:LockBuffer Unexecuted instantiation: ginfast.c:LockBuffer Unexecuted instantiation: ginget.c:LockBuffer Unexecuted instantiation: gininsert.c:LockBuffer Unexecuted instantiation: ginlogic.c:LockBuffer Unexecuted instantiation: ginpostinglist.c:LockBuffer Unexecuted instantiation: ginscan.c:LockBuffer Unexecuted instantiation: ginutil.c:LockBuffer Unexecuted instantiation: ginvacuum.c:LockBuffer Unexecuted instantiation: ginvalidate.c:LockBuffer Unexecuted instantiation: ginxlog.c:LockBuffer Unexecuted instantiation: gist.c:LockBuffer Unexecuted instantiation: gistbuild.c:LockBuffer Unexecuted instantiation: gistbuildbuffers.c:LockBuffer Unexecuted instantiation: gistget.c:LockBuffer Unexecuted instantiation: gistscan.c:LockBuffer Unexecuted instantiation: gistsplit.c:LockBuffer Unexecuted instantiation: gistutil.c:LockBuffer Unexecuted instantiation: gistvacuum.c:LockBuffer Unexecuted instantiation: gistvalidate.c:LockBuffer Unexecuted instantiation: gistxlog.c:LockBuffer Unexecuted instantiation: hash.c:LockBuffer Unexecuted instantiation: hash_xlog.c:LockBuffer Unexecuted instantiation: hashinsert.c:LockBuffer Unexecuted instantiation: hashovfl.c:LockBuffer Unexecuted instantiation: hashpage.c:LockBuffer Unexecuted instantiation: hashsearch.c:LockBuffer Unexecuted instantiation: hashsort.c:LockBuffer Unexecuted instantiation: hashutil.c:LockBuffer Unexecuted instantiation: hashvalidate.c:LockBuffer Unexecuted instantiation: heapam.c:LockBuffer Unexecuted instantiation: heapam_handler.c:LockBuffer Unexecuted instantiation: heapam_indexscan.c:LockBuffer Unexecuted instantiation: heapam_visibility.c:LockBuffer Unexecuted instantiation: heapam_xlog.c:LockBuffer Unexecuted instantiation: heaptoast.c:LockBuffer Unexecuted instantiation: hio.c:LockBuffer Unexecuted instantiation: pruneheap.c:LockBuffer Unexecuted instantiation: rewriteheap.c:LockBuffer Unexecuted instantiation: vacuumlazy.c:LockBuffer Unexecuted instantiation: visibilitymap.c:LockBuffer Unexecuted instantiation: genam.c:LockBuffer Unexecuted instantiation: indexam.c:LockBuffer Unexecuted instantiation: nbtdedup.c:LockBuffer Unexecuted instantiation: nbtinsert.c:LockBuffer Unexecuted instantiation: nbtpage.c:LockBuffer Unexecuted instantiation: nbtpreprocesskeys.c:LockBuffer Unexecuted instantiation: nbtreadpage.c:LockBuffer Unexecuted instantiation: nbtree.c:LockBuffer Unexecuted instantiation: nbtsearch.c:LockBuffer Unexecuted instantiation: nbtsort.c:LockBuffer Unexecuted instantiation: nbtsplitloc.c:LockBuffer Unexecuted instantiation: nbtutils.c:LockBuffer Unexecuted instantiation: nbtvalidate.c:LockBuffer Unexecuted instantiation: nbtxlog.c:LockBuffer Unexecuted instantiation: spgdoinsert.c:LockBuffer Unexecuted instantiation: spginsert.c:LockBuffer Unexecuted instantiation: spgscan.c:LockBuffer Unexecuted instantiation: spgutils.c:LockBuffer Unexecuted instantiation: spgvacuum.c:LockBuffer Unexecuted instantiation: spgxlog.c:LockBuffer Unexecuted instantiation: tableam.c:LockBuffer Unexecuted instantiation: tableamapi.c:LockBuffer Unexecuted instantiation: clog.c:LockBuffer Unexecuted instantiation: commit_ts.c:LockBuffer Unexecuted instantiation: generic_xlog.c:LockBuffer Unexecuted instantiation: multixact.c:LockBuffer Unexecuted instantiation: parallel.c:LockBuffer Unexecuted instantiation: slru.c:LockBuffer Unexecuted instantiation: twophase.c:LockBuffer Unexecuted instantiation: varsup.c:LockBuffer Unexecuted instantiation: xact.c:LockBuffer Unexecuted instantiation: xlog.c:LockBuffer Unexecuted instantiation: xloginsert.c:LockBuffer Unexecuted instantiation: xlogprefetcher.c:LockBuffer Unexecuted instantiation: xlogreader.c:LockBuffer Unexecuted instantiation: xlogrecovery.c:LockBuffer Unexecuted instantiation: xlogutils.c:LockBuffer Unexecuted instantiation: bootstrap.c:LockBuffer Unexecuted instantiation: aclchk.c:LockBuffer Unexecuted instantiation: dependency.c:LockBuffer Unexecuted instantiation: heap.c:LockBuffer Unexecuted instantiation: index.c:LockBuffer Unexecuted instantiation: indexing.c:LockBuffer Unexecuted instantiation: objectaddress.c:LockBuffer Unexecuted instantiation: pg_db_role_setting.c:LockBuffer Unexecuted instantiation: pg_publication.c:LockBuffer Unexecuted instantiation: pg_subscription.c:LockBuffer Unexecuted instantiation: storage.c:LockBuffer Unexecuted instantiation: toasting.c:LockBuffer Unexecuted instantiation: gram.c:LockBuffer Unexecuted instantiation: parse_clause.c:LockBuffer Unexecuted instantiation: alter.c:LockBuffer Unexecuted instantiation: analyze.c:LockBuffer Unexecuted instantiation: constraint.c:LockBuffer Unexecuted instantiation: copyfrom.c:LockBuffer Unexecuted instantiation: copyfromparse.c:LockBuffer Unexecuted instantiation: copyto.c:LockBuffer Unexecuted instantiation: createas.c:LockBuffer Unexecuted instantiation: dbcommands.c:LockBuffer Unexecuted instantiation: event_trigger.c:LockBuffer Unexecuted instantiation: explain.c:LockBuffer Unexecuted instantiation: indexcmds.c:LockBuffer Unexecuted instantiation: matview.c:LockBuffer Unexecuted instantiation: opclasscmds.c:LockBuffer Unexecuted instantiation: propgraphcmds.c:LockBuffer Unexecuted instantiation: repack.c:LockBuffer Unexecuted instantiation: repack_worker.c:LockBuffer Unexecuted instantiation: sequence.c:LockBuffer Unexecuted instantiation: sequence_xlog.c:LockBuffer Unexecuted instantiation: tablecmds.c:LockBuffer Unexecuted instantiation: tablespace.c:LockBuffer Unexecuted instantiation: trigger.c:LockBuffer Unexecuted instantiation: typecmds.c:LockBuffer Unexecuted instantiation: vacuum.c:LockBuffer Unexecuted instantiation: vacuumparallel.c:LockBuffer Unexecuted instantiation: variable.c:LockBuffer Unexecuted instantiation: execExpr.c:LockBuffer Unexecuted instantiation: execIndexing.c:LockBuffer Unexecuted instantiation: execMain.c:LockBuffer Unexecuted instantiation: execPartition.c:LockBuffer Unexecuted instantiation: execReplication.c:LockBuffer Unexecuted instantiation: execTuples.c:LockBuffer Unexecuted instantiation: execUtils.c:LockBuffer Unexecuted instantiation: nodeBitmapHeapscan.c:LockBuffer Unexecuted instantiation: nodeIndexonlyscan.c:LockBuffer Unexecuted instantiation: nodeIndexscan.c:LockBuffer Unexecuted instantiation: nodeLockRows.c:LockBuffer Unexecuted instantiation: nodeMergejoin.c:LockBuffer Unexecuted instantiation: nodeModifyTable.c:LockBuffer Unexecuted instantiation: nodeSamplescan.c:LockBuffer Unexecuted instantiation: nodeSeqscan.c:LockBuffer Unexecuted instantiation: nodeTidrangescan.c:LockBuffer Unexecuted instantiation: nodeTidscan.c:LockBuffer Unexecuted instantiation: spi.c:LockBuffer Unexecuted instantiation: copyfuncs.c:LockBuffer Unexecuted instantiation: equalfuncs.c:LockBuffer Unexecuted instantiation: outfuncs.c:LockBuffer Unexecuted instantiation: queryjumblefuncs.c:LockBuffer Unexecuted instantiation: readfuncs.c:LockBuffer Unexecuted instantiation: initsplan.c:LockBuffer Unexecuted instantiation: plancat.c:LockBuffer Unexecuted instantiation: relnode.c:LockBuffer Unexecuted instantiation: partbounds.c:LockBuffer Unexecuted instantiation: partprune.c:LockBuffer Unexecuted instantiation: autovacuum.c:LockBuffer Unexecuted instantiation: bgwriter.c:LockBuffer Unexecuted instantiation: checkpointer.c:LockBuffer Unexecuted instantiation: datachecksum_state.c:LockBuffer Unexecuted instantiation: startup.c:LockBuffer Unexecuted instantiation: walsummarizer.c:LockBuffer Unexecuted instantiation: walwriter.c:LockBuffer Unexecuted instantiation: conflict.c:LockBuffer Unexecuted instantiation: launcher.c:LockBuffer Unexecuted instantiation: logical.c:LockBuffer Unexecuted instantiation: logicalfuncs.c:LockBuffer Unexecuted instantiation: reorderbuffer.c:LockBuffer Unexecuted instantiation: worker.c:LockBuffer Unexecuted instantiation: slotfuncs.c:LockBuffer Unexecuted instantiation: walsender.c:LockBuffer Unexecuted instantiation: rewriteHandler.c:LockBuffer Unexecuted instantiation: attribute_stats.c:LockBuffer Unexecuted instantiation: extended_stats_funcs.c:LockBuffer Unexecuted instantiation: relation_stats.c:LockBuffer Unexecuted instantiation: aio_callback.c:LockBuffer Unexecuted instantiation: aio_init.c:LockBuffer Unexecuted instantiation: read_stream.c:LockBuffer Unexecuted instantiation: buf_init.c:LockBuffer Unexecuted instantiation: buf_table.c:LockBuffer Unexecuted instantiation: bufmgr.c:LockBuffer Unexecuted instantiation: freelist.c:LockBuffer Unexecuted instantiation: localbuf.c:LockBuffer Unexecuted instantiation: buffile.c:LockBuffer Unexecuted instantiation: freespace.c:LockBuffer Unexecuted instantiation: fsmpage.c:LockBuffer Unexecuted instantiation: procarray.c:LockBuffer Unexecuted instantiation: standby.c:LockBuffer Unexecuted instantiation: lock.c:LockBuffer Unexecuted instantiation: proc.c:LockBuffer Unexecuted instantiation: md.c:LockBuffer Unexecuted instantiation: smgr.c:LockBuffer Unexecuted instantiation: postgres.c:LockBuffer Unexecuted instantiation: utility.c:LockBuffer Unexecuted instantiation: pgstat_backend.c:LockBuffer Unexecuted instantiation: pgstat_io.c:LockBuffer Unexecuted instantiation: ri_triggers.c:LockBuffer Unexecuted instantiation: ruleutils.c:LockBuffer Unexecuted instantiation: selfuncs.c:LockBuffer Unexecuted instantiation: skipsupport.c:LockBuffer Unexecuted instantiation: tid.c:LockBuffer Unexecuted instantiation: trigfuncs.c:LockBuffer Unexecuted instantiation: tsquery_rewrite.c:LockBuffer Unexecuted instantiation: tsvector_op.c:LockBuffer Unexecuted instantiation: xml.c:LockBuffer Unexecuted instantiation: evtcache.c:LockBuffer Unexecuted instantiation: funccache.c:LockBuffer Unexecuted instantiation: lsyscache.c:LockBuffer Unexecuted instantiation: partcache.c:LockBuffer Unexecuted instantiation: relcache.c:LockBuffer Unexecuted instantiation: spccache.c:LockBuffer Unexecuted instantiation: typcache.c:LockBuffer Unexecuted instantiation: postinit.c:LockBuffer Unexecuted instantiation: guc_tables.c:LockBuffer Unexecuted instantiation: sortsupport.c:LockBuffer Unexecuted instantiation: tuplesortvariants.c:LockBuffer Unexecuted instantiation: simple_query_fuzzer.c:LockBuffer |
341 | | |
342 | | extern bool ConditionalLockBuffer(Buffer buffer); |
343 | | extern void LockBufferForCleanup(Buffer buffer); |
344 | | extern bool ConditionalLockBufferForCleanup(Buffer buffer); |
345 | | extern bool IsBufferCleanupOK(Buffer buffer); |
346 | | extern bool HoldingBufferPinThatDelaysRecovery(void); |
347 | | |
348 | | extern bool BgBufferSync(WritebackContext *wb_context); |
349 | | |
350 | | extern uint32 GetPinLimit(void); |
351 | | extern uint32 GetLocalPinLimit(void); |
352 | | extern uint32 GetAdditionalPinLimit(void); |
353 | | extern uint32 GetAdditionalLocalPinLimit(void); |
354 | | extern void LimitAdditionalPins(uint32 *additional_pins); |
355 | | extern void LimitAdditionalLocalPins(uint32 *additional_pins); |
356 | | |
357 | | extern bool EvictUnpinnedBuffer(Buffer buf, bool *buffer_flushed); |
358 | | extern void EvictAllUnpinnedBuffers(int32 *buffers_evicted, |
359 | | int32 *buffers_flushed, |
360 | | int32 *buffers_skipped); |
361 | | extern void EvictRelUnpinnedBuffers(Relation rel, |
362 | | int32 *buffers_evicted, |
363 | | int32 *buffers_flushed, |
364 | | int32 *buffers_skipped); |
365 | | extern bool MarkDirtyUnpinnedBuffer(Buffer buf, bool *buffer_already_dirty); |
366 | | extern void MarkDirtyRelUnpinnedBuffers(Relation rel, |
367 | | int32 *buffers_dirtied, |
368 | | int32 *buffers_already_dirty, |
369 | | int32 *buffers_skipped); |
370 | | extern void MarkDirtyAllUnpinnedBuffers(int32 *buffers_dirtied, |
371 | | int32 *buffers_already_dirty, |
372 | | int32 *buffers_skipped); |
373 | | |
374 | | /* in localbuf.c */ |
375 | | extern void AtProcExit_LocalBuffers(void); |
376 | | |
377 | | /* in freelist.c */ |
378 | | |
379 | | extern BufferAccessStrategy GetAccessStrategy(BufferAccessStrategyType btype); |
380 | | extern BufferAccessStrategy GetAccessStrategyWithSize(BufferAccessStrategyType btype, |
381 | | int ring_size_kb); |
382 | | extern int GetAccessStrategyBufferCount(BufferAccessStrategy strategy); |
383 | | extern int GetAccessStrategyPinLimit(BufferAccessStrategy strategy); |
384 | | |
385 | | extern void FreeAccessStrategy(BufferAccessStrategy strategy); |
386 | | |
387 | | |
388 | | /* inline functions */ |
389 | | |
390 | | /* |
391 | | * Although this header file is nominally backend-only, certain frontend |
392 | | * programs like pg_waldump include it. For compilers that emit static |
393 | | * inline functions even when they're unused, that leads to unsatisfied |
394 | | * external references; hence hide these with #ifndef FRONTEND. |
395 | | */ |
396 | | |
397 | | #ifndef FRONTEND |
398 | | |
399 | | /* |
400 | | * BufferIsValid |
401 | | * True iff the given buffer number is valid (either as a shared |
402 | | * or local buffer). |
403 | | * |
404 | | * Note: For a long time this was defined the same as BufferIsPinned, |
405 | | * that is it would say False if you didn't hold a pin on the buffer. |
406 | | * I believe this was bogus and served only to mask logic errors. |
407 | | * Code should always know whether it has a buffer reference, |
408 | | * independently of the pin state. |
409 | | * |
410 | | * Note: For a further long time this was not quite the inverse of the |
411 | | * BufferIsInvalid() macro, in that it also did sanity checks to verify |
412 | | * that the buffer number was in range. Most likely, this macro was |
413 | | * originally intended only to be used in assertions, but its use has |
414 | | * since expanded quite a bit, and the overhead of making those checks |
415 | | * even in non-assert-enabled builds can be significant. Thus, we've |
416 | | * now demoted the range checks to assertions within the macro itself. |
417 | | */ |
418 | | static inline bool |
419 | | BufferIsValid(Buffer bufnum) |
420 | 0 | { |
421 | 0 | Assert(bufnum <= NBuffers); |
422 | 0 | Assert(bufnum >= -NLocBuffer); |
423 | |
|
424 | 0 | return bufnum != InvalidBuffer; |
425 | 0 | } Unexecuted instantiation: fuzzer_initialize.c:BufferIsValid Unexecuted instantiation: brin.c:BufferIsValid Unexecuted instantiation: brin_pageops.c:BufferIsValid Unexecuted instantiation: brin_revmap.c:BufferIsValid Unexecuted instantiation: brin_xlog.c:BufferIsValid Unexecuted instantiation: bufmask.c:BufferIsValid Unexecuted instantiation: detoast.c:BufferIsValid Unexecuted instantiation: reloptions.c:BufferIsValid Unexecuted instantiation: toast_internals.c:BufferIsValid Unexecuted instantiation: ginbtree.c:BufferIsValid Unexecuted instantiation: ginbulk.c:BufferIsValid Unexecuted instantiation: gindatapage.c:BufferIsValid Unexecuted instantiation: ginentrypage.c:BufferIsValid Unexecuted instantiation: ginfast.c:BufferIsValid Unexecuted instantiation: ginget.c:BufferIsValid Unexecuted instantiation: gininsert.c:BufferIsValid Unexecuted instantiation: ginlogic.c:BufferIsValid Unexecuted instantiation: ginpostinglist.c:BufferIsValid Unexecuted instantiation: ginscan.c:BufferIsValid Unexecuted instantiation: ginutil.c:BufferIsValid Unexecuted instantiation: ginvacuum.c:BufferIsValid Unexecuted instantiation: ginvalidate.c:BufferIsValid Unexecuted instantiation: ginxlog.c:BufferIsValid Unexecuted instantiation: gist.c:BufferIsValid Unexecuted instantiation: gistbuild.c:BufferIsValid Unexecuted instantiation: gistbuildbuffers.c:BufferIsValid Unexecuted instantiation: gistget.c:BufferIsValid Unexecuted instantiation: gistscan.c:BufferIsValid Unexecuted instantiation: gistsplit.c:BufferIsValid Unexecuted instantiation: gistutil.c:BufferIsValid Unexecuted instantiation: gistvacuum.c:BufferIsValid Unexecuted instantiation: gistvalidate.c:BufferIsValid Unexecuted instantiation: gistxlog.c:BufferIsValid Unexecuted instantiation: hash.c:BufferIsValid Unexecuted instantiation: hash_xlog.c:BufferIsValid Unexecuted instantiation: hashinsert.c:BufferIsValid Unexecuted instantiation: hashovfl.c:BufferIsValid Unexecuted instantiation: hashpage.c:BufferIsValid Unexecuted instantiation: hashsearch.c:BufferIsValid Unexecuted instantiation: hashsort.c:BufferIsValid Unexecuted instantiation: hashutil.c:BufferIsValid Unexecuted instantiation: hashvalidate.c:BufferIsValid Unexecuted instantiation: heapam.c:BufferIsValid Unexecuted instantiation: heapam_handler.c:BufferIsValid Unexecuted instantiation: heapam_indexscan.c:BufferIsValid Unexecuted instantiation: heapam_visibility.c:BufferIsValid Unexecuted instantiation: heapam_xlog.c:BufferIsValid Unexecuted instantiation: heaptoast.c:BufferIsValid Unexecuted instantiation: hio.c:BufferIsValid Unexecuted instantiation: pruneheap.c:BufferIsValid Unexecuted instantiation: rewriteheap.c:BufferIsValid Unexecuted instantiation: vacuumlazy.c:BufferIsValid Unexecuted instantiation: visibilitymap.c:BufferIsValid Unexecuted instantiation: genam.c:BufferIsValid Unexecuted instantiation: indexam.c:BufferIsValid Unexecuted instantiation: nbtdedup.c:BufferIsValid Unexecuted instantiation: nbtinsert.c:BufferIsValid Unexecuted instantiation: nbtpage.c:BufferIsValid Unexecuted instantiation: nbtpreprocesskeys.c:BufferIsValid Unexecuted instantiation: nbtreadpage.c:BufferIsValid Unexecuted instantiation: nbtree.c:BufferIsValid Unexecuted instantiation: nbtsearch.c:BufferIsValid Unexecuted instantiation: nbtsort.c:BufferIsValid Unexecuted instantiation: nbtsplitloc.c:BufferIsValid Unexecuted instantiation: nbtutils.c:BufferIsValid Unexecuted instantiation: nbtvalidate.c:BufferIsValid Unexecuted instantiation: nbtxlog.c:BufferIsValid Unexecuted instantiation: spgdoinsert.c:BufferIsValid Unexecuted instantiation: spginsert.c:BufferIsValid Unexecuted instantiation: spgscan.c:BufferIsValid Unexecuted instantiation: spgutils.c:BufferIsValid Unexecuted instantiation: spgvacuum.c:BufferIsValid Unexecuted instantiation: spgxlog.c:BufferIsValid Unexecuted instantiation: tableam.c:BufferIsValid Unexecuted instantiation: tableamapi.c:BufferIsValid Unexecuted instantiation: clog.c:BufferIsValid Unexecuted instantiation: commit_ts.c:BufferIsValid Unexecuted instantiation: generic_xlog.c:BufferIsValid Unexecuted instantiation: multixact.c:BufferIsValid Unexecuted instantiation: parallel.c:BufferIsValid Unexecuted instantiation: slru.c:BufferIsValid Unexecuted instantiation: twophase.c:BufferIsValid Unexecuted instantiation: varsup.c:BufferIsValid Unexecuted instantiation: xact.c:BufferIsValid Unexecuted instantiation: xlog.c:BufferIsValid Unexecuted instantiation: xloginsert.c:BufferIsValid Unexecuted instantiation: xlogprefetcher.c:BufferIsValid Unexecuted instantiation: xlogreader.c:BufferIsValid Unexecuted instantiation: xlogrecovery.c:BufferIsValid Unexecuted instantiation: xlogutils.c:BufferIsValid Unexecuted instantiation: bootstrap.c:BufferIsValid Unexecuted instantiation: aclchk.c:BufferIsValid Unexecuted instantiation: dependency.c:BufferIsValid Unexecuted instantiation: heap.c:BufferIsValid Unexecuted instantiation: index.c:BufferIsValid Unexecuted instantiation: indexing.c:BufferIsValid Unexecuted instantiation: objectaddress.c:BufferIsValid Unexecuted instantiation: pg_db_role_setting.c:BufferIsValid Unexecuted instantiation: pg_publication.c:BufferIsValid Unexecuted instantiation: pg_subscription.c:BufferIsValid Unexecuted instantiation: storage.c:BufferIsValid Unexecuted instantiation: toasting.c:BufferIsValid Unexecuted instantiation: gram.c:BufferIsValid Unexecuted instantiation: parse_clause.c:BufferIsValid Unexecuted instantiation: alter.c:BufferIsValid Unexecuted instantiation: analyze.c:BufferIsValid Unexecuted instantiation: constraint.c:BufferIsValid Unexecuted instantiation: copyfrom.c:BufferIsValid Unexecuted instantiation: copyfromparse.c:BufferIsValid Unexecuted instantiation: copyto.c:BufferIsValid Unexecuted instantiation: createas.c:BufferIsValid Unexecuted instantiation: dbcommands.c:BufferIsValid Unexecuted instantiation: event_trigger.c:BufferIsValid Unexecuted instantiation: explain.c:BufferIsValid Unexecuted instantiation: indexcmds.c:BufferIsValid Unexecuted instantiation: matview.c:BufferIsValid Unexecuted instantiation: opclasscmds.c:BufferIsValid Unexecuted instantiation: propgraphcmds.c:BufferIsValid Unexecuted instantiation: repack.c:BufferIsValid Unexecuted instantiation: repack_worker.c:BufferIsValid Unexecuted instantiation: sequence.c:BufferIsValid Unexecuted instantiation: sequence_xlog.c:BufferIsValid Unexecuted instantiation: tablecmds.c:BufferIsValid Unexecuted instantiation: tablespace.c:BufferIsValid Unexecuted instantiation: trigger.c:BufferIsValid Unexecuted instantiation: typecmds.c:BufferIsValid Unexecuted instantiation: vacuum.c:BufferIsValid Unexecuted instantiation: vacuumparallel.c:BufferIsValid Unexecuted instantiation: variable.c:BufferIsValid Unexecuted instantiation: execExpr.c:BufferIsValid Unexecuted instantiation: execIndexing.c:BufferIsValid Unexecuted instantiation: execMain.c:BufferIsValid Unexecuted instantiation: execPartition.c:BufferIsValid Unexecuted instantiation: execReplication.c:BufferIsValid Unexecuted instantiation: execTuples.c:BufferIsValid Unexecuted instantiation: execUtils.c:BufferIsValid Unexecuted instantiation: nodeBitmapHeapscan.c:BufferIsValid Unexecuted instantiation: nodeIndexonlyscan.c:BufferIsValid Unexecuted instantiation: nodeIndexscan.c:BufferIsValid Unexecuted instantiation: nodeLockRows.c:BufferIsValid Unexecuted instantiation: nodeMergejoin.c:BufferIsValid Unexecuted instantiation: nodeModifyTable.c:BufferIsValid Unexecuted instantiation: nodeSamplescan.c:BufferIsValid Unexecuted instantiation: nodeSeqscan.c:BufferIsValid Unexecuted instantiation: nodeTidrangescan.c:BufferIsValid Unexecuted instantiation: nodeTidscan.c:BufferIsValid Unexecuted instantiation: spi.c:BufferIsValid Unexecuted instantiation: copyfuncs.c:BufferIsValid Unexecuted instantiation: equalfuncs.c:BufferIsValid Unexecuted instantiation: outfuncs.c:BufferIsValid Unexecuted instantiation: queryjumblefuncs.c:BufferIsValid Unexecuted instantiation: readfuncs.c:BufferIsValid Unexecuted instantiation: initsplan.c:BufferIsValid Unexecuted instantiation: plancat.c:BufferIsValid Unexecuted instantiation: relnode.c:BufferIsValid Unexecuted instantiation: partbounds.c:BufferIsValid Unexecuted instantiation: partprune.c:BufferIsValid Unexecuted instantiation: autovacuum.c:BufferIsValid Unexecuted instantiation: bgwriter.c:BufferIsValid Unexecuted instantiation: checkpointer.c:BufferIsValid Unexecuted instantiation: datachecksum_state.c:BufferIsValid Unexecuted instantiation: startup.c:BufferIsValid Unexecuted instantiation: walsummarizer.c:BufferIsValid Unexecuted instantiation: walwriter.c:BufferIsValid Unexecuted instantiation: conflict.c:BufferIsValid Unexecuted instantiation: launcher.c:BufferIsValid Unexecuted instantiation: logical.c:BufferIsValid Unexecuted instantiation: logicalfuncs.c:BufferIsValid Unexecuted instantiation: reorderbuffer.c:BufferIsValid Unexecuted instantiation: worker.c:BufferIsValid Unexecuted instantiation: slotfuncs.c:BufferIsValid Unexecuted instantiation: walsender.c:BufferIsValid Unexecuted instantiation: rewriteHandler.c:BufferIsValid Unexecuted instantiation: attribute_stats.c:BufferIsValid Unexecuted instantiation: extended_stats_funcs.c:BufferIsValid Unexecuted instantiation: relation_stats.c:BufferIsValid Unexecuted instantiation: aio_callback.c:BufferIsValid Unexecuted instantiation: aio_init.c:BufferIsValid Unexecuted instantiation: read_stream.c:BufferIsValid Unexecuted instantiation: buf_init.c:BufferIsValid Unexecuted instantiation: buf_table.c:BufferIsValid Unexecuted instantiation: bufmgr.c:BufferIsValid Unexecuted instantiation: freelist.c:BufferIsValid Unexecuted instantiation: localbuf.c:BufferIsValid Unexecuted instantiation: buffile.c:BufferIsValid Unexecuted instantiation: freespace.c:BufferIsValid Unexecuted instantiation: fsmpage.c:BufferIsValid Unexecuted instantiation: procarray.c:BufferIsValid Unexecuted instantiation: standby.c:BufferIsValid Unexecuted instantiation: lock.c:BufferIsValid Unexecuted instantiation: proc.c:BufferIsValid Unexecuted instantiation: md.c:BufferIsValid Unexecuted instantiation: smgr.c:BufferIsValid Unexecuted instantiation: postgres.c:BufferIsValid Unexecuted instantiation: utility.c:BufferIsValid Unexecuted instantiation: pgstat_backend.c:BufferIsValid Unexecuted instantiation: pgstat_io.c:BufferIsValid Unexecuted instantiation: ri_triggers.c:BufferIsValid Unexecuted instantiation: ruleutils.c:BufferIsValid Unexecuted instantiation: selfuncs.c:BufferIsValid Unexecuted instantiation: skipsupport.c:BufferIsValid Unexecuted instantiation: tid.c:BufferIsValid Unexecuted instantiation: trigfuncs.c:BufferIsValid Unexecuted instantiation: tsquery_rewrite.c:BufferIsValid Unexecuted instantiation: tsvector_op.c:BufferIsValid Unexecuted instantiation: xml.c:BufferIsValid Unexecuted instantiation: evtcache.c:BufferIsValid Unexecuted instantiation: funccache.c:BufferIsValid Unexecuted instantiation: lsyscache.c:BufferIsValid Unexecuted instantiation: partcache.c:BufferIsValid Unexecuted instantiation: relcache.c:BufferIsValid Unexecuted instantiation: spccache.c:BufferIsValid Unexecuted instantiation: typcache.c:BufferIsValid Unexecuted instantiation: postinit.c:BufferIsValid Unexecuted instantiation: guc_tables.c:BufferIsValid Unexecuted instantiation: sortsupport.c:BufferIsValid Unexecuted instantiation: tuplesortvariants.c:BufferIsValid Unexecuted instantiation: simple_query_fuzzer.c:BufferIsValid |
426 | | |
427 | | /* |
428 | | * BufferGetBlock |
429 | | * Returns a reference to a disk page image associated with a buffer. |
430 | | * |
431 | | * Note: |
432 | | * Assumes buffer is valid. |
433 | | */ |
434 | | static inline Block |
435 | | BufferGetBlock(Buffer buffer) |
436 | 0 | { |
437 | 0 | Assert(BufferIsValid(buffer)); |
438 | |
|
439 | 0 | if (BufferIsLocal(buffer)) |
440 | 0 | return LocalBufferBlockPointers[-buffer - 1]; |
441 | 0 | else |
442 | 0 | return (Block) (BufferBlocks + ((Size) (buffer - 1)) * BLCKSZ); |
443 | 0 | } Unexecuted instantiation: fuzzer_initialize.c:BufferGetBlock Unexecuted instantiation: brin.c:BufferGetBlock Unexecuted instantiation: brin_pageops.c:BufferGetBlock Unexecuted instantiation: brin_revmap.c:BufferGetBlock Unexecuted instantiation: brin_xlog.c:BufferGetBlock Unexecuted instantiation: bufmask.c:BufferGetBlock Unexecuted instantiation: detoast.c:BufferGetBlock Unexecuted instantiation: reloptions.c:BufferGetBlock Unexecuted instantiation: toast_internals.c:BufferGetBlock Unexecuted instantiation: ginbtree.c:BufferGetBlock Unexecuted instantiation: ginbulk.c:BufferGetBlock Unexecuted instantiation: gindatapage.c:BufferGetBlock Unexecuted instantiation: ginentrypage.c:BufferGetBlock Unexecuted instantiation: ginfast.c:BufferGetBlock Unexecuted instantiation: ginget.c:BufferGetBlock Unexecuted instantiation: gininsert.c:BufferGetBlock Unexecuted instantiation: ginlogic.c:BufferGetBlock Unexecuted instantiation: ginpostinglist.c:BufferGetBlock Unexecuted instantiation: ginscan.c:BufferGetBlock Unexecuted instantiation: ginutil.c:BufferGetBlock Unexecuted instantiation: ginvacuum.c:BufferGetBlock Unexecuted instantiation: ginvalidate.c:BufferGetBlock Unexecuted instantiation: ginxlog.c:BufferGetBlock Unexecuted instantiation: gist.c:BufferGetBlock Unexecuted instantiation: gistbuild.c:BufferGetBlock Unexecuted instantiation: gistbuildbuffers.c:BufferGetBlock Unexecuted instantiation: gistget.c:BufferGetBlock Unexecuted instantiation: gistscan.c:BufferGetBlock Unexecuted instantiation: gistsplit.c:BufferGetBlock Unexecuted instantiation: gistutil.c:BufferGetBlock Unexecuted instantiation: gistvacuum.c:BufferGetBlock Unexecuted instantiation: gistvalidate.c:BufferGetBlock Unexecuted instantiation: gistxlog.c:BufferGetBlock Unexecuted instantiation: hash.c:BufferGetBlock Unexecuted instantiation: hash_xlog.c:BufferGetBlock Unexecuted instantiation: hashinsert.c:BufferGetBlock Unexecuted instantiation: hashovfl.c:BufferGetBlock Unexecuted instantiation: hashpage.c:BufferGetBlock Unexecuted instantiation: hashsearch.c:BufferGetBlock Unexecuted instantiation: hashsort.c:BufferGetBlock Unexecuted instantiation: hashutil.c:BufferGetBlock Unexecuted instantiation: hashvalidate.c:BufferGetBlock Unexecuted instantiation: heapam.c:BufferGetBlock Unexecuted instantiation: heapam_handler.c:BufferGetBlock Unexecuted instantiation: heapam_indexscan.c:BufferGetBlock Unexecuted instantiation: heapam_visibility.c:BufferGetBlock Unexecuted instantiation: heapam_xlog.c:BufferGetBlock Unexecuted instantiation: heaptoast.c:BufferGetBlock Unexecuted instantiation: hio.c:BufferGetBlock Unexecuted instantiation: pruneheap.c:BufferGetBlock Unexecuted instantiation: rewriteheap.c:BufferGetBlock Unexecuted instantiation: vacuumlazy.c:BufferGetBlock Unexecuted instantiation: visibilitymap.c:BufferGetBlock Unexecuted instantiation: genam.c:BufferGetBlock Unexecuted instantiation: indexam.c:BufferGetBlock Unexecuted instantiation: nbtdedup.c:BufferGetBlock Unexecuted instantiation: nbtinsert.c:BufferGetBlock Unexecuted instantiation: nbtpage.c:BufferGetBlock Unexecuted instantiation: nbtpreprocesskeys.c:BufferGetBlock Unexecuted instantiation: nbtreadpage.c:BufferGetBlock Unexecuted instantiation: nbtree.c:BufferGetBlock Unexecuted instantiation: nbtsearch.c:BufferGetBlock Unexecuted instantiation: nbtsort.c:BufferGetBlock Unexecuted instantiation: nbtsplitloc.c:BufferGetBlock Unexecuted instantiation: nbtutils.c:BufferGetBlock Unexecuted instantiation: nbtvalidate.c:BufferGetBlock Unexecuted instantiation: nbtxlog.c:BufferGetBlock Unexecuted instantiation: spgdoinsert.c:BufferGetBlock Unexecuted instantiation: spginsert.c:BufferGetBlock Unexecuted instantiation: spgscan.c:BufferGetBlock Unexecuted instantiation: spgutils.c:BufferGetBlock Unexecuted instantiation: spgvacuum.c:BufferGetBlock Unexecuted instantiation: spgxlog.c:BufferGetBlock Unexecuted instantiation: tableam.c:BufferGetBlock Unexecuted instantiation: tableamapi.c:BufferGetBlock Unexecuted instantiation: clog.c:BufferGetBlock Unexecuted instantiation: commit_ts.c:BufferGetBlock Unexecuted instantiation: generic_xlog.c:BufferGetBlock Unexecuted instantiation: multixact.c:BufferGetBlock Unexecuted instantiation: parallel.c:BufferGetBlock Unexecuted instantiation: slru.c:BufferGetBlock Unexecuted instantiation: twophase.c:BufferGetBlock Unexecuted instantiation: varsup.c:BufferGetBlock Unexecuted instantiation: xact.c:BufferGetBlock Unexecuted instantiation: xlog.c:BufferGetBlock Unexecuted instantiation: xloginsert.c:BufferGetBlock Unexecuted instantiation: xlogprefetcher.c:BufferGetBlock Unexecuted instantiation: xlogreader.c:BufferGetBlock Unexecuted instantiation: xlogrecovery.c:BufferGetBlock Unexecuted instantiation: xlogutils.c:BufferGetBlock Unexecuted instantiation: bootstrap.c:BufferGetBlock Unexecuted instantiation: aclchk.c:BufferGetBlock Unexecuted instantiation: dependency.c:BufferGetBlock Unexecuted instantiation: heap.c:BufferGetBlock Unexecuted instantiation: index.c:BufferGetBlock Unexecuted instantiation: indexing.c:BufferGetBlock Unexecuted instantiation: objectaddress.c:BufferGetBlock Unexecuted instantiation: pg_db_role_setting.c:BufferGetBlock Unexecuted instantiation: pg_publication.c:BufferGetBlock Unexecuted instantiation: pg_subscription.c:BufferGetBlock Unexecuted instantiation: storage.c:BufferGetBlock Unexecuted instantiation: toasting.c:BufferGetBlock Unexecuted instantiation: gram.c:BufferGetBlock Unexecuted instantiation: parse_clause.c:BufferGetBlock Unexecuted instantiation: alter.c:BufferGetBlock Unexecuted instantiation: analyze.c:BufferGetBlock Unexecuted instantiation: constraint.c:BufferGetBlock Unexecuted instantiation: copyfrom.c:BufferGetBlock Unexecuted instantiation: copyfromparse.c:BufferGetBlock Unexecuted instantiation: copyto.c:BufferGetBlock Unexecuted instantiation: createas.c:BufferGetBlock Unexecuted instantiation: dbcommands.c:BufferGetBlock Unexecuted instantiation: event_trigger.c:BufferGetBlock Unexecuted instantiation: explain.c:BufferGetBlock Unexecuted instantiation: indexcmds.c:BufferGetBlock Unexecuted instantiation: matview.c:BufferGetBlock Unexecuted instantiation: opclasscmds.c:BufferGetBlock Unexecuted instantiation: propgraphcmds.c:BufferGetBlock Unexecuted instantiation: repack.c:BufferGetBlock Unexecuted instantiation: repack_worker.c:BufferGetBlock Unexecuted instantiation: sequence.c:BufferGetBlock Unexecuted instantiation: sequence_xlog.c:BufferGetBlock Unexecuted instantiation: tablecmds.c:BufferGetBlock Unexecuted instantiation: tablespace.c:BufferGetBlock Unexecuted instantiation: trigger.c:BufferGetBlock Unexecuted instantiation: typecmds.c:BufferGetBlock Unexecuted instantiation: vacuum.c:BufferGetBlock Unexecuted instantiation: vacuumparallel.c:BufferGetBlock Unexecuted instantiation: variable.c:BufferGetBlock Unexecuted instantiation: execExpr.c:BufferGetBlock Unexecuted instantiation: execIndexing.c:BufferGetBlock Unexecuted instantiation: execMain.c:BufferGetBlock Unexecuted instantiation: execPartition.c:BufferGetBlock Unexecuted instantiation: execReplication.c:BufferGetBlock Unexecuted instantiation: execTuples.c:BufferGetBlock Unexecuted instantiation: execUtils.c:BufferGetBlock Unexecuted instantiation: nodeBitmapHeapscan.c:BufferGetBlock Unexecuted instantiation: nodeIndexonlyscan.c:BufferGetBlock Unexecuted instantiation: nodeIndexscan.c:BufferGetBlock Unexecuted instantiation: nodeLockRows.c:BufferGetBlock Unexecuted instantiation: nodeMergejoin.c:BufferGetBlock Unexecuted instantiation: nodeModifyTable.c:BufferGetBlock Unexecuted instantiation: nodeSamplescan.c:BufferGetBlock Unexecuted instantiation: nodeSeqscan.c:BufferGetBlock Unexecuted instantiation: nodeTidrangescan.c:BufferGetBlock Unexecuted instantiation: nodeTidscan.c:BufferGetBlock Unexecuted instantiation: spi.c:BufferGetBlock Unexecuted instantiation: copyfuncs.c:BufferGetBlock Unexecuted instantiation: equalfuncs.c:BufferGetBlock Unexecuted instantiation: outfuncs.c:BufferGetBlock Unexecuted instantiation: queryjumblefuncs.c:BufferGetBlock Unexecuted instantiation: readfuncs.c:BufferGetBlock Unexecuted instantiation: initsplan.c:BufferGetBlock Unexecuted instantiation: plancat.c:BufferGetBlock Unexecuted instantiation: relnode.c:BufferGetBlock Unexecuted instantiation: partbounds.c:BufferGetBlock Unexecuted instantiation: partprune.c:BufferGetBlock Unexecuted instantiation: autovacuum.c:BufferGetBlock Unexecuted instantiation: bgwriter.c:BufferGetBlock Unexecuted instantiation: checkpointer.c:BufferGetBlock Unexecuted instantiation: datachecksum_state.c:BufferGetBlock Unexecuted instantiation: startup.c:BufferGetBlock Unexecuted instantiation: walsummarizer.c:BufferGetBlock Unexecuted instantiation: walwriter.c:BufferGetBlock Unexecuted instantiation: conflict.c:BufferGetBlock Unexecuted instantiation: launcher.c:BufferGetBlock Unexecuted instantiation: logical.c:BufferGetBlock Unexecuted instantiation: logicalfuncs.c:BufferGetBlock Unexecuted instantiation: reorderbuffer.c:BufferGetBlock Unexecuted instantiation: worker.c:BufferGetBlock Unexecuted instantiation: slotfuncs.c:BufferGetBlock Unexecuted instantiation: walsender.c:BufferGetBlock Unexecuted instantiation: rewriteHandler.c:BufferGetBlock Unexecuted instantiation: attribute_stats.c:BufferGetBlock Unexecuted instantiation: extended_stats_funcs.c:BufferGetBlock Unexecuted instantiation: relation_stats.c:BufferGetBlock Unexecuted instantiation: aio_callback.c:BufferGetBlock Unexecuted instantiation: aio_init.c:BufferGetBlock Unexecuted instantiation: read_stream.c:BufferGetBlock Unexecuted instantiation: buf_init.c:BufferGetBlock Unexecuted instantiation: buf_table.c:BufferGetBlock Unexecuted instantiation: bufmgr.c:BufferGetBlock Unexecuted instantiation: freelist.c:BufferGetBlock Unexecuted instantiation: localbuf.c:BufferGetBlock Unexecuted instantiation: buffile.c:BufferGetBlock Unexecuted instantiation: freespace.c:BufferGetBlock Unexecuted instantiation: fsmpage.c:BufferGetBlock Unexecuted instantiation: procarray.c:BufferGetBlock Unexecuted instantiation: standby.c:BufferGetBlock Unexecuted instantiation: lock.c:BufferGetBlock Unexecuted instantiation: proc.c:BufferGetBlock Unexecuted instantiation: md.c:BufferGetBlock Unexecuted instantiation: smgr.c:BufferGetBlock Unexecuted instantiation: postgres.c:BufferGetBlock Unexecuted instantiation: utility.c:BufferGetBlock Unexecuted instantiation: pgstat_backend.c:BufferGetBlock Unexecuted instantiation: pgstat_io.c:BufferGetBlock Unexecuted instantiation: ri_triggers.c:BufferGetBlock Unexecuted instantiation: ruleutils.c:BufferGetBlock Unexecuted instantiation: selfuncs.c:BufferGetBlock Unexecuted instantiation: skipsupport.c:BufferGetBlock Unexecuted instantiation: tid.c:BufferGetBlock Unexecuted instantiation: trigfuncs.c:BufferGetBlock Unexecuted instantiation: tsquery_rewrite.c:BufferGetBlock Unexecuted instantiation: tsvector_op.c:BufferGetBlock Unexecuted instantiation: xml.c:BufferGetBlock Unexecuted instantiation: evtcache.c:BufferGetBlock Unexecuted instantiation: funccache.c:BufferGetBlock Unexecuted instantiation: lsyscache.c:BufferGetBlock Unexecuted instantiation: partcache.c:BufferGetBlock Unexecuted instantiation: relcache.c:BufferGetBlock Unexecuted instantiation: spccache.c:BufferGetBlock Unexecuted instantiation: typcache.c:BufferGetBlock Unexecuted instantiation: postinit.c:BufferGetBlock Unexecuted instantiation: guc_tables.c:BufferGetBlock Unexecuted instantiation: sortsupport.c:BufferGetBlock Unexecuted instantiation: tuplesortvariants.c:BufferGetBlock Unexecuted instantiation: simple_query_fuzzer.c:BufferGetBlock |
444 | | |
445 | | /* |
446 | | * BufferGetPageSize |
447 | | * Returns the page size within a buffer. |
448 | | * |
449 | | * Notes: |
450 | | * Assumes buffer is valid. |
451 | | * |
452 | | * The buffer can be a raw disk block and need not contain a valid |
453 | | * (formatted) disk page. |
454 | | */ |
455 | | /* XXX should dig out of buffer descriptor */ |
456 | | static inline Size |
457 | | BufferGetPageSize(Buffer buffer) |
458 | 0 | { |
459 | 0 | Assert(BufferIsValid(buffer)); |
460 | 0 | return (Size) BLCKSZ; |
461 | 0 | } Unexecuted instantiation: fuzzer_initialize.c:BufferGetPageSize Unexecuted instantiation: brin.c:BufferGetPageSize Unexecuted instantiation: brin_pageops.c:BufferGetPageSize Unexecuted instantiation: brin_revmap.c:BufferGetPageSize Unexecuted instantiation: brin_xlog.c:BufferGetPageSize Unexecuted instantiation: bufmask.c:BufferGetPageSize Unexecuted instantiation: detoast.c:BufferGetPageSize Unexecuted instantiation: reloptions.c:BufferGetPageSize Unexecuted instantiation: toast_internals.c:BufferGetPageSize Unexecuted instantiation: ginbtree.c:BufferGetPageSize Unexecuted instantiation: ginbulk.c:BufferGetPageSize Unexecuted instantiation: gindatapage.c:BufferGetPageSize Unexecuted instantiation: ginentrypage.c:BufferGetPageSize Unexecuted instantiation: ginfast.c:BufferGetPageSize Unexecuted instantiation: ginget.c:BufferGetPageSize Unexecuted instantiation: gininsert.c:BufferGetPageSize Unexecuted instantiation: ginlogic.c:BufferGetPageSize Unexecuted instantiation: ginpostinglist.c:BufferGetPageSize Unexecuted instantiation: ginscan.c:BufferGetPageSize Unexecuted instantiation: ginutil.c:BufferGetPageSize Unexecuted instantiation: ginvacuum.c:BufferGetPageSize Unexecuted instantiation: ginvalidate.c:BufferGetPageSize Unexecuted instantiation: ginxlog.c:BufferGetPageSize Unexecuted instantiation: gist.c:BufferGetPageSize Unexecuted instantiation: gistbuild.c:BufferGetPageSize Unexecuted instantiation: gistbuildbuffers.c:BufferGetPageSize Unexecuted instantiation: gistget.c:BufferGetPageSize Unexecuted instantiation: gistscan.c:BufferGetPageSize Unexecuted instantiation: gistsplit.c:BufferGetPageSize Unexecuted instantiation: gistutil.c:BufferGetPageSize Unexecuted instantiation: gistvacuum.c:BufferGetPageSize Unexecuted instantiation: gistvalidate.c:BufferGetPageSize Unexecuted instantiation: gistxlog.c:BufferGetPageSize Unexecuted instantiation: hash.c:BufferGetPageSize Unexecuted instantiation: hash_xlog.c:BufferGetPageSize Unexecuted instantiation: hashinsert.c:BufferGetPageSize Unexecuted instantiation: hashovfl.c:BufferGetPageSize Unexecuted instantiation: hashpage.c:BufferGetPageSize Unexecuted instantiation: hashsearch.c:BufferGetPageSize Unexecuted instantiation: hashsort.c:BufferGetPageSize Unexecuted instantiation: hashutil.c:BufferGetPageSize Unexecuted instantiation: hashvalidate.c:BufferGetPageSize Unexecuted instantiation: heapam.c:BufferGetPageSize Unexecuted instantiation: heapam_handler.c:BufferGetPageSize Unexecuted instantiation: heapam_indexscan.c:BufferGetPageSize Unexecuted instantiation: heapam_visibility.c:BufferGetPageSize Unexecuted instantiation: heapam_xlog.c:BufferGetPageSize Unexecuted instantiation: heaptoast.c:BufferGetPageSize Unexecuted instantiation: hio.c:BufferGetPageSize Unexecuted instantiation: pruneheap.c:BufferGetPageSize Unexecuted instantiation: rewriteheap.c:BufferGetPageSize Unexecuted instantiation: vacuumlazy.c:BufferGetPageSize Unexecuted instantiation: visibilitymap.c:BufferGetPageSize Unexecuted instantiation: genam.c:BufferGetPageSize Unexecuted instantiation: indexam.c:BufferGetPageSize Unexecuted instantiation: nbtdedup.c:BufferGetPageSize Unexecuted instantiation: nbtinsert.c:BufferGetPageSize Unexecuted instantiation: nbtpage.c:BufferGetPageSize Unexecuted instantiation: nbtpreprocesskeys.c:BufferGetPageSize Unexecuted instantiation: nbtreadpage.c:BufferGetPageSize Unexecuted instantiation: nbtree.c:BufferGetPageSize Unexecuted instantiation: nbtsearch.c:BufferGetPageSize Unexecuted instantiation: nbtsort.c:BufferGetPageSize Unexecuted instantiation: nbtsplitloc.c:BufferGetPageSize Unexecuted instantiation: nbtutils.c:BufferGetPageSize Unexecuted instantiation: nbtvalidate.c:BufferGetPageSize Unexecuted instantiation: nbtxlog.c:BufferGetPageSize Unexecuted instantiation: spgdoinsert.c:BufferGetPageSize Unexecuted instantiation: spginsert.c:BufferGetPageSize Unexecuted instantiation: spgscan.c:BufferGetPageSize Unexecuted instantiation: spgutils.c:BufferGetPageSize Unexecuted instantiation: spgvacuum.c:BufferGetPageSize Unexecuted instantiation: spgxlog.c:BufferGetPageSize Unexecuted instantiation: tableam.c:BufferGetPageSize Unexecuted instantiation: tableamapi.c:BufferGetPageSize Unexecuted instantiation: clog.c:BufferGetPageSize Unexecuted instantiation: commit_ts.c:BufferGetPageSize Unexecuted instantiation: generic_xlog.c:BufferGetPageSize Unexecuted instantiation: multixact.c:BufferGetPageSize Unexecuted instantiation: parallel.c:BufferGetPageSize Unexecuted instantiation: slru.c:BufferGetPageSize Unexecuted instantiation: twophase.c:BufferGetPageSize Unexecuted instantiation: varsup.c:BufferGetPageSize Unexecuted instantiation: xact.c:BufferGetPageSize Unexecuted instantiation: xlog.c:BufferGetPageSize Unexecuted instantiation: xloginsert.c:BufferGetPageSize Unexecuted instantiation: xlogprefetcher.c:BufferGetPageSize Unexecuted instantiation: xlogreader.c:BufferGetPageSize Unexecuted instantiation: xlogrecovery.c:BufferGetPageSize Unexecuted instantiation: xlogutils.c:BufferGetPageSize Unexecuted instantiation: bootstrap.c:BufferGetPageSize Unexecuted instantiation: aclchk.c:BufferGetPageSize Unexecuted instantiation: dependency.c:BufferGetPageSize Unexecuted instantiation: heap.c:BufferGetPageSize Unexecuted instantiation: index.c:BufferGetPageSize Unexecuted instantiation: indexing.c:BufferGetPageSize Unexecuted instantiation: objectaddress.c:BufferGetPageSize Unexecuted instantiation: pg_db_role_setting.c:BufferGetPageSize Unexecuted instantiation: pg_publication.c:BufferGetPageSize Unexecuted instantiation: pg_subscription.c:BufferGetPageSize Unexecuted instantiation: storage.c:BufferGetPageSize Unexecuted instantiation: toasting.c:BufferGetPageSize Unexecuted instantiation: gram.c:BufferGetPageSize Unexecuted instantiation: parse_clause.c:BufferGetPageSize Unexecuted instantiation: alter.c:BufferGetPageSize Unexecuted instantiation: analyze.c:BufferGetPageSize Unexecuted instantiation: constraint.c:BufferGetPageSize Unexecuted instantiation: copyfrom.c:BufferGetPageSize Unexecuted instantiation: copyfromparse.c:BufferGetPageSize Unexecuted instantiation: copyto.c:BufferGetPageSize Unexecuted instantiation: createas.c:BufferGetPageSize Unexecuted instantiation: dbcommands.c:BufferGetPageSize Unexecuted instantiation: event_trigger.c:BufferGetPageSize Unexecuted instantiation: explain.c:BufferGetPageSize Unexecuted instantiation: indexcmds.c:BufferGetPageSize Unexecuted instantiation: matview.c:BufferGetPageSize Unexecuted instantiation: opclasscmds.c:BufferGetPageSize Unexecuted instantiation: propgraphcmds.c:BufferGetPageSize Unexecuted instantiation: repack.c:BufferGetPageSize Unexecuted instantiation: repack_worker.c:BufferGetPageSize Unexecuted instantiation: sequence.c:BufferGetPageSize Unexecuted instantiation: sequence_xlog.c:BufferGetPageSize Unexecuted instantiation: tablecmds.c:BufferGetPageSize Unexecuted instantiation: tablespace.c:BufferGetPageSize Unexecuted instantiation: trigger.c:BufferGetPageSize Unexecuted instantiation: typecmds.c:BufferGetPageSize Unexecuted instantiation: vacuum.c:BufferGetPageSize Unexecuted instantiation: vacuumparallel.c:BufferGetPageSize Unexecuted instantiation: variable.c:BufferGetPageSize Unexecuted instantiation: execExpr.c:BufferGetPageSize Unexecuted instantiation: execIndexing.c:BufferGetPageSize Unexecuted instantiation: execMain.c:BufferGetPageSize Unexecuted instantiation: execPartition.c:BufferGetPageSize Unexecuted instantiation: execReplication.c:BufferGetPageSize Unexecuted instantiation: execTuples.c:BufferGetPageSize Unexecuted instantiation: execUtils.c:BufferGetPageSize Unexecuted instantiation: nodeBitmapHeapscan.c:BufferGetPageSize Unexecuted instantiation: nodeIndexonlyscan.c:BufferGetPageSize Unexecuted instantiation: nodeIndexscan.c:BufferGetPageSize Unexecuted instantiation: nodeLockRows.c:BufferGetPageSize Unexecuted instantiation: nodeMergejoin.c:BufferGetPageSize Unexecuted instantiation: nodeModifyTable.c:BufferGetPageSize Unexecuted instantiation: nodeSamplescan.c:BufferGetPageSize Unexecuted instantiation: nodeSeqscan.c:BufferGetPageSize Unexecuted instantiation: nodeTidrangescan.c:BufferGetPageSize Unexecuted instantiation: nodeTidscan.c:BufferGetPageSize Unexecuted instantiation: spi.c:BufferGetPageSize Unexecuted instantiation: copyfuncs.c:BufferGetPageSize Unexecuted instantiation: equalfuncs.c:BufferGetPageSize Unexecuted instantiation: outfuncs.c:BufferGetPageSize Unexecuted instantiation: queryjumblefuncs.c:BufferGetPageSize Unexecuted instantiation: readfuncs.c:BufferGetPageSize Unexecuted instantiation: initsplan.c:BufferGetPageSize Unexecuted instantiation: plancat.c:BufferGetPageSize Unexecuted instantiation: relnode.c:BufferGetPageSize Unexecuted instantiation: partbounds.c:BufferGetPageSize Unexecuted instantiation: partprune.c:BufferGetPageSize Unexecuted instantiation: autovacuum.c:BufferGetPageSize Unexecuted instantiation: bgwriter.c:BufferGetPageSize Unexecuted instantiation: checkpointer.c:BufferGetPageSize Unexecuted instantiation: datachecksum_state.c:BufferGetPageSize Unexecuted instantiation: startup.c:BufferGetPageSize Unexecuted instantiation: walsummarizer.c:BufferGetPageSize Unexecuted instantiation: walwriter.c:BufferGetPageSize Unexecuted instantiation: conflict.c:BufferGetPageSize Unexecuted instantiation: launcher.c:BufferGetPageSize Unexecuted instantiation: logical.c:BufferGetPageSize Unexecuted instantiation: logicalfuncs.c:BufferGetPageSize Unexecuted instantiation: reorderbuffer.c:BufferGetPageSize Unexecuted instantiation: worker.c:BufferGetPageSize Unexecuted instantiation: slotfuncs.c:BufferGetPageSize Unexecuted instantiation: walsender.c:BufferGetPageSize Unexecuted instantiation: rewriteHandler.c:BufferGetPageSize Unexecuted instantiation: attribute_stats.c:BufferGetPageSize Unexecuted instantiation: extended_stats_funcs.c:BufferGetPageSize Unexecuted instantiation: relation_stats.c:BufferGetPageSize Unexecuted instantiation: aio_callback.c:BufferGetPageSize Unexecuted instantiation: aio_init.c:BufferGetPageSize Unexecuted instantiation: read_stream.c:BufferGetPageSize Unexecuted instantiation: buf_init.c:BufferGetPageSize Unexecuted instantiation: buf_table.c:BufferGetPageSize Unexecuted instantiation: bufmgr.c:BufferGetPageSize Unexecuted instantiation: freelist.c:BufferGetPageSize Unexecuted instantiation: localbuf.c:BufferGetPageSize Unexecuted instantiation: buffile.c:BufferGetPageSize Unexecuted instantiation: freespace.c:BufferGetPageSize Unexecuted instantiation: fsmpage.c:BufferGetPageSize Unexecuted instantiation: procarray.c:BufferGetPageSize Unexecuted instantiation: standby.c:BufferGetPageSize Unexecuted instantiation: lock.c:BufferGetPageSize Unexecuted instantiation: proc.c:BufferGetPageSize Unexecuted instantiation: md.c:BufferGetPageSize Unexecuted instantiation: smgr.c:BufferGetPageSize Unexecuted instantiation: postgres.c:BufferGetPageSize Unexecuted instantiation: utility.c:BufferGetPageSize Unexecuted instantiation: pgstat_backend.c:BufferGetPageSize Unexecuted instantiation: pgstat_io.c:BufferGetPageSize Unexecuted instantiation: ri_triggers.c:BufferGetPageSize Unexecuted instantiation: ruleutils.c:BufferGetPageSize Unexecuted instantiation: selfuncs.c:BufferGetPageSize Unexecuted instantiation: skipsupport.c:BufferGetPageSize Unexecuted instantiation: tid.c:BufferGetPageSize Unexecuted instantiation: trigfuncs.c:BufferGetPageSize Unexecuted instantiation: tsquery_rewrite.c:BufferGetPageSize Unexecuted instantiation: tsvector_op.c:BufferGetPageSize Unexecuted instantiation: xml.c:BufferGetPageSize Unexecuted instantiation: evtcache.c:BufferGetPageSize Unexecuted instantiation: funccache.c:BufferGetPageSize Unexecuted instantiation: lsyscache.c:BufferGetPageSize Unexecuted instantiation: partcache.c:BufferGetPageSize Unexecuted instantiation: relcache.c:BufferGetPageSize Unexecuted instantiation: spccache.c:BufferGetPageSize Unexecuted instantiation: typcache.c:BufferGetPageSize Unexecuted instantiation: postinit.c:BufferGetPageSize Unexecuted instantiation: guc_tables.c:BufferGetPageSize Unexecuted instantiation: sortsupport.c:BufferGetPageSize Unexecuted instantiation: tuplesortvariants.c:BufferGetPageSize Unexecuted instantiation: simple_query_fuzzer.c:BufferGetPageSize |
462 | | |
463 | | /* |
464 | | * BufferGetPage |
465 | | * Returns the page associated with a buffer. |
466 | | */ |
467 | | static inline Page |
468 | | BufferGetPage(Buffer buffer) |
469 | 0 | { |
470 | 0 | return (Page) BufferGetBlock(buffer); |
471 | 0 | } Unexecuted instantiation: fuzzer_initialize.c:BufferGetPage Unexecuted instantiation: brin.c:BufferGetPage Unexecuted instantiation: brin_pageops.c:BufferGetPage Unexecuted instantiation: brin_revmap.c:BufferGetPage Unexecuted instantiation: brin_xlog.c:BufferGetPage Unexecuted instantiation: bufmask.c:BufferGetPage Unexecuted instantiation: detoast.c:BufferGetPage Unexecuted instantiation: reloptions.c:BufferGetPage Unexecuted instantiation: toast_internals.c:BufferGetPage Unexecuted instantiation: ginbtree.c:BufferGetPage Unexecuted instantiation: ginbulk.c:BufferGetPage Unexecuted instantiation: gindatapage.c:BufferGetPage Unexecuted instantiation: ginentrypage.c:BufferGetPage Unexecuted instantiation: ginfast.c:BufferGetPage Unexecuted instantiation: ginget.c:BufferGetPage Unexecuted instantiation: gininsert.c:BufferGetPage Unexecuted instantiation: ginlogic.c:BufferGetPage Unexecuted instantiation: ginpostinglist.c:BufferGetPage Unexecuted instantiation: ginscan.c:BufferGetPage Unexecuted instantiation: ginutil.c:BufferGetPage Unexecuted instantiation: ginvacuum.c:BufferGetPage Unexecuted instantiation: ginvalidate.c:BufferGetPage Unexecuted instantiation: ginxlog.c:BufferGetPage Unexecuted instantiation: gist.c:BufferGetPage Unexecuted instantiation: gistbuild.c:BufferGetPage Unexecuted instantiation: gistbuildbuffers.c:BufferGetPage Unexecuted instantiation: gistget.c:BufferGetPage Unexecuted instantiation: gistscan.c:BufferGetPage Unexecuted instantiation: gistsplit.c:BufferGetPage Unexecuted instantiation: gistutil.c:BufferGetPage Unexecuted instantiation: gistvacuum.c:BufferGetPage Unexecuted instantiation: gistvalidate.c:BufferGetPage Unexecuted instantiation: gistxlog.c:BufferGetPage Unexecuted instantiation: hash.c:BufferGetPage Unexecuted instantiation: hash_xlog.c:BufferGetPage Unexecuted instantiation: hashinsert.c:BufferGetPage Unexecuted instantiation: hashovfl.c:BufferGetPage Unexecuted instantiation: hashpage.c:BufferGetPage Unexecuted instantiation: hashsearch.c:BufferGetPage Unexecuted instantiation: hashsort.c:BufferGetPage Unexecuted instantiation: hashutil.c:BufferGetPage Unexecuted instantiation: hashvalidate.c:BufferGetPage Unexecuted instantiation: heapam.c:BufferGetPage Unexecuted instantiation: heapam_handler.c:BufferGetPage Unexecuted instantiation: heapam_indexscan.c:BufferGetPage Unexecuted instantiation: heapam_visibility.c:BufferGetPage Unexecuted instantiation: heapam_xlog.c:BufferGetPage Unexecuted instantiation: heaptoast.c:BufferGetPage Unexecuted instantiation: hio.c:BufferGetPage Unexecuted instantiation: pruneheap.c:BufferGetPage Unexecuted instantiation: rewriteheap.c:BufferGetPage Unexecuted instantiation: vacuumlazy.c:BufferGetPage Unexecuted instantiation: visibilitymap.c:BufferGetPage Unexecuted instantiation: genam.c:BufferGetPage Unexecuted instantiation: indexam.c:BufferGetPage Unexecuted instantiation: nbtdedup.c:BufferGetPage Unexecuted instantiation: nbtinsert.c:BufferGetPage Unexecuted instantiation: nbtpage.c:BufferGetPage Unexecuted instantiation: nbtpreprocesskeys.c:BufferGetPage Unexecuted instantiation: nbtreadpage.c:BufferGetPage Unexecuted instantiation: nbtree.c:BufferGetPage Unexecuted instantiation: nbtsearch.c:BufferGetPage Unexecuted instantiation: nbtsort.c:BufferGetPage Unexecuted instantiation: nbtsplitloc.c:BufferGetPage Unexecuted instantiation: nbtutils.c:BufferGetPage Unexecuted instantiation: nbtvalidate.c:BufferGetPage Unexecuted instantiation: nbtxlog.c:BufferGetPage Unexecuted instantiation: spgdoinsert.c:BufferGetPage Unexecuted instantiation: spginsert.c:BufferGetPage Unexecuted instantiation: spgscan.c:BufferGetPage Unexecuted instantiation: spgutils.c:BufferGetPage Unexecuted instantiation: spgvacuum.c:BufferGetPage Unexecuted instantiation: spgxlog.c:BufferGetPage Unexecuted instantiation: tableam.c:BufferGetPage Unexecuted instantiation: tableamapi.c:BufferGetPage Unexecuted instantiation: clog.c:BufferGetPage Unexecuted instantiation: commit_ts.c:BufferGetPage Unexecuted instantiation: generic_xlog.c:BufferGetPage Unexecuted instantiation: multixact.c:BufferGetPage Unexecuted instantiation: parallel.c:BufferGetPage Unexecuted instantiation: slru.c:BufferGetPage Unexecuted instantiation: twophase.c:BufferGetPage Unexecuted instantiation: varsup.c:BufferGetPage Unexecuted instantiation: xact.c:BufferGetPage Unexecuted instantiation: xlog.c:BufferGetPage Unexecuted instantiation: xloginsert.c:BufferGetPage Unexecuted instantiation: xlogprefetcher.c:BufferGetPage Unexecuted instantiation: xlogreader.c:BufferGetPage Unexecuted instantiation: xlogrecovery.c:BufferGetPage Unexecuted instantiation: xlogutils.c:BufferGetPage Unexecuted instantiation: bootstrap.c:BufferGetPage Unexecuted instantiation: aclchk.c:BufferGetPage Unexecuted instantiation: dependency.c:BufferGetPage Unexecuted instantiation: heap.c:BufferGetPage Unexecuted instantiation: index.c:BufferGetPage Unexecuted instantiation: indexing.c:BufferGetPage Unexecuted instantiation: objectaddress.c:BufferGetPage Unexecuted instantiation: pg_db_role_setting.c:BufferGetPage Unexecuted instantiation: pg_publication.c:BufferGetPage Unexecuted instantiation: pg_subscription.c:BufferGetPage Unexecuted instantiation: storage.c:BufferGetPage Unexecuted instantiation: toasting.c:BufferGetPage Unexecuted instantiation: gram.c:BufferGetPage Unexecuted instantiation: parse_clause.c:BufferGetPage Unexecuted instantiation: alter.c:BufferGetPage Unexecuted instantiation: analyze.c:BufferGetPage Unexecuted instantiation: constraint.c:BufferGetPage Unexecuted instantiation: copyfrom.c:BufferGetPage Unexecuted instantiation: copyfromparse.c:BufferGetPage Unexecuted instantiation: copyto.c:BufferGetPage Unexecuted instantiation: createas.c:BufferGetPage Unexecuted instantiation: dbcommands.c:BufferGetPage Unexecuted instantiation: event_trigger.c:BufferGetPage Unexecuted instantiation: explain.c:BufferGetPage Unexecuted instantiation: indexcmds.c:BufferGetPage Unexecuted instantiation: matview.c:BufferGetPage Unexecuted instantiation: opclasscmds.c:BufferGetPage Unexecuted instantiation: propgraphcmds.c:BufferGetPage Unexecuted instantiation: repack.c:BufferGetPage Unexecuted instantiation: repack_worker.c:BufferGetPage Unexecuted instantiation: sequence.c:BufferGetPage Unexecuted instantiation: sequence_xlog.c:BufferGetPage Unexecuted instantiation: tablecmds.c:BufferGetPage Unexecuted instantiation: tablespace.c:BufferGetPage Unexecuted instantiation: trigger.c:BufferGetPage Unexecuted instantiation: typecmds.c:BufferGetPage Unexecuted instantiation: vacuum.c:BufferGetPage Unexecuted instantiation: vacuumparallel.c:BufferGetPage Unexecuted instantiation: variable.c:BufferGetPage Unexecuted instantiation: execExpr.c:BufferGetPage Unexecuted instantiation: execIndexing.c:BufferGetPage Unexecuted instantiation: execMain.c:BufferGetPage Unexecuted instantiation: execPartition.c:BufferGetPage Unexecuted instantiation: execReplication.c:BufferGetPage Unexecuted instantiation: execTuples.c:BufferGetPage Unexecuted instantiation: execUtils.c:BufferGetPage Unexecuted instantiation: nodeBitmapHeapscan.c:BufferGetPage Unexecuted instantiation: nodeIndexonlyscan.c:BufferGetPage Unexecuted instantiation: nodeIndexscan.c:BufferGetPage Unexecuted instantiation: nodeLockRows.c:BufferGetPage Unexecuted instantiation: nodeMergejoin.c:BufferGetPage Unexecuted instantiation: nodeModifyTable.c:BufferGetPage Unexecuted instantiation: nodeSamplescan.c:BufferGetPage Unexecuted instantiation: nodeSeqscan.c:BufferGetPage Unexecuted instantiation: nodeTidrangescan.c:BufferGetPage Unexecuted instantiation: nodeTidscan.c:BufferGetPage Unexecuted instantiation: spi.c:BufferGetPage Unexecuted instantiation: copyfuncs.c:BufferGetPage Unexecuted instantiation: equalfuncs.c:BufferGetPage Unexecuted instantiation: outfuncs.c:BufferGetPage Unexecuted instantiation: queryjumblefuncs.c:BufferGetPage Unexecuted instantiation: readfuncs.c:BufferGetPage Unexecuted instantiation: initsplan.c:BufferGetPage Unexecuted instantiation: plancat.c:BufferGetPage Unexecuted instantiation: relnode.c:BufferGetPage Unexecuted instantiation: partbounds.c:BufferGetPage Unexecuted instantiation: partprune.c:BufferGetPage Unexecuted instantiation: autovacuum.c:BufferGetPage Unexecuted instantiation: bgwriter.c:BufferGetPage Unexecuted instantiation: checkpointer.c:BufferGetPage Unexecuted instantiation: datachecksum_state.c:BufferGetPage Unexecuted instantiation: startup.c:BufferGetPage Unexecuted instantiation: walsummarizer.c:BufferGetPage Unexecuted instantiation: walwriter.c:BufferGetPage Unexecuted instantiation: conflict.c:BufferGetPage Unexecuted instantiation: launcher.c:BufferGetPage Unexecuted instantiation: logical.c:BufferGetPage Unexecuted instantiation: logicalfuncs.c:BufferGetPage Unexecuted instantiation: reorderbuffer.c:BufferGetPage Unexecuted instantiation: worker.c:BufferGetPage Unexecuted instantiation: slotfuncs.c:BufferGetPage Unexecuted instantiation: walsender.c:BufferGetPage Unexecuted instantiation: rewriteHandler.c:BufferGetPage Unexecuted instantiation: attribute_stats.c:BufferGetPage Unexecuted instantiation: extended_stats_funcs.c:BufferGetPage Unexecuted instantiation: relation_stats.c:BufferGetPage Unexecuted instantiation: aio_callback.c:BufferGetPage Unexecuted instantiation: aio_init.c:BufferGetPage Unexecuted instantiation: read_stream.c:BufferGetPage Unexecuted instantiation: buf_init.c:BufferGetPage Unexecuted instantiation: buf_table.c:BufferGetPage Unexecuted instantiation: bufmgr.c:BufferGetPage Unexecuted instantiation: freelist.c:BufferGetPage Unexecuted instantiation: localbuf.c:BufferGetPage Unexecuted instantiation: buffile.c:BufferGetPage Unexecuted instantiation: freespace.c:BufferGetPage Unexecuted instantiation: fsmpage.c:BufferGetPage Unexecuted instantiation: procarray.c:BufferGetPage Unexecuted instantiation: standby.c:BufferGetPage Unexecuted instantiation: lock.c:BufferGetPage Unexecuted instantiation: proc.c:BufferGetPage Unexecuted instantiation: md.c:BufferGetPage Unexecuted instantiation: smgr.c:BufferGetPage Unexecuted instantiation: postgres.c:BufferGetPage Unexecuted instantiation: utility.c:BufferGetPage Unexecuted instantiation: pgstat_backend.c:BufferGetPage Unexecuted instantiation: pgstat_io.c:BufferGetPage Unexecuted instantiation: ri_triggers.c:BufferGetPage Unexecuted instantiation: ruleutils.c:BufferGetPage Unexecuted instantiation: selfuncs.c:BufferGetPage Unexecuted instantiation: skipsupport.c:BufferGetPage Unexecuted instantiation: tid.c:BufferGetPage Unexecuted instantiation: trigfuncs.c:BufferGetPage Unexecuted instantiation: tsquery_rewrite.c:BufferGetPage Unexecuted instantiation: tsvector_op.c:BufferGetPage Unexecuted instantiation: xml.c:BufferGetPage Unexecuted instantiation: evtcache.c:BufferGetPage Unexecuted instantiation: funccache.c:BufferGetPage Unexecuted instantiation: lsyscache.c:BufferGetPage Unexecuted instantiation: partcache.c:BufferGetPage Unexecuted instantiation: relcache.c:BufferGetPage Unexecuted instantiation: spccache.c:BufferGetPage Unexecuted instantiation: typcache.c:BufferGetPage Unexecuted instantiation: postinit.c:BufferGetPage Unexecuted instantiation: guc_tables.c:BufferGetPage Unexecuted instantiation: sortsupport.c:BufferGetPage Unexecuted instantiation: tuplesortvariants.c:BufferGetPage Unexecuted instantiation: simple_query_fuzzer.c:BufferGetPage |
472 | | |
473 | | #endif /* FRONTEND */ |
474 | | |
475 | | #endif /* BUFMGR_H */ |