Coverage Report

Created: 2026-08-14 06:37

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/src/postgres/src/include/access/tableam.h
Line
Count
Source
1
/*-------------------------------------------------------------------------
2
 *
3
 * tableam.h
4
 *    POSTGRES table access method 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/access/tableam.h
11
 *
12
 * NOTES
13
 *    See tableam.sgml for higher level documentation.
14
 *
15
 *-------------------------------------------------------------------------
16
 */
17
#ifndef TABLEAM_H
18
#define TABLEAM_H
19
20
#include "access/relscan.h"
21
#include "access/sdir.h"
22
#include "access/xact.h"
23
#include "executor/tuptable.h"
24
#include "storage/read_stream.h"
25
#include "utils/rel.h"
26
#include "utils/snapshot.h"
27
28
29
#define DEFAULT_TABLE_ACCESS_METHOD "heap"
30
31
/* GUCs */
32
extern PGDLLIMPORT char *default_table_access_method;
33
extern PGDLLIMPORT bool synchronize_seqscans;
34
35
36
/* forward references in this file */
37
typedef struct BulkInsertStateData BulkInsertStateData;
38
typedef struct IndexInfo IndexInfo;
39
typedef struct SampleScanState SampleScanState;
40
typedef struct ScanKeyData ScanKeyData;
41
typedef struct ValidateIndexState ValidateIndexState;
42
typedef struct VacuumParams VacuumParams;
43
44
/*
45
 * Bitmask values for the flags argument to the scan_begin callback.
46
 */
47
typedef enum ScanOptions
48
{
49
  SO_NONE = 0,
50
51
  /* one of SO_TYPE_* may be specified */
52
  SO_TYPE_SEQSCAN = 1 << 0,
53
  SO_TYPE_BITMAPSCAN = 1 << 1,
54
  SO_TYPE_SAMPLESCAN = 1 << 2,
55
  SO_TYPE_TIDSCAN = 1 << 3,
56
  SO_TYPE_TIDRANGESCAN = 1 << 4,
57
  SO_TYPE_ANALYZE = 1 << 5,
58
59
  /* several of SO_ALLOW_* may be specified */
60
  /* allow or disallow use of access strategy */
61
  SO_ALLOW_STRAT = 1 << 6,
62
  /* report location to syncscan logic? */
63
  SO_ALLOW_SYNC = 1 << 7,
64
  /* verify visibility page-at-a-time? */
65
  SO_ALLOW_PAGEMODE = 1 << 8,
66
67
  /* unregister snapshot at scan end? */
68
  SO_TEMP_SNAPSHOT = 1 << 9,
69
70
  /* set if the query doesn't modify the relation */
71
  SO_HINT_REL_READ_ONLY = 1 << 10,
72
73
  /* collect scan instrumentation */
74
  SO_SCAN_INSTRUMENT = 1 << 11,
75
}     ScanOptions;
76
77
/*
78
 * Mask of flags that are set internally by the table scan functions and
79
 * shouldn't be passed by callers. Some of these are effectively set by callers
80
 * through parameters to table scan functions (e.g. SO_ALLOW_STRAT/allow_strat),
81
 * however, for now, retain tight control over them and don't allow users to
82
 * pass these themselves to table scan functions.
83
 */
84
#define SO_INTERNAL_FLAGS \
85
  (SO_TYPE_SEQSCAN | SO_TYPE_BITMAPSCAN | SO_TYPE_SAMPLESCAN | \
86
   SO_TYPE_TIDSCAN | SO_TYPE_TIDRANGESCAN | SO_TYPE_ANALYZE | \
87
   SO_ALLOW_STRAT | SO_ALLOW_SYNC | SO_ALLOW_PAGEMODE | \
88
   SO_TEMP_SNAPSHOT)
89
90
/*
91
 * Result codes for table_{update,delete,lock_tuple}, and for visibility
92
 * routines inside table AMs.
93
 */
94
typedef enum TM_Result
95
{
96
  /*
97
   * Signals that the action succeeded (i.e. update/delete performed, lock
98
   * was acquired)
99
   */
100
  TM_Ok,
101
102
  /* The affected tuple wasn't visible to the relevant snapshot */
103
  TM_Invisible,
104
105
  /* The affected tuple was already modified by the calling backend */
106
  TM_SelfModified,
107
108
  /*
109
   * The affected tuple was updated by another transaction. This includes
110
   * the case where tuple was moved to another partition.
111
   */
112
  TM_Updated,
113
114
  /* The affected tuple was deleted by another transaction */
115
  TM_Deleted,
116
117
  /*
118
   * The affected tuple is currently being modified by another session. This
119
   * will only be returned if table_(update/delete/lock_tuple) are
120
   * instructed not to wait.
121
   */
122
  TM_BeingModified,
123
124
  /* lock couldn't be acquired, action skipped. Only used by lock_tuple */
125
  TM_WouldBlock,
126
} TM_Result;
127
128
/*
129
 * Result codes for table_update(..., update_indexes*..).
130
 * Used to determine which indexes to update.
131
 */
132
typedef enum TU_UpdateIndexes
133
{
134
  /* No indexed columns were updated (incl. TID addressing of tuple) */
135
  TU_None,
136
137
  /* A non-summarizing indexed column was updated, or the TID has changed */
138
  TU_All,
139
140
  /* Only summarized columns were updated, TID is unchanged */
141
  TU_Summarizing,
142
} TU_UpdateIndexes;
143
144
/*
145
 * When table_tuple_update, table_tuple_delete, or table_tuple_lock fail
146
 * because the target tuple is already outdated, they fill in this struct to
147
 * provide information to the caller about what happened. When those functions
148
 * succeed, the contents of this struct should not be relied upon, except for
149
 * `traversed`, which may be set in both success and failure cases.
150
 *
151
 * ctid is the target's ctid link: it is the same as the target's TID if the
152
 * target was deleted, or the location of the replacement tuple if the target
153
 * was updated.
154
 *
155
 * xmax is the outdating transaction's XID.  If the caller wants to visit the
156
 * replacement tuple, it must check that this matches before believing the
157
 * replacement is really a match.  This is InvalidTransactionId if the target
158
 * was !LP_NORMAL (expected only for a TID retrieved from syscache).
159
 *
160
 * cmax is the outdating command's CID, but only when the failure code is
161
 * TM_SelfModified (i.e., something in the current transaction outdated the
162
 * tuple); otherwise cmax is zero.  (We make this restriction because
163
 * HeapTupleHeaderGetCmax doesn't work for tuples outdated in other
164
 * transactions.)
165
 *
166
 * traversed indicates if an update chain was followed in order to try to lock
167
 * the target tuple.  (This may be set in both success and failure cases.)
168
 */
169
typedef struct TM_FailureData
170
{
171
  ItemPointerData ctid;
172
  TransactionId xmax;
173
  CommandId cmax;
174
  bool    traversed;
175
} TM_FailureData;
176
177
/*
178
 * State used when calling table_index_delete_tuples().
179
 *
180
 * Represents the status of table tuples, referenced by table TID and taken by
181
 * index AM from index tuples.  State consists of high level parameters of the
182
 * deletion operation, plus two mutable palloc()'d arrays for information
183
 * about the status of individual table tuples.  These are conceptually one
184
 * single array.  Using two arrays keeps the TM_IndexDelete struct small,
185
 * which makes sorting the first array (the deltids array) fast.
186
 *
187
 * Some index AM callers perform simple index tuple deletion (by specifying
188
 * bottomup = false), and include only known-dead deltids.  These known-dead
189
 * entries are all marked knowndeletable = true directly (typically these are
190
 * TIDs from LP_DEAD-marked index tuples), but that isn't strictly required.
191
 *
192
 * Callers that specify bottomup = true are "bottom-up index deletion"
193
 * callers.  The considerations for the tableam are more subtle with these
194
 * callers because they ask the tableam to perform highly speculative work,
195
 * and might only expect the tableam to check a small fraction of all entries.
196
 * Caller is not allowed to specify knowndeletable = true for any entry
197
 * because everything is highly speculative.  Bottom-up caller provides
198
 * context and hints to tableam -- see comments below for details on how index
199
 * AMs and tableams should coordinate during bottom-up index deletion.
200
 *
201
 * Simple index deletion callers may ask the tableam to perform speculative
202
 * work, too.  This is a little like bottom-up deletion, but not too much.
203
 * The tableam will only perform speculative work when it's practically free
204
 * to do so in passing for simple deletion caller (while always performing
205
 * whatever work is needed to enable knowndeletable/LP_DEAD index tuples to
206
 * be deleted within index AM).  This is the real reason why it's possible for
207
 * simple index deletion caller to specify knowndeletable = false up front
208
 * (this means "check if it's possible for me to delete corresponding index
209
 * tuple when it's cheap to do so in passing").  The index AM should only
210
 * include "extra" entries for index tuples whose TIDs point to a table block
211
 * that tableam is expected to have to visit anyway (in the event of a block
212
 * orientated tableam).  The tableam isn't strictly obligated to check these
213
 * "extra" TIDs, but a block-based AM should always manage to do so in
214
 * practice.
215
 *
216
 * The final contents of the deltids/status arrays are interesting to callers
217
 * that ask tableam to perform speculative work (i.e. when _any_ items have
218
 * knowndeletable set to false up front).  These index AM callers will
219
 * naturally need to consult final state to determine which index tuples are
220
 * in fact deletable.
221
 *
222
 * The index AM can keep track of which index tuple relates to which deltid by
223
 * setting idxoffnum (and/or relying on each entry being uniquely identifiable
224
 * using tid), which is important when the final contents of the array will
225
 * need to be interpreted -- the array can shrink from initial size after
226
 * tableam processing and/or have entries in a new order (tableam may sort
227
 * deltids array for its own reasons).  Bottom-up callers may find that final
228
 * ndeltids is 0 on return from call to tableam, in which case no index tuple
229
 * deletions are possible.  Simple deletion callers can rely on any entries
230
 * they know to be deletable appearing in the final array as deletable.
231
 */
232
typedef struct TM_IndexDelete
233
{
234
  ItemPointerData tid;    /* table TID from index tuple */
235
  int16   id;       /* Offset into TM_IndexStatus array */
236
} TM_IndexDelete;
237
238
typedef struct TM_IndexStatus
239
{
240
  OffsetNumber idxoffnum;   /* Index am page offset number */
241
  bool    knowndeletable; /* Currently known to be deletable? */
242
243
  /* Bottom-up index deletion specific fields follow */
244
  bool    promising;    /* Promising (duplicate) index tuple? */
245
  int16   freespace;    /* Space freed in index if deleted */
246
} TM_IndexStatus;
247
248
/*
249
 * Index AM/tableam coordination is central to the design of bottom-up index
250
 * deletion.  The index AM provides hints about where to look to the tableam
251
 * by marking some entries as "promising".  Index AM does this with duplicate
252
 * index tuples that are strongly suspected to be old versions left behind by
253
 * UPDATEs that did not logically modify indexed values.  Index AM may find it
254
 * helpful to only mark entries as promising when they're thought to have been
255
 * affected by such an UPDATE in the recent past.
256
 *
257
 * Bottom-up index deletion casts a wide net at first, usually by including
258
 * all TIDs on a target index page.  It is up to the tableam to worry about
259
 * the cost of checking transaction status information.  The tableam is in
260
 * control, but needs careful guidance from the index AM.  Index AM requests
261
 * that bottomupfreespace target be met, while tableam measures progress
262
 * towards that goal by tallying the per-entry freespace value for known
263
 * deletable entries. (All !bottomup callers can just set these space related
264
 * fields to zero.)
265
 */
266
typedef struct TM_IndexDeleteOp
267
{
268
  Relation  irel;     /* Target index relation */
269
  BlockNumber iblknum;    /* Index block number (for error reports) */
270
  bool    bottomup;   /* Bottom-up (not simple) deletion? */
271
  int     bottomupfreespace;  /* Bottom-up space target */
272
273
  /* Mutable per-TID information follows (index AM initializes entries) */
274
  int     ndeltids;   /* Current # of deltids/status elements */
275
  TM_IndexDelete *deltids;
276
  TM_IndexStatus *status;
277
} TM_IndexDeleteOp;
278
279
/*
280
 * "options" flag bits for table_tuple_insert.  Access methods may define
281
 * their own bits for internal use, as long as they don't collide with these.
282
 */
283
/* TABLE_INSERT_SKIP_WAL was 0x0001; RelationNeedsWAL() now governs */
284
0
#define TABLE_INSERT_SKIP_FSM   0x0002
285
0
#define TABLE_INSERT_FROZEN     0x0004
286
0
#define TABLE_INSERT_NO_LOGICAL   0x0008
287
288
/* "options" flag bits for table_tuple_delete */
289
0
#define TABLE_DELETE_CHANGING_PARTITION     (1 << 0)
290
0
#define TABLE_DELETE_NO_LOGICAL         (1 << 1)
291
292
/* "options" flag bits for table_tuple_update */
293
0
#define TABLE_UPDATE_NO_LOGICAL         (1 << 0)
294
295
/* flag bits for table_tuple_lock */
296
/* Follow tuples whose update is in progress if lock modes don't conflict  */
297
0
#define TUPLE_LOCK_FLAG_LOCK_UPDATE_IN_PROGRESS (1 << 0)
298
/* Follow update chain and lock latest version of tuple */
299
0
#define TUPLE_LOCK_FLAG_FIND_LAST_VERSION   (1 << 1)
300
301
302
/* Typedef for callback function for table_index_build_scan */
303
typedef void (*IndexBuildCallback) (Relation index,
304
                  ItemPointer tid,
305
                  Datum *values,
306
                  bool *isnull,
307
                  bool tupleIsAlive,
308
                  void *state);
309
310
/*
311
 * API struct for a table AM.  Note this must be allocated in a
312
 * server-lifetime manner, typically as a static const struct, which then gets
313
 * returned by FormData_pg_am.amhandler.
314
 *
315
 * In most cases it's not appropriate to call the callbacks directly, use the
316
 * table_* wrapper functions instead.
317
 *
318
 * GetTableAmRoutine() asserts that required callbacks are filled in, remember
319
 * to update when adding a callback.
320
 */
321
typedef struct TableAmRoutine
322
{
323
  /* this must be set to T_TableAmRoutine */
324
  NodeTag   type;
325
326
327
  /* ------------------------------------------------------------------------
328
   * Slot related callbacks.
329
   * ------------------------------------------------------------------------
330
   */
331
332
  /*
333
   * Return slot implementation suitable for storing a tuple of this AM.
334
   */
335
  const TupleTableSlotOps *(*slot_callbacks) (Relation rel);
336
337
338
  /* ------------------------------------------------------------------------
339
   * Table scan callbacks.
340
   * ------------------------------------------------------------------------
341
   */
342
343
  /*
344
   * Start a scan of `rel`.  The callback has to return a TableScanDesc,
345
   * which will typically be embedded in a larger, AM specific, struct.
346
   *
347
   * If nkeys != 0, the results need to be filtered by those scan keys.
348
   *
349
   * pscan, if not NULL, will have already been initialized with
350
   * parallelscan_initialize(), and has to be for the same relation. Will
351
   * only be set coming from table_beginscan_parallel().
352
   *
353
   * `flags` is a bitmask indicating the type of scan (ScanOptions's
354
   * SO_TYPE_*, currently only one may be specified), options controlling
355
   * the scan's behaviour (ScanOptions's SO_ALLOW_*, several may be
356
   * specified, an AM may ignore unsupported ones), whether the snapshot
357
   * needs to be deallocated at scan_end (ScanOptions's SO_TEMP_SNAPSHOT),
358
   * and any number of the other ScanOptions values.
359
   */
360
  TableScanDesc (*scan_begin) (Relation rel,
361
                 Snapshot snapshot,
362
                 int nkeys, ScanKeyData *key,
363
                 ParallelTableScanDesc pscan,
364
                 uint32 flags);
365
366
  /*
367
   * Release resources and deallocate scan. If TableScanDesc.temp_snap,
368
   * TableScanDesc.rs_snapshot needs to be unregistered.
369
   */
370
  void    (*scan_end) (TableScanDesc scan);
371
372
  /*
373
   * Restart relation scan.  If set_params is set to true, allow_{strat,
374
   * sync, pagemode} (see scan_begin) changes should be taken into account.
375
   */
376
  void    (*scan_rescan) (TableScanDesc scan, ScanKeyData *key,
377
                bool set_params, bool allow_strat,
378
                bool allow_sync, bool allow_pagemode);
379
380
  /*
381
   * Return next tuple from `scan`, store in slot.
382
   */
383
  bool    (*scan_getnextslot) (TableScanDesc scan,
384
                   ScanDirection direction,
385
                   TupleTableSlot *slot);
386
387
  /*-----------
388
   * Optional functions to provide scanning for ranges of ItemPointers.
389
   * Implementations must either provide both of these functions, or neither
390
   * of them.
391
   *
392
   * Implementations of scan_set_tidrange must themselves handle
393
   * ItemPointers of any value. i.e, they must handle each of the following:
394
   *
395
   * 1) mintid or maxtid is beyond the end of the table; and
396
   * 2) mintid is above maxtid; and
397
   * 3) item offset for mintid or maxtid is beyond the maximum offset
398
   * allowed by the AM.
399
   *
400
   * Implementations can assume that scan_set_tidrange is always called
401
   * before scan_getnextslot_tidrange or after scan_rescan and before any
402
   * further calls to scan_getnextslot_tidrange.
403
   */
404
  void    (*scan_set_tidrange) (TableScanDesc scan,
405
                    ItemPointer mintid,
406
                    ItemPointer maxtid);
407
408
  /*
409
   * Return next tuple from `scan` that's in the range of TIDs defined by
410
   * scan_set_tidrange.
411
   */
412
  bool    (*scan_getnextslot_tidrange) (TableScanDesc scan,
413
                        ScanDirection direction,
414
                        TupleTableSlot *slot);
415
416
  /* ------------------------------------------------------------------------
417
   * Parallel table scan related functions.
418
   * ------------------------------------------------------------------------
419
   */
420
421
  /*
422
   * Estimate the size of shared memory needed for a parallel scan of this
423
   * relation. The snapshot does not need to be accounted for.
424
   */
425
  Size    (*parallelscan_estimate) (Relation rel);
426
427
  /*
428
   * Initialize ParallelTableScanDesc for a parallel scan of this relation.
429
   * `pscan` will be sized according to parallelscan_estimate() for the same
430
   * relation.
431
   */
432
  Size    (*parallelscan_initialize) (Relation rel,
433
                      ParallelTableScanDesc pscan);
434
435
  /*
436
   * Reinitialize `pscan` for a new scan. `rel` will be the same relation as
437
   * when `pscan` was initialized by parallelscan_initialize.
438
   */
439
  void    (*parallelscan_reinitialize) (Relation rel,
440
                        ParallelTableScanDesc pscan);
441
442
443
  /* ------------------------------------------------------------------------
444
   * Index Scan Callbacks
445
   * ------------------------------------------------------------------------
446
   */
447
448
  /*
449
   * Prepare to fetch tuples from the relation, as needed when fetching
450
   * tuples for an index scan.  The callback has to return an
451
   * IndexFetchTableData, which the AM will typically embed in a larger
452
   * structure with additional information.
453
   *
454
   * flags is a bitmask of ScanOptions affecting underlying table scan
455
   * behavior. See scan_begin() for more information on passing these.
456
   *
457
   * Tuples for an index scan can then be fetched via index_fetch_tuple.
458
   */
459
  struct IndexFetchTableData *(*index_fetch_begin) (Relation rel, uint32 flags);
460
461
  /*
462
   * Reset index fetch. Typically this will release cross index fetch
463
   * resources held in IndexFetchTableData.
464
   */
465
  void    (*index_fetch_reset) (struct IndexFetchTableData *data);
466
467
  /*
468
   * Release resources and deallocate index fetch.
469
   */
470
  void    (*index_fetch_end) (struct IndexFetchTableData *data);
471
472
  /*
473
   * Fetch tuple at `tid` into `slot`, after doing a visibility test
474
   * according to `snapshot`. If a tuple was found and passed the visibility
475
   * test, return true, false otherwise.
476
   *
477
   * Note that AMs that do not necessarily update indexes when indexed
478
   * columns do not change, need to return the current/correct version of
479
   * the tuple that is visible to the snapshot, even if the tid points to an
480
   * older version of the tuple.
481
   *
482
   * *call_again is false on the first call to index_fetch_tuple for a tid.
483
   * If there potentially is another tuple matching the tid, *call_again
484
   * needs to be set to true by index_fetch_tuple, signaling to the caller
485
   * that index_fetch_tuple should be called again for the same tid.
486
   *
487
   * *all_dead, if all_dead is not NULL, should be set to true by
488
   * index_fetch_tuple iff it is guaranteed that no backend needs to see
489
   * that tuple. Index AMs can use that to avoid returning that tid in
490
   * future searches.
491
   */
492
  bool    (*index_fetch_tuple) (struct IndexFetchTableData *scan,
493
                    ItemPointer tid,
494
                    Snapshot snapshot,
495
                    TupleTableSlot *slot,
496
                    bool *call_again, bool *all_dead);
497
498
499
  /* ------------------------------------------------------------------------
500
   * Callbacks for non-modifying operations on individual tuples
501
   * ------------------------------------------------------------------------
502
   */
503
504
  /*
505
   * Fetch tuple at `tid` into `slot`, after doing a visibility test
506
   * according to `snapshot`. If a tuple was found and passed the visibility
507
   * test, returns true, false otherwise.
508
   */
509
  bool    (*tuple_fetch_row_version) (Relation rel,
510
                      ItemPointer tid,
511
                      Snapshot snapshot,
512
                      TupleTableSlot *slot);
513
514
  /*
515
   * Is tid valid for a scan of this relation.
516
   */
517
  bool    (*tuple_tid_valid) (TableScanDesc scan,
518
                  ItemPointer tid);
519
520
  /*
521
   * Return the latest version of the tuple at `tid`, by updating `tid` to
522
   * point at the newest version.
523
   */
524
  void    (*tuple_get_latest_tid) (TableScanDesc scan,
525
                     ItemPointer tid);
526
527
  /*
528
   * Does the tuple in `slot` satisfy `snapshot`?  The slot needs to be of
529
   * the appropriate type for the AM.
530
   */
531
  bool    (*tuple_satisfies_snapshot) (Relation rel,
532
                       TupleTableSlot *slot,
533
                       Snapshot snapshot);
534
535
  /* see table_index_delete_tuples() */
536
  TransactionId (*index_delete_tuples) (Relation rel,
537
                      TM_IndexDeleteOp *delstate);
538
539
540
  /* ------------------------------------------------------------------------
541
   * Manipulations of physical tuples.
542
   * ------------------------------------------------------------------------
543
   */
544
545
  /* see table_tuple_insert() for reference about parameters */
546
  void    (*tuple_insert) (Relation rel, TupleTableSlot *slot,
547
                 CommandId cid, uint32 options,
548
                 BulkInsertStateData *bistate);
549
550
  /* see table_tuple_insert_speculative() for reference about parameters */
551
  void    (*tuple_insert_speculative) (Relation rel,
552
                       TupleTableSlot *slot,
553
                       CommandId cid,
554
                       uint32 options,
555
                       BulkInsertStateData *bistate,
556
                       uint32 specToken);
557
558
  /* see table_tuple_complete_speculative() for reference about parameters */
559
  void    (*tuple_complete_speculative) (Relation rel,
560
                         TupleTableSlot *slot,
561
                         uint32 specToken,
562
                         bool succeeded);
563
564
  /* see table_multi_insert() for reference about parameters */
565
  void    (*multi_insert) (Relation rel, TupleTableSlot **slots, int nslots,
566
                 CommandId cid, uint32 options, BulkInsertStateData *bistate);
567
568
  /* see table_tuple_delete() for reference about parameters */
569
  TM_Result (*tuple_delete) (Relation rel,
570
                 ItemPointer tid,
571
                 CommandId cid,
572
                 uint32 options,
573
                 Snapshot snapshot,
574
                 Snapshot crosscheck,
575
                 bool wait,
576
                 TM_FailureData *tmfd);
577
578
  /* see table_tuple_update() for reference about parameters */
579
  TM_Result (*tuple_update) (Relation rel,
580
                 ItemPointer otid,
581
                 TupleTableSlot *slot,
582
                 CommandId cid,
583
                 uint32 options,
584
                 Snapshot snapshot,
585
                 Snapshot crosscheck,
586
                 bool wait,
587
                 TM_FailureData *tmfd,
588
                 LockTupleMode *lockmode,
589
                 TU_UpdateIndexes *update_indexes);
590
591
  /* see table_tuple_lock() for reference about parameters */
592
  TM_Result (*tuple_lock) (Relation rel,
593
                 ItemPointer tid,
594
                 Snapshot snapshot,
595
                 TupleTableSlot *slot,
596
                 CommandId cid,
597
                 LockTupleMode mode,
598
                 LockWaitPolicy wait_policy,
599
                 uint8 flags,
600
                 TM_FailureData *tmfd);
601
602
  /*
603
   * Perform operations necessary to complete insertions made via
604
   * tuple_insert and multi_insert with a BulkInsertState specified. In-tree
605
   * access methods ceased to use this.
606
   *
607
   * Typically callers of tuple_insert and multi_insert will just pass all
608
   * the flags that apply to them, and each AM has to decide which of them
609
   * make sense for it, and then only take actions in finish_bulk_insert for
610
   * those flags, and ignore others.
611
   *
612
   * Optional callback.
613
   */
614
  void    (*finish_bulk_insert) (Relation rel, uint32 options);
615
616
617
  /* ------------------------------------------------------------------------
618
   * DDL related functionality.
619
   * ------------------------------------------------------------------------
620
   */
621
622
  /*
623
   * This callback needs to create new relation storage for `rel`, with
624
   * appropriate durability behaviour for `persistence`.
625
   *
626
   * Note that only the subset of the relcache filled by
627
   * RelationBuildLocalRelation() can be relied upon and that the relation's
628
   * catalog entries will either not yet exist (new relation), or will still
629
   * reference the old relfilelocator.
630
   *
631
   * As output *freezeXid, *minmulti must be set to the values appropriate
632
   * for pg_class.{relfrozenxid, relminmxid}. For AMs that don't need those
633
   * fields to be filled they can be set to InvalidTransactionId and
634
   * InvalidMultiXactId, respectively.
635
   *
636
   * See also table_relation_set_new_filelocator().
637
   */
638
  void    (*relation_set_new_filelocator) (Relation rel,
639
                         const RelFileLocator *newrlocator,
640
                         char persistence,
641
                         TransactionId *freezeXid,
642
                         MultiXactId *minmulti);
643
644
  /*
645
   * This callback needs to remove all contents from `rel`'s current
646
   * relfilelocator. No provisions for transactional behaviour need to be
647
   * made.  Often this can be implemented by truncating the underlying
648
   * storage to its minimal size.
649
   *
650
   * See also table_relation_nontransactional_truncate().
651
   */
652
  void    (*relation_nontransactional_truncate) (Relation rel);
653
654
  /*
655
   * See table_relation_copy_data().
656
   *
657
   * This can typically be implemented by directly copying the underlying
658
   * storage, unless it contains references to the tablespace internally.
659
   */
660
  void    (*relation_copy_data) (Relation rel,
661
                     const RelFileLocator *newrlocator);
662
663
  /* See table_relation_copy_for_cluster() */
664
  void    (*relation_copy_for_cluster) (Relation OldTable,
665
                        Relation NewTable,
666
                        Relation OldIndex,
667
                        bool use_sort,
668
                        TransactionId OldestXmin,
669
                        Snapshot snapshot,
670
                        TransactionId *xid_cutoff,
671
                        MultiXactId *multi_cutoff,
672
                        double *num_tuples,
673
                        double *tups_vacuumed,
674
                        double *tups_recently_dead);
675
676
  /*
677
   * React to VACUUM command on the relation. The VACUUM can be triggered by
678
   * a user or by autovacuum. The specific actions performed by the AM will
679
   * depend heavily on the individual AM.
680
   *
681
   * On entry a transaction is already established, and the relation is
682
   * locked with a ShareUpdateExclusive lock.
683
   *
684
   * Note that neither VACUUM FULL (and CLUSTER), nor ANALYZE go through
685
   * this routine, even if (for ANALYZE) it is part of the same VACUUM
686
   * command.
687
   *
688
   * There probably, in the future, needs to be a separate callback to
689
   * integrate with autovacuum's scheduling.
690
   */
691
  void    (*relation_vacuum) (Relation rel,
692
                  const VacuumParams *params,
693
                  BufferAccessStrategy bstrategy);
694
695
  /*
696
   * Prepare to analyze block `blockno` of `scan`. The scan has been started
697
   * with table_beginscan_analyze().  See also
698
   * table_scan_analyze_next_block().
699
   *
700
   * The callback may acquire resources like locks that are held until
701
   * table_scan_analyze_next_tuple() returns false. It e.g. can make sense
702
   * to hold a lock until all tuples on a block have been analyzed by
703
   * scan_analyze_next_tuple.
704
   *
705
   * The callback can return false if the block is not suitable for
706
   * sampling, e.g. because it's a metapage that could never contain tuples.
707
   *
708
   * XXX: This obviously is primarily suited for block-based AMs. It's not
709
   * clear what a good interface for non block based AMs would be, so there
710
   * isn't one yet.
711
   */
712
  bool    (*scan_analyze_next_block) (TableScanDesc scan,
713
                      ReadStream *stream);
714
715
  /*
716
   * See table_scan_analyze_next_tuple().
717
   *
718
   * Not every AM might have a meaningful concept of dead rows, in which
719
   * case it's OK to not increment *deadrows - but note that that may
720
   * influence autovacuum scheduling (see comment for relation_vacuum
721
   * callback).
722
   */
723
  bool    (*scan_analyze_next_tuple) (TableScanDesc scan,
724
                      double *liverows,
725
                      double *deadrows,
726
                      TupleTableSlot *slot);
727
728
  /* see table_index_build_range_scan for reference about parameters */
729
  double    (*index_build_range_scan) (Relation table_rel,
730
                       Relation index_rel,
731
                       IndexInfo *index_info,
732
                       bool allow_sync,
733
                       bool anyvisible,
734
                       bool progress,
735
                       BlockNumber start_blockno,
736
                       BlockNumber numblocks,
737
                       IndexBuildCallback callback,
738
                       void *callback_state,
739
                       TableScanDesc scan);
740
741
  /* see table_index_validate_scan for reference about parameters */
742
  void    (*index_validate_scan) (Relation table_rel,
743
                    Relation index_rel,
744
                    IndexInfo *index_info,
745
                    Snapshot snapshot,
746
                    ValidateIndexState *state);
747
748
749
  /* ------------------------------------------------------------------------
750
   * Miscellaneous functions.
751
   * ------------------------------------------------------------------------
752
   */
753
754
  /*
755
   * See table_relation_size().
756
   *
757
   * Note that currently a few callers use the MAIN_FORKNUM size to figure
758
   * out the range of potentially interesting blocks (brin, analyze). It's
759
   * probable that we'll need to revise the interface for those at some
760
   * point.
761
   */
762
  uint64    (*relation_size) (Relation rel, ForkNumber forkNumber);
763
764
765
  /*
766
   * This callback should return true if the relation requires a TOAST table
767
   * and false if it does not.  It may wish to examine the relation's tuple
768
   * descriptor before making a decision, but if it uses some other method
769
   * of storing large values (or if it does not support them) it can simply
770
   * return false.
771
   */
772
  bool    (*relation_needs_toast_table) (Relation rel);
773
774
  /*
775
   * This callback should return the OID of the table AM that implements
776
   * TOAST tables for this AM.  If the relation_needs_toast_table callback
777
   * always returns false, this callback is not required.
778
   */
779
  Oid     (*relation_toast_am) (Relation rel);
780
781
  /*
782
   * This callback is invoked when detoasting a value stored in a toast
783
   * table implemented by this AM.  See table_relation_fetch_toast_slice()
784
   * for more details.
785
   */
786
  void    (*relation_fetch_toast_slice) (Relation toastrel, Oid valueid,
787
                         int32 attrsize,
788
                         int32 sliceoffset,
789
                         int32 slicelength,
790
                         varlena *result);
791
792
793
  /* ------------------------------------------------------------------------
794
   * Planner related functions.
795
   * ------------------------------------------------------------------------
796
   */
797
798
  /*
799
   * See table_relation_estimate_size().
800
   *
801
   * While block oriented, it shouldn't be too hard for an AM that doesn't
802
   * internally use blocks to convert into a usable representation.
803
   *
804
   * This differs from the relation_size callback by returning size
805
   * estimates (both relation size and tuple count) for planning purposes,
806
   * rather than returning a currently correct estimate.
807
   */
808
  void    (*relation_estimate_size) (Relation rel, int32 *attr_widths,
809
                       BlockNumber *pages, double *tuples,
810
                       double *allvisfrac);
811
812
813
  /* ------------------------------------------------------------------------
814
   * Executor related functions.
815
   * ------------------------------------------------------------------------
816
   */
817
818
  /*
819
   * Fetch the next tuple of a bitmap table scan into `slot` and return true
820
   * if a visible tuple was found, false otherwise.
821
   *
822
   * `lossy_pages` is incremented if the bitmap is lossy for the selected
823
   * page; otherwise, `exact_pages` is incremented. These are tracked for
824
   * display in EXPLAIN ANALYZE output.
825
   *
826
   * Prefetching additional data from the bitmap is left to the table AM.
827
   *
828
   * This is an optional callback.
829
   */
830
  bool    (*scan_bitmap_next_tuple) (TableScanDesc scan,
831
                       TupleTableSlot *slot,
832
                       bool *recheck,
833
                       uint64 *lossy_pages,
834
                       uint64 *exact_pages);
835
836
  /*
837
   * Prepare to fetch tuples from the next block in a sample scan. Return
838
   * false if the sample scan is finished, true otherwise. `scan` was
839
   * started via table_beginscan_sampling().
840
   *
841
   * Typically this will first determine the target block by calling the
842
   * TsmRoutine's NextSampleBlock() callback if not NULL, or alternatively
843
   * perform a sequential scan over all blocks.  The determined block is
844
   * then typically read and pinned.
845
   *
846
   * As the TsmRoutine interface is block based, a block needs to be passed
847
   * to NextSampleBlock(). If that's not appropriate for an AM, it
848
   * internally needs to perform mapping between the internal and a block
849
   * based representation.
850
   *
851
   * Note that it's not acceptable to hold deadlock prone resources such as
852
   * lwlocks until scan_sample_next_tuple() has exhausted the tuples on the
853
   * block - the tuple is likely to be returned to an upper query node, and
854
   * the next call could be off a long while. Holding buffer pins and such
855
   * is obviously OK.
856
   *
857
   * Currently it is required to implement this interface, as there's no
858
   * alternative way (contrary e.g. to bitmap scans) to implement sample
859
   * scans. If infeasible to implement, the AM may raise an error.
860
   */
861
  bool    (*scan_sample_next_block) (TableScanDesc scan,
862
                       SampleScanState *scanstate);
863
864
  /*
865
   * This callback, only called after scan_sample_next_block has returned
866
   * true, should determine the next tuple to be returned from the selected
867
   * block using the TsmRoutine's NextSampleTuple() callback.
868
   *
869
   * The callback needs to perform visibility checks, and only return
870
   * visible tuples. That obviously can mean calling NextSampleTuple()
871
   * multiple times.
872
   *
873
   * The TsmRoutine interface assumes that there's a maximum offset on a
874
   * given page, so if that doesn't apply to an AM, it needs to emulate that
875
   * assumption somehow.
876
   */
877
  bool    (*scan_sample_next_tuple) (TableScanDesc scan,
878
                       SampleScanState *scanstate,
879
                       TupleTableSlot *slot);
880
881
} TableAmRoutine;
882
883
884
/* ----------------------------------------------------------------------------
885
 * Slot functions.
886
 * ----------------------------------------------------------------------------
887
 */
888
889
/*
890
 * Returns slot callbacks suitable for holding tuples of the appropriate type
891
 * for the relation.  Works for tables, views, foreign tables and partitioned
892
 * tables.
893
 */
894
extern const TupleTableSlotOps *table_slot_callbacks(Relation relation);
895
896
/*
897
 * Returns slot using the callbacks returned by table_slot_callbacks(), and
898
 * registers it on *reglist.
899
 */
900
extern TupleTableSlot *table_slot_create(Relation relation, List **reglist);
901
902
903
/* ----------------------------------------------------------------------------
904
 * Table scan functions.
905
 * ----------------------------------------------------------------------------
906
 */
907
908
/*
909
 * A wrapper around the Table Access Method scan_begin callback, to centralize
910
 * error checking. All calls to ->scan_begin() should go through this
911
 * function.
912
 *
913
 * The caller-provided user_flags are validated against SO_INTERNAL_FLAGS to
914
 * catch callers that accidentally pass scan-type or other internal flags.
915
 */
916
static TableScanDesc
917
table_beginscan_common(Relation rel, Snapshot snapshot, int nkeys,
918
             ScanKeyData *key, ParallelTableScanDesc pscan,
919
             uint32 flags, uint32 user_flags)
920
0
{
921
0
  Assert((user_flags & SO_INTERNAL_FLAGS) == 0);
922
0
  Assert((flags & ~SO_INTERNAL_FLAGS) == 0);
923
0
  flags |= user_flags;
924
925
  /*
926
   * We don't allow scans to be started while CheckXidAlive is set, except
927
   * via systable_beginscan() et al.  See detailed comments in xact.c where
928
   * these variables are declared.
929
   */
930
0
  if (unlikely(TransactionIdIsValid(CheckXidAlive) && !bsysscan))
931
0
    elog(ERROR, "scan started during logical decoding");
932
933
0
  return rel->rd_tableam->scan_begin(rel, snapshot, nkeys, key, pscan, flags);
934
0
}
Unexecuted instantiation: fuzzer_initialize.c:table_beginscan_common
Unexecuted instantiation: brin.c:table_beginscan_common
Unexecuted instantiation: detoast.c:table_beginscan_common
Unexecuted instantiation: toast_internals.c:table_beginscan_common
Unexecuted instantiation: gininsert.c:table_beginscan_common
Unexecuted instantiation: gistbuild.c:table_beginscan_common
Unexecuted instantiation: hash.c:table_beginscan_common
Unexecuted instantiation: heapam.c:table_beginscan_common
Unexecuted instantiation: heapam_handler.c:table_beginscan_common
Unexecuted instantiation: heapam_indexscan.c:table_beginscan_common
Unexecuted instantiation: heapam_visibility.c:table_beginscan_common
Unexecuted instantiation: heapam_xlog.c:table_beginscan_common
Unexecuted instantiation: heaptoast.c:table_beginscan_common
Unexecuted instantiation: hio.c:table_beginscan_common
Unexecuted instantiation: pruneheap.c:table_beginscan_common
Unexecuted instantiation: rewriteheap.c:table_beginscan_common
Unexecuted instantiation: vacuumlazy.c:table_beginscan_common
Unexecuted instantiation: genam.c:table_beginscan_common
Unexecuted instantiation: indexam.c:table_beginscan_common
Unexecuted instantiation: nbtdedup.c:table_beginscan_common
Unexecuted instantiation: nbtinsert.c:table_beginscan_common
Unexecuted instantiation: nbtpage.c:table_beginscan_common
Unexecuted instantiation: nbtsort.c:table_beginscan_common
Unexecuted instantiation: nbtsplitloc.c:table_beginscan_common
Unexecuted instantiation: spginsert.c:table_beginscan_common
Unexecuted instantiation: tableam.c:table_beginscan_common
Unexecuted instantiation: tableamapi.c:table_beginscan_common
Unexecuted instantiation: xact.c:table_beginscan_common
Unexecuted instantiation: bootstrap.c:table_beginscan_common
Unexecuted instantiation: aclchk.c:table_beginscan_common
Unexecuted instantiation: dependency.c:table_beginscan_common
Unexecuted instantiation: heap.c:table_beginscan_common
Unexecuted instantiation: index.c:table_beginscan_common
Unexecuted instantiation: indexing.c:table_beginscan_common
Unexecuted instantiation: objectaddress.c:table_beginscan_common
Unexecuted instantiation: pg_db_role_setting.c:table_beginscan_common
Unexecuted instantiation: pg_publication.c:table_beginscan_common
Unexecuted instantiation: pg_subscription.c:table_beginscan_common
Unexecuted instantiation: toasting.c:table_beginscan_common
Unexecuted instantiation: gram.c:table_beginscan_common
Unexecuted instantiation: alter.c:table_beginscan_common
Unexecuted instantiation: analyze.c:table_beginscan_common
Unexecuted instantiation: constraint.c:table_beginscan_common
Unexecuted instantiation: copyfrom.c:table_beginscan_common
Unexecuted instantiation: copyfromparse.c:table_beginscan_common
Unexecuted instantiation: copyto.c:table_beginscan_common
Unexecuted instantiation: createas.c:table_beginscan_common
Unexecuted instantiation: dbcommands.c:table_beginscan_common
Unexecuted instantiation: event_trigger.c:table_beginscan_common
Unexecuted instantiation: indexcmds.c:table_beginscan_common
Unexecuted instantiation: matview.c:table_beginscan_common
Unexecuted instantiation: repack.c:table_beginscan_common
Unexecuted instantiation: tablecmds.c:table_beginscan_common
Unexecuted instantiation: tablespace.c:table_beginscan_common
Unexecuted instantiation: trigger.c:table_beginscan_common
Unexecuted instantiation: typecmds.c:table_beginscan_common
Unexecuted instantiation: vacuum.c:table_beginscan_common
Unexecuted instantiation: execIndexing.c:table_beginscan_common
Unexecuted instantiation: execMain.c:table_beginscan_common
Unexecuted instantiation: execPartition.c:table_beginscan_common
Unexecuted instantiation: execReplication.c:table_beginscan_common
Unexecuted instantiation: execUtils.c:table_beginscan_common
Unexecuted instantiation: nodeBitmapHeapscan.c:table_beginscan_common
Unexecuted instantiation: nodeIndexonlyscan.c:table_beginscan_common
Unexecuted instantiation: nodeIndexscan.c:table_beginscan_common
Unexecuted instantiation: nodeLockRows.c:table_beginscan_common
Unexecuted instantiation: nodeModifyTable.c:table_beginscan_common
Unexecuted instantiation: nodeSamplescan.c:table_beginscan_common
Unexecuted instantiation: nodeSeqscan.c:table_beginscan_common
Unexecuted instantiation: nodeTidrangescan.c:table_beginscan_common
Unexecuted instantiation: nodeTidscan.c:table_beginscan_common
Unexecuted instantiation: spi.c:table_beginscan_common
Unexecuted instantiation: copyfuncs.c:table_beginscan_common
Unexecuted instantiation: equalfuncs.c:table_beginscan_common
Unexecuted instantiation: outfuncs.c:table_beginscan_common
Unexecuted instantiation: queryjumblefuncs.c:table_beginscan_common
Unexecuted instantiation: readfuncs.c:table_beginscan_common
Unexecuted instantiation: plancat.c:table_beginscan_common
Unexecuted instantiation: partbounds.c:table_beginscan_common
Unexecuted instantiation: autovacuum.c:table_beginscan_common
Unexecuted instantiation: datachecksum_state.c:table_beginscan_common
Unexecuted instantiation: conflict.c:table_beginscan_common
Unexecuted instantiation: launcher.c:table_beginscan_common
Unexecuted instantiation: reorderbuffer.c:table_beginscan_common
Unexecuted instantiation: worker.c:table_beginscan_common
Unexecuted instantiation: rewriteHandler.c:table_beginscan_common
Unexecuted instantiation: attribute_stats.c:table_beginscan_common
Unexecuted instantiation: extended_stats_funcs.c:table_beginscan_common
Unexecuted instantiation: relation_stats.c:table_beginscan_common
Unexecuted instantiation: bufmgr.c:table_beginscan_common
Unexecuted instantiation: utility.c:table_beginscan_common
Unexecuted instantiation: ri_triggers.c:table_beginscan_common
Unexecuted instantiation: ruleutils.c:table_beginscan_common
Unexecuted instantiation: selfuncs.c:table_beginscan_common
Unexecuted instantiation: tid.c:table_beginscan_common
Unexecuted instantiation: trigfuncs.c:table_beginscan_common
Unexecuted instantiation: tsquery_rewrite.c:table_beginscan_common
Unexecuted instantiation: tsvector_op.c:table_beginscan_common
Unexecuted instantiation: xml.c:table_beginscan_common
Unexecuted instantiation: evtcache.c:table_beginscan_common
Unexecuted instantiation: funccache.c:table_beginscan_common
Unexecuted instantiation: relcache.c:table_beginscan_common
Unexecuted instantiation: postinit.c:table_beginscan_common
Unexecuted instantiation: guc_tables.c:table_beginscan_common
Unexecuted instantiation: simple_query_fuzzer.c:table_beginscan_common
935
936
/*
937
 * Start a scan of `rel`. Returned tuples pass a visibility test of
938
 * `snapshot`, and if nkeys != 0, the results are filtered by those scan keys.
939
 *
940
 * flags is a bitmask of ScanOptions. No SO_INTERNAL_FLAGS are permitted.
941
 */
942
static inline TableScanDesc
943
table_beginscan(Relation rel, Snapshot snapshot,
944
        int nkeys, ScanKeyData *key, uint32 flags)
945
0
{
946
0
  uint32    internal_flags = SO_TYPE_SEQSCAN |
947
0
    SO_ALLOW_STRAT | SO_ALLOW_SYNC | SO_ALLOW_PAGEMODE;
948
949
0
  return table_beginscan_common(rel, snapshot, nkeys, key, NULL,
950
0
                  internal_flags, flags);
951
0
}
Unexecuted instantiation: fuzzer_initialize.c:table_beginscan
Unexecuted instantiation: brin.c:table_beginscan
Unexecuted instantiation: detoast.c:table_beginscan
Unexecuted instantiation: toast_internals.c:table_beginscan
Unexecuted instantiation: gininsert.c:table_beginscan
Unexecuted instantiation: gistbuild.c:table_beginscan
Unexecuted instantiation: hash.c:table_beginscan
Unexecuted instantiation: heapam.c:table_beginscan
Unexecuted instantiation: heapam_handler.c:table_beginscan
Unexecuted instantiation: heapam_indexscan.c:table_beginscan
Unexecuted instantiation: heapam_visibility.c:table_beginscan
Unexecuted instantiation: heapam_xlog.c:table_beginscan
Unexecuted instantiation: heaptoast.c:table_beginscan
Unexecuted instantiation: hio.c:table_beginscan
Unexecuted instantiation: pruneheap.c:table_beginscan
Unexecuted instantiation: rewriteheap.c:table_beginscan
Unexecuted instantiation: vacuumlazy.c:table_beginscan
Unexecuted instantiation: genam.c:table_beginscan
Unexecuted instantiation: indexam.c:table_beginscan
Unexecuted instantiation: nbtdedup.c:table_beginscan
Unexecuted instantiation: nbtinsert.c:table_beginscan
Unexecuted instantiation: nbtpage.c:table_beginscan
Unexecuted instantiation: nbtsort.c:table_beginscan
Unexecuted instantiation: nbtsplitloc.c:table_beginscan
Unexecuted instantiation: spginsert.c:table_beginscan
Unexecuted instantiation: tableam.c:table_beginscan
Unexecuted instantiation: tableamapi.c:table_beginscan
Unexecuted instantiation: xact.c:table_beginscan
Unexecuted instantiation: bootstrap.c:table_beginscan
Unexecuted instantiation: aclchk.c:table_beginscan
Unexecuted instantiation: dependency.c:table_beginscan
Unexecuted instantiation: heap.c:table_beginscan
Unexecuted instantiation: index.c:table_beginscan
Unexecuted instantiation: indexing.c:table_beginscan
Unexecuted instantiation: objectaddress.c:table_beginscan
Unexecuted instantiation: pg_db_role_setting.c:table_beginscan
Unexecuted instantiation: pg_publication.c:table_beginscan
Unexecuted instantiation: pg_subscription.c:table_beginscan
Unexecuted instantiation: toasting.c:table_beginscan
Unexecuted instantiation: gram.c:table_beginscan
Unexecuted instantiation: alter.c:table_beginscan
Unexecuted instantiation: analyze.c:table_beginscan
Unexecuted instantiation: constraint.c:table_beginscan
Unexecuted instantiation: copyfrom.c:table_beginscan
Unexecuted instantiation: copyfromparse.c:table_beginscan
Unexecuted instantiation: copyto.c:table_beginscan
Unexecuted instantiation: createas.c:table_beginscan
Unexecuted instantiation: dbcommands.c:table_beginscan
Unexecuted instantiation: event_trigger.c:table_beginscan
Unexecuted instantiation: indexcmds.c:table_beginscan
Unexecuted instantiation: matview.c:table_beginscan
Unexecuted instantiation: repack.c:table_beginscan
Unexecuted instantiation: tablecmds.c:table_beginscan
Unexecuted instantiation: tablespace.c:table_beginscan
Unexecuted instantiation: trigger.c:table_beginscan
Unexecuted instantiation: typecmds.c:table_beginscan
Unexecuted instantiation: vacuum.c:table_beginscan
Unexecuted instantiation: execIndexing.c:table_beginscan
Unexecuted instantiation: execMain.c:table_beginscan
Unexecuted instantiation: execPartition.c:table_beginscan
Unexecuted instantiation: execReplication.c:table_beginscan
Unexecuted instantiation: execUtils.c:table_beginscan
Unexecuted instantiation: nodeBitmapHeapscan.c:table_beginscan
Unexecuted instantiation: nodeIndexonlyscan.c:table_beginscan
Unexecuted instantiation: nodeIndexscan.c:table_beginscan
Unexecuted instantiation: nodeLockRows.c:table_beginscan
Unexecuted instantiation: nodeModifyTable.c:table_beginscan
Unexecuted instantiation: nodeSamplescan.c:table_beginscan
Unexecuted instantiation: nodeSeqscan.c:table_beginscan
Unexecuted instantiation: nodeTidrangescan.c:table_beginscan
Unexecuted instantiation: nodeTidscan.c:table_beginscan
Unexecuted instantiation: spi.c:table_beginscan
Unexecuted instantiation: copyfuncs.c:table_beginscan
Unexecuted instantiation: equalfuncs.c:table_beginscan
Unexecuted instantiation: outfuncs.c:table_beginscan
Unexecuted instantiation: queryjumblefuncs.c:table_beginscan
Unexecuted instantiation: readfuncs.c:table_beginscan
Unexecuted instantiation: plancat.c:table_beginscan
Unexecuted instantiation: partbounds.c:table_beginscan
Unexecuted instantiation: autovacuum.c:table_beginscan
Unexecuted instantiation: datachecksum_state.c:table_beginscan
Unexecuted instantiation: conflict.c:table_beginscan
Unexecuted instantiation: launcher.c:table_beginscan
Unexecuted instantiation: reorderbuffer.c:table_beginscan
Unexecuted instantiation: worker.c:table_beginscan
Unexecuted instantiation: rewriteHandler.c:table_beginscan
Unexecuted instantiation: attribute_stats.c:table_beginscan
Unexecuted instantiation: extended_stats_funcs.c:table_beginscan
Unexecuted instantiation: relation_stats.c:table_beginscan
Unexecuted instantiation: bufmgr.c:table_beginscan
Unexecuted instantiation: utility.c:table_beginscan
Unexecuted instantiation: ri_triggers.c:table_beginscan
Unexecuted instantiation: ruleutils.c:table_beginscan
Unexecuted instantiation: selfuncs.c:table_beginscan
Unexecuted instantiation: tid.c:table_beginscan
Unexecuted instantiation: trigfuncs.c:table_beginscan
Unexecuted instantiation: tsquery_rewrite.c:table_beginscan
Unexecuted instantiation: tsvector_op.c:table_beginscan
Unexecuted instantiation: xml.c:table_beginscan
Unexecuted instantiation: evtcache.c:table_beginscan
Unexecuted instantiation: funccache.c:table_beginscan
Unexecuted instantiation: relcache.c:table_beginscan
Unexecuted instantiation: postinit.c:table_beginscan
Unexecuted instantiation: guc_tables.c:table_beginscan
Unexecuted instantiation: simple_query_fuzzer.c:table_beginscan
952
953
/*
954
 * Like table_beginscan(), but for scanning catalog. It'll automatically use a
955
 * snapshot appropriate for scanning catalog relations.
956
 */
957
extern TableScanDesc table_beginscan_catalog(Relation relation, int nkeys,
958
                       ScanKeyData *key);
959
960
/*
961
 * Like table_beginscan(), but table_beginscan_strat() offers an extended API
962
 * that lets the caller control whether a nondefault buffer access strategy
963
 * can be used, and whether syncscan can be chosen (possibly resulting in the
964
 * scan not starting from block zero).  Both of these default to true with
965
 * plain table_beginscan.
966
 */
967
static inline TableScanDesc
968
table_beginscan_strat(Relation rel, Snapshot snapshot,
969
            int nkeys, ScanKeyData *key,
970
            bool allow_strat, bool allow_sync)
971
0
{
972
0
  uint32    flags = SO_TYPE_SEQSCAN | SO_ALLOW_PAGEMODE;
973
974
0
  if (allow_strat)
975
0
    flags |= SO_ALLOW_STRAT;
976
0
  if (allow_sync)
977
0
    flags |= SO_ALLOW_SYNC;
978
979
0
  return table_beginscan_common(rel, snapshot, nkeys, key, NULL,
980
0
                  flags, SO_NONE);
981
0
}
Unexecuted instantiation: fuzzer_initialize.c:table_beginscan_strat
Unexecuted instantiation: brin.c:table_beginscan_strat
Unexecuted instantiation: detoast.c:table_beginscan_strat
Unexecuted instantiation: toast_internals.c:table_beginscan_strat
Unexecuted instantiation: gininsert.c:table_beginscan_strat
Unexecuted instantiation: gistbuild.c:table_beginscan_strat
Unexecuted instantiation: hash.c:table_beginscan_strat
Unexecuted instantiation: heapam.c:table_beginscan_strat
Unexecuted instantiation: heapam_handler.c:table_beginscan_strat
Unexecuted instantiation: heapam_indexscan.c:table_beginscan_strat
Unexecuted instantiation: heapam_visibility.c:table_beginscan_strat
Unexecuted instantiation: heapam_xlog.c:table_beginscan_strat
Unexecuted instantiation: heaptoast.c:table_beginscan_strat
Unexecuted instantiation: hio.c:table_beginscan_strat
Unexecuted instantiation: pruneheap.c:table_beginscan_strat
Unexecuted instantiation: rewriteheap.c:table_beginscan_strat
Unexecuted instantiation: vacuumlazy.c:table_beginscan_strat
Unexecuted instantiation: genam.c:table_beginscan_strat
Unexecuted instantiation: indexam.c:table_beginscan_strat
Unexecuted instantiation: nbtdedup.c:table_beginscan_strat
Unexecuted instantiation: nbtinsert.c:table_beginscan_strat
Unexecuted instantiation: nbtpage.c:table_beginscan_strat
Unexecuted instantiation: nbtsort.c:table_beginscan_strat
Unexecuted instantiation: nbtsplitloc.c:table_beginscan_strat
Unexecuted instantiation: spginsert.c:table_beginscan_strat
Unexecuted instantiation: tableam.c:table_beginscan_strat
Unexecuted instantiation: tableamapi.c:table_beginscan_strat
Unexecuted instantiation: xact.c:table_beginscan_strat
Unexecuted instantiation: bootstrap.c:table_beginscan_strat
Unexecuted instantiation: aclchk.c:table_beginscan_strat
Unexecuted instantiation: dependency.c:table_beginscan_strat
Unexecuted instantiation: heap.c:table_beginscan_strat
Unexecuted instantiation: index.c:table_beginscan_strat
Unexecuted instantiation: indexing.c:table_beginscan_strat
Unexecuted instantiation: objectaddress.c:table_beginscan_strat
Unexecuted instantiation: pg_db_role_setting.c:table_beginscan_strat
Unexecuted instantiation: pg_publication.c:table_beginscan_strat
Unexecuted instantiation: pg_subscription.c:table_beginscan_strat
Unexecuted instantiation: toasting.c:table_beginscan_strat
Unexecuted instantiation: gram.c:table_beginscan_strat
Unexecuted instantiation: alter.c:table_beginscan_strat
Unexecuted instantiation: analyze.c:table_beginscan_strat
Unexecuted instantiation: constraint.c:table_beginscan_strat
Unexecuted instantiation: copyfrom.c:table_beginscan_strat
Unexecuted instantiation: copyfromparse.c:table_beginscan_strat
Unexecuted instantiation: copyto.c:table_beginscan_strat
Unexecuted instantiation: createas.c:table_beginscan_strat
Unexecuted instantiation: dbcommands.c:table_beginscan_strat
Unexecuted instantiation: event_trigger.c:table_beginscan_strat
Unexecuted instantiation: indexcmds.c:table_beginscan_strat
Unexecuted instantiation: matview.c:table_beginscan_strat
Unexecuted instantiation: repack.c:table_beginscan_strat
Unexecuted instantiation: tablecmds.c:table_beginscan_strat
Unexecuted instantiation: tablespace.c:table_beginscan_strat
Unexecuted instantiation: trigger.c:table_beginscan_strat
Unexecuted instantiation: typecmds.c:table_beginscan_strat
Unexecuted instantiation: vacuum.c:table_beginscan_strat
Unexecuted instantiation: execIndexing.c:table_beginscan_strat
Unexecuted instantiation: execMain.c:table_beginscan_strat
Unexecuted instantiation: execPartition.c:table_beginscan_strat
Unexecuted instantiation: execReplication.c:table_beginscan_strat
Unexecuted instantiation: execUtils.c:table_beginscan_strat
Unexecuted instantiation: nodeBitmapHeapscan.c:table_beginscan_strat
Unexecuted instantiation: nodeIndexonlyscan.c:table_beginscan_strat
Unexecuted instantiation: nodeIndexscan.c:table_beginscan_strat
Unexecuted instantiation: nodeLockRows.c:table_beginscan_strat
Unexecuted instantiation: nodeModifyTable.c:table_beginscan_strat
Unexecuted instantiation: nodeSamplescan.c:table_beginscan_strat
Unexecuted instantiation: nodeSeqscan.c:table_beginscan_strat
Unexecuted instantiation: nodeTidrangescan.c:table_beginscan_strat
Unexecuted instantiation: nodeTidscan.c:table_beginscan_strat
Unexecuted instantiation: spi.c:table_beginscan_strat
Unexecuted instantiation: copyfuncs.c:table_beginscan_strat
Unexecuted instantiation: equalfuncs.c:table_beginscan_strat
Unexecuted instantiation: outfuncs.c:table_beginscan_strat
Unexecuted instantiation: queryjumblefuncs.c:table_beginscan_strat
Unexecuted instantiation: readfuncs.c:table_beginscan_strat
Unexecuted instantiation: plancat.c:table_beginscan_strat
Unexecuted instantiation: partbounds.c:table_beginscan_strat
Unexecuted instantiation: autovacuum.c:table_beginscan_strat
Unexecuted instantiation: datachecksum_state.c:table_beginscan_strat
Unexecuted instantiation: conflict.c:table_beginscan_strat
Unexecuted instantiation: launcher.c:table_beginscan_strat
Unexecuted instantiation: reorderbuffer.c:table_beginscan_strat
Unexecuted instantiation: worker.c:table_beginscan_strat
Unexecuted instantiation: rewriteHandler.c:table_beginscan_strat
Unexecuted instantiation: attribute_stats.c:table_beginscan_strat
Unexecuted instantiation: extended_stats_funcs.c:table_beginscan_strat
Unexecuted instantiation: relation_stats.c:table_beginscan_strat
Unexecuted instantiation: bufmgr.c:table_beginscan_strat
Unexecuted instantiation: utility.c:table_beginscan_strat
Unexecuted instantiation: ri_triggers.c:table_beginscan_strat
Unexecuted instantiation: ruleutils.c:table_beginscan_strat
Unexecuted instantiation: selfuncs.c:table_beginscan_strat
Unexecuted instantiation: tid.c:table_beginscan_strat
Unexecuted instantiation: trigfuncs.c:table_beginscan_strat
Unexecuted instantiation: tsquery_rewrite.c:table_beginscan_strat
Unexecuted instantiation: tsvector_op.c:table_beginscan_strat
Unexecuted instantiation: xml.c:table_beginscan_strat
Unexecuted instantiation: evtcache.c:table_beginscan_strat
Unexecuted instantiation: funccache.c:table_beginscan_strat
Unexecuted instantiation: relcache.c:table_beginscan_strat
Unexecuted instantiation: postinit.c:table_beginscan_strat
Unexecuted instantiation: guc_tables.c:table_beginscan_strat
Unexecuted instantiation: simple_query_fuzzer.c:table_beginscan_strat
982
983
/*
984
 * table_beginscan_bm is an alternative entry point for setting up a
985
 * TableScanDesc for a bitmap heap scan.  Although that scan technology is
986
 * really quite unlike a standard seqscan, there is just enough commonality to
987
 * make it worth using the same data structure.
988
 *
989
 * flags is a bitmask of ScanOptions. No SO_INTERNAL_FLAGS are permitted.
990
 */
991
static inline TableScanDesc
992
table_beginscan_bm(Relation rel, Snapshot snapshot,
993
           int nkeys, ScanKeyData *key, uint32 flags)
994
0
{
995
0
  uint32    internal_flags = SO_TYPE_BITMAPSCAN | SO_ALLOW_PAGEMODE;
996
997
0
  return table_beginscan_common(rel, snapshot, nkeys, key, NULL,
998
0
                  internal_flags, flags);
999
0
}
Unexecuted instantiation: fuzzer_initialize.c:table_beginscan_bm
Unexecuted instantiation: brin.c:table_beginscan_bm
Unexecuted instantiation: detoast.c:table_beginscan_bm
Unexecuted instantiation: toast_internals.c:table_beginscan_bm
Unexecuted instantiation: gininsert.c:table_beginscan_bm
Unexecuted instantiation: gistbuild.c:table_beginscan_bm
Unexecuted instantiation: hash.c:table_beginscan_bm
Unexecuted instantiation: heapam.c:table_beginscan_bm
Unexecuted instantiation: heapam_handler.c:table_beginscan_bm
Unexecuted instantiation: heapam_indexscan.c:table_beginscan_bm
Unexecuted instantiation: heapam_visibility.c:table_beginscan_bm
Unexecuted instantiation: heapam_xlog.c:table_beginscan_bm
Unexecuted instantiation: heaptoast.c:table_beginscan_bm
Unexecuted instantiation: hio.c:table_beginscan_bm
Unexecuted instantiation: pruneheap.c:table_beginscan_bm
Unexecuted instantiation: rewriteheap.c:table_beginscan_bm
Unexecuted instantiation: vacuumlazy.c:table_beginscan_bm
Unexecuted instantiation: genam.c:table_beginscan_bm
Unexecuted instantiation: indexam.c:table_beginscan_bm
Unexecuted instantiation: nbtdedup.c:table_beginscan_bm
Unexecuted instantiation: nbtinsert.c:table_beginscan_bm
Unexecuted instantiation: nbtpage.c:table_beginscan_bm
Unexecuted instantiation: nbtsort.c:table_beginscan_bm
Unexecuted instantiation: nbtsplitloc.c:table_beginscan_bm
Unexecuted instantiation: spginsert.c:table_beginscan_bm
Unexecuted instantiation: tableam.c:table_beginscan_bm
Unexecuted instantiation: tableamapi.c:table_beginscan_bm
Unexecuted instantiation: xact.c:table_beginscan_bm
Unexecuted instantiation: bootstrap.c:table_beginscan_bm
Unexecuted instantiation: aclchk.c:table_beginscan_bm
Unexecuted instantiation: dependency.c:table_beginscan_bm
Unexecuted instantiation: heap.c:table_beginscan_bm
Unexecuted instantiation: index.c:table_beginscan_bm
Unexecuted instantiation: indexing.c:table_beginscan_bm
Unexecuted instantiation: objectaddress.c:table_beginscan_bm
Unexecuted instantiation: pg_db_role_setting.c:table_beginscan_bm
Unexecuted instantiation: pg_publication.c:table_beginscan_bm
Unexecuted instantiation: pg_subscription.c:table_beginscan_bm
Unexecuted instantiation: toasting.c:table_beginscan_bm
Unexecuted instantiation: gram.c:table_beginscan_bm
Unexecuted instantiation: alter.c:table_beginscan_bm
Unexecuted instantiation: analyze.c:table_beginscan_bm
Unexecuted instantiation: constraint.c:table_beginscan_bm
Unexecuted instantiation: copyfrom.c:table_beginscan_bm
Unexecuted instantiation: copyfromparse.c:table_beginscan_bm
Unexecuted instantiation: copyto.c:table_beginscan_bm
Unexecuted instantiation: createas.c:table_beginscan_bm
Unexecuted instantiation: dbcommands.c:table_beginscan_bm
Unexecuted instantiation: event_trigger.c:table_beginscan_bm
Unexecuted instantiation: indexcmds.c:table_beginscan_bm
Unexecuted instantiation: matview.c:table_beginscan_bm
Unexecuted instantiation: repack.c:table_beginscan_bm
Unexecuted instantiation: tablecmds.c:table_beginscan_bm
Unexecuted instantiation: tablespace.c:table_beginscan_bm
Unexecuted instantiation: trigger.c:table_beginscan_bm
Unexecuted instantiation: typecmds.c:table_beginscan_bm
Unexecuted instantiation: vacuum.c:table_beginscan_bm
Unexecuted instantiation: execIndexing.c:table_beginscan_bm
Unexecuted instantiation: execMain.c:table_beginscan_bm
Unexecuted instantiation: execPartition.c:table_beginscan_bm
Unexecuted instantiation: execReplication.c:table_beginscan_bm
Unexecuted instantiation: execUtils.c:table_beginscan_bm
Unexecuted instantiation: nodeBitmapHeapscan.c:table_beginscan_bm
Unexecuted instantiation: nodeIndexonlyscan.c:table_beginscan_bm
Unexecuted instantiation: nodeIndexscan.c:table_beginscan_bm
Unexecuted instantiation: nodeLockRows.c:table_beginscan_bm
Unexecuted instantiation: nodeModifyTable.c:table_beginscan_bm
Unexecuted instantiation: nodeSamplescan.c:table_beginscan_bm
Unexecuted instantiation: nodeSeqscan.c:table_beginscan_bm
Unexecuted instantiation: nodeTidrangescan.c:table_beginscan_bm
Unexecuted instantiation: nodeTidscan.c:table_beginscan_bm
Unexecuted instantiation: spi.c:table_beginscan_bm
Unexecuted instantiation: copyfuncs.c:table_beginscan_bm
Unexecuted instantiation: equalfuncs.c:table_beginscan_bm
Unexecuted instantiation: outfuncs.c:table_beginscan_bm
Unexecuted instantiation: queryjumblefuncs.c:table_beginscan_bm
Unexecuted instantiation: readfuncs.c:table_beginscan_bm
Unexecuted instantiation: plancat.c:table_beginscan_bm
Unexecuted instantiation: partbounds.c:table_beginscan_bm
Unexecuted instantiation: autovacuum.c:table_beginscan_bm
Unexecuted instantiation: datachecksum_state.c:table_beginscan_bm
Unexecuted instantiation: conflict.c:table_beginscan_bm
Unexecuted instantiation: launcher.c:table_beginscan_bm
Unexecuted instantiation: reorderbuffer.c:table_beginscan_bm
Unexecuted instantiation: worker.c:table_beginscan_bm
Unexecuted instantiation: rewriteHandler.c:table_beginscan_bm
Unexecuted instantiation: attribute_stats.c:table_beginscan_bm
Unexecuted instantiation: extended_stats_funcs.c:table_beginscan_bm
Unexecuted instantiation: relation_stats.c:table_beginscan_bm
Unexecuted instantiation: bufmgr.c:table_beginscan_bm
Unexecuted instantiation: utility.c:table_beginscan_bm
Unexecuted instantiation: ri_triggers.c:table_beginscan_bm
Unexecuted instantiation: ruleutils.c:table_beginscan_bm
Unexecuted instantiation: selfuncs.c:table_beginscan_bm
Unexecuted instantiation: tid.c:table_beginscan_bm
Unexecuted instantiation: trigfuncs.c:table_beginscan_bm
Unexecuted instantiation: tsquery_rewrite.c:table_beginscan_bm
Unexecuted instantiation: tsvector_op.c:table_beginscan_bm
Unexecuted instantiation: xml.c:table_beginscan_bm
Unexecuted instantiation: evtcache.c:table_beginscan_bm
Unexecuted instantiation: funccache.c:table_beginscan_bm
Unexecuted instantiation: relcache.c:table_beginscan_bm
Unexecuted instantiation: postinit.c:table_beginscan_bm
Unexecuted instantiation: guc_tables.c:table_beginscan_bm
Unexecuted instantiation: simple_query_fuzzer.c:table_beginscan_bm
1000
1001
/*
1002
 * table_beginscan_sampling is an alternative entry point for setting up a
1003
 * TableScanDesc for a TABLESAMPLE scan.  As with bitmap scans, it's worth
1004
 * using the same data structure although the behavior is rather different.
1005
 * In addition to the options offered by table_beginscan_strat, this call
1006
 * also allows control of whether page-mode visibility checking is used.
1007
 *
1008
 * flags is a bitmask of ScanOptions. No SO_INTERNAL_FLAGS are permitted.
1009
 */
1010
static inline TableScanDesc
1011
table_beginscan_sampling(Relation rel, Snapshot snapshot,
1012
             int nkeys, ScanKeyData *key,
1013
             bool allow_strat, bool allow_sync,
1014
             bool allow_pagemode, uint32 flags)
1015
0
{
1016
0
  uint32    internal_flags = SO_TYPE_SAMPLESCAN;
1017
1018
0
  if (allow_strat)
1019
0
    internal_flags |= SO_ALLOW_STRAT;
1020
0
  if (allow_sync)
1021
0
    internal_flags |= SO_ALLOW_SYNC;
1022
0
  if (allow_pagemode)
1023
0
    internal_flags |= SO_ALLOW_PAGEMODE;
1024
1025
0
  return table_beginscan_common(rel, snapshot, nkeys, key, NULL,
1026
0
                  internal_flags, flags);
1027
0
}
Unexecuted instantiation: fuzzer_initialize.c:table_beginscan_sampling
Unexecuted instantiation: brin.c:table_beginscan_sampling
Unexecuted instantiation: detoast.c:table_beginscan_sampling
Unexecuted instantiation: toast_internals.c:table_beginscan_sampling
Unexecuted instantiation: gininsert.c:table_beginscan_sampling
Unexecuted instantiation: gistbuild.c:table_beginscan_sampling
Unexecuted instantiation: hash.c:table_beginscan_sampling
Unexecuted instantiation: heapam.c:table_beginscan_sampling
Unexecuted instantiation: heapam_handler.c:table_beginscan_sampling
Unexecuted instantiation: heapam_indexscan.c:table_beginscan_sampling
Unexecuted instantiation: heapam_visibility.c:table_beginscan_sampling
Unexecuted instantiation: heapam_xlog.c:table_beginscan_sampling
Unexecuted instantiation: heaptoast.c:table_beginscan_sampling
Unexecuted instantiation: hio.c:table_beginscan_sampling
Unexecuted instantiation: pruneheap.c:table_beginscan_sampling
Unexecuted instantiation: rewriteheap.c:table_beginscan_sampling
Unexecuted instantiation: vacuumlazy.c:table_beginscan_sampling
Unexecuted instantiation: genam.c:table_beginscan_sampling
Unexecuted instantiation: indexam.c:table_beginscan_sampling
Unexecuted instantiation: nbtdedup.c:table_beginscan_sampling
Unexecuted instantiation: nbtinsert.c:table_beginscan_sampling
Unexecuted instantiation: nbtpage.c:table_beginscan_sampling
Unexecuted instantiation: nbtsort.c:table_beginscan_sampling
Unexecuted instantiation: nbtsplitloc.c:table_beginscan_sampling
Unexecuted instantiation: spginsert.c:table_beginscan_sampling
Unexecuted instantiation: tableam.c:table_beginscan_sampling
Unexecuted instantiation: tableamapi.c:table_beginscan_sampling
Unexecuted instantiation: xact.c:table_beginscan_sampling
Unexecuted instantiation: bootstrap.c:table_beginscan_sampling
Unexecuted instantiation: aclchk.c:table_beginscan_sampling
Unexecuted instantiation: dependency.c:table_beginscan_sampling
Unexecuted instantiation: heap.c:table_beginscan_sampling
Unexecuted instantiation: index.c:table_beginscan_sampling
Unexecuted instantiation: indexing.c:table_beginscan_sampling
Unexecuted instantiation: objectaddress.c:table_beginscan_sampling
Unexecuted instantiation: pg_db_role_setting.c:table_beginscan_sampling
Unexecuted instantiation: pg_publication.c:table_beginscan_sampling
Unexecuted instantiation: pg_subscription.c:table_beginscan_sampling
Unexecuted instantiation: toasting.c:table_beginscan_sampling
Unexecuted instantiation: gram.c:table_beginscan_sampling
Unexecuted instantiation: alter.c:table_beginscan_sampling
Unexecuted instantiation: analyze.c:table_beginscan_sampling
Unexecuted instantiation: constraint.c:table_beginscan_sampling
Unexecuted instantiation: copyfrom.c:table_beginscan_sampling
Unexecuted instantiation: copyfromparse.c:table_beginscan_sampling
Unexecuted instantiation: copyto.c:table_beginscan_sampling
Unexecuted instantiation: createas.c:table_beginscan_sampling
Unexecuted instantiation: dbcommands.c:table_beginscan_sampling
Unexecuted instantiation: event_trigger.c:table_beginscan_sampling
Unexecuted instantiation: indexcmds.c:table_beginscan_sampling
Unexecuted instantiation: matview.c:table_beginscan_sampling
Unexecuted instantiation: repack.c:table_beginscan_sampling
Unexecuted instantiation: tablecmds.c:table_beginscan_sampling
Unexecuted instantiation: tablespace.c:table_beginscan_sampling
Unexecuted instantiation: trigger.c:table_beginscan_sampling
Unexecuted instantiation: typecmds.c:table_beginscan_sampling
Unexecuted instantiation: vacuum.c:table_beginscan_sampling
Unexecuted instantiation: execIndexing.c:table_beginscan_sampling
Unexecuted instantiation: execMain.c:table_beginscan_sampling
Unexecuted instantiation: execPartition.c:table_beginscan_sampling
Unexecuted instantiation: execReplication.c:table_beginscan_sampling
Unexecuted instantiation: execUtils.c:table_beginscan_sampling
Unexecuted instantiation: nodeBitmapHeapscan.c:table_beginscan_sampling
Unexecuted instantiation: nodeIndexonlyscan.c:table_beginscan_sampling
Unexecuted instantiation: nodeIndexscan.c:table_beginscan_sampling
Unexecuted instantiation: nodeLockRows.c:table_beginscan_sampling
Unexecuted instantiation: nodeModifyTable.c:table_beginscan_sampling
Unexecuted instantiation: nodeSamplescan.c:table_beginscan_sampling
Unexecuted instantiation: nodeSeqscan.c:table_beginscan_sampling
Unexecuted instantiation: nodeTidrangescan.c:table_beginscan_sampling
Unexecuted instantiation: nodeTidscan.c:table_beginscan_sampling
Unexecuted instantiation: spi.c:table_beginscan_sampling
Unexecuted instantiation: copyfuncs.c:table_beginscan_sampling
Unexecuted instantiation: equalfuncs.c:table_beginscan_sampling
Unexecuted instantiation: outfuncs.c:table_beginscan_sampling
Unexecuted instantiation: queryjumblefuncs.c:table_beginscan_sampling
Unexecuted instantiation: readfuncs.c:table_beginscan_sampling
Unexecuted instantiation: plancat.c:table_beginscan_sampling
Unexecuted instantiation: partbounds.c:table_beginscan_sampling
Unexecuted instantiation: autovacuum.c:table_beginscan_sampling
Unexecuted instantiation: datachecksum_state.c:table_beginscan_sampling
Unexecuted instantiation: conflict.c:table_beginscan_sampling
Unexecuted instantiation: launcher.c:table_beginscan_sampling
Unexecuted instantiation: reorderbuffer.c:table_beginscan_sampling
Unexecuted instantiation: worker.c:table_beginscan_sampling
Unexecuted instantiation: rewriteHandler.c:table_beginscan_sampling
Unexecuted instantiation: attribute_stats.c:table_beginscan_sampling
Unexecuted instantiation: extended_stats_funcs.c:table_beginscan_sampling
Unexecuted instantiation: relation_stats.c:table_beginscan_sampling
Unexecuted instantiation: bufmgr.c:table_beginscan_sampling
Unexecuted instantiation: utility.c:table_beginscan_sampling
Unexecuted instantiation: ri_triggers.c:table_beginscan_sampling
Unexecuted instantiation: ruleutils.c:table_beginscan_sampling
Unexecuted instantiation: selfuncs.c:table_beginscan_sampling
Unexecuted instantiation: tid.c:table_beginscan_sampling
Unexecuted instantiation: trigfuncs.c:table_beginscan_sampling
Unexecuted instantiation: tsquery_rewrite.c:table_beginscan_sampling
Unexecuted instantiation: tsvector_op.c:table_beginscan_sampling
Unexecuted instantiation: xml.c:table_beginscan_sampling
Unexecuted instantiation: evtcache.c:table_beginscan_sampling
Unexecuted instantiation: funccache.c:table_beginscan_sampling
Unexecuted instantiation: relcache.c:table_beginscan_sampling
Unexecuted instantiation: postinit.c:table_beginscan_sampling
Unexecuted instantiation: guc_tables.c:table_beginscan_sampling
Unexecuted instantiation: simple_query_fuzzer.c:table_beginscan_sampling
1028
1029
/*
1030
 * table_beginscan_tid is an alternative entry point for setting up a
1031
 * TableScanDesc for a Tid scan. As with bitmap scans, it's worth using
1032
 * the same data structure although the behavior is rather different.
1033
 */
1034
static inline TableScanDesc
1035
table_beginscan_tid(Relation rel, Snapshot snapshot)
1036
0
{
1037
0
  uint32    flags = SO_TYPE_TIDSCAN;
1038
1039
0
  return table_beginscan_common(rel, snapshot, 0, NULL, NULL,
1040
0
                  flags, SO_NONE);
1041
0
}
Unexecuted instantiation: fuzzer_initialize.c:table_beginscan_tid
Unexecuted instantiation: brin.c:table_beginscan_tid
Unexecuted instantiation: detoast.c:table_beginscan_tid
Unexecuted instantiation: toast_internals.c:table_beginscan_tid
Unexecuted instantiation: gininsert.c:table_beginscan_tid
Unexecuted instantiation: gistbuild.c:table_beginscan_tid
Unexecuted instantiation: hash.c:table_beginscan_tid
Unexecuted instantiation: heapam.c:table_beginscan_tid
Unexecuted instantiation: heapam_handler.c:table_beginscan_tid
Unexecuted instantiation: heapam_indexscan.c:table_beginscan_tid
Unexecuted instantiation: heapam_visibility.c:table_beginscan_tid
Unexecuted instantiation: heapam_xlog.c:table_beginscan_tid
Unexecuted instantiation: heaptoast.c:table_beginscan_tid
Unexecuted instantiation: hio.c:table_beginscan_tid
Unexecuted instantiation: pruneheap.c:table_beginscan_tid
Unexecuted instantiation: rewriteheap.c:table_beginscan_tid
Unexecuted instantiation: vacuumlazy.c:table_beginscan_tid
Unexecuted instantiation: genam.c:table_beginscan_tid
Unexecuted instantiation: indexam.c:table_beginscan_tid
Unexecuted instantiation: nbtdedup.c:table_beginscan_tid
Unexecuted instantiation: nbtinsert.c:table_beginscan_tid
Unexecuted instantiation: nbtpage.c:table_beginscan_tid
Unexecuted instantiation: nbtsort.c:table_beginscan_tid
Unexecuted instantiation: nbtsplitloc.c:table_beginscan_tid
Unexecuted instantiation: spginsert.c:table_beginscan_tid
Unexecuted instantiation: tableam.c:table_beginscan_tid
Unexecuted instantiation: tableamapi.c:table_beginscan_tid
Unexecuted instantiation: xact.c:table_beginscan_tid
Unexecuted instantiation: bootstrap.c:table_beginscan_tid
Unexecuted instantiation: aclchk.c:table_beginscan_tid
Unexecuted instantiation: dependency.c:table_beginscan_tid
Unexecuted instantiation: heap.c:table_beginscan_tid
Unexecuted instantiation: index.c:table_beginscan_tid
Unexecuted instantiation: indexing.c:table_beginscan_tid
Unexecuted instantiation: objectaddress.c:table_beginscan_tid
Unexecuted instantiation: pg_db_role_setting.c:table_beginscan_tid
Unexecuted instantiation: pg_publication.c:table_beginscan_tid
Unexecuted instantiation: pg_subscription.c:table_beginscan_tid
Unexecuted instantiation: toasting.c:table_beginscan_tid
Unexecuted instantiation: gram.c:table_beginscan_tid
Unexecuted instantiation: alter.c:table_beginscan_tid
Unexecuted instantiation: analyze.c:table_beginscan_tid
Unexecuted instantiation: constraint.c:table_beginscan_tid
Unexecuted instantiation: copyfrom.c:table_beginscan_tid
Unexecuted instantiation: copyfromparse.c:table_beginscan_tid
Unexecuted instantiation: copyto.c:table_beginscan_tid
Unexecuted instantiation: createas.c:table_beginscan_tid
Unexecuted instantiation: dbcommands.c:table_beginscan_tid
Unexecuted instantiation: event_trigger.c:table_beginscan_tid
Unexecuted instantiation: indexcmds.c:table_beginscan_tid
Unexecuted instantiation: matview.c:table_beginscan_tid
Unexecuted instantiation: repack.c:table_beginscan_tid
Unexecuted instantiation: tablecmds.c:table_beginscan_tid
Unexecuted instantiation: tablespace.c:table_beginscan_tid
Unexecuted instantiation: trigger.c:table_beginscan_tid
Unexecuted instantiation: typecmds.c:table_beginscan_tid
Unexecuted instantiation: vacuum.c:table_beginscan_tid
Unexecuted instantiation: execIndexing.c:table_beginscan_tid
Unexecuted instantiation: execMain.c:table_beginscan_tid
Unexecuted instantiation: execPartition.c:table_beginscan_tid
Unexecuted instantiation: execReplication.c:table_beginscan_tid
Unexecuted instantiation: execUtils.c:table_beginscan_tid
Unexecuted instantiation: nodeBitmapHeapscan.c:table_beginscan_tid
Unexecuted instantiation: nodeIndexonlyscan.c:table_beginscan_tid
Unexecuted instantiation: nodeIndexscan.c:table_beginscan_tid
Unexecuted instantiation: nodeLockRows.c:table_beginscan_tid
Unexecuted instantiation: nodeModifyTable.c:table_beginscan_tid
Unexecuted instantiation: nodeSamplescan.c:table_beginscan_tid
Unexecuted instantiation: nodeSeqscan.c:table_beginscan_tid
Unexecuted instantiation: nodeTidrangescan.c:table_beginscan_tid
Unexecuted instantiation: nodeTidscan.c:table_beginscan_tid
Unexecuted instantiation: spi.c:table_beginscan_tid
Unexecuted instantiation: copyfuncs.c:table_beginscan_tid
Unexecuted instantiation: equalfuncs.c:table_beginscan_tid
Unexecuted instantiation: outfuncs.c:table_beginscan_tid
Unexecuted instantiation: queryjumblefuncs.c:table_beginscan_tid
Unexecuted instantiation: readfuncs.c:table_beginscan_tid
Unexecuted instantiation: plancat.c:table_beginscan_tid
Unexecuted instantiation: partbounds.c:table_beginscan_tid
Unexecuted instantiation: autovacuum.c:table_beginscan_tid
Unexecuted instantiation: datachecksum_state.c:table_beginscan_tid
Unexecuted instantiation: conflict.c:table_beginscan_tid
Unexecuted instantiation: launcher.c:table_beginscan_tid
Unexecuted instantiation: reorderbuffer.c:table_beginscan_tid
Unexecuted instantiation: worker.c:table_beginscan_tid
Unexecuted instantiation: rewriteHandler.c:table_beginscan_tid
Unexecuted instantiation: attribute_stats.c:table_beginscan_tid
Unexecuted instantiation: extended_stats_funcs.c:table_beginscan_tid
Unexecuted instantiation: relation_stats.c:table_beginscan_tid
Unexecuted instantiation: bufmgr.c:table_beginscan_tid
Unexecuted instantiation: utility.c:table_beginscan_tid
Unexecuted instantiation: ri_triggers.c:table_beginscan_tid
Unexecuted instantiation: ruleutils.c:table_beginscan_tid
Unexecuted instantiation: selfuncs.c:table_beginscan_tid
Unexecuted instantiation: tid.c:table_beginscan_tid
Unexecuted instantiation: trigfuncs.c:table_beginscan_tid
Unexecuted instantiation: tsquery_rewrite.c:table_beginscan_tid
Unexecuted instantiation: tsvector_op.c:table_beginscan_tid
Unexecuted instantiation: xml.c:table_beginscan_tid
Unexecuted instantiation: evtcache.c:table_beginscan_tid
Unexecuted instantiation: funccache.c:table_beginscan_tid
Unexecuted instantiation: relcache.c:table_beginscan_tid
Unexecuted instantiation: postinit.c:table_beginscan_tid
Unexecuted instantiation: guc_tables.c:table_beginscan_tid
Unexecuted instantiation: simple_query_fuzzer.c:table_beginscan_tid
1042
1043
/*
1044
 * table_beginscan_analyze is an alternative entry point for setting up a
1045
 * TableScanDesc for an ANALYZE scan.  As with bitmap scans, it's worth using
1046
 * the same data structure although the behavior is rather different.
1047
 */
1048
static inline TableScanDesc
1049
table_beginscan_analyze(Relation rel)
1050
0
{
1051
0
  uint32    flags = SO_TYPE_ANALYZE;
1052
1053
0
  return table_beginscan_common(rel, NULL, 0, NULL, NULL,
1054
0
                  flags, SO_NONE);
1055
0
}
Unexecuted instantiation: fuzzer_initialize.c:table_beginscan_analyze
Unexecuted instantiation: brin.c:table_beginscan_analyze
Unexecuted instantiation: detoast.c:table_beginscan_analyze
Unexecuted instantiation: toast_internals.c:table_beginscan_analyze
Unexecuted instantiation: gininsert.c:table_beginscan_analyze
Unexecuted instantiation: gistbuild.c:table_beginscan_analyze
Unexecuted instantiation: hash.c:table_beginscan_analyze
Unexecuted instantiation: heapam.c:table_beginscan_analyze
Unexecuted instantiation: heapam_handler.c:table_beginscan_analyze
Unexecuted instantiation: heapam_indexscan.c:table_beginscan_analyze
Unexecuted instantiation: heapam_visibility.c:table_beginscan_analyze
Unexecuted instantiation: heapam_xlog.c:table_beginscan_analyze
Unexecuted instantiation: heaptoast.c:table_beginscan_analyze
Unexecuted instantiation: hio.c:table_beginscan_analyze
Unexecuted instantiation: pruneheap.c:table_beginscan_analyze
Unexecuted instantiation: rewriteheap.c:table_beginscan_analyze
Unexecuted instantiation: vacuumlazy.c:table_beginscan_analyze
Unexecuted instantiation: genam.c:table_beginscan_analyze
Unexecuted instantiation: indexam.c:table_beginscan_analyze
Unexecuted instantiation: nbtdedup.c:table_beginscan_analyze
Unexecuted instantiation: nbtinsert.c:table_beginscan_analyze
Unexecuted instantiation: nbtpage.c:table_beginscan_analyze
Unexecuted instantiation: nbtsort.c:table_beginscan_analyze
Unexecuted instantiation: nbtsplitloc.c:table_beginscan_analyze
Unexecuted instantiation: spginsert.c:table_beginscan_analyze
Unexecuted instantiation: tableam.c:table_beginscan_analyze
Unexecuted instantiation: tableamapi.c:table_beginscan_analyze
Unexecuted instantiation: xact.c:table_beginscan_analyze
Unexecuted instantiation: bootstrap.c:table_beginscan_analyze
Unexecuted instantiation: aclchk.c:table_beginscan_analyze
Unexecuted instantiation: dependency.c:table_beginscan_analyze
Unexecuted instantiation: heap.c:table_beginscan_analyze
Unexecuted instantiation: index.c:table_beginscan_analyze
Unexecuted instantiation: indexing.c:table_beginscan_analyze
Unexecuted instantiation: objectaddress.c:table_beginscan_analyze
Unexecuted instantiation: pg_db_role_setting.c:table_beginscan_analyze
Unexecuted instantiation: pg_publication.c:table_beginscan_analyze
Unexecuted instantiation: pg_subscription.c:table_beginscan_analyze
Unexecuted instantiation: toasting.c:table_beginscan_analyze
Unexecuted instantiation: gram.c:table_beginscan_analyze
Unexecuted instantiation: alter.c:table_beginscan_analyze
Unexecuted instantiation: analyze.c:table_beginscan_analyze
Unexecuted instantiation: constraint.c:table_beginscan_analyze
Unexecuted instantiation: copyfrom.c:table_beginscan_analyze
Unexecuted instantiation: copyfromparse.c:table_beginscan_analyze
Unexecuted instantiation: copyto.c:table_beginscan_analyze
Unexecuted instantiation: createas.c:table_beginscan_analyze
Unexecuted instantiation: dbcommands.c:table_beginscan_analyze
Unexecuted instantiation: event_trigger.c:table_beginscan_analyze
Unexecuted instantiation: indexcmds.c:table_beginscan_analyze
Unexecuted instantiation: matview.c:table_beginscan_analyze
Unexecuted instantiation: repack.c:table_beginscan_analyze
Unexecuted instantiation: tablecmds.c:table_beginscan_analyze
Unexecuted instantiation: tablespace.c:table_beginscan_analyze
Unexecuted instantiation: trigger.c:table_beginscan_analyze
Unexecuted instantiation: typecmds.c:table_beginscan_analyze
Unexecuted instantiation: vacuum.c:table_beginscan_analyze
Unexecuted instantiation: execIndexing.c:table_beginscan_analyze
Unexecuted instantiation: execMain.c:table_beginscan_analyze
Unexecuted instantiation: execPartition.c:table_beginscan_analyze
Unexecuted instantiation: execReplication.c:table_beginscan_analyze
Unexecuted instantiation: execUtils.c:table_beginscan_analyze
Unexecuted instantiation: nodeBitmapHeapscan.c:table_beginscan_analyze
Unexecuted instantiation: nodeIndexonlyscan.c:table_beginscan_analyze
Unexecuted instantiation: nodeIndexscan.c:table_beginscan_analyze
Unexecuted instantiation: nodeLockRows.c:table_beginscan_analyze
Unexecuted instantiation: nodeModifyTable.c:table_beginscan_analyze
Unexecuted instantiation: nodeSamplescan.c:table_beginscan_analyze
Unexecuted instantiation: nodeSeqscan.c:table_beginscan_analyze
Unexecuted instantiation: nodeTidrangescan.c:table_beginscan_analyze
Unexecuted instantiation: nodeTidscan.c:table_beginscan_analyze
Unexecuted instantiation: spi.c:table_beginscan_analyze
Unexecuted instantiation: copyfuncs.c:table_beginscan_analyze
Unexecuted instantiation: equalfuncs.c:table_beginscan_analyze
Unexecuted instantiation: outfuncs.c:table_beginscan_analyze
Unexecuted instantiation: queryjumblefuncs.c:table_beginscan_analyze
Unexecuted instantiation: readfuncs.c:table_beginscan_analyze
Unexecuted instantiation: plancat.c:table_beginscan_analyze
Unexecuted instantiation: partbounds.c:table_beginscan_analyze
Unexecuted instantiation: autovacuum.c:table_beginscan_analyze
Unexecuted instantiation: datachecksum_state.c:table_beginscan_analyze
Unexecuted instantiation: conflict.c:table_beginscan_analyze
Unexecuted instantiation: launcher.c:table_beginscan_analyze
Unexecuted instantiation: reorderbuffer.c:table_beginscan_analyze
Unexecuted instantiation: worker.c:table_beginscan_analyze
Unexecuted instantiation: rewriteHandler.c:table_beginscan_analyze
Unexecuted instantiation: attribute_stats.c:table_beginscan_analyze
Unexecuted instantiation: extended_stats_funcs.c:table_beginscan_analyze
Unexecuted instantiation: relation_stats.c:table_beginscan_analyze
Unexecuted instantiation: bufmgr.c:table_beginscan_analyze
Unexecuted instantiation: utility.c:table_beginscan_analyze
Unexecuted instantiation: ri_triggers.c:table_beginscan_analyze
Unexecuted instantiation: ruleutils.c:table_beginscan_analyze
Unexecuted instantiation: selfuncs.c:table_beginscan_analyze
Unexecuted instantiation: tid.c:table_beginscan_analyze
Unexecuted instantiation: trigfuncs.c:table_beginscan_analyze
Unexecuted instantiation: tsquery_rewrite.c:table_beginscan_analyze
Unexecuted instantiation: tsvector_op.c:table_beginscan_analyze
Unexecuted instantiation: xml.c:table_beginscan_analyze
Unexecuted instantiation: evtcache.c:table_beginscan_analyze
Unexecuted instantiation: funccache.c:table_beginscan_analyze
Unexecuted instantiation: relcache.c:table_beginscan_analyze
Unexecuted instantiation: postinit.c:table_beginscan_analyze
Unexecuted instantiation: guc_tables.c:table_beginscan_analyze
Unexecuted instantiation: simple_query_fuzzer.c:table_beginscan_analyze
1056
1057
/*
1058
 * End relation scan.
1059
 */
1060
static inline void
1061
table_endscan(TableScanDesc scan)
1062
0
{
1063
0
  scan->rs_rd->rd_tableam->scan_end(scan);
1064
0
}
Unexecuted instantiation: fuzzer_initialize.c:table_endscan
Unexecuted instantiation: brin.c:table_endscan
Unexecuted instantiation: detoast.c:table_endscan
Unexecuted instantiation: toast_internals.c:table_endscan
Unexecuted instantiation: gininsert.c:table_endscan
Unexecuted instantiation: gistbuild.c:table_endscan
Unexecuted instantiation: hash.c:table_endscan
Unexecuted instantiation: heapam.c:table_endscan
Unexecuted instantiation: heapam_handler.c:table_endscan
Unexecuted instantiation: heapam_indexscan.c:table_endscan
Unexecuted instantiation: heapam_visibility.c:table_endscan
Unexecuted instantiation: heapam_xlog.c:table_endscan
Unexecuted instantiation: heaptoast.c:table_endscan
Unexecuted instantiation: hio.c:table_endscan
Unexecuted instantiation: pruneheap.c:table_endscan
Unexecuted instantiation: rewriteheap.c:table_endscan
Unexecuted instantiation: vacuumlazy.c:table_endscan
Unexecuted instantiation: genam.c:table_endscan
Unexecuted instantiation: indexam.c:table_endscan
Unexecuted instantiation: nbtdedup.c:table_endscan
Unexecuted instantiation: nbtinsert.c:table_endscan
Unexecuted instantiation: nbtpage.c:table_endscan
Unexecuted instantiation: nbtsort.c:table_endscan
Unexecuted instantiation: nbtsplitloc.c:table_endscan
Unexecuted instantiation: spginsert.c:table_endscan
Unexecuted instantiation: tableam.c:table_endscan
Unexecuted instantiation: tableamapi.c:table_endscan
Unexecuted instantiation: xact.c:table_endscan
Unexecuted instantiation: bootstrap.c:table_endscan
Unexecuted instantiation: aclchk.c:table_endscan
Unexecuted instantiation: dependency.c:table_endscan
Unexecuted instantiation: heap.c:table_endscan
Unexecuted instantiation: index.c:table_endscan
Unexecuted instantiation: indexing.c:table_endscan
Unexecuted instantiation: objectaddress.c:table_endscan
Unexecuted instantiation: pg_db_role_setting.c:table_endscan
Unexecuted instantiation: pg_publication.c:table_endscan
Unexecuted instantiation: pg_subscription.c:table_endscan
Unexecuted instantiation: toasting.c:table_endscan
Unexecuted instantiation: gram.c:table_endscan
Unexecuted instantiation: alter.c:table_endscan
Unexecuted instantiation: analyze.c:table_endscan
Unexecuted instantiation: constraint.c:table_endscan
Unexecuted instantiation: copyfrom.c:table_endscan
Unexecuted instantiation: copyfromparse.c:table_endscan
Unexecuted instantiation: copyto.c:table_endscan
Unexecuted instantiation: createas.c:table_endscan
Unexecuted instantiation: dbcommands.c:table_endscan
Unexecuted instantiation: event_trigger.c:table_endscan
Unexecuted instantiation: indexcmds.c:table_endscan
Unexecuted instantiation: matview.c:table_endscan
Unexecuted instantiation: repack.c:table_endscan
Unexecuted instantiation: tablecmds.c:table_endscan
Unexecuted instantiation: tablespace.c:table_endscan
Unexecuted instantiation: trigger.c:table_endscan
Unexecuted instantiation: typecmds.c:table_endscan
Unexecuted instantiation: vacuum.c:table_endscan
Unexecuted instantiation: execIndexing.c:table_endscan
Unexecuted instantiation: execMain.c:table_endscan
Unexecuted instantiation: execPartition.c:table_endscan
Unexecuted instantiation: execReplication.c:table_endscan
Unexecuted instantiation: execUtils.c:table_endscan
Unexecuted instantiation: nodeBitmapHeapscan.c:table_endscan
Unexecuted instantiation: nodeIndexonlyscan.c:table_endscan
Unexecuted instantiation: nodeIndexscan.c:table_endscan
Unexecuted instantiation: nodeLockRows.c:table_endscan
Unexecuted instantiation: nodeModifyTable.c:table_endscan
Unexecuted instantiation: nodeSamplescan.c:table_endscan
Unexecuted instantiation: nodeSeqscan.c:table_endscan
Unexecuted instantiation: nodeTidrangescan.c:table_endscan
Unexecuted instantiation: nodeTidscan.c:table_endscan
Unexecuted instantiation: spi.c:table_endscan
Unexecuted instantiation: copyfuncs.c:table_endscan
Unexecuted instantiation: equalfuncs.c:table_endscan
Unexecuted instantiation: outfuncs.c:table_endscan
Unexecuted instantiation: queryjumblefuncs.c:table_endscan
Unexecuted instantiation: readfuncs.c:table_endscan
Unexecuted instantiation: plancat.c:table_endscan
Unexecuted instantiation: partbounds.c:table_endscan
Unexecuted instantiation: autovacuum.c:table_endscan
Unexecuted instantiation: datachecksum_state.c:table_endscan
Unexecuted instantiation: conflict.c:table_endscan
Unexecuted instantiation: launcher.c:table_endscan
Unexecuted instantiation: reorderbuffer.c:table_endscan
Unexecuted instantiation: worker.c:table_endscan
Unexecuted instantiation: rewriteHandler.c:table_endscan
Unexecuted instantiation: attribute_stats.c:table_endscan
Unexecuted instantiation: extended_stats_funcs.c:table_endscan
Unexecuted instantiation: relation_stats.c:table_endscan
Unexecuted instantiation: bufmgr.c:table_endscan
Unexecuted instantiation: utility.c:table_endscan
Unexecuted instantiation: ri_triggers.c:table_endscan
Unexecuted instantiation: ruleutils.c:table_endscan
Unexecuted instantiation: selfuncs.c:table_endscan
Unexecuted instantiation: tid.c:table_endscan
Unexecuted instantiation: trigfuncs.c:table_endscan
Unexecuted instantiation: tsquery_rewrite.c:table_endscan
Unexecuted instantiation: tsvector_op.c:table_endscan
Unexecuted instantiation: xml.c:table_endscan
Unexecuted instantiation: evtcache.c:table_endscan
Unexecuted instantiation: funccache.c:table_endscan
Unexecuted instantiation: relcache.c:table_endscan
Unexecuted instantiation: postinit.c:table_endscan
Unexecuted instantiation: guc_tables.c:table_endscan
Unexecuted instantiation: simple_query_fuzzer.c:table_endscan
1065
1066
/*
1067
 * Restart a relation scan.
1068
 */
1069
static inline void
1070
table_rescan(TableScanDesc scan, ScanKeyData *key)
1071
0
{
1072
0
  scan->rs_rd->rd_tableam->scan_rescan(scan, key, false, false, false, false);
1073
0
}
Unexecuted instantiation: fuzzer_initialize.c:table_rescan
Unexecuted instantiation: brin.c:table_rescan
Unexecuted instantiation: detoast.c:table_rescan
Unexecuted instantiation: toast_internals.c:table_rescan
Unexecuted instantiation: gininsert.c:table_rescan
Unexecuted instantiation: gistbuild.c:table_rescan
Unexecuted instantiation: hash.c:table_rescan
Unexecuted instantiation: heapam.c:table_rescan
Unexecuted instantiation: heapam_handler.c:table_rescan
Unexecuted instantiation: heapam_indexscan.c:table_rescan
Unexecuted instantiation: heapam_visibility.c:table_rescan
Unexecuted instantiation: heapam_xlog.c:table_rescan
Unexecuted instantiation: heaptoast.c:table_rescan
Unexecuted instantiation: hio.c:table_rescan
Unexecuted instantiation: pruneheap.c:table_rescan
Unexecuted instantiation: rewriteheap.c:table_rescan
Unexecuted instantiation: vacuumlazy.c:table_rescan
Unexecuted instantiation: genam.c:table_rescan
Unexecuted instantiation: indexam.c:table_rescan
Unexecuted instantiation: nbtdedup.c:table_rescan
Unexecuted instantiation: nbtinsert.c:table_rescan
Unexecuted instantiation: nbtpage.c:table_rescan
Unexecuted instantiation: nbtsort.c:table_rescan
Unexecuted instantiation: nbtsplitloc.c:table_rescan
Unexecuted instantiation: spginsert.c:table_rescan
Unexecuted instantiation: tableam.c:table_rescan
Unexecuted instantiation: tableamapi.c:table_rescan
Unexecuted instantiation: xact.c:table_rescan
Unexecuted instantiation: bootstrap.c:table_rescan
Unexecuted instantiation: aclchk.c:table_rescan
Unexecuted instantiation: dependency.c:table_rescan
Unexecuted instantiation: heap.c:table_rescan
Unexecuted instantiation: index.c:table_rescan
Unexecuted instantiation: indexing.c:table_rescan
Unexecuted instantiation: objectaddress.c:table_rescan
Unexecuted instantiation: pg_db_role_setting.c:table_rescan
Unexecuted instantiation: pg_publication.c:table_rescan
Unexecuted instantiation: pg_subscription.c:table_rescan
Unexecuted instantiation: toasting.c:table_rescan
Unexecuted instantiation: gram.c:table_rescan
Unexecuted instantiation: alter.c:table_rescan
Unexecuted instantiation: analyze.c:table_rescan
Unexecuted instantiation: constraint.c:table_rescan
Unexecuted instantiation: copyfrom.c:table_rescan
Unexecuted instantiation: copyfromparse.c:table_rescan
Unexecuted instantiation: copyto.c:table_rescan
Unexecuted instantiation: createas.c:table_rescan
Unexecuted instantiation: dbcommands.c:table_rescan
Unexecuted instantiation: event_trigger.c:table_rescan
Unexecuted instantiation: indexcmds.c:table_rescan
Unexecuted instantiation: matview.c:table_rescan
Unexecuted instantiation: repack.c:table_rescan
Unexecuted instantiation: tablecmds.c:table_rescan
Unexecuted instantiation: tablespace.c:table_rescan
Unexecuted instantiation: trigger.c:table_rescan
Unexecuted instantiation: typecmds.c:table_rescan
Unexecuted instantiation: vacuum.c:table_rescan
Unexecuted instantiation: execIndexing.c:table_rescan
Unexecuted instantiation: execMain.c:table_rescan
Unexecuted instantiation: execPartition.c:table_rescan
Unexecuted instantiation: execReplication.c:table_rescan
Unexecuted instantiation: execUtils.c:table_rescan
Unexecuted instantiation: nodeBitmapHeapscan.c:table_rescan
Unexecuted instantiation: nodeIndexonlyscan.c:table_rescan
Unexecuted instantiation: nodeIndexscan.c:table_rescan
Unexecuted instantiation: nodeLockRows.c:table_rescan
Unexecuted instantiation: nodeModifyTable.c:table_rescan
Unexecuted instantiation: nodeSamplescan.c:table_rescan
Unexecuted instantiation: nodeSeqscan.c:table_rescan
Unexecuted instantiation: nodeTidrangescan.c:table_rescan
Unexecuted instantiation: nodeTidscan.c:table_rescan
Unexecuted instantiation: spi.c:table_rescan
Unexecuted instantiation: copyfuncs.c:table_rescan
Unexecuted instantiation: equalfuncs.c:table_rescan
Unexecuted instantiation: outfuncs.c:table_rescan
Unexecuted instantiation: queryjumblefuncs.c:table_rescan
Unexecuted instantiation: readfuncs.c:table_rescan
Unexecuted instantiation: plancat.c:table_rescan
Unexecuted instantiation: partbounds.c:table_rescan
Unexecuted instantiation: autovacuum.c:table_rescan
Unexecuted instantiation: datachecksum_state.c:table_rescan
Unexecuted instantiation: conflict.c:table_rescan
Unexecuted instantiation: launcher.c:table_rescan
Unexecuted instantiation: reorderbuffer.c:table_rescan
Unexecuted instantiation: worker.c:table_rescan
Unexecuted instantiation: rewriteHandler.c:table_rescan
Unexecuted instantiation: attribute_stats.c:table_rescan
Unexecuted instantiation: extended_stats_funcs.c:table_rescan
Unexecuted instantiation: relation_stats.c:table_rescan
Unexecuted instantiation: bufmgr.c:table_rescan
Unexecuted instantiation: utility.c:table_rescan
Unexecuted instantiation: ri_triggers.c:table_rescan
Unexecuted instantiation: ruleutils.c:table_rescan
Unexecuted instantiation: selfuncs.c:table_rescan
Unexecuted instantiation: tid.c:table_rescan
Unexecuted instantiation: trigfuncs.c:table_rescan
Unexecuted instantiation: tsquery_rewrite.c:table_rescan
Unexecuted instantiation: tsvector_op.c:table_rescan
Unexecuted instantiation: xml.c:table_rescan
Unexecuted instantiation: evtcache.c:table_rescan
Unexecuted instantiation: funccache.c:table_rescan
Unexecuted instantiation: relcache.c:table_rescan
Unexecuted instantiation: postinit.c:table_rescan
Unexecuted instantiation: guc_tables.c:table_rescan
Unexecuted instantiation: simple_query_fuzzer.c:table_rescan
1074
1075
/*
1076
 * Restart a relation scan after changing params.
1077
 *
1078
 * This call allows changing the buffer strategy, syncscan, and pagemode
1079
 * options before starting a fresh scan.  Note that although the actual use of
1080
 * syncscan might change (effectively, enabling or disabling reporting), the
1081
 * previously selected startblock will be kept.
1082
 */
1083
static inline void
1084
table_rescan_set_params(TableScanDesc scan, ScanKeyData *key,
1085
            bool allow_strat, bool allow_sync, bool allow_pagemode)
1086
0
{
1087
0
  scan->rs_rd->rd_tableam->scan_rescan(scan, key, true,
1088
0
                     allow_strat, allow_sync,
1089
0
                     allow_pagemode);
1090
0
}
Unexecuted instantiation: fuzzer_initialize.c:table_rescan_set_params
Unexecuted instantiation: brin.c:table_rescan_set_params
Unexecuted instantiation: detoast.c:table_rescan_set_params
Unexecuted instantiation: toast_internals.c:table_rescan_set_params
Unexecuted instantiation: gininsert.c:table_rescan_set_params
Unexecuted instantiation: gistbuild.c:table_rescan_set_params
Unexecuted instantiation: hash.c:table_rescan_set_params
Unexecuted instantiation: heapam.c:table_rescan_set_params
Unexecuted instantiation: heapam_handler.c:table_rescan_set_params
Unexecuted instantiation: heapam_indexscan.c:table_rescan_set_params
Unexecuted instantiation: heapam_visibility.c:table_rescan_set_params
Unexecuted instantiation: heapam_xlog.c:table_rescan_set_params
Unexecuted instantiation: heaptoast.c:table_rescan_set_params
Unexecuted instantiation: hio.c:table_rescan_set_params
Unexecuted instantiation: pruneheap.c:table_rescan_set_params
Unexecuted instantiation: rewriteheap.c:table_rescan_set_params
Unexecuted instantiation: vacuumlazy.c:table_rescan_set_params
Unexecuted instantiation: genam.c:table_rescan_set_params
Unexecuted instantiation: indexam.c:table_rescan_set_params
Unexecuted instantiation: nbtdedup.c:table_rescan_set_params
Unexecuted instantiation: nbtinsert.c:table_rescan_set_params
Unexecuted instantiation: nbtpage.c:table_rescan_set_params
Unexecuted instantiation: nbtsort.c:table_rescan_set_params
Unexecuted instantiation: nbtsplitloc.c:table_rescan_set_params
Unexecuted instantiation: spginsert.c:table_rescan_set_params
Unexecuted instantiation: tableam.c:table_rescan_set_params
Unexecuted instantiation: tableamapi.c:table_rescan_set_params
Unexecuted instantiation: xact.c:table_rescan_set_params
Unexecuted instantiation: bootstrap.c:table_rescan_set_params
Unexecuted instantiation: aclchk.c:table_rescan_set_params
Unexecuted instantiation: dependency.c:table_rescan_set_params
Unexecuted instantiation: heap.c:table_rescan_set_params
Unexecuted instantiation: index.c:table_rescan_set_params
Unexecuted instantiation: indexing.c:table_rescan_set_params
Unexecuted instantiation: objectaddress.c:table_rescan_set_params
Unexecuted instantiation: pg_db_role_setting.c:table_rescan_set_params
Unexecuted instantiation: pg_publication.c:table_rescan_set_params
Unexecuted instantiation: pg_subscription.c:table_rescan_set_params
Unexecuted instantiation: toasting.c:table_rescan_set_params
Unexecuted instantiation: gram.c:table_rescan_set_params
Unexecuted instantiation: alter.c:table_rescan_set_params
Unexecuted instantiation: analyze.c:table_rescan_set_params
Unexecuted instantiation: constraint.c:table_rescan_set_params
Unexecuted instantiation: copyfrom.c:table_rescan_set_params
Unexecuted instantiation: copyfromparse.c:table_rescan_set_params
Unexecuted instantiation: copyto.c:table_rescan_set_params
Unexecuted instantiation: createas.c:table_rescan_set_params
Unexecuted instantiation: dbcommands.c:table_rescan_set_params
Unexecuted instantiation: event_trigger.c:table_rescan_set_params
Unexecuted instantiation: indexcmds.c:table_rescan_set_params
Unexecuted instantiation: matview.c:table_rescan_set_params
Unexecuted instantiation: repack.c:table_rescan_set_params
Unexecuted instantiation: tablecmds.c:table_rescan_set_params
Unexecuted instantiation: tablespace.c:table_rescan_set_params
Unexecuted instantiation: trigger.c:table_rescan_set_params
Unexecuted instantiation: typecmds.c:table_rescan_set_params
Unexecuted instantiation: vacuum.c:table_rescan_set_params
Unexecuted instantiation: execIndexing.c:table_rescan_set_params
Unexecuted instantiation: execMain.c:table_rescan_set_params
Unexecuted instantiation: execPartition.c:table_rescan_set_params
Unexecuted instantiation: execReplication.c:table_rescan_set_params
Unexecuted instantiation: execUtils.c:table_rescan_set_params
Unexecuted instantiation: nodeBitmapHeapscan.c:table_rescan_set_params
Unexecuted instantiation: nodeIndexonlyscan.c:table_rescan_set_params
Unexecuted instantiation: nodeIndexscan.c:table_rescan_set_params
Unexecuted instantiation: nodeLockRows.c:table_rescan_set_params
Unexecuted instantiation: nodeModifyTable.c:table_rescan_set_params
Unexecuted instantiation: nodeSamplescan.c:table_rescan_set_params
Unexecuted instantiation: nodeSeqscan.c:table_rescan_set_params
Unexecuted instantiation: nodeTidrangescan.c:table_rescan_set_params
Unexecuted instantiation: nodeTidscan.c:table_rescan_set_params
Unexecuted instantiation: spi.c:table_rescan_set_params
Unexecuted instantiation: copyfuncs.c:table_rescan_set_params
Unexecuted instantiation: equalfuncs.c:table_rescan_set_params
Unexecuted instantiation: outfuncs.c:table_rescan_set_params
Unexecuted instantiation: queryjumblefuncs.c:table_rescan_set_params
Unexecuted instantiation: readfuncs.c:table_rescan_set_params
Unexecuted instantiation: plancat.c:table_rescan_set_params
Unexecuted instantiation: partbounds.c:table_rescan_set_params
Unexecuted instantiation: autovacuum.c:table_rescan_set_params
Unexecuted instantiation: datachecksum_state.c:table_rescan_set_params
Unexecuted instantiation: conflict.c:table_rescan_set_params
Unexecuted instantiation: launcher.c:table_rescan_set_params
Unexecuted instantiation: reorderbuffer.c:table_rescan_set_params
Unexecuted instantiation: worker.c:table_rescan_set_params
Unexecuted instantiation: rewriteHandler.c:table_rescan_set_params
Unexecuted instantiation: attribute_stats.c:table_rescan_set_params
Unexecuted instantiation: extended_stats_funcs.c:table_rescan_set_params
Unexecuted instantiation: relation_stats.c:table_rescan_set_params
Unexecuted instantiation: bufmgr.c:table_rescan_set_params
Unexecuted instantiation: utility.c:table_rescan_set_params
Unexecuted instantiation: ri_triggers.c:table_rescan_set_params
Unexecuted instantiation: ruleutils.c:table_rescan_set_params
Unexecuted instantiation: selfuncs.c:table_rescan_set_params
Unexecuted instantiation: tid.c:table_rescan_set_params
Unexecuted instantiation: trigfuncs.c:table_rescan_set_params
Unexecuted instantiation: tsquery_rewrite.c:table_rescan_set_params
Unexecuted instantiation: tsvector_op.c:table_rescan_set_params
Unexecuted instantiation: xml.c:table_rescan_set_params
Unexecuted instantiation: evtcache.c:table_rescan_set_params
Unexecuted instantiation: funccache.c:table_rescan_set_params
Unexecuted instantiation: relcache.c:table_rescan_set_params
Unexecuted instantiation: postinit.c:table_rescan_set_params
Unexecuted instantiation: guc_tables.c:table_rescan_set_params
Unexecuted instantiation: simple_query_fuzzer.c:table_rescan_set_params
1091
1092
/*
1093
 * Return next tuple from `scan`, store in slot.
1094
 */
1095
static inline bool
1096
table_scan_getnextslot(TableScanDesc sscan, ScanDirection direction, TupleTableSlot *slot)
1097
0
{
1098
0
  slot->tts_tableOid = RelationGetRelid(sscan->rs_rd);
1099
1100
  /* We don't expect actual scans using NoMovementScanDirection */
1101
0
  Assert(direction == ForwardScanDirection ||
1102
0
       direction == BackwardScanDirection);
1103
1104
0
  return sscan->rs_rd->rd_tableam->scan_getnextslot(sscan, direction, slot);
1105
0
}
Unexecuted instantiation: fuzzer_initialize.c:table_scan_getnextslot
Unexecuted instantiation: brin.c:table_scan_getnextslot
Unexecuted instantiation: detoast.c:table_scan_getnextslot
Unexecuted instantiation: toast_internals.c:table_scan_getnextslot
Unexecuted instantiation: gininsert.c:table_scan_getnextslot
Unexecuted instantiation: gistbuild.c:table_scan_getnextslot
Unexecuted instantiation: hash.c:table_scan_getnextslot
Unexecuted instantiation: heapam.c:table_scan_getnextslot
Unexecuted instantiation: heapam_handler.c:table_scan_getnextslot
Unexecuted instantiation: heapam_indexscan.c:table_scan_getnextslot
Unexecuted instantiation: heapam_visibility.c:table_scan_getnextslot
Unexecuted instantiation: heapam_xlog.c:table_scan_getnextslot
Unexecuted instantiation: heaptoast.c:table_scan_getnextslot
Unexecuted instantiation: hio.c:table_scan_getnextslot
Unexecuted instantiation: pruneheap.c:table_scan_getnextslot
Unexecuted instantiation: rewriteheap.c:table_scan_getnextslot
Unexecuted instantiation: vacuumlazy.c:table_scan_getnextslot
Unexecuted instantiation: genam.c:table_scan_getnextslot
Unexecuted instantiation: indexam.c:table_scan_getnextslot
Unexecuted instantiation: nbtdedup.c:table_scan_getnextslot
Unexecuted instantiation: nbtinsert.c:table_scan_getnextslot
Unexecuted instantiation: nbtpage.c:table_scan_getnextslot
Unexecuted instantiation: nbtsort.c:table_scan_getnextslot
Unexecuted instantiation: nbtsplitloc.c:table_scan_getnextslot
Unexecuted instantiation: spginsert.c:table_scan_getnextslot
Unexecuted instantiation: tableam.c:table_scan_getnextslot
Unexecuted instantiation: tableamapi.c:table_scan_getnextslot
Unexecuted instantiation: xact.c:table_scan_getnextslot
Unexecuted instantiation: bootstrap.c:table_scan_getnextslot
Unexecuted instantiation: aclchk.c:table_scan_getnextslot
Unexecuted instantiation: dependency.c:table_scan_getnextslot
Unexecuted instantiation: heap.c:table_scan_getnextslot
Unexecuted instantiation: index.c:table_scan_getnextslot
Unexecuted instantiation: indexing.c:table_scan_getnextslot
Unexecuted instantiation: objectaddress.c:table_scan_getnextslot
Unexecuted instantiation: pg_db_role_setting.c:table_scan_getnextslot
Unexecuted instantiation: pg_publication.c:table_scan_getnextslot
Unexecuted instantiation: pg_subscription.c:table_scan_getnextslot
Unexecuted instantiation: toasting.c:table_scan_getnextslot
Unexecuted instantiation: gram.c:table_scan_getnextslot
Unexecuted instantiation: alter.c:table_scan_getnextslot
Unexecuted instantiation: analyze.c:table_scan_getnextslot
Unexecuted instantiation: constraint.c:table_scan_getnextslot
Unexecuted instantiation: copyfrom.c:table_scan_getnextslot
Unexecuted instantiation: copyfromparse.c:table_scan_getnextslot
Unexecuted instantiation: copyto.c:table_scan_getnextslot
Unexecuted instantiation: createas.c:table_scan_getnextslot
Unexecuted instantiation: dbcommands.c:table_scan_getnextslot
Unexecuted instantiation: event_trigger.c:table_scan_getnextslot
Unexecuted instantiation: indexcmds.c:table_scan_getnextslot
Unexecuted instantiation: matview.c:table_scan_getnextslot
Unexecuted instantiation: repack.c:table_scan_getnextslot
Unexecuted instantiation: tablecmds.c:table_scan_getnextslot
Unexecuted instantiation: tablespace.c:table_scan_getnextslot
Unexecuted instantiation: trigger.c:table_scan_getnextslot
Unexecuted instantiation: typecmds.c:table_scan_getnextslot
Unexecuted instantiation: vacuum.c:table_scan_getnextslot
Unexecuted instantiation: execIndexing.c:table_scan_getnextslot
Unexecuted instantiation: execMain.c:table_scan_getnextslot
Unexecuted instantiation: execPartition.c:table_scan_getnextslot
Unexecuted instantiation: execReplication.c:table_scan_getnextslot
Unexecuted instantiation: execUtils.c:table_scan_getnextslot
Unexecuted instantiation: nodeBitmapHeapscan.c:table_scan_getnextslot
Unexecuted instantiation: nodeIndexonlyscan.c:table_scan_getnextslot
Unexecuted instantiation: nodeIndexscan.c:table_scan_getnextslot
Unexecuted instantiation: nodeLockRows.c:table_scan_getnextslot
Unexecuted instantiation: nodeModifyTable.c:table_scan_getnextslot
Unexecuted instantiation: nodeSamplescan.c:table_scan_getnextslot
Unexecuted instantiation: nodeSeqscan.c:table_scan_getnextslot
Unexecuted instantiation: nodeTidrangescan.c:table_scan_getnextslot
Unexecuted instantiation: nodeTidscan.c:table_scan_getnextslot
Unexecuted instantiation: spi.c:table_scan_getnextslot
Unexecuted instantiation: copyfuncs.c:table_scan_getnextslot
Unexecuted instantiation: equalfuncs.c:table_scan_getnextslot
Unexecuted instantiation: outfuncs.c:table_scan_getnextslot
Unexecuted instantiation: queryjumblefuncs.c:table_scan_getnextslot
Unexecuted instantiation: readfuncs.c:table_scan_getnextslot
Unexecuted instantiation: plancat.c:table_scan_getnextslot
Unexecuted instantiation: partbounds.c:table_scan_getnextslot
Unexecuted instantiation: autovacuum.c:table_scan_getnextslot
Unexecuted instantiation: datachecksum_state.c:table_scan_getnextslot
Unexecuted instantiation: conflict.c:table_scan_getnextslot
Unexecuted instantiation: launcher.c:table_scan_getnextslot
Unexecuted instantiation: reorderbuffer.c:table_scan_getnextslot
Unexecuted instantiation: worker.c:table_scan_getnextslot
Unexecuted instantiation: rewriteHandler.c:table_scan_getnextslot
Unexecuted instantiation: attribute_stats.c:table_scan_getnextslot
Unexecuted instantiation: extended_stats_funcs.c:table_scan_getnextslot
Unexecuted instantiation: relation_stats.c:table_scan_getnextslot
Unexecuted instantiation: bufmgr.c:table_scan_getnextslot
Unexecuted instantiation: utility.c:table_scan_getnextslot
Unexecuted instantiation: ri_triggers.c:table_scan_getnextslot
Unexecuted instantiation: ruleutils.c:table_scan_getnextslot
Unexecuted instantiation: selfuncs.c:table_scan_getnextslot
Unexecuted instantiation: tid.c:table_scan_getnextslot
Unexecuted instantiation: trigfuncs.c:table_scan_getnextslot
Unexecuted instantiation: tsquery_rewrite.c:table_scan_getnextslot
Unexecuted instantiation: tsvector_op.c:table_scan_getnextslot
Unexecuted instantiation: xml.c:table_scan_getnextslot
Unexecuted instantiation: evtcache.c:table_scan_getnextslot
Unexecuted instantiation: funccache.c:table_scan_getnextslot
Unexecuted instantiation: relcache.c:table_scan_getnextslot
Unexecuted instantiation: postinit.c:table_scan_getnextslot
Unexecuted instantiation: guc_tables.c:table_scan_getnextslot
Unexecuted instantiation: simple_query_fuzzer.c:table_scan_getnextslot
1106
1107
/* ----------------------------------------------------------------------------
1108
 * TID Range scanning related functions.
1109
 * ----------------------------------------------------------------------------
1110
 */
1111
1112
/*
1113
 * table_beginscan_tidrange is the entry point for setting up a TableScanDesc
1114
 * for a TID range scan.
1115
 *
1116
 * flags is a bitmask of ScanOptions. No SO_INTERNAL_FLAGS are permitted.
1117
 */
1118
static inline TableScanDesc
1119
table_beginscan_tidrange(Relation rel, Snapshot snapshot,
1120
             ItemPointer mintid,
1121
             ItemPointer maxtid, uint32 flags)
1122
0
{
1123
0
  TableScanDesc sscan;
1124
0
  uint32    internal_flags = SO_TYPE_TIDRANGESCAN | SO_ALLOW_PAGEMODE;
1125
1126
0
  sscan = table_beginscan_common(rel, snapshot, 0, NULL, NULL,
1127
0
                   internal_flags, flags);
1128
1129
  /* Set the range of TIDs to scan */
1130
0
  sscan->rs_rd->rd_tableam->scan_set_tidrange(sscan, mintid, maxtid);
1131
1132
0
  return sscan;
1133
0
}
Unexecuted instantiation: fuzzer_initialize.c:table_beginscan_tidrange
Unexecuted instantiation: brin.c:table_beginscan_tidrange
Unexecuted instantiation: detoast.c:table_beginscan_tidrange
Unexecuted instantiation: toast_internals.c:table_beginscan_tidrange
Unexecuted instantiation: gininsert.c:table_beginscan_tidrange
Unexecuted instantiation: gistbuild.c:table_beginscan_tidrange
Unexecuted instantiation: hash.c:table_beginscan_tidrange
Unexecuted instantiation: heapam.c:table_beginscan_tidrange
Unexecuted instantiation: heapam_handler.c:table_beginscan_tidrange
Unexecuted instantiation: heapam_indexscan.c:table_beginscan_tidrange
Unexecuted instantiation: heapam_visibility.c:table_beginscan_tidrange
Unexecuted instantiation: heapam_xlog.c:table_beginscan_tidrange
Unexecuted instantiation: heaptoast.c:table_beginscan_tidrange
Unexecuted instantiation: hio.c:table_beginscan_tidrange
Unexecuted instantiation: pruneheap.c:table_beginscan_tidrange
Unexecuted instantiation: rewriteheap.c:table_beginscan_tidrange
Unexecuted instantiation: vacuumlazy.c:table_beginscan_tidrange
Unexecuted instantiation: genam.c:table_beginscan_tidrange
Unexecuted instantiation: indexam.c:table_beginscan_tidrange
Unexecuted instantiation: nbtdedup.c:table_beginscan_tidrange
Unexecuted instantiation: nbtinsert.c:table_beginscan_tidrange
Unexecuted instantiation: nbtpage.c:table_beginscan_tidrange
Unexecuted instantiation: nbtsort.c:table_beginscan_tidrange
Unexecuted instantiation: nbtsplitloc.c:table_beginscan_tidrange
Unexecuted instantiation: spginsert.c:table_beginscan_tidrange
Unexecuted instantiation: tableam.c:table_beginscan_tidrange
Unexecuted instantiation: tableamapi.c:table_beginscan_tidrange
Unexecuted instantiation: xact.c:table_beginscan_tidrange
Unexecuted instantiation: bootstrap.c:table_beginscan_tidrange
Unexecuted instantiation: aclchk.c:table_beginscan_tidrange
Unexecuted instantiation: dependency.c:table_beginscan_tidrange
Unexecuted instantiation: heap.c:table_beginscan_tidrange
Unexecuted instantiation: index.c:table_beginscan_tidrange
Unexecuted instantiation: indexing.c:table_beginscan_tidrange
Unexecuted instantiation: objectaddress.c:table_beginscan_tidrange
Unexecuted instantiation: pg_db_role_setting.c:table_beginscan_tidrange
Unexecuted instantiation: pg_publication.c:table_beginscan_tidrange
Unexecuted instantiation: pg_subscription.c:table_beginscan_tidrange
Unexecuted instantiation: toasting.c:table_beginscan_tidrange
Unexecuted instantiation: gram.c:table_beginscan_tidrange
Unexecuted instantiation: alter.c:table_beginscan_tidrange
Unexecuted instantiation: analyze.c:table_beginscan_tidrange
Unexecuted instantiation: constraint.c:table_beginscan_tidrange
Unexecuted instantiation: copyfrom.c:table_beginscan_tidrange
Unexecuted instantiation: copyfromparse.c:table_beginscan_tidrange
Unexecuted instantiation: copyto.c:table_beginscan_tidrange
Unexecuted instantiation: createas.c:table_beginscan_tidrange
Unexecuted instantiation: dbcommands.c:table_beginscan_tidrange
Unexecuted instantiation: event_trigger.c:table_beginscan_tidrange
Unexecuted instantiation: indexcmds.c:table_beginscan_tidrange
Unexecuted instantiation: matview.c:table_beginscan_tidrange
Unexecuted instantiation: repack.c:table_beginscan_tidrange
Unexecuted instantiation: tablecmds.c:table_beginscan_tidrange
Unexecuted instantiation: tablespace.c:table_beginscan_tidrange
Unexecuted instantiation: trigger.c:table_beginscan_tidrange
Unexecuted instantiation: typecmds.c:table_beginscan_tidrange
Unexecuted instantiation: vacuum.c:table_beginscan_tidrange
Unexecuted instantiation: execIndexing.c:table_beginscan_tidrange
Unexecuted instantiation: execMain.c:table_beginscan_tidrange
Unexecuted instantiation: execPartition.c:table_beginscan_tidrange
Unexecuted instantiation: execReplication.c:table_beginscan_tidrange
Unexecuted instantiation: execUtils.c:table_beginscan_tidrange
Unexecuted instantiation: nodeBitmapHeapscan.c:table_beginscan_tidrange
Unexecuted instantiation: nodeIndexonlyscan.c:table_beginscan_tidrange
Unexecuted instantiation: nodeIndexscan.c:table_beginscan_tidrange
Unexecuted instantiation: nodeLockRows.c:table_beginscan_tidrange
Unexecuted instantiation: nodeModifyTable.c:table_beginscan_tidrange
Unexecuted instantiation: nodeSamplescan.c:table_beginscan_tidrange
Unexecuted instantiation: nodeSeqscan.c:table_beginscan_tidrange
Unexecuted instantiation: nodeTidrangescan.c:table_beginscan_tidrange
Unexecuted instantiation: nodeTidscan.c:table_beginscan_tidrange
Unexecuted instantiation: spi.c:table_beginscan_tidrange
Unexecuted instantiation: copyfuncs.c:table_beginscan_tidrange
Unexecuted instantiation: equalfuncs.c:table_beginscan_tidrange
Unexecuted instantiation: outfuncs.c:table_beginscan_tidrange
Unexecuted instantiation: queryjumblefuncs.c:table_beginscan_tidrange
Unexecuted instantiation: readfuncs.c:table_beginscan_tidrange
Unexecuted instantiation: plancat.c:table_beginscan_tidrange
Unexecuted instantiation: partbounds.c:table_beginscan_tidrange
Unexecuted instantiation: autovacuum.c:table_beginscan_tidrange
Unexecuted instantiation: datachecksum_state.c:table_beginscan_tidrange
Unexecuted instantiation: conflict.c:table_beginscan_tidrange
Unexecuted instantiation: launcher.c:table_beginscan_tidrange
Unexecuted instantiation: reorderbuffer.c:table_beginscan_tidrange
Unexecuted instantiation: worker.c:table_beginscan_tidrange
Unexecuted instantiation: rewriteHandler.c:table_beginscan_tidrange
Unexecuted instantiation: attribute_stats.c:table_beginscan_tidrange
Unexecuted instantiation: extended_stats_funcs.c:table_beginscan_tidrange
Unexecuted instantiation: relation_stats.c:table_beginscan_tidrange
Unexecuted instantiation: bufmgr.c:table_beginscan_tidrange
Unexecuted instantiation: utility.c:table_beginscan_tidrange
Unexecuted instantiation: ri_triggers.c:table_beginscan_tidrange
Unexecuted instantiation: ruleutils.c:table_beginscan_tidrange
Unexecuted instantiation: selfuncs.c:table_beginscan_tidrange
Unexecuted instantiation: tid.c:table_beginscan_tidrange
Unexecuted instantiation: trigfuncs.c:table_beginscan_tidrange
Unexecuted instantiation: tsquery_rewrite.c:table_beginscan_tidrange
Unexecuted instantiation: tsvector_op.c:table_beginscan_tidrange
Unexecuted instantiation: xml.c:table_beginscan_tidrange
Unexecuted instantiation: evtcache.c:table_beginscan_tidrange
Unexecuted instantiation: funccache.c:table_beginscan_tidrange
Unexecuted instantiation: relcache.c:table_beginscan_tidrange
Unexecuted instantiation: postinit.c:table_beginscan_tidrange
Unexecuted instantiation: guc_tables.c:table_beginscan_tidrange
Unexecuted instantiation: simple_query_fuzzer.c:table_beginscan_tidrange
1134
1135
/*
1136
 * table_rescan_tidrange resets the scan position and sets the minimum and
1137
 * maximum TID range to scan for a TableScanDesc created by
1138
 * table_beginscan_tidrange.
1139
 */
1140
static inline void
1141
table_rescan_tidrange(TableScanDesc sscan, ItemPointer mintid,
1142
            ItemPointer maxtid)
1143
0
{
1144
  /* Ensure table_beginscan_tidrange() was used. */
1145
0
  Assert((sscan->rs_flags & SO_TYPE_TIDRANGESCAN) != 0);
1146
1147
0
  sscan->rs_rd->rd_tableam->scan_rescan(sscan, NULL, false, false, false, false);
1148
0
  sscan->rs_rd->rd_tableam->scan_set_tidrange(sscan, mintid, maxtid);
1149
0
}
Unexecuted instantiation: fuzzer_initialize.c:table_rescan_tidrange
Unexecuted instantiation: brin.c:table_rescan_tidrange
Unexecuted instantiation: detoast.c:table_rescan_tidrange
Unexecuted instantiation: toast_internals.c:table_rescan_tidrange
Unexecuted instantiation: gininsert.c:table_rescan_tidrange
Unexecuted instantiation: gistbuild.c:table_rescan_tidrange
Unexecuted instantiation: hash.c:table_rescan_tidrange
Unexecuted instantiation: heapam.c:table_rescan_tidrange
Unexecuted instantiation: heapam_handler.c:table_rescan_tidrange
Unexecuted instantiation: heapam_indexscan.c:table_rescan_tidrange
Unexecuted instantiation: heapam_visibility.c:table_rescan_tidrange
Unexecuted instantiation: heapam_xlog.c:table_rescan_tidrange
Unexecuted instantiation: heaptoast.c:table_rescan_tidrange
Unexecuted instantiation: hio.c:table_rescan_tidrange
Unexecuted instantiation: pruneheap.c:table_rescan_tidrange
Unexecuted instantiation: rewriteheap.c:table_rescan_tidrange
Unexecuted instantiation: vacuumlazy.c:table_rescan_tidrange
Unexecuted instantiation: genam.c:table_rescan_tidrange
Unexecuted instantiation: indexam.c:table_rescan_tidrange
Unexecuted instantiation: nbtdedup.c:table_rescan_tidrange
Unexecuted instantiation: nbtinsert.c:table_rescan_tidrange
Unexecuted instantiation: nbtpage.c:table_rescan_tidrange
Unexecuted instantiation: nbtsort.c:table_rescan_tidrange
Unexecuted instantiation: nbtsplitloc.c:table_rescan_tidrange
Unexecuted instantiation: spginsert.c:table_rescan_tidrange
Unexecuted instantiation: tableam.c:table_rescan_tidrange
Unexecuted instantiation: tableamapi.c:table_rescan_tidrange
Unexecuted instantiation: xact.c:table_rescan_tidrange
Unexecuted instantiation: bootstrap.c:table_rescan_tidrange
Unexecuted instantiation: aclchk.c:table_rescan_tidrange
Unexecuted instantiation: dependency.c:table_rescan_tidrange
Unexecuted instantiation: heap.c:table_rescan_tidrange
Unexecuted instantiation: index.c:table_rescan_tidrange
Unexecuted instantiation: indexing.c:table_rescan_tidrange
Unexecuted instantiation: objectaddress.c:table_rescan_tidrange
Unexecuted instantiation: pg_db_role_setting.c:table_rescan_tidrange
Unexecuted instantiation: pg_publication.c:table_rescan_tidrange
Unexecuted instantiation: pg_subscription.c:table_rescan_tidrange
Unexecuted instantiation: toasting.c:table_rescan_tidrange
Unexecuted instantiation: gram.c:table_rescan_tidrange
Unexecuted instantiation: alter.c:table_rescan_tidrange
Unexecuted instantiation: analyze.c:table_rescan_tidrange
Unexecuted instantiation: constraint.c:table_rescan_tidrange
Unexecuted instantiation: copyfrom.c:table_rescan_tidrange
Unexecuted instantiation: copyfromparse.c:table_rescan_tidrange
Unexecuted instantiation: copyto.c:table_rescan_tidrange
Unexecuted instantiation: createas.c:table_rescan_tidrange
Unexecuted instantiation: dbcommands.c:table_rescan_tidrange
Unexecuted instantiation: event_trigger.c:table_rescan_tidrange
Unexecuted instantiation: indexcmds.c:table_rescan_tidrange
Unexecuted instantiation: matview.c:table_rescan_tidrange
Unexecuted instantiation: repack.c:table_rescan_tidrange
Unexecuted instantiation: tablecmds.c:table_rescan_tidrange
Unexecuted instantiation: tablespace.c:table_rescan_tidrange
Unexecuted instantiation: trigger.c:table_rescan_tidrange
Unexecuted instantiation: typecmds.c:table_rescan_tidrange
Unexecuted instantiation: vacuum.c:table_rescan_tidrange
Unexecuted instantiation: execIndexing.c:table_rescan_tidrange
Unexecuted instantiation: execMain.c:table_rescan_tidrange
Unexecuted instantiation: execPartition.c:table_rescan_tidrange
Unexecuted instantiation: execReplication.c:table_rescan_tidrange
Unexecuted instantiation: execUtils.c:table_rescan_tidrange
Unexecuted instantiation: nodeBitmapHeapscan.c:table_rescan_tidrange
Unexecuted instantiation: nodeIndexonlyscan.c:table_rescan_tidrange
Unexecuted instantiation: nodeIndexscan.c:table_rescan_tidrange
Unexecuted instantiation: nodeLockRows.c:table_rescan_tidrange
Unexecuted instantiation: nodeModifyTable.c:table_rescan_tidrange
Unexecuted instantiation: nodeSamplescan.c:table_rescan_tidrange
Unexecuted instantiation: nodeSeqscan.c:table_rescan_tidrange
Unexecuted instantiation: nodeTidrangescan.c:table_rescan_tidrange
Unexecuted instantiation: nodeTidscan.c:table_rescan_tidrange
Unexecuted instantiation: spi.c:table_rescan_tidrange
Unexecuted instantiation: copyfuncs.c:table_rescan_tidrange
Unexecuted instantiation: equalfuncs.c:table_rescan_tidrange
Unexecuted instantiation: outfuncs.c:table_rescan_tidrange
Unexecuted instantiation: queryjumblefuncs.c:table_rescan_tidrange
Unexecuted instantiation: readfuncs.c:table_rescan_tidrange
Unexecuted instantiation: plancat.c:table_rescan_tidrange
Unexecuted instantiation: partbounds.c:table_rescan_tidrange
Unexecuted instantiation: autovacuum.c:table_rescan_tidrange
Unexecuted instantiation: datachecksum_state.c:table_rescan_tidrange
Unexecuted instantiation: conflict.c:table_rescan_tidrange
Unexecuted instantiation: launcher.c:table_rescan_tidrange
Unexecuted instantiation: reorderbuffer.c:table_rescan_tidrange
Unexecuted instantiation: worker.c:table_rescan_tidrange
Unexecuted instantiation: rewriteHandler.c:table_rescan_tidrange
Unexecuted instantiation: attribute_stats.c:table_rescan_tidrange
Unexecuted instantiation: extended_stats_funcs.c:table_rescan_tidrange
Unexecuted instantiation: relation_stats.c:table_rescan_tidrange
Unexecuted instantiation: bufmgr.c:table_rescan_tidrange
Unexecuted instantiation: utility.c:table_rescan_tidrange
Unexecuted instantiation: ri_triggers.c:table_rescan_tidrange
Unexecuted instantiation: ruleutils.c:table_rescan_tidrange
Unexecuted instantiation: selfuncs.c:table_rescan_tidrange
Unexecuted instantiation: tid.c:table_rescan_tidrange
Unexecuted instantiation: trigfuncs.c:table_rescan_tidrange
Unexecuted instantiation: tsquery_rewrite.c:table_rescan_tidrange
Unexecuted instantiation: tsvector_op.c:table_rescan_tidrange
Unexecuted instantiation: xml.c:table_rescan_tidrange
Unexecuted instantiation: evtcache.c:table_rescan_tidrange
Unexecuted instantiation: funccache.c:table_rescan_tidrange
Unexecuted instantiation: relcache.c:table_rescan_tidrange
Unexecuted instantiation: postinit.c:table_rescan_tidrange
Unexecuted instantiation: guc_tables.c:table_rescan_tidrange
Unexecuted instantiation: simple_query_fuzzer.c:table_rescan_tidrange
1150
1151
/*
1152
 * Fetch the next tuple from `sscan` for a TID range scan created by
1153
 * table_beginscan_tidrange().  Stores the tuple in `slot` and returns true,
1154
 * or returns false if no more tuples exist in the range.
1155
 */
1156
static inline bool
1157
table_scan_getnextslot_tidrange(TableScanDesc sscan, ScanDirection direction,
1158
                TupleTableSlot *slot)
1159
0
{
1160
  /* Ensure table_beginscan_tidrange() was used. */
1161
0
  Assert((sscan->rs_flags & SO_TYPE_TIDRANGESCAN) != 0);
1162
1163
  /* We don't expect actual scans using NoMovementScanDirection */
1164
0
  Assert(direction == ForwardScanDirection ||
1165
0
       direction == BackwardScanDirection);
1166
1167
0
  return sscan->rs_rd->rd_tableam->scan_getnextslot_tidrange(sscan,
1168
0
                                 direction,
1169
0
                                 slot);
1170
0
}
Unexecuted instantiation: fuzzer_initialize.c:table_scan_getnextslot_tidrange
Unexecuted instantiation: brin.c:table_scan_getnextslot_tidrange
Unexecuted instantiation: detoast.c:table_scan_getnextslot_tidrange
Unexecuted instantiation: toast_internals.c:table_scan_getnextslot_tidrange
Unexecuted instantiation: gininsert.c:table_scan_getnextslot_tidrange
Unexecuted instantiation: gistbuild.c:table_scan_getnextslot_tidrange
Unexecuted instantiation: hash.c:table_scan_getnextslot_tidrange
Unexecuted instantiation: heapam.c:table_scan_getnextslot_tidrange
Unexecuted instantiation: heapam_handler.c:table_scan_getnextslot_tidrange
Unexecuted instantiation: heapam_indexscan.c:table_scan_getnextslot_tidrange
Unexecuted instantiation: heapam_visibility.c:table_scan_getnextslot_tidrange
Unexecuted instantiation: heapam_xlog.c:table_scan_getnextslot_tidrange
Unexecuted instantiation: heaptoast.c:table_scan_getnextslot_tidrange
Unexecuted instantiation: hio.c:table_scan_getnextslot_tidrange
Unexecuted instantiation: pruneheap.c:table_scan_getnextslot_tidrange
Unexecuted instantiation: rewriteheap.c:table_scan_getnextslot_tidrange
Unexecuted instantiation: vacuumlazy.c:table_scan_getnextslot_tidrange
Unexecuted instantiation: genam.c:table_scan_getnextslot_tidrange
Unexecuted instantiation: indexam.c:table_scan_getnextslot_tidrange
Unexecuted instantiation: nbtdedup.c:table_scan_getnextslot_tidrange
Unexecuted instantiation: nbtinsert.c:table_scan_getnextslot_tidrange
Unexecuted instantiation: nbtpage.c:table_scan_getnextslot_tidrange
Unexecuted instantiation: nbtsort.c:table_scan_getnextslot_tidrange
Unexecuted instantiation: nbtsplitloc.c:table_scan_getnextslot_tidrange
Unexecuted instantiation: spginsert.c:table_scan_getnextslot_tidrange
Unexecuted instantiation: tableam.c:table_scan_getnextslot_tidrange
Unexecuted instantiation: tableamapi.c:table_scan_getnextslot_tidrange
Unexecuted instantiation: xact.c:table_scan_getnextslot_tidrange
Unexecuted instantiation: bootstrap.c:table_scan_getnextslot_tidrange
Unexecuted instantiation: aclchk.c:table_scan_getnextslot_tidrange
Unexecuted instantiation: dependency.c:table_scan_getnextslot_tidrange
Unexecuted instantiation: heap.c:table_scan_getnextslot_tidrange
Unexecuted instantiation: index.c:table_scan_getnextslot_tidrange
Unexecuted instantiation: indexing.c:table_scan_getnextslot_tidrange
Unexecuted instantiation: objectaddress.c:table_scan_getnextslot_tidrange
Unexecuted instantiation: pg_db_role_setting.c:table_scan_getnextslot_tidrange
Unexecuted instantiation: pg_publication.c:table_scan_getnextslot_tidrange
Unexecuted instantiation: pg_subscription.c:table_scan_getnextslot_tidrange
Unexecuted instantiation: toasting.c:table_scan_getnextslot_tidrange
Unexecuted instantiation: gram.c:table_scan_getnextslot_tidrange
Unexecuted instantiation: alter.c:table_scan_getnextslot_tidrange
Unexecuted instantiation: analyze.c:table_scan_getnextslot_tidrange
Unexecuted instantiation: constraint.c:table_scan_getnextslot_tidrange
Unexecuted instantiation: copyfrom.c:table_scan_getnextslot_tidrange
Unexecuted instantiation: copyfromparse.c:table_scan_getnextslot_tidrange
Unexecuted instantiation: copyto.c:table_scan_getnextslot_tidrange
Unexecuted instantiation: createas.c:table_scan_getnextslot_tidrange
Unexecuted instantiation: dbcommands.c:table_scan_getnextslot_tidrange
Unexecuted instantiation: event_trigger.c:table_scan_getnextslot_tidrange
Unexecuted instantiation: indexcmds.c:table_scan_getnextslot_tidrange
Unexecuted instantiation: matview.c:table_scan_getnextslot_tidrange
Unexecuted instantiation: repack.c:table_scan_getnextslot_tidrange
Unexecuted instantiation: tablecmds.c:table_scan_getnextslot_tidrange
Unexecuted instantiation: tablespace.c:table_scan_getnextslot_tidrange
Unexecuted instantiation: trigger.c:table_scan_getnextslot_tidrange
Unexecuted instantiation: typecmds.c:table_scan_getnextslot_tidrange
Unexecuted instantiation: vacuum.c:table_scan_getnextslot_tidrange
Unexecuted instantiation: execIndexing.c:table_scan_getnextslot_tidrange
Unexecuted instantiation: execMain.c:table_scan_getnextslot_tidrange
Unexecuted instantiation: execPartition.c:table_scan_getnextslot_tidrange
Unexecuted instantiation: execReplication.c:table_scan_getnextslot_tidrange
Unexecuted instantiation: execUtils.c:table_scan_getnextslot_tidrange
Unexecuted instantiation: nodeBitmapHeapscan.c:table_scan_getnextslot_tidrange
Unexecuted instantiation: nodeIndexonlyscan.c:table_scan_getnextslot_tidrange
Unexecuted instantiation: nodeIndexscan.c:table_scan_getnextslot_tidrange
Unexecuted instantiation: nodeLockRows.c:table_scan_getnextslot_tidrange
Unexecuted instantiation: nodeModifyTable.c:table_scan_getnextslot_tidrange
Unexecuted instantiation: nodeSamplescan.c:table_scan_getnextslot_tidrange
Unexecuted instantiation: nodeSeqscan.c:table_scan_getnextslot_tidrange
Unexecuted instantiation: nodeTidrangescan.c:table_scan_getnextslot_tidrange
Unexecuted instantiation: nodeTidscan.c:table_scan_getnextslot_tidrange
Unexecuted instantiation: spi.c:table_scan_getnextslot_tidrange
Unexecuted instantiation: copyfuncs.c:table_scan_getnextslot_tidrange
Unexecuted instantiation: equalfuncs.c:table_scan_getnextslot_tidrange
Unexecuted instantiation: outfuncs.c:table_scan_getnextslot_tidrange
Unexecuted instantiation: queryjumblefuncs.c:table_scan_getnextslot_tidrange
Unexecuted instantiation: readfuncs.c:table_scan_getnextslot_tidrange
Unexecuted instantiation: plancat.c:table_scan_getnextslot_tidrange
Unexecuted instantiation: partbounds.c:table_scan_getnextslot_tidrange
Unexecuted instantiation: autovacuum.c:table_scan_getnextslot_tidrange
Unexecuted instantiation: datachecksum_state.c:table_scan_getnextslot_tidrange
Unexecuted instantiation: conflict.c:table_scan_getnextslot_tidrange
Unexecuted instantiation: launcher.c:table_scan_getnextslot_tidrange
Unexecuted instantiation: reorderbuffer.c:table_scan_getnextslot_tidrange
Unexecuted instantiation: worker.c:table_scan_getnextslot_tidrange
Unexecuted instantiation: rewriteHandler.c:table_scan_getnextslot_tidrange
Unexecuted instantiation: attribute_stats.c:table_scan_getnextslot_tidrange
Unexecuted instantiation: extended_stats_funcs.c:table_scan_getnextslot_tidrange
Unexecuted instantiation: relation_stats.c:table_scan_getnextslot_tidrange
Unexecuted instantiation: bufmgr.c:table_scan_getnextslot_tidrange
Unexecuted instantiation: utility.c:table_scan_getnextslot_tidrange
Unexecuted instantiation: ri_triggers.c:table_scan_getnextslot_tidrange
Unexecuted instantiation: ruleutils.c:table_scan_getnextslot_tidrange
Unexecuted instantiation: selfuncs.c:table_scan_getnextslot_tidrange
Unexecuted instantiation: tid.c:table_scan_getnextslot_tidrange
Unexecuted instantiation: trigfuncs.c:table_scan_getnextslot_tidrange
Unexecuted instantiation: tsquery_rewrite.c:table_scan_getnextslot_tidrange
Unexecuted instantiation: tsvector_op.c:table_scan_getnextslot_tidrange
Unexecuted instantiation: xml.c:table_scan_getnextslot_tidrange
Unexecuted instantiation: evtcache.c:table_scan_getnextslot_tidrange
Unexecuted instantiation: funccache.c:table_scan_getnextslot_tidrange
Unexecuted instantiation: relcache.c:table_scan_getnextslot_tidrange
Unexecuted instantiation: postinit.c:table_scan_getnextslot_tidrange
Unexecuted instantiation: guc_tables.c:table_scan_getnextslot_tidrange
Unexecuted instantiation: simple_query_fuzzer.c:table_scan_getnextslot_tidrange
1171
1172
1173
/* ----------------------------------------------------------------------------
1174
 * Parallel table scan related functions.
1175
 * ----------------------------------------------------------------------------
1176
 */
1177
1178
/*
1179
 * Estimate the size of shared memory needed for a parallel scan of this
1180
 * relation.
1181
 */
1182
extern Size table_parallelscan_estimate(Relation rel, Snapshot snapshot);
1183
1184
/*
1185
 * Initialize ParallelTableScanDesc for a parallel scan of this
1186
 * relation. `pscan` needs to be sized according to parallelscan_estimate()
1187
 * for the same relation.  Call this just once in the leader process; then,
1188
 * individual workers attach via table_beginscan_parallel.
1189
 */
1190
extern void table_parallelscan_initialize(Relation rel,
1191
                      ParallelTableScanDesc pscan,
1192
                      Snapshot snapshot);
1193
1194
/*
1195
 * Begin a parallel scan. `pscan` needs to have been initialized with
1196
 * table_parallelscan_initialize(), for the same relation. The initialization
1197
 * does not need to have happened in this backend.
1198
 *
1199
 * flags is a bitmask of ScanOptions. No SO_INTERNAL_FLAGS are permitted.
1200
 *
1201
 * Caller must hold a suitable lock on the relation.
1202
 */
1203
extern TableScanDesc table_beginscan_parallel(Relation relation,
1204
                        ParallelTableScanDesc pscan,
1205
                        uint32 flags);
1206
1207
/*
1208
 * Begin a parallel tid range scan. `pscan` needs to have been initialized
1209
 * with table_parallelscan_initialize(), for the same relation. The
1210
 * initialization does not need to have happened in this backend.
1211
 *
1212
 * flags is a bitmask of ScanOptions. No SO_INTERNAL_FLAGS are permitted.
1213
 *
1214
 * Caller must hold a suitable lock on the relation.
1215
 */
1216
extern TableScanDesc table_beginscan_parallel_tidrange(Relation relation,
1217
                             ParallelTableScanDesc pscan,
1218
                             uint32 flags);
1219
1220
/*
1221
 * Restart a parallel scan.  Call this in the leader process.  Caller is
1222
 * responsible for making sure that all workers have finished the scan
1223
 * beforehand.
1224
 */
1225
static inline void
1226
table_parallelscan_reinitialize(Relation rel, ParallelTableScanDesc pscan)
1227
0
{
1228
0
  rel->rd_tableam->parallelscan_reinitialize(rel, pscan);
1229
0
}
Unexecuted instantiation: fuzzer_initialize.c:table_parallelscan_reinitialize
Unexecuted instantiation: brin.c:table_parallelscan_reinitialize
Unexecuted instantiation: detoast.c:table_parallelscan_reinitialize
Unexecuted instantiation: toast_internals.c:table_parallelscan_reinitialize
Unexecuted instantiation: gininsert.c:table_parallelscan_reinitialize
Unexecuted instantiation: gistbuild.c:table_parallelscan_reinitialize
Unexecuted instantiation: hash.c:table_parallelscan_reinitialize
Unexecuted instantiation: heapam.c:table_parallelscan_reinitialize
Unexecuted instantiation: heapam_handler.c:table_parallelscan_reinitialize
Unexecuted instantiation: heapam_indexscan.c:table_parallelscan_reinitialize
Unexecuted instantiation: heapam_visibility.c:table_parallelscan_reinitialize
Unexecuted instantiation: heapam_xlog.c:table_parallelscan_reinitialize
Unexecuted instantiation: heaptoast.c:table_parallelscan_reinitialize
Unexecuted instantiation: hio.c:table_parallelscan_reinitialize
Unexecuted instantiation: pruneheap.c:table_parallelscan_reinitialize
Unexecuted instantiation: rewriteheap.c:table_parallelscan_reinitialize
Unexecuted instantiation: vacuumlazy.c:table_parallelscan_reinitialize
Unexecuted instantiation: genam.c:table_parallelscan_reinitialize
Unexecuted instantiation: indexam.c:table_parallelscan_reinitialize
Unexecuted instantiation: nbtdedup.c:table_parallelscan_reinitialize
Unexecuted instantiation: nbtinsert.c:table_parallelscan_reinitialize
Unexecuted instantiation: nbtpage.c:table_parallelscan_reinitialize
Unexecuted instantiation: nbtsort.c:table_parallelscan_reinitialize
Unexecuted instantiation: nbtsplitloc.c:table_parallelscan_reinitialize
Unexecuted instantiation: spginsert.c:table_parallelscan_reinitialize
Unexecuted instantiation: tableam.c:table_parallelscan_reinitialize
Unexecuted instantiation: tableamapi.c:table_parallelscan_reinitialize
Unexecuted instantiation: xact.c:table_parallelscan_reinitialize
Unexecuted instantiation: bootstrap.c:table_parallelscan_reinitialize
Unexecuted instantiation: aclchk.c:table_parallelscan_reinitialize
Unexecuted instantiation: dependency.c:table_parallelscan_reinitialize
Unexecuted instantiation: heap.c:table_parallelscan_reinitialize
Unexecuted instantiation: index.c:table_parallelscan_reinitialize
Unexecuted instantiation: indexing.c:table_parallelscan_reinitialize
Unexecuted instantiation: objectaddress.c:table_parallelscan_reinitialize
Unexecuted instantiation: pg_db_role_setting.c:table_parallelscan_reinitialize
Unexecuted instantiation: pg_publication.c:table_parallelscan_reinitialize
Unexecuted instantiation: pg_subscription.c:table_parallelscan_reinitialize
Unexecuted instantiation: toasting.c:table_parallelscan_reinitialize
Unexecuted instantiation: gram.c:table_parallelscan_reinitialize
Unexecuted instantiation: alter.c:table_parallelscan_reinitialize
Unexecuted instantiation: analyze.c:table_parallelscan_reinitialize
Unexecuted instantiation: constraint.c:table_parallelscan_reinitialize
Unexecuted instantiation: copyfrom.c:table_parallelscan_reinitialize
Unexecuted instantiation: copyfromparse.c:table_parallelscan_reinitialize
Unexecuted instantiation: copyto.c:table_parallelscan_reinitialize
Unexecuted instantiation: createas.c:table_parallelscan_reinitialize
Unexecuted instantiation: dbcommands.c:table_parallelscan_reinitialize
Unexecuted instantiation: event_trigger.c:table_parallelscan_reinitialize
Unexecuted instantiation: indexcmds.c:table_parallelscan_reinitialize
Unexecuted instantiation: matview.c:table_parallelscan_reinitialize
Unexecuted instantiation: repack.c:table_parallelscan_reinitialize
Unexecuted instantiation: tablecmds.c:table_parallelscan_reinitialize
Unexecuted instantiation: tablespace.c:table_parallelscan_reinitialize
Unexecuted instantiation: trigger.c:table_parallelscan_reinitialize
Unexecuted instantiation: typecmds.c:table_parallelscan_reinitialize
Unexecuted instantiation: vacuum.c:table_parallelscan_reinitialize
Unexecuted instantiation: execIndexing.c:table_parallelscan_reinitialize
Unexecuted instantiation: execMain.c:table_parallelscan_reinitialize
Unexecuted instantiation: execPartition.c:table_parallelscan_reinitialize
Unexecuted instantiation: execReplication.c:table_parallelscan_reinitialize
Unexecuted instantiation: execUtils.c:table_parallelscan_reinitialize
Unexecuted instantiation: nodeBitmapHeapscan.c:table_parallelscan_reinitialize
Unexecuted instantiation: nodeIndexonlyscan.c:table_parallelscan_reinitialize
Unexecuted instantiation: nodeIndexscan.c:table_parallelscan_reinitialize
Unexecuted instantiation: nodeLockRows.c:table_parallelscan_reinitialize
Unexecuted instantiation: nodeModifyTable.c:table_parallelscan_reinitialize
Unexecuted instantiation: nodeSamplescan.c:table_parallelscan_reinitialize
Unexecuted instantiation: nodeSeqscan.c:table_parallelscan_reinitialize
Unexecuted instantiation: nodeTidrangescan.c:table_parallelscan_reinitialize
Unexecuted instantiation: nodeTidscan.c:table_parallelscan_reinitialize
Unexecuted instantiation: spi.c:table_parallelscan_reinitialize
Unexecuted instantiation: copyfuncs.c:table_parallelscan_reinitialize
Unexecuted instantiation: equalfuncs.c:table_parallelscan_reinitialize
Unexecuted instantiation: outfuncs.c:table_parallelscan_reinitialize
Unexecuted instantiation: queryjumblefuncs.c:table_parallelscan_reinitialize
Unexecuted instantiation: readfuncs.c:table_parallelscan_reinitialize
Unexecuted instantiation: plancat.c:table_parallelscan_reinitialize
Unexecuted instantiation: partbounds.c:table_parallelscan_reinitialize
Unexecuted instantiation: autovacuum.c:table_parallelscan_reinitialize
Unexecuted instantiation: datachecksum_state.c:table_parallelscan_reinitialize
Unexecuted instantiation: conflict.c:table_parallelscan_reinitialize
Unexecuted instantiation: launcher.c:table_parallelscan_reinitialize
Unexecuted instantiation: reorderbuffer.c:table_parallelscan_reinitialize
Unexecuted instantiation: worker.c:table_parallelscan_reinitialize
Unexecuted instantiation: rewriteHandler.c:table_parallelscan_reinitialize
Unexecuted instantiation: attribute_stats.c:table_parallelscan_reinitialize
Unexecuted instantiation: extended_stats_funcs.c:table_parallelscan_reinitialize
Unexecuted instantiation: relation_stats.c:table_parallelscan_reinitialize
Unexecuted instantiation: bufmgr.c:table_parallelscan_reinitialize
Unexecuted instantiation: utility.c:table_parallelscan_reinitialize
Unexecuted instantiation: ri_triggers.c:table_parallelscan_reinitialize
Unexecuted instantiation: ruleutils.c:table_parallelscan_reinitialize
Unexecuted instantiation: selfuncs.c:table_parallelscan_reinitialize
Unexecuted instantiation: tid.c:table_parallelscan_reinitialize
Unexecuted instantiation: trigfuncs.c:table_parallelscan_reinitialize
Unexecuted instantiation: tsquery_rewrite.c:table_parallelscan_reinitialize
Unexecuted instantiation: tsvector_op.c:table_parallelscan_reinitialize
Unexecuted instantiation: xml.c:table_parallelscan_reinitialize
Unexecuted instantiation: evtcache.c:table_parallelscan_reinitialize
Unexecuted instantiation: funccache.c:table_parallelscan_reinitialize
Unexecuted instantiation: relcache.c:table_parallelscan_reinitialize
Unexecuted instantiation: postinit.c:table_parallelscan_reinitialize
Unexecuted instantiation: guc_tables.c:table_parallelscan_reinitialize
Unexecuted instantiation: simple_query_fuzzer.c:table_parallelscan_reinitialize
1230
1231
1232
/* ----------------------------------------------------------------------------
1233
 *  Index scan related functions.
1234
 * ----------------------------------------------------------------------------
1235
 */
1236
1237
/*
1238
 * Prepare to fetch tuples from the relation, as needed when fetching tuples
1239
 * for an index scan.
1240
 *
1241
 * flags is a bitmask of ScanOptions. No SO_INTERNAL_FLAGS are permitted.
1242
 *
1243
 * Tuples for an index scan can then be fetched via table_index_fetch_tuple().
1244
 */
1245
static inline IndexFetchTableData *
1246
table_index_fetch_begin(Relation rel, uint32 flags)
1247
0
{
1248
0
  Assert((flags & SO_INTERNAL_FLAGS) == 0);
1249
1250
  /*
1251
   * We don't allow scans to be started while CheckXidAlive is set, except
1252
   * via systable_beginscan() et al.  See detailed comments in xact.c where
1253
   * these variables are declared.
1254
   */
1255
0
  if (unlikely(TransactionIdIsValid(CheckXidAlive) && !bsysscan))
1256
0
    elog(ERROR, "scan started during logical decoding");
1257
1258
0
  return rel->rd_tableam->index_fetch_begin(rel, flags);
1259
0
}
Unexecuted instantiation: fuzzer_initialize.c:table_index_fetch_begin
Unexecuted instantiation: brin.c:table_index_fetch_begin
Unexecuted instantiation: detoast.c:table_index_fetch_begin
Unexecuted instantiation: toast_internals.c:table_index_fetch_begin
Unexecuted instantiation: gininsert.c:table_index_fetch_begin
Unexecuted instantiation: gistbuild.c:table_index_fetch_begin
Unexecuted instantiation: hash.c:table_index_fetch_begin
Unexecuted instantiation: heapam.c:table_index_fetch_begin
Unexecuted instantiation: heapam_handler.c:table_index_fetch_begin
Unexecuted instantiation: heapam_indexscan.c:table_index_fetch_begin
Unexecuted instantiation: heapam_visibility.c:table_index_fetch_begin
Unexecuted instantiation: heapam_xlog.c:table_index_fetch_begin
Unexecuted instantiation: heaptoast.c:table_index_fetch_begin
Unexecuted instantiation: hio.c:table_index_fetch_begin
Unexecuted instantiation: pruneheap.c:table_index_fetch_begin
Unexecuted instantiation: rewriteheap.c:table_index_fetch_begin
Unexecuted instantiation: vacuumlazy.c:table_index_fetch_begin
Unexecuted instantiation: genam.c:table_index_fetch_begin
Unexecuted instantiation: indexam.c:table_index_fetch_begin
Unexecuted instantiation: nbtdedup.c:table_index_fetch_begin
Unexecuted instantiation: nbtinsert.c:table_index_fetch_begin
Unexecuted instantiation: nbtpage.c:table_index_fetch_begin
Unexecuted instantiation: nbtsort.c:table_index_fetch_begin
Unexecuted instantiation: nbtsplitloc.c:table_index_fetch_begin
Unexecuted instantiation: spginsert.c:table_index_fetch_begin
Unexecuted instantiation: tableam.c:table_index_fetch_begin
Unexecuted instantiation: tableamapi.c:table_index_fetch_begin
Unexecuted instantiation: xact.c:table_index_fetch_begin
Unexecuted instantiation: bootstrap.c:table_index_fetch_begin
Unexecuted instantiation: aclchk.c:table_index_fetch_begin
Unexecuted instantiation: dependency.c:table_index_fetch_begin
Unexecuted instantiation: heap.c:table_index_fetch_begin
Unexecuted instantiation: index.c:table_index_fetch_begin
Unexecuted instantiation: indexing.c:table_index_fetch_begin
Unexecuted instantiation: objectaddress.c:table_index_fetch_begin
Unexecuted instantiation: pg_db_role_setting.c:table_index_fetch_begin
Unexecuted instantiation: pg_publication.c:table_index_fetch_begin
Unexecuted instantiation: pg_subscription.c:table_index_fetch_begin
Unexecuted instantiation: toasting.c:table_index_fetch_begin
Unexecuted instantiation: gram.c:table_index_fetch_begin
Unexecuted instantiation: alter.c:table_index_fetch_begin
Unexecuted instantiation: analyze.c:table_index_fetch_begin
Unexecuted instantiation: constraint.c:table_index_fetch_begin
Unexecuted instantiation: copyfrom.c:table_index_fetch_begin
Unexecuted instantiation: copyfromparse.c:table_index_fetch_begin
Unexecuted instantiation: copyto.c:table_index_fetch_begin
Unexecuted instantiation: createas.c:table_index_fetch_begin
Unexecuted instantiation: dbcommands.c:table_index_fetch_begin
Unexecuted instantiation: event_trigger.c:table_index_fetch_begin
Unexecuted instantiation: indexcmds.c:table_index_fetch_begin
Unexecuted instantiation: matview.c:table_index_fetch_begin
Unexecuted instantiation: repack.c:table_index_fetch_begin
Unexecuted instantiation: tablecmds.c:table_index_fetch_begin
Unexecuted instantiation: tablespace.c:table_index_fetch_begin
Unexecuted instantiation: trigger.c:table_index_fetch_begin
Unexecuted instantiation: typecmds.c:table_index_fetch_begin
Unexecuted instantiation: vacuum.c:table_index_fetch_begin
Unexecuted instantiation: execIndexing.c:table_index_fetch_begin
Unexecuted instantiation: execMain.c:table_index_fetch_begin
Unexecuted instantiation: execPartition.c:table_index_fetch_begin
Unexecuted instantiation: execReplication.c:table_index_fetch_begin
Unexecuted instantiation: execUtils.c:table_index_fetch_begin
Unexecuted instantiation: nodeBitmapHeapscan.c:table_index_fetch_begin
Unexecuted instantiation: nodeIndexonlyscan.c:table_index_fetch_begin
Unexecuted instantiation: nodeIndexscan.c:table_index_fetch_begin
Unexecuted instantiation: nodeLockRows.c:table_index_fetch_begin
Unexecuted instantiation: nodeModifyTable.c:table_index_fetch_begin
Unexecuted instantiation: nodeSamplescan.c:table_index_fetch_begin
Unexecuted instantiation: nodeSeqscan.c:table_index_fetch_begin
Unexecuted instantiation: nodeTidrangescan.c:table_index_fetch_begin
Unexecuted instantiation: nodeTidscan.c:table_index_fetch_begin
Unexecuted instantiation: spi.c:table_index_fetch_begin
Unexecuted instantiation: copyfuncs.c:table_index_fetch_begin
Unexecuted instantiation: equalfuncs.c:table_index_fetch_begin
Unexecuted instantiation: outfuncs.c:table_index_fetch_begin
Unexecuted instantiation: queryjumblefuncs.c:table_index_fetch_begin
Unexecuted instantiation: readfuncs.c:table_index_fetch_begin
Unexecuted instantiation: plancat.c:table_index_fetch_begin
Unexecuted instantiation: partbounds.c:table_index_fetch_begin
Unexecuted instantiation: autovacuum.c:table_index_fetch_begin
Unexecuted instantiation: datachecksum_state.c:table_index_fetch_begin
Unexecuted instantiation: conflict.c:table_index_fetch_begin
Unexecuted instantiation: launcher.c:table_index_fetch_begin
Unexecuted instantiation: reorderbuffer.c:table_index_fetch_begin
Unexecuted instantiation: worker.c:table_index_fetch_begin
Unexecuted instantiation: rewriteHandler.c:table_index_fetch_begin
Unexecuted instantiation: attribute_stats.c:table_index_fetch_begin
Unexecuted instantiation: extended_stats_funcs.c:table_index_fetch_begin
Unexecuted instantiation: relation_stats.c:table_index_fetch_begin
Unexecuted instantiation: bufmgr.c:table_index_fetch_begin
Unexecuted instantiation: utility.c:table_index_fetch_begin
Unexecuted instantiation: ri_triggers.c:table_index_fetch_begin
Unexecuted instantiation: ruleutils.c:table_index_fetch_begin
Unexecuted instantiation: selfuncs.c:table_index_fetch_begin
Unexecuted instantiation: tid.c:table_index_fetch_begin
Unexecuted instantiation: trigfuncs.c:table_index_fetch_begin
Unexecuted instantiation: tsquery_rewrite.c:table_index_fetch_begin
Unexecuted instantiation: tsvector_op.c:table_index_fetch_begin
Unexecuted instantiation: xml.c:table_index_fetch_begin
Unexecuted instantiation: evtcache.c:table_index_fetch_begin
Unexecuted instantiation: funccache.c:table_index_fetch_begin
Unexecuted instantiation: relcache.c:table_index_fetch_begin
Unexecuted instantiation: postinit.c:table_index_fetch_begin
Unexecuted instantiation: guc_tables.c:table_index_fetch_begin
Unexecuted instantiation: simple_query_fuzzer.c:table_index_fetch_begin
1260
1261
/*
1262
 * Reset index fetch. Typically this will release cross index fetch resources
1263
 * held in IndexFetchTableData.
1264
 */
1265
static inline void
1266
table_index_fetch_reset(struct IndexFetchTableData *scan)
1267
0
{
1268
0
  scan->rel->rd_tableam->index_fetch_reset(scan);
1269
0
}
Unexecuted instantiation: fuzzer_initialize.c:table_index_fetch_reset
Unexecuted instantiation: brin.c:table_index_fetch_reset
Unexecuted instantiation: detoast.c:table_index_fetch_reset
Unexecuted instantiation: toast_internals.c:table_index_fetch_reset
Unexecuted instantiation: gininsert.c:table_index_fetch_reset
Unexecuted instantiation: gistbuild.c:table_index_fetch_reset
Unexecuted instantiation: hash.c:table_index_fetch_reset
Unexecuted instantiation: heapam.c:table_index_fetch_reset
Unexecuted instantiation: heapam_handler.c:table_index_fetch_reset
Unexecuted instantiation: heapam_indexscan.c:table_index_fetch_reset
Unexecuted instantiation: heapam_visibility.c:table_index_fetch_reset
Unexecuted instantiation: heapam_xlog.c:table_index_fetch_reset
Unexecuted instantiation: heaptoast.c:table_index_fetch_reset
Unexecuted instantiation: hio.c:table_index_fetch_reset
Unexecuted instantiation: pruneheap.c:table_index_fetch_reset
Unexecuted instantiation: rewriteheap.c:table_index_fetch_reset
Unexecuted instantiation: vacuumlazy.c:table_index_fetch_reset
Unexecuted instantiation: genam.c:table_index_fetch_reset
Unexecuted instantiation: indexam.c:table_index_fetch_reset
Unexecuted instantiation: nbtdedup.c:table_index_fetch_reset
Unexecuted instantiation: nbtinsert.c:table_index_fetch_reset
Unexecuted instantiation: nbtpage.c:table_index_fetch_reset
Unexecuted instantiation: nbtsort.c:table_index_fetch_reset
Unexecuted instantiation: nbtsplitloc.c:table_index_fetch_reset
Unexecuted instantiation: spginsert.c:table_index_fetch_reset
Unexecuted instantiation: tableam.c:table_index_fetch_reset
Unexecuted instantiation: tableamapi.c:table_index_fetch_reset
Unexecuted instantiation: xact.c:table_index_fetch_reset
Unexecuted instantiation: bootstrap.c:table_index_fetch_reset
Unexecuted instantiation: aclchk.c:table_index_fetch_reset
Unexecuted instantiation: dependency.c:table_index_fetch_reset
Unexecuted instantiation: heap.c:table_index_fetch_reset
Unexecuted instantiation: index.c:table_index_fetch_reset
Unexecuted instantiation: indexing.c:table_index_fetch_reset
Unexecuted instantiation: objectaddress.c:table_index_fetch_reset
Unexecuted instantiation: pg_db_role_setting.c:table_index_fetch_reset
Unexecuted instantiation: pg_publication.c:table_index_fetch_reset
Unexecuted instantiation: pg_subscription.c:table_index_fetch_reset
Unexecuted instantiation: toasting.c:table_index_fetch_reset
Unexecuted instantiation: gram.c:table_index_fetch_reset
Unexecuted instantiation: alter.c:table_index_fetch_reset
Unexecuted instantiation: analyze.c:table_index_fetch_reset
Unexecuted instantiation: constraint.c:table_index_fetch_reset
Unexecuted instantiation: copyfrom.c:table_index_fetch_reset
Unexecuted instantiation: copyfromparse.c:table_index_fetch_reset
Unexecuted instantiation: copyto.c:table_index_fetch_reset
Unexecuted instantiation: createas.c:table_index_fetch_reset
Unexecuted instantiation: dbcommands.c:table_index_fetch_reset
Unexecuted instantiation: event_trigger.c:table_index_fetch_reset
Unexecuted instantiation: indexcmds.c:table_index_fetch_reset
Unexecuted instantiation: matview.c:table_index_fetch_reset
Unexecuted instantiation: repack.c:table_index_fetch_reset
Unexecuted instantiation: tablecmds.c:table_index_fetch_reset
Unexecuted instantiation: tablespace.c:table_index_fetch_reset
Unexecuted instantiation: trigger.c:table_index_fetch_reset
Unexecuted instantiation: typecmds.c:table_index_fetch_reset
Unexecuted instantiation: vacuum.c:table_index_fetch_reset
Unexecuted instantiation: execIndexing.c:table_index_fetch_reset
Unexecuted instantiation: execMain.c:table_index_fetch_reset
Unexecuted instantiation: execPartition.c:table_index_fetch_reset
Unexecuted instantiation: execReplication.c:table_index_fetch_reset
Unexecuted instantiation: execUtils.c:table_index_fetch_reset
Unexecuted instantiation: nodeBitmapHeapscan.c:table_index_fetch_reset
Unexecuted instantiation: nodeIndexonlyscan.c:table_index_fetch_reset
Unexecuted instantiation: nodeIndexscan.c:table_index_fetch_reset
Unexecuted instantiation: nodeLockRows.c:table_index_fetch_reset
Unexecuted instantiation: nodeModifyTable.c:table_index_fetch_reset
Unexecuted instantiation: nodeSamplescan.c:table_index_fetch_reset
Unexecuted instantiation: nodeSeqscan.c:table_index_fetch_reset
Unexecuted instantiation: nodeTidrangescan.c:table_index_fetch_reset
Unexecuted instantiation: nodeTidscan.c:table_index_fetch_reset
Unexecuted instantiation: spi.c:table_index_fetch_reset
Unexecuted instantiation: copyfuncs.c:table_index_fetch_reset
Unexecuted instantiation: equalfuncs.c:table_index_fetch_reset
Unexecuted instantiation: outfuncs.c:table_index_fetch_reset
Unexecuted instantiation: queryjumblefuncs.c:table_index_fetch_reset
Unexecuted instantiation: readfuncs.c:table_index_fetch_reset
Unexecuted instantiation: plancat.c:table_index_fetch_reset
Unexecuted instantiation: partbounds.c:table_index_fetch_reset
Unexecuted instantiation: autovacuum.c:table_index_fetch_reset
Unexecuted instantiation: datachecksum_state.c:table_index_fetch_reset
Unexecuted instantiation: conflict.c:table_index_fetch_reset
Unexecuted instantiation: launcher.c:table_index_fetch_reset
Unexecuted instantiation: reorderbuffer.c:table_index_fetch_reset
Unexecuted instantiation: worker.c:table_index_fetch_reset
Unexecuted instantiation: rewriteHandler.c:table_index_fetch_reset
Unexecuted instantiation: attribute_stats.c:table_index_fetch_reset
Unexecuted instantiation: extended_stats_funcs.c:table_index_fetch_reset
Unexecuted instantiation: relation_stats.c:table_index_fetch_reset
Unexecuted instantiation: bufmgr.c:table_index_fetch_reset
Unexecuted instantiation: utility.c:table_index_fetch_reset
Unexecuted instantiation: ri_triggers.c:table_index_fetch_reset
Unexecuted instantiation: ruleutils.c:table_index_fetch_reset
Unexecuted instantiation: selfuncs.c:table_index_fetch_reset
Unexecuted instantiation: tid.c:table_index_fetch_reset
Unexecuted instantiation: trigfuncs.c:table_index_fetch_reset
Unexecuted instantiation: tsquery_rewrite.c:table_index_fetch_reset
Unexecuted instantiation: tsvector_op.c:table_index_fetch_reset
Unexecuted instantiation: xml.c:table_index_fetch_reset
Unexecuted instantiation: evtcache.c:table_index_fetch_reset
Unexecuted instantiation: funccache.c:table_index_fetch_reset
Unexecuted instantiation: relcache.c:table_index_fetch_reset
Unexecuted instantiation: postinit.c:table_index_fetch_reset
Unexecuted instantiation: guc_tables.c:table_index_fetch_reset
Unexecuted instantiation: simple_query_fuzzer.c:table_index_fetch_reset
1270
1271
/*
1272
 * Release resources and deallocate index fetch.
1273
 */
1274
static inline void
1275
table_index_fetch_end(struct IndexFetchTableData *scan)
1276
0
{
1277
0
  scan->rel->rd_tableam->index_fetch_end(scan);
1278
0
}
Unexecuted instantiation: fuzzer_initialize.c:table_index_fetch_end
Unexecuted instantiation: brin.c:table_index_fetch_end
Unexecuted instantiation: detoast.c:table_index_fetch_end
Unexecuted instantiation: toast_internals.c:table_index_fetch_end
Unexecuted instantiation: gininsert.c:table_index_fetch_end
Unexecuted instantiation: gistbuild.c:table_index_fetch_end
Unexecuted instantiation: hash.c:table_index_fetch_end
Unexecuted instantiation: heapam.c:table_index_fetch_end
Unexecuted instantiation: heapam_handler.c:table_index_fetch_end
Unexecuted instantiation: heapam_indexscan.c:table_index_fetch_end
Unexecuted instantiation: heapam_visibility.c:table_index_fetch_end
Unexecuted instantiation: heapam_xlog.c:table_index_fetch_end
Unexecuted instantiation: heaptoast.c:table_index_fetch_end
Unexecuted instantiation: hio.c:table_index_fetch_end
Unexecuted instantiation: pruneheap.c:table_index_fetch_end
Unexecuted instantiation: rewriteheap.c:table_index_fetch_end
Unexecuted instantiation: vacuumlazy.c:table_index_fetch_end
Unexecuted instantiation: genam.c:table_index_fetch_end
Unexecuted instantiation: indexam.c:table_index_fetch_end
Unexecuted instantiation: nbtdedup.c:table_index_fetch_end
Unexecuted instantiation: nbtinsert.c:table_index_fetch_end
Unexecuted instantiation: nbtpage.c:table_index_fetch_end
Unexecuted instantiation: nbtsort.c:table_index_fetch_end
Unexecuted instantiation: nbtsplitloc.c:table_index_fetch_end
Unexecuted instantiation: spginsert.c:table_index_fetch_end
Unexecuted instantiation: tableam.c:table_index_fetch_end
Unexecuted instantiation: tableamapi.c:table_index_fetch_end
Unexecuted instantiation: xact.c:table_index_fetch_end
Unexecuted instantiation: bootstrap.c:table_index_fetch_end
Unexecuted instantiation: aclchk.c:table_index_fetch_end
Unexecuted instantiation: dependency.c:table_index_fetch_end
Unexecuted instantiation: heap.c:table_index_fetch_end
Unexecuted instantiation: index.c:table_index_fetch_end
Unexecuted instantiation: indexing.c:table_index_fetch_end
Unexecuted instantiation: objectaddress.c:table_index_fetch_end
Unexecuted instantiation: pg_db_role_setting.c:table_index_fetch_end
Unexecuted instantiation: pg_publication.c:table_index_fetch_end
Unexecuted instantiation: pg_subscription.c:table_index_fetch_end
Unexecuted instantiation: toasting.c:table_index_fetch_end
Unexecuted instantiation: gram.c:table_index_fetch_end
Unexecuted instantiation: alter.c:table_index_fetch_end
Unexecuted instantiation: analyze.c:table_index_fetch_end
Unexecuted instantiation: constraint.c:table_index_fetch_end
Unexecuted instantiation: copyfrom.c:table_index_fetch_end
Unexecuted instantiation: copyfromparse.c:table_index_fetch_end
Unexecuted instantiation: copyto.c:table_index_fetch_end
Unexecuted instantiation: createas.c:table_index_fetch_end
Unexecuted instantiation: dbcommands.c:table_index_fetch_end
Unexecuted instantiation: event_trigger.c:table_index_fetch_end
Unexecuted instantiation: indexcmds.c:table_index_fetch_end
Unexecuted instantiation: matview.c:table_index_fetch_end
Unexecuted instantiation: repack.c:table_index_fetch_end
Unexecuted instantiation: tablecmds.c:table_index_fetch_end
Unexecuted instantiation: tablespace.c:table_index_fetch_end
Unexecuted instantiation: trigger.c:table_index_fetch_end
Unexecuted instantiation: typecmds.c:table_index_fetch_end
Unexecuted instantiation: vacuum.c:table_index_fetch_end
Unexecuted instantiation: execIndexing.c:table_index_fetch_end
Unexecuted instantiation: execMain.c:table_index_fetch_end
Unexecuted instantiation: execPartition.c:table_index_fetch_end
Unexecuted instantiation: execReplication.c:table_index_fetch_end
Unexecuted instantiation: execUtils.c:table_index_fetch_end
Unexecuted instantiation: nodeBitmapHeapscan.c:table_index_fetch_end
Unexecuted instantiation: nodeIndexonlyscan.c:table_index_fetch_end
Unexecuted instantiation: nodeIndexscan.c:table_index_fetch_end
Unexecuted instantiation: nodeLockRows.c:table_index_fetch_end
Unexecuted instantiation: nodeModifyTable.c:table_index_fetch_end
Unexecuted instantiation: nodeSamplescan.c:table_index_fetch_end
Unexecuted instantiation: nodeSeqscan.c:table_index_fetch_end
Unexecuted instantiation: nodeTidrangescan.c:table_index_fetch_end
Unexecuted instantiation: nodeTidscan.c:table_index_fetch_end
Unexecuted instantiation: spi.c:table_index_fetch_end
Unexecuted instantiation: copyfuncs.c:table_index_fetch_end
Unexecuted instantiation: equalfuncs.c:table_index_fetch_end
Unexecuted instantiation: outfuncs.c:table_index_fetch_end
Unexecuted instantiation: queryjumblefuncs.c:table_index_fetch_end
Unexecuted instantiation: readfuncs.c:table_index_fetch_end
Unexecuted instantiation: plancat.c:table_index_fetch_end
Unexecuted instantiation: partbounds.c:table_index_fetch_end
Unexecuted instantiation: autovacuum.c:table_index_fetch_end
Unexecuted instantiation: datachecksum_state.c:table_index_fetch_end
Unexecuted instantiation: conflict.c:table_index_fetch_end
Unexecuted instantiation: launcher.c:table_index_fetch_end
Unexecuted instantiation: reorderbuffer.c:table_index_fetch_end
Unexecuted instantiation: worker.c:table_index_fetch_end
Unexecuted instantiation: rewriteHandler.c:table_index_fetch_end
Unexecuted instantiation: attribute_stats.c:table_index_fetch_end
Unexecuted instantiation: extended_stats_funcs.c:table_index_fetch_end
Unexecuted instantiation: relation_stats.c:table_index_fetch_end
Unexecuted instantiation: bufmgr.c:table_index_fetch_end
Unexecuted instantiation: utility.c:table_index_fetch_end
Unexecuted instantiation: ri_triggers.c:table_index_fetch_end
Unexecuted instantiation: ruleutils.c:table_index_fetch_end
Unexecuted instantiation: selfuncs.c:table_index_fetch_end
Unexecuted instantiation: tid.c:table_index_fetch_end
Unexecuted instantiation: trigfuncs.c:table_index_fetch_end
Unexecuted instantiation: tsquery_rewrite.c:table_index_fetch_end
Unexecuted instantiation: tsvector_op.c:table_index_fetch_end
Unexecuted instantiation: xml.c:table_index_fetch_end
Unexecuted instantiation: evtcache.c:table_index_fetch_end
Unexecuted instantiation: funccache.c:table_index_fetch_end
Unexecuted instantiation: relcache.c:table_index_fetch_end
Unexecuted instantiation: postinit.c:table_index_fetch_end
Unexecuted instantiation: guc_tables.c:table_index_fetch_end
Unexecuted instantiation: simple_query_fuzzer.c:table_index_fetch_end
1279
1280
/*
1281
 * Fetches, as part of an index scan, tuple at `tid` into `slot`, after doing
1282
 * a visibility test according to `snapshot`. If a tuple was found and passed
1283
 * the visibility test, returns true, false otherwise. Note that *tid may be
1284
 * modified when we return true (see later remarks on multiple row versions
1285
 * reachable via a single index entry).
1286
 *
1287
 * *call_again needs to be false on the first call to table_index_fetch_tuple() for
1288
 * a tid. If there potentially is another tuple matching the tid, *call_again
1289
 * will be set to true, signaling that table_index_fetch_tuple() should be called
1290
 * again for the same tid.
1291
 *
1292
 * *all_dead, if all_dead is not NULL, will be set to true by
1293
 * table_index_fetch_tuple() iff it is guaranteed that no backend needs to see
1294
 * that tuple. Index AMs can use that to avoid returning that tid in future
1295
 * searches.
1296
 *
1297
 * The difference between this function and table_tuple_fetch_row_version()
1298
 * is that this function returns the currently visible version of a row if
1299
 * the AM supports storing multiple row versions reachable via a single index
1300
 * entry (like heap's HOT). Whereas table_tuple_fetch_row_version() only
1301
 * evaluates the tuple exactly at `tid`. Outside of index entry ->table tuple
1302
 * lookups, table_tuple_fetch_row_version() is what's usually needed.
1303
 */
1304
static inline bool
1305
table_index_fetch_tuple(struct IndexFetchTableData *scan,
1306
            ItemPointer tid,
1307
            Snapshot snapshot,
1308
            TupleTableSlot *slot,
1309
            bool *call_again, bool *all_dead)
1310
0
{
1311
0
  return scan->rel->rd_tableam->index_fetch_tuple(scan, tid, snapshot,
1312
0
                          slot, call_again,
1313
0
                          all_dead);
1314
0
}
Unexecuted instantiation: fuzzer_initialize.c:table_index_fetch_tuple
Unexecuted instantiation: brin.c:table_index_fetch_tuple
Unexecuted instantiation: detoast.c:table_index_fetch_tuple
Unexecuted instantiation: toast_internals.c:table_index_fetch_tuple
Unexecuted instantiation: gininsert.c:table_index_fetch_tuple
Unexecuted instantiation: gistbuild.c:table_index_fetch_tuple
Unexecuted instantiation: hash.c:table_index_fetch_tuple
Unexecuted instantiation: heapam.c:table_index_fetch_tuple
Unexecuted instantiation: heapam_handler.c:table_index_fetch_tuple
Unexecuted instantiation: heapam_indexscan.c:table_index_fetch_tuple
Unexecuted instantiation: heapam_visibility.c:table_index_fetch_tuple
Unexecuted instantiation: heapam_xlog.c:table_index_fetch_tuple
Unexecuted instantiation: heaptoast.c:table_index_fetch_tuple
Unexecuted instantiation: hio.c:table_index_fetch_tuple
Unexecuted instantiation: pruneheap.c:table_index_fetch_tuple
Unexecuted instantiation: rewriteheap.c:table_index_fetch_tuple
Unexecuted instantiation: vacuumlazy.c:table_index_fetch_tuple
Unexecuted instantiation: genam.c:table_index_fetch_tuple
Unexecuted instantiation: indexam.c:table_index_fetch_tuple
Unexecuted instantiation: nbtdedup.c:table_index_fetch_tuple
Unexecuted instantiation: nbtinsert.c:table_index_fetch_tuple
Unexecuted instantiation: nbtpage.c:table_index_fetch_tuple
Unexecuted instantiation: nbtsort.c:table_index_fetch_tuple
Unexecuted instantiation: nbtsplitloc.c:table_index_fetch_tuple
Unexecuted instantiation: spginsert.c:table_index_fetch_tuple
Unexecuted instantiation: tableam.c:table_index_fetch_tuple
Unexecuted instantiation: tableamapi.c:table_index_fetch_tuple
Unexecuted instantiation: xact.c:table_index_fetch_tuple
Unexecuted instantiation: bootstrap.c:table_index_fetch_tuple
Unexecuted instantiation: aclchk.c:table_index_fetch_tuple
Unexecuted instantiation: dependency.c:table_index_fetch_tuple
Unexecuted instantiation: heap.c:table_index_fetch_tuple
Unexecuted instantiation: index.c:table_index_fetch_tuple
Unexecuted instantiation: indexing.c:table_index_fetch_tuple
Unexecuted instantiation: objectaddress.c:table_index_fetch_tuple
Unexecuted instantiation: pg_db_role_setting.c:table_index_fetch_tuple
Unexecuted instantiation: pg_publication.c:table_index_fetch_tuple
Unexecuted instantiation: pg_subscription.c:table_index_fetch_tuple
Unexecuted instantiation: toasting.c:table_index_fetch_tuple
Unexecuted instantiation: gram.c:table_index_fetch_tuple
Unexecuted instantiation: alter.c:table_index_fetch_tuple
Unexecuted instantiation: analyze.c:table_index_fetch_tuple
Unexecuted instantiation: constraint.c:table_index_fetch_tuple
Unexecuted instantiation: copyfrom.c:table_index_fetch_tuple
Unexecuted instantiation: copyfromparse.c:table_index_fetch_tuple
Unexecuted instantiation: copyto.c:table_index_fetch_tuple
Unexecuted instantiation: createas.c:table_index_fetch_tuple
Unexecuted instantiation: dbcommands.c:table_index_fetch_tuple
Unexecuted instantiation: event_trigger.c:table_index_fetch_tuple
Unexecuted instantiation: indexcmds.c:table_index_fetch_tuple
Unexecuted instantiation: matview.c:table_index_fetch_tuple
Unexecuted instantiation: repack.c:table_index_fetch_tuple
Unexecuted instantiation: tablecmds.c:table_index_fetch_tuple
Unexecuted instantiation: tablespace.c:table_index_fetch_tuple
Unexecuted instantiation: trigger.c:table_index_fetch_tuple
Unexecuted instantiation: typecmds.c:table_index_fetch_tuple
Unexecuted instantiation: vacuum.c:table_index_fetch_tuple
Unexecuted instantiation: execIndexing.c:table_index_fetch_tuple
Unexecuted instantiation: execMain.c:table_index_fetch_tuple
Unexecuted instantiation: execPartition.c:table_index_fetch_tuple
Unexecuted instantiation: execReplication.c:table_index_fetch_tuple
Unexecuted instantiation: execUtils.c:table_index_fetch_tuple
Unexecuted instantiation: nodeBitmapHeapscan.c:table_index_fetch_tuple
Unexecuted instantiation: nodeIndexonlyscan.c:table_index_fetch_tuple
Unexecuted instantiation: nodeIndexscan.c:table_index_fetch_tuple
Unexecuted instantiation: nodeLockRows.c:table_index_fetch_tuple
Unexecuted instantiation: nodeModifyTable.c:table_index_fetch_tuple
Unexecuted instantiation: nodeSamplescan.c:table_index_fetch_tuple
Unexecuted instantiation: nodeSeqscan.c:table_index_fetch_tuple
Unexecuted instantiation: nodeTidrangescan.c:table_index_fetch_tuple
Unexecuted instantiation: nodeTidscan.c:table_index_fetch_tuple
Unexecuted instantiation: spi.c:table_index_fetch_tuple
Unexecuted instantiation: copyfuncs.c:table_index_fetch_tuple
Unexecuted instantiation: equalfuncs.c:table_index_fetch_tuple
Unexecuted instantiation: outfuncs.c:table_index_fetch_tuple
Unexecuted instantiation: queryjumblefuncs.c:table_index_fetch_tuple
Unexecuted instantiation: readfuncs.c:table_index_fetch_tuple
Unexecuted instantiation: plancat.c:table_index_fetch_tuple
Unexecuted instantiation: partbounds.c:table_index_fetch_tuple
Unexecuted instantiation: autovacuum.c:table_index_fetch_tuple
Unexecuted instantiation: datachecksum_state.c:table_index_fetch_tuple
Unexecuted instantiation: conflict.c:table_index_fetch_tuple
Unexecuted instantiation: launcher.c:table_index_fetch_tuple
Unexecuted instantiation: reorderbuffer.c:table_index_fetch_tuple
Unexecuted instantiation: worker.c:table_index_fetch_tuple
Unexecuted instantiation: rewriteHandler.c:table_index_fetch_tuple
Unexecuted instantiation: attribute_stats.c:table_index_fetch_tuple
Unexecuted instantiation: extended_stats_funcs.c:table_index_fetch_tuple
Unexecuted instantiation: relation_stats.c:table_index_fetch_tuple
Unexecuted instantiation: bufmgr.c:table_index_fetch_tuple
Unexecuted instantiation: utility.c:table_index_fetch_tuple
Unexecuted instantiation: ri_triggers.c:table_index_fetch_tuple
Unexecuted instantiation: ruleutils.c:table_index_fetch_tuple
Unexecuted instantiation: selfuncs.c:table_index_fetch_tuple
Unexecuted instantiation: tid.c:table_index_fetch_tuple
Unexecuted instantiation: trigfuncs.c:table_index_fetch_tuple
Unexecuted instantiation: tsquery_rewrite.c:table_index_fetch_tuple
Unexecuted instantiation: tsvector_op.c:table_index_fetch_tuple
Unexecuted instantiation: xml.c:table_index_fetch_tuple
Unexecuted instantiation: evtcache.c:table_index_fetch_tuple
Unexecuted instantiation: funccache.c:table_index_fetch_tuple
Unexecuted instantiation: relcache.c:table_index_fetch_tuple
Unexecuted instantiation: postinit.c:table_index_fetch_tuple
Unexecuted instantiation: guc_tables.c:table_index_fetch_tuple
Unexecuted instantiation: simple_query_fuzzer.c:table_index_fetch_tuple
1315
1316
/*
1317
 * This is a convenience wrapper around table_index_fetch_tuple() which
1318
 * returns whether there are table tuple items corresponding to an index
1319
 * entry.  This likely is only useful to verify if there's a conflict in a
1320
 * unique index.
1321
 */
1322
extern bool table_index_fetch_tuple_check(Relation rel,
1323
                      ItemPointer tid,
1324
                      Snapshot snapshot,
1325
                      bool *all_dead);
1326
1327
1328
/* ------------------------------------------------------------------------
1329
 * Functions for non-modifying operations on individual tuples
1330
 * ------------------------------------------------------------------------
1331
 */
1332
1333
1334
/*
1335
 * Fetch tuple at `tid` into `slot`, after doing a visibility test according to
1336
 * `snapshot`. If a tuple was found and passed the visibility test, returns
1337
 * true, false otherwise.
1338
 *
1339
 * See table_index_fetch_tuple's comment about what the difference between
1340
 * these functions is. It is correct to use this function outside of index
1341
 * entry->table tuple lookups.
1342
 */
1343
static inline bool
1344
table_tuple_fetch_row_version(Relation rel,
1345
                ItemPointer tid,
1346
                Snapshot snapshot,
1347
                TupleTableSlot *slot)
1348
0
{
1349
  /*
1350
   * We don't expect direct calls to table_tuple_fetch_row_version with
1351
   * valid CheckXidAlive for catalog or regular tables.  See detailed
1352
   * comments in xact.c where these variables are declared.
1353
   */
1354
0
  if (unlikely(TransactionIdIsValid(CheckXidAlive) && !bsysscan))
1355
0
    elog(ERROR, "unexpected table_tuple_fetch_row_version call during logical decoding");
1356
1357
0
  return rel->rd_tableam->tuple_fetch_row_version(rel, tid, snapshot, slot);
1358
0
}
Unexecuted instantiation: fuzzer_initialize.c:table_tuple_fetch_row_version
Unexecuted instantiation: brin.c:table_tuple_fetch_row_version
Unexecuted instantiation: detoast.c:table_tuple_fetch_row_version
Unexecuted instantiation: toast_internals.c:table_tuple_fetch_row_version
Unexecuted instantiation: gininsert.c:table_tuple_fetch_row_version
Unexecuted instantiation: gistbuild.c:table_tuple_fetch_row_version
Unexecuted instantiation: hash.c:table_tuple_fetch_row_version
Unexecuted instantiation: heapam.c:table_tuple_fetch_row_version
Unexecuted instantiation: heapam_handler.c:table_tuple_fetch_row_version
Unexecuted instantiation: heapam_indexscan.c:table_tuple_fetch_row_version
Unexecuted instantiation: heapam_visibility.c:table_tuple_fetch_row_version
Unexecuted instantiation: heapam_xlog.c:table_tuple_fetch_row_version
Unexecuted instantiation: heaptoast.c:table_tuple_fetch_row_version
Unexecuted instantiation: hio.c:table_tuple_fetch_row_version
Unexecuted instantiation: pruneheap.c:table_tuple_fetch_row_version
Unexecuted instantiation: rewriteheap.c:table_tuple_fetch_row_version
Unexecuted instantiation: vacuumlazy.c:table_tuple_fetch_row_version
Unexecuted instantiation: genam.c:table_tuple_fetch_row_version
Unexecuted instantiation: indexam.c:table_tuple_fetch_row_version
Unexecuted instantiation: nbtdedup.c:table_tuple_fetch_row_version
Unexecuted instantiation: nbtinsert.c:table_tuple_fetch_row_version
Unexecuted instantiation: nbtpage.c:table_tuple_fetch_row_version
Unexecuted instantiation: nbtsort.c:table_tuple_fetch_row_version
Unexecuted instantiation: nbtsplitloc.c:table_tuple_fetch_row_version
Unexecuted instantiation: spginsert.c:table_tuple_fetch_row_version
Unexecuted instantiation: tableam.c:table_tuple_fetch_row_version
Unexecuted instantiation: tableamapi.c:table_tuple_fetch_row_version
Unexecuted instantiation: xact.c:table_tuple_fetch_row_version
Unexecuted instantiation: bootstrap.c:table_tuple_fetch_row_version
Unexecuted instantiation: aclchk.c:table_tuple_fetch_row_version
Unexecuted instantiation: dependency.c:table_tuple_fetch_row_version
Unexecuted instantiation: heap.c:table_tuple_fetch_row_version
Unexecuted instantiation: index.c:table_tuple_fetch_row_version
Unexecuted instantiation: indexing.c:table_tuple_fetch_row_version
Unexecuted instantiation: objectaddress.c:table_tuple_fetch_row_version
Unexecuted instantiation: pg_db_role_setting.c:table_tuple_fetch_row_version
Unexecuted instantiation: pg_publication.c:table_tuple_fetch_row_version
Unexecuted instantiation: pg_subscription.c:table_tuple_fetch_row_version
Unexecuted instantiation: toasting.c:table_tuple_fetch_row_version
Unexecuted instantiation: gram.c:table_tuple_fetch_row_version
Unexecuted instantiation: alter.c:table_tuple_fetch_row_version
Unexecuted instantiation: analyze.c:table_tuple_fetch_row_version
Unexecuted instantiation: constraint.c:table_tuple_fetch_row_version
Unexecuted instantiation: copyfrom.c:table_tuple_fetch_row_version
Unexecuted instantiation: copyfromparse.c:table_tuple_fetch_row_version
Unexecuted instantiation: copyto.c:table_tuple_fetch_row_version
Unexecuted instantiation: createas.c:table_tuple_fetch_row_version
Unexecuted instantiation: dbcommands.c:table_tuple_fetch_row_version
Unexecuted instantiation: event_trigger.c:table_tuple_fetch_row_version
Unexecuted instantiation: indexcmds.c:table_tuple_fetch_row_version
Unexecuted instantiation: matview.c:table_tuple_fetch_row_version
Unexecuted instantiation: repack.c:table_tuple_fetch_row_version
Unexecuted instantiation: tablecmds.c:table_tuple_fetch_row_version
Unexecuted instantiation: tablespace.c:table_tuple_fetch_row_version
Unexecuted instantiation: trigger.c:table_tuple_fetch_row_version
Unexecuted instantiation: typecmds.c:table_tuple_fetch_row_version
Unexecuted instantiation: vacuum.c:table_tuple_fetch_row_version
Unexecuted instantiation: execIndexing.c:table_tuple_fetch_row_version
Unexecuted instantiation: execMain.c:table_tuple_fetch_row_version
Unexecuted instantiation: execPartition.c:table_tuple_fetch_row_version
Unexecuted instantiation: execReplication.c:table_tuple_fetch_row_version
Unexecuted instantiation: execUtils.c:table_tuple_fetch_row_version
Unexecuted instantiation: nodeBitmapHeapscan.c:table_tuple_fetch_row_version
Unexecuted instantiation: nodeIndexonlyscan.c:table_tuple_fetch_row_version
Unexecuted instantiation: nodeIndexscan.c:table_tuple_fetch_row_version
Unexecuted instantiation: nodeLockRows.c:table_tuple_fetch_row_version
Unexecuted instantiation: nodeModifyTable.c:table_tuple_fetch_row_version
Unexecuted instantiation: nodeSamplescan.c:table_tuple_fetch_row_version
Unexecuted instantiation: nodeSeqscan.c:table_tuple_fetch_row_version
Unexecuted instantiation: nodeTidrangescan.c:table_tuple_fetch_row_version
Unexecuted instantiation: nodeTidscan.c:table_tuple_fetch_row_version
Unexecuted instantiation: spi.c:table_tuple_fetch_row_version
Unexecuted instantiation: copyfuncs.c:table_tuple_fetch_row_version
Unexecuted instantiation: equalfuncs.c:table_tuple_fetch_row_version
Unexecuted instantiation: outfuncs.c:table_tuple_fetch_row_version
Unexecuted instantiation: queryjumblefuncs.c:table_tuple_fetch_row_version
Unexecuted instantiation: readfuncs.c:table_tuple_fetch_row_version
Unexecuted instantiation: plancat.c:table_tuple_fetch_row_version
Unexecuted instantiation: partbounds.c:table_tuple_fetch_row_version
Unexecuted instantiation: autovacuum.c:table_tuple_fetch_row_version
Unexecuted instantiation: datachecksum_state.c:table_tuple_fetch_row_version
Unexecuted instantiation: conflict.c:table_tuple_fetch_row_version
Unexecuted instantiation: launcher.c:table_tuple_fetch_row_version
Unexecuted instantiation: reorderbuffer.c:table_tuple_fetch_row_version
Unexecuted instantiation: worker.c:table_tuple_fetch_row_version
Unexecuted instantiation: rewriteHandler.c:table_tuple_fetch_row_version
Unexecuted instantiation: attribute_stats.c:table_tuple_fetch_row_version
Unexecuted instantiation: extended_stats_funcs.c:table_tuple_fetch_row_version
Unexecuted instantiation: relation_stats.c:table_tuple_fetch_row_version
Unexecuted instantiation: bufmgr.c:table_tuple_fetch_row_version
Unexecuted instantiation: utility.c:table_tuple_fetch_row_version
Unexecuted instantiation: ri_triggers.c:table_tuple_fetch_row_version
Unexecuted instantiation: ruleutils.c:table_tuple_fetch_row_version
Unexecuted instantiation: selfuncs.c:table_tuple_fetch_row_version
Unexecuted instantiation: tid.c:table_tuple_fetch_row_version
Unexecuted instantiation: trigfuncs.c:table_tuple_fetch_row_version
Unexecuted instantiation: tsquery_rewrite.c:table_tuple_fetch_row_version
Unexecuted instantiation: tsvector_op.c:table_tuple_fetch_row_version
Unexecuted instantiation: xml.c:table_tuple_fetch_row_version
Unexecuted instantiation: evtcache.c:table_tuple_fetch_row_version
Unexecuted instantiation: funccache.c:table_tuple_fetch_row_version
Unexecuted instantiation: relcache.c:table_tuple_fetch_row_version
Unexecuted instantiation: postinit.c:table_tuple_fetch_row_version
Unexecuted instantiation: guc_tables.c:table_tuple_fetch_row_version
Unexecuted instantiation: simple_query_fuzzer.c:table_tuple_fetch_row_version
1359
1360
/*
1361
 * Verify that `tid` is a potentially valid tuple identifier. That doesn't
1362
 * mean that the pointed to row needs to exist or be visible, but that
1363
 * attempting to fetch the row (e.g. with table_tuple_get_latest_tid() or
1364
 * table_tuple_fetch_row_version()) should not error out if called with that
1365
 * tid.
1366
 *
1367
 * `scan` needs to have been started via table_beginscan().
1368
 */
1369
static inline bool
1370
table_tuple_tid_valid(TableScanDesc scan, ItemPointer tid)
1371
0
{
1372
0
  return scan->rs_rd->rd_tableam->tuple_tid_valid(scan, tid);
1373
0
}
Unexecuted instantiation: fuzzer_initialize.c:table_tuple_tid_valid
Unexecuted instantiation: brin.c:table_tuple_tid_valid
Unexecuted instantiation: detoast.c:table_tuple_tid_valid
Unexecuted instantiation: toast_internals.c:table_tuple_tid_valid
Unexecuted instantiation: gininsert.c:table_tuple_tid_valid
Unexecuted instantiation: gistbuild.c:table_tuple_tid_valid
Unexecuted instantiation: hash.c:table_tuple_tid_valid
Unexecuted instantiation: heapam.c:table_tuple_tid_valid
Unexecuted instantiation: heapam_handler.c:table_tuple_tid_valid
Unexecuted instantiation: heapam_indexscan.c:table_tuple_tid_valid
Unexecuted instantiation: heapam_visibility.c:table_tuple_tid_valid
Unexecuted instantiation: heapam_xlog.c:table_tuple_tid_valid
Unexecuted instantiation: heaptoast.c:table_tuple_tid_valid
Unexecuted instantiation: hio.c:table_tuple_tid_valid
Unexecuted instantiation: pruneheap.c:table_tuple_tid_valid
Unexecuted instantiation: rewriteheap.c:table_tuple_tid_valid
Unexecuted instantiation: vacuumlazy.c:table_tuple_tid_valid
Unexecuted instantiation: genam.c:table_tuple_tid_valid
Unexecuted instantiation: indexam.c:table_tuple_tid_valid
Unexecuted instantiation: nbtdedup.c:table_tuple_tid_valid
Unexecuted instantiation: nbtinsert.c:table_tuple_tid_valid
Unexecuted instantiation: nbtpage.c:table_tuple_tid_valid
Unexecuted instantiation: nbtsort.c:table_tuple_tid_valid
Unexecuted instantiation: nbtsplitloc.c:table_tuple_tid_valid
Unexecuted instantiation: spginsert.c:table_tuple_tid_valid
Unexecuted instantiation: tableam.c:table_tuple_tid_valid
Unexecuted instantiation: tableamapi.c:table_tuple_tid_valid
Unexecuted instantiation: xact.c:table_tuple_tid_valid
Unexecuted instantiation: bootstrap.c:table_tuple_tid_valid
Unexecuted instantiation: aclchk.c:table_tuple_tid_valid
Unexecuted instantiation: dependency.c:table_tuple_tid_valid
Unexecuted instantiation: heap.c:table_tuple_tid_valid
Unexecuted instantiation: index.c:table_tuple_tid_valid
Unexecuted instantiation: indexing.c:table_tuple_tid_valid
Unexecuted instantiation: objectaddress.c:table_tuple_tid_valid
Unexecuted instantiation: pg_db_role_setting.c:table_tuple_tid_valid
Unexecuted instantiation: pg_publication.c:table_tuple_tid_valid
Unexecuted instantiation: pg_subscription.c:table_tuple_tid_valid
Unexecuted instantiation: toasting.c:table_tuple_tid_valid
Unexecuted instantiation: gram.c:table_tuple_tid_valid
Unexecuted instantiation: alter.c:table_tuple_tid_valid
Unexecuted instantiation: analyze.c:table_tuple_tid_valid
Unexecuted instantiation: constraint.c:table_tuple_tid_valid
Unexecuted instantiation: copyfrom.c:table_tuple_tid_valid
Unexecuted instantiation: copyfromparse.c:table_tuple_tid_valid
Unexecuted instantiation: copyto.c:table_tuple_tid_valid
Unexecuted instantiation: createas.c:table_tuple_tid_valid
Unexecuted instantiation: dbcommands.c:table_tuple_tid_valid
Unexecuted instantiation: event_trigger.c:table_tuple_tid_valid
Unexecuted instantiation: indexcmds.c:table_tuple_tid_valid
Unexecuted instantiation: matview.c:table_tuple_tid_valid
Unexecuted instantiation: repack.c:table_tuple_tid_valid
Unexecuted instantiation: tablecmds.c:table_tuple_tid_valid
Unexecuted instantiation: tablespace.c:table_tuple_tid_valid
Unexecuted instantiation: trigger.c:table_tuple_tid_valid
Unexecuted instantiation: typecmds.c:table_tuple_tid_valid
Unexecuted instantiation: vacuum.c:table_tuple_tid_valid
Unexecuted instantiation: execIndexing.c:table_tuple_tid_valid
Unexecuted instantiation: execMain.c:table_tuple_tid_valid
Unexecuted instantiation: execPartition.c:table_tuple_tid_valid
Unexecuted instantiation: execReplication.c:table_tuple_tid_valid
Unexecuted instantiation: execUtils.c:table_tuple_tid_valid
Unexecuted instantiation: nodeBitmapHeapscan.c:table_tuple_tid_valid
Unexecuted instantiation: nodeIndexonlyscan.c:table_tuple_tid_valid
Unexecuted instantiation: nodeIndexscan.c:table_tuple_tid_valid
Unexecuted instantiation: nodeLockRows.c:table_tuple_tid_valid
Unexecuted instantiation: nodeModifyTable.c:table_tuple_tid_valid
Unexecuted instantiation: nodeSamplescan.c:table_tuple_tid_valid
Unexecuted instantiation: nodeSeqscan.c:table_tuple_tid_valid
Unexecuted instantiation: nodeTidrangescan.c:table_tuple_tid_valid
Unexecuted instantiation: nodeTidscan.c:table_tuple_tid_valid
Unexecuted instantiation: spi.c:table_tuple_tid_valid
Unexecuted instantiation: copyfuncs.c:table_tuple_tid_valid
Unexecuted instantiation: equalfuncs.c:table_tuple_tid_valid
Unexecuted instantiation: outfuncs.c:table_tuple_tid_valid
Unexecuted instantiation: queryjumblefuncs.c:table_tuple_tid_valid
Unexecuted instantiation: readfuncs.c:table_tuple_tid_valid
Unexecuted instantiation: plancat.c:table_tuple_tid_valid
Unexecuted instantiation: partbounds.c:table_tuple_tid_valid
Unexecuted instantiation: autovacuum.c:table_tuple_tid_valid
Unexecuted instantiation: datachecksum_state.c:table_tuple_tid_valid
Unexecuted instantiation: conflict.c:table_tuple_tid_valid
Unexecuted instantiation: launcher.c:table_tuple_tid_valid
Unexecuted instantiation: reorderbuffer.c:table_tuple_tid_valid
Unexecuted instantiation: worker.c:table_tuple_tid_valid
Unexecuted instantiation: rewriteHandler.c:table_tuple_tid_valid
Unexecuted instantiation: attribute_stats.c:table_tuple_tid_valid
Unexecuted instantiation: extended_stats_funcs.c:table_tuple_tid_valid
Unexecuted instantiation: relation_stats.c:table_tuple_tid_valid
Unexecuted instantiation: bufmgr.c:table_tuple_tid_valid
Unexecuted instantiation: utility.c:table_tuple_tid_valid
Unexecuted instantiation: ri_triggers.c:table_tuple_tid_valid
Unexecuted instantiation: ruleutils.c:table_tuple_tid_valid
Unexecuted instantiation: selfuncs.c:table_tuple_tid_valid
Unexecuted instantiation: tid.c:table_tuple_tid_valid
Unexecuted instantiation: trigfuncs.c:table_tuple_tid_valid
Unexecuted instantiation: tsquery_rewrite.c:table_tuple_tid_valid
Unexecuted instantiation: tsvector_op.c:table_tuple_tid_valid
Unexecuted instantiation: xml.c:table_tuple_tid_valid
Unexecuted instantiation: evtcache.c:table_tuple_tid_valid
Unexecuted instantiation: funccache.c:table_tuple_tid_valid
Unexecuted instantiation: relcache.c:table_tuple_tid_valid
Unexecuted instantiation: postinit.c:table_tuple_tid_valid
Unexecuted instantiation: guc_tables.c:table_tuple_tid_valid
Unexecuted instantiation: simple_query_fuzzer.c:table_tuple_tid_valid
1374
1375
/*
1376
 * Return the latest version of the tuple at `tid`, by updating `tid` to
1377
 * point at the newest version.
1378
 */
1379
extern void table_tuple_get_latest_tid(TableScanDesc scan, ItemPointer tid);
1380
1381
/*
1382
 * Return true iff tuple in slot satisfies the snapshot.
1383
 *
1384
 * This assumes the slot's tuple is valid, and of the appropriate type for the
1385
 * AM.
1386
 *
1387
 * Some AMs might modify the data underlying the tuple as a side-effect. If so
1388
 * they ought to mark the relevant buffer dirty.
1389
 */
1390
static inline bool
1391
table_tuple_satisfies_snapshot(Relation rel, TupleTableSlot *slot,
1392
                 Snapshot snapshot)
1393
0
{
1394
0
  return rel->rd_tableam->tuple_satisfies_snapshot(rel, slot, snapshot);
1395
0
}
Unexecuted instantiation: fuzzer_initialize.c:table_tuple_satisfies_snapshot
Unexecuted instantiation: brin.c:table_tuple_satisfies_snapshot
Unexecuted instantiation: detoast.c:table_tuple_satisfies_snapshot
Unexecuted instantiation: toast_internals.c:table_tuple_satisfies_snapshot
Unexecuted instantiation: gininsert.c:table_tuple_satisfies_snapshot
Unexecuted instantiation: gistbuild.c:table_tuple_satisfies_snapshot
Unexecuted instantiation: hash.c:table_tuple_satisfies_snapshot
Unexecuted instantiation: heapam.c:table_tuple_satisfies_snapshot
Unexecuted instantiation: heapam_handler.c:table_tuple_satisfies_snapshot
Unexecuted instantiation: heapam_indexscan.c:table_tuple_satisfies_snapshot
Unexecuted instantiation: heapam_visibility.c:table_tuple_satisfies_snapshot
Unexecuted instantiation: heapam_xlog.c:table_tuple_satisfies_snapshot
Unexecuted instantiation: heaptoast.c:table_tuple_satisfies_snapshot
Unexecuted instantiation: hio.c:table_tuple_satisfies_snapshot
Unexecuted instantiation: pruneheap.c:table_tuple_satisfies_snapshot
Unexecuted instantiation: rewriteheap.c:table_tuple_satisfies_snapshot
Unexecuted instantiation: vacuumlazy.c:table_tuple_satisfies_snapshot
Unexecuted instantiation: genam.c:table_tuple_satisfies_snapshot
Unexecuted instantiation: indexam.c:table_tuple_satisfies_snapshot
Unexecuted instantiation: nbtdedup.c:table_tuple_satisfies_snapshot
Unexecuted instantiation: nbtinsert.c:table_tuple_satisfies_snapshot
Unexecuted instantiation: nbtpage.c:table_tuple_satisfies_snapshot
Unexecuted instantiation: nbtsort.c:table_tuple_satisfies_snapshot
Unexecuted instantiation: nbtsplitloc.c:table_tuple_satisfies_snapshot
Unexecuted instantiation: spginsert.c:table_tuple_satisfies_snapshot
Unexecuted instantiation: tableam.c:table_tuple_satisfies_snapshot
Unexecuted instantiation: tableamapi.c:table_tuple_satisfies_snapshot
Unexecuted instantiation: xact.c:table_tuple_satisfies_snapshot
Unexecuted instantiation: bootstrap.c:table_tuple_satisfies_snapshot
Unexecuted instantiation: aclchk.c:table_tuple_satisfies_snapshot
Unexecuted instantiation: dependency.c:table_tuple_satisfies_snapshot
Unexecuted instantiation: heap.c:table_tuple_satisfies_snapshot
Unexecuted instantiation: index.c:table_tuple_satisfies_snapshot
Unexecuted instantiation: indexing.c:table_tuple_satisfies_snapshot
Unexecuted instantiation: objectaddress.c:table_tuple_satisfies_snapshot
Unexecuted instantiation: pg_db_role_setting.c:table_tuple_satisfies_snapshot
Unexecuted instantiation: pg_publication.c:table_tuple_satisfies_snapshot
Unexecuted instantiation: pg_subscription.c:table_tuple_satisfies_snapshot
Unexecuted instantiation: toasting.c:table_tuple_satisfies_snapshot
Unexecuted instantiation: gram.c:table_tuple_satisfies_snapshot
Unexecuted instantiation: alter.c:table_tuple_satisfies_snapshot
Unexecuted instantiation: analyze.c:table_tuple_satisfies_snapshot
Unexecuted instantiation: constraint.c:table_tuple_satisfies_snapshot
Unexecuted instantiation: copyfrom.c:table_tuple_satisfies_snapshot
Unexecuted instantiation: copyfromparse.c:table_tuple_satisfies_snapshot
Unexecuted instantiation: copyto.c:table_tuple_satisfies_snapshot
Unexecuted instantiation: createas.c:table_tuple_satisfies_snapshot
Unexecuted instantiation: dbcommands.c:table_tuple_satisfies_snapshot
Unexecuted instantiation: event_trigger.c:table_tuple_satisfies_snapshot
Unexecuted instantiation: indexcmds.c:table_tuple_satisfies_snapshot
Unexecuted instantiation: matview.c:table_tuple_satisfies_snapshot
Unexecuted instantiation: repack.c:table_tuple_satisfies_snapshot
Unexecuted instantiation: tablecmds.c:table_tuple_satisfies_snapshot
Unexecuted instantiation: tablespace.c:table_tuple_satisfies_snapshot
Unexecuted instantiation: trigger.c:table_tuple_satisfies_snapshot
Unexecuted instantiation: typecmds.c:table_tuple_satisfies_snapshot
Unexecuted instantiation: vacuum.c:table_tuple_satisfies_snapshot
Unexecuted instantiation: execIndexing.c:table_tuple_satisfies_snapshot
Unexecuted instantiation: execMain.c:table_tuple_satisfies_snapshot
Unexecuted instantiation: execPartition.c:table_tuple_satisfies_snapshot
Unexecuted instantiation: execReplication.c:table_tuple_satisfies_snapshot
Unexecuted instantiation: execUtils.c:table_tuple_satisfies_snapshot
Unexecuted instantiation: nodeBitmapHeapscan.c:table_tuple_satisfies_snapshot
Unexecuted instantiation: nodeIndexonlyscan.c:table_tuple_satisfies_snapshot
Unexecuted instantiation: nodeIndexscan.c:table_tuple_satisfies_snapshot
Unexecuted instantiation: nodeLockRows.c:table_tuple_satisfies_snapshot
Unexecuted instantiation: nodeModifyTable.c:table_tuple_satisfies_snapshot
Unexecuted instantiation: nodeSamplescan.c:table_tuple_satisfies_snapshot
Unexecuted instantiation: nodeSeqscan.c:table_tuple_satisfies_snapshot
Unexecuted instantiation: nodeTidrangescan.c:table_tuple_satisfies_snapshot
Unexecuted instantiation: nodeTidscan.c:table_tuple_satisfies_snapshot
Unexecuted instantiation: spi.c:table_tuple_satisfies_snapshot
Unexecuted instantiation: copyfuncs.c:table_tuple_satisfies_snapshot
Unexecuted instantiation: equalfuncs.c:table_tuple_satisfies_snapshot
Unexecuted instantiation: outfuncs.c:table_tuple_satisfies_snapshot
Unexecuted instantiation: queryjumblefuncs.c:table_tuple_satisfies_snapshot
Unexecuted instantiation: readfuncs.c:table_tuple_satisfies_snapshot
Unexecuted instantiation: plancat.c:table_tuple_satisfies_snapshot
Unexecuted instantiation: partbounds.c:table_tuple_satisfies_snapshot
Unexecuted instantiation: autovacuum.c:table_tuple_satisfies_snapshot
Unexecuted instantiation: datachecksum_state.c:table_tuple_satisfies_snapshot
Unexecuted instantiation: conflict.c:table_tuple_satisfies_snapshot
Unexecuted instantiation: launcher.c:table_tuple_satisfies_snapshot
Unexecuted instantiation: reorderbuffer.c:table_tuple_satisfies_snapshot
Unexecuted instantiation: worker.c:table_tuple_satisfies_snapshot
Unexecuted instantiation: rewriteHandler.c:table_tuple_satisfies_snapshot
Unexecuted instantiation: attribute_stats.c:table_tuple_satisfies_snapshot
Unexecuted instantiation: extended_stats_funcs.c:table_tuple_satisfies_snapshot
Unexecuted instantiation: relation_stats.c:table_tuple_satisfies_snapshot
Unexecuted instantiation: bufmgr.c:table_tuple_satisfies_snapshot
Unexecuted instantiation: utility.c:table_tuple_satisfies_snapshot
Unexecuted instantiation: ri_triggers.c:table_tuple_satisfies_snapshot
Unexecuted instantiation: ruleutils.c:table_tuple_satisfies_snapshot
Unexecuted instantiation: selfuncs.c:table_tuple_satisfies_snapshot
Unexecuted instantiation: tid.c:table_tuple_satisfies_snapshot
Unexecuted instantiation: trigfuncs.c:table_tuple_satisfies_snapshot
Unexecuted instantiation: tsquery_rewrite.c:table_tuple_satisfies_snapshot
Unexecuted instantiation: tsvector_op.c:table_tuple_satisfies_snapshot
Unexecuted instantiation: xml.c:table_tuple_satisfies_snapshot
Unexecuted instantiation: evtcache.c:table_tuple_satisfies_snapshot
Unexecuted instantiation: funccache.c:table_tuple_satisfies_snapshot
Unexecuted instantiation: relcache.c:table_tuple_satisfies_snapshot
Unexecuted instantiation: postinit.c:table_tuple_satisfies_snapshot
Unexecuted instantiation: guc_tables.c:table_tuple_satisfies_snapshot
Unexecuted instantiation: simple_query_fuzzer.c:table_tuple_satisfies_snapshot
1396
1397
/*
1398
 * Determine which index tuples are safe to delete based on their table TID.
1399
 *
1400
 * Determines which entries from index AM caller's TM_IndexDeleteOp state
1401
 * point to vacuumable table tuples.  Entries that are found by tableam to be
1402
 * vacuumable are naturally safe for index AM to delete, and so get directly
1403
 * marked as deletable.  See comments above TM_IndexDelete and comments above
1404
 * TM_IndexDeleteOp for full details.
1405
 *
1406
 * Returns a snapshotConflictHorizon transaction ID that caller places in
1407
 * its index deletion WAL record.  This might be used during subsequent REDO
1408
 * of the WAL record when in Hot Standby mode -- a recovery conflict for the
1409
 * index deletion operation might be required on the standby.
1410
 */
1411
static inline TransactionId
1412
table_index_delete_tuples(Relation rel, TM_IndexDeleteOp *delstate)
1413
0
{
1414
0
  return rel->rd_tableam->index_delete_tuples(rel, delstate);
1415
0
}
Unexecuted instantiation: fuzzer_initialize.c:table_index_delete_tuples
Unexecuted instantiation: brin.c:table_index_delete_tuples
Unexecuted instantiation: detoast.c:table_index_delete_tuples
Unexecuted instantiation: toast_internals.c:table_index_delete_tuples
Unexecuted instantiation: gininsert.c:table_index_delete_tuples
Unexecuted instantiation: gistbuild.c:table_index_delete_tuples
Unexecuted instantiation: hash.c:table_index_delete_tuples
Unexecuted instantiation: heapam.c:table_index_delete_tuples
Unexecuted instantiation: heapam_handler.c:table_index_delete_tuples
Unexecuted instantiation: heapam_indexscan.c:table_index_delete_tuples
Unexecuted instantiation: heapam_visibility.c:table_index_delete_tuples
Unexecuted instantiation: heapam_xlog.c:table_index_delete_tuples
Unexecuted instantiation: heaptoast.c:table_index_delete_tuples
Unexecuted instantiation: hio.c:table_index_delete_tuples
Unexecuted instantiation: pruneheap.c:table_index_delete_tuples
Unexecuted instantiation: rewriteheap.c:table_index_delete_tuples
Unexecuted instantiation: vacuumlazy.c:table_index_delete_tuples
Unexecuted instantiation: genam.c:table_index_delete_tuples
Unexecuted instantiation: indexam.c:table_index_delete_tuples
Unexecuted instantiation: nbtdedup.c:table_index_delete_tuples
Unexecuted instantiation: nbtinsert.c:table_index_delete_tuples
Unexecuted instantiation: nbtpage.c:table_index_delete_tuples
Unexecuted instantiation: nbtsort.c:table_index_delete_tuples
Unexecuted instantiation: nbtsplitloc.c:table_index_delete_tuples
Unexecuted instantiation: spginsert.c:table_index_delete_tuples
Unexecuted instantiation: tableam.c:table_index_delete_tuples
Unexecuted instantiation: tableamapi.c:table_index_delete_tuples
Unexecuted instantiation: xact.c:table_index_delete_tuples
Unexecuted instantiation: bootstrap.c:table_index_delete_tuples
Unexecuted instantiation: aclchk.c:table_index_delete_tuples
Unexecuted instantiation: dependency.c:table_index_delete_tuples
Unexecuted instantiation: heap.c:table_index_delete_tuples
Unexecuted instantiation: index.c:table_index_delete_tuples
Unexecuted instantiation: indexing.c:table_index_delete_tuples
Unexecuted instantiation: objectaddress.c:table_index_delete_tuples
Unexecuted instantiation: pg_db_role_setting.c:table_index_delete_tuples
Unexecuted instantiation: pg_publication.c:table_index_delete_tuples
Unexecuted instantiation: pg_subscription.c:table_index_delete_tuples
Unexecuted instantiation: toasting.c:table_index_delete_tuples
Unexecuted instantiation: gram.c:table_index_delete_tuples
Unexecuted instantiation: alter.c:table_index_delete_tuples
Unexecuted instantiation: analyze.c:table_index_delete_tuples
Unexecuted instantiation: constraint.c:table_index_delete_tuples
Unexecuted instantiation: copyfrom.c:table_index_delete_tuples
Unexecuted instantiation: copyfromparse.c:table_index_delete_tuples
Unexecuted instantiation: copyto.c:table_index_delete_tuples
Unexecuted instantiation: createas.c:table_index_delete_tuples
Unexecuted instantiation: dbcommands.c:table_index_delete_tuples
Unexecuted instantiation: event_trigger.c:table_index_delete_tuples
Unexecuted instantiation: indexcmds.c:table_index_delete_tuples
Unexecuted instantiation: matview.c:table_index_delete_tuples
Unexecuted instantiation: repack.c:table_index_delete_tuples
Unexecuted instantiation: tablecmds.c:table_index_delete_tuples
Unexecuted instantiation: tablespace.c:table_index_delete_tuples
Unexecuted instantiation: trigger.c:table_index_delete_tuples
Unexecuted instantiation: typecmds.c:table_index_delete_tuples
Unexecuted instantiation: vacuum.c:table_index_delete_tuples
Unexecuted instantiation: execIndexing.c:table_index_delete_tuples
Unexecuted instantiation: execMain.c:table_index_delete_tuples
Unexecuted instantiation: execPartition.c:table_index_delete_tuples
Unexecuted instantiation: execReplication.c:table_index_delete_tuples
Unexecuted instantiation: execUtils.c:table_index_delete_tuples
Unexecuted instantiation: nodeBitmapHeapscan.c:table_index_delete_tuples
Unexecuted instantiation: nodeIndexonlyscan.c:table_index_delete_tuples
Unexecuted instantiation: nodeIndexscan.c:table_index_delete_tuples
Unexecuted instantiation: nodeLockRows.c:table_index_delete_tuples
Unexecuted instantiation: nodeModifyTable.c:table_index_delete_tuples
Unexecuted instantiation: nodeSamplescan.c:table_index_delete_tuples
Unexecuted instantiation: nodeSeqscan.c:table_index_delete_tuples
Unexecuted instantiation: nodeTidrangescan.c:table_index_delete_tuples
Unexecuted instantiation: nodeTidscan.c:table_index_delete_tuples
Unexecuted instantiation: spi.c:table_index_delete_tuples
Unexecuted instantiation: copyfuncs.c:table_index_delete_tuples
Unexecuted instantiation: equalfuncs.c:table_index_delete_tuples
Unexecuted instantiation: outfuncs.c:table_index_delete_tuples
Unexecuted instantiation: queryjumblefuncs.c:table_index_delete_tuples
Unexecuted instantiation: readfuncs.c:table_index_delete_tuples
Unexecuted instantiation: plancat.c:table_index_delete_tuples
Unexecuted instantiation: partbounds.c:table_index_delete_tuples
Unexecuted instantiation: autovacuum.c:table_index_delete_tuples
Unexecuted instantiation: datachecksum_state.c:table_index_delete_tuples
Unexecuted instantiation: conflict.c:table_index_delete_tuples
Unexecuted instantiation: launcher.c:table_index_delete_tuples
Unexecuted instantiation: reorderbuffer.c:table_index_delete_tuples
Unexecuted instantiation: worker.c:table_index_delete_tuples
Unexecuted instantiation: rewriteHandler.c:table_index_delete_tuples
Unexecuted instantiation: attribute_stats.c:table_index_delete_tuples
Unexecuted instantiation: extended_stats_funcs.c:table_index_delete_tuples
Unexecuted instantiation: relation_stats.c:table_index_delete_tuples
Unexecuted instantiation: bufmgr.c:table_index_delete_tuples
Unexecuted instantiation: utility.c:table_index_delete_tuples
Unexecuted instantiation: ri_triggers.c:table_index_delete_tuples
Unexecuted instantiation: ruleutils.c:table_index_delete_tuples
Unexecuted instantiation: selfuncs.c:table_index_delete_tuples
Unexecuted instantiation: tid.c:table_index_delete_tuples
Unexecuted instantiation: trigfuncs.c:table_index_delete_tuples
Unexecuted instantiation: tsquery_rewrite.c:table_index_delete_tuples
Unexecuted instantiation: tsvector_op.c:table_index_delete_tuples
Unexecuted instantiation: xml.c:table_index_delete_tuples
Unexecuted instantiation: evtcache.c:table_index_delete_tuples
Unexecuted instantiation: funccache.c:table_index_delete_tuples
Unexecuted instantiation: relcache.c:table_index_delete_tuples
Unexecuted instantiation: postinit.c:table_index_delete_tuples
Unexecuted instantiation: guc_tables.c:table_index_delete_tuples
Unexecuted instantiation: simple_query_fuzzer.c:table_index_delete_tuples
1416
1417
1418
/* ----------------------------------------------------------------------------
1419
 *  Functions for manipulations of physical tuples.
1420
 * ----------------------------------------------------------------------------
1421
 */
1422
1423
/*
1424
 * Insert a tuple from a slot into table AM routine.
1425
 *
1426
 * The options bitmask allows the caller to specify options that may change the
1427
 * behaviour of the AM. The AM will ignore options that it does not support.
1428
 *
1429
 * If the TABLE_INSERT_SKIP_FSM option is specified, AMs are free to not reuse
1430
 * free space in the relation. This can save some cycles when we know the
1431
 * relation is new and doesn't contain useful amounts of free space.
1432
 * TABLE_INSERT_SKIP_FSM is commonly passed directly to
1433
 * RelationGetBufferForTuple. See that method for more information.
1434
 *
1435
 * TABLE_INSERT_FROZEN should only be specified for inserts into
1436
 * relation storage created during the current subtransaction and when
1437
 * there are no prior snapshots or pre-existing portals open.
1438
 * This causes rows to be frozen, which is an MVCC violation and
1439
 * requires explicit options chosen by user.
1440
 *
1441
 * TABLE_INSERT_NO_LOGICAL force-disables the emitting of logical decoding
1442
 * information for the tuple. This should solely be used during table rewrites
1443
 * where RelationIsLogicallyLogged(relation) is not yet accurate for the new
1444
 * relation.
1445
 *
1446
 * Note that most of these options will be applied when inserting into the
1447
 * heap's TOAST table, too, if the tuple requires any out-of-line data.
1448
 *
1449
 * The BulkInsertState object (if any; bistate can be NULL for default
1450
 * behavior) is also just passed through to RelationGetBufferForTuple. If
1451
 * `bistate` is provided, table_finish_bulk_insert() needs to be called.
1452
 *
1453
 * On return the slot's tts_tid and tts_tableOid are updated to reflect the
1454
 * insertion. But note that any toasting of fields within the slot is NOT
1455
 * reflected in the slots contents.
1456
 */
1457
static inline void
1458
table_tuple_insert(Relation rel, TupleTableSlot *slot, CommandId cid,
1459
           uint32 options, BulkInsertStateData *bistate)
1460
0
{
1461
0
  rel->rd_tableam->tuple_insert(rel, slot, cid, options,
1462
0
                  bistate);
1463
0
}
Unexecuted instantiation: fuzzer_initialize.c:table_tuple_insert
Unexecuted instantiation: brin.c:table_tuple_insert
Unexecuted instantiation: detoast.c:table_tuple_insert
Unexecuted instantiation: toast_internals.c:table_tuple_insert
Unexecuted instantiation: gininsert.c:table_tuple_insert
Unexecuted instantiation: gistbuild.c:table_tuple_insert
Unexecuted instantiation: hash.c:table_tuple_insert
Unexecuted instantiation: heapam.c:table_tuple_insert
Unexecuted instantiation: heapam_handler.c:table_tuple_insert
Unexecuted instantiation: heapam_indexscan.c:table_tuple_insert
Unexecuted instantiation: heapam_visibility.c:table_tuple_insert
Unexecuted instantiation: heapam_xlog.c:table_tuple_insert
Unexecuted instantiation: heaptoast.c:table_tuple_insert
Unexecuted instantiation: hio.c:table_tuple_insert
Unexecuted instantiation: pruneheap.c:table_tuple_insert
Unexecuted instantiation: rewriteheap.c:table_tuple_insert
Unexecuted instantiation: vacuumlazy.c:table_tuple_insert
Unexecuted instantiation: genam.c:table_tuple_insert
Unexecuted instantiation: indexam.c:table_tuple_insert
Unexecuted instantiation: nbtdedup.c:table_tuple_insert
Unexecuted instantiation: nbtinsert.c:table_tuple_insert
Unexecuted instantiation: nbtpage.c:table_tuple_insert
Unexecuted instantiation: nbtsort.c:table_tuple_insert
Unexecuted instantiation: nbtsplitloc.c:table_tuple_insert
Unexecuted instantiation: spginsert.c:table_tuple_insert
Unexecuted instantiation: tableam.c:table_tuple_insert
Unexecuted instantiation: tableamapi.c:table_tuple_insert
Unexecuted instantiation: xact.c:table_tuple_insert
Unexecuted instantiation: bootstrap.c:table_tuple_insert
Unexecuted instantiation: aclchk.c:table_tuple_insert
Unexecuted instantiation: dependency.c:table_tuple_insert
Unexecuted instantiation: heap.c:table_tuple_insert
Unexecuted instantiation: index.c:table_tuple_insert
Unexecuted instantiation: indexing.c:table_tuple_insert
Unexecuted instantiation: objectaddress.c:table_tuple_insert
Unexecuted instantiation: pg_db_role_setting.c:table_tuple_insert
Unexecuted instantiation: pg_publication.c:table_tuple_insert
Unexecuted instantiation: pg_subscription.c:table_tuple_insert
Unexecuted instantiation: toasting.c:table_tuple_insert
Unexecuted instantiation: gram.c:table_tuple_insert
Unexecuted instantiation: alter.c:table_tuple_insert
Unexecuted instantiation: analyze.c:table_tuple_insert
Unexecuted instantiation: constraint.c:table_tuple_insert
Unexecuted instantiation: copyfrom.c:table_tuple_insert
Unexecuted instantiation: copyfromparse.c:table_tuple_insert
Unexecuted instantiation: copyto.c:table_tuple_insert
Unexecuted instantiation: createas.c:table_tuple_insert
Unexecuted instantiation: dbcommands.c:table_tuple_insert
Unexecuted instantiation: event_trigger.c:table_tuple_insert
Unexecuted instantiation: indexcmds.c:table_tuple_insert
Unexecuted instantiation: matview.c:table_tuple_insert
Unexecuted instantiation: repack.c:table_tuple_insert
Unexecuted instantiation: tablecmds.c:table_tuple_insert
Unexecuted instantiation: tablespace.c:table_tuple_insert
Unexecuted instantiation: trigger.c:table_tuple_insert
Unexecuted instantiation: typecmds.c:table_tuple_insert
Unexecuted instantiation: vacuum.c:table_tuple_insert
Unexecuted instantiation: execIndexing.c:table_tuple_insert
Unexecuted instantiation: execMain.c:table_tuple_insert
Unexecuted instantiation: execPartition.c:table_tuple_insert
Unexecuted instantiation: execReplication.c:table_tuple_insert
Unexecuted instantiation: execUtils.c:table_tuple_insert
Unexecuted instantiation: nodeBitmapHeapscan.c:table_tuple_insert
Unexecuted instantiation: nodeIndexonlyscan.c:table_tuple_insert
Unexecuted instantiation: nodeIndexscan.c:table_tuple_insert
Unexecuted instantiation: nodeLockRows.c:table_tuple_insert
Unexecuted instantiation: nodeModifyTable.c:table_tuple_insert
Unexecuted instantiation: nodeSamplescan.c:table_tuple_insert
Unexecuted instantiation: nodeSeqscan.c:table_tuple_insert
Unexecuted instantiation: nodeTidrangescan.c:table_tuple_insert
Unexecuted instantiation: nodeTidscan.c:table_tuple_insert
Unexecuted instantiation: spi.c:table_tuple_insert
Unexecuted instantiation: copyfuncs.c:table_tuple_insert
Unexecuted instantiation: equalfuncs.c:table_tuple_insert
Unexecuted instantiation: outfuncs.c:table_tuple_insert
Unexecuted instantiation: queryjumblefuncs.c:table_tuple_insert
Unexecuted instantiation: readfuncs.c:table_tuple_insert
Unexecuted instantiation: plancat.c:table_tuple_insert
Unexecuted instantiation: partbounds.c:table_tuple_insert
Unexecuted instantiation: autovacuum.c:table_tuple_insert
Unexecuted instantiation: datachecksum_state.c:table_tuple_insert
Unexecuted instantiation: conflict.c:table_tuple_insert
Unexecuted instantiation: launcher.c:table_tuple_insert
Unexecuted instantiation: reorderbuffer.c:table_tuple_insert
Unexecuted instantiation: worker.c:table_tuple_insert
Unexecuted instantiation: rewriteHandler.c:table_tuple_insert
Unexecuted instantiation: attribute_stats.c:table_tuple_insert
Unexecuted instantiation: extended_stats_funcs.c:table_tuple_insert
Unexecuted instantiation: relation_stats.c:table_tuple_insert
Unexecuted instantiation: bufmgr.c:table_tuple_insert
Unexecuted instantiation: utility.c:table_tuple_insert
Unexecuted instantiation: ri_triggers.c:table_tuple_insert
Unexecuted instantiation: ruleutils.c:table_tuple_insert
Unexecuted instantiation: selfuncs.c:table_tuple_insert
Unexecuted instantiation: tid.c:table_tuple_insert
Unexecuted instantiation: trigfuncs.c:table_tuple_insert
Unexecuted instantiation: tsquery_rewrite.c:table_tuple_insert
Unexecuted instantiation: tsvector_op.c:table_tuple_insert
Unexecuted instantiation: xml.c:table_tuple_insert
Unexecuted instantiation: evtcache.c:table_tuple_insert
Unexecuted instantiation: funccache.c:table_tuple_insert
Unexecuted instantiation: relcache.c:table_tuple_insert
Unexecuted instantiation: postinit.c:table_tuple_insert
Unexecuted instantiation: guc_tables.c:table_tuple_insert
Unexecuted instantiation: simple_query_fuzzer.c:table_tuple_insert
1464
1465
/*
1466
 * Perform a "speculative insertion". These can be backed out afterwards
1467
 * without aborting the whole transaction.  Other sessions can wait for the
1468
 * speculative insertion to be confirmed, turning it into a regular tuple, or
1469
 * aborted, as if it never existed.  Speculatively inserted tuples behave as
1470
 * "value locks" of short duration, used to implement INSERT .. ON CONFLICT.
1471
 *
1472
 * A transaction having performed a speculative insertion has to either abort,
1473
 * or finish the speculative insertion with
1474
 * table_tuple_complete_speculative(succeeded = ...).
1475
 */
1476
static inline void
1477
table_tuple_insert_speculative(Relation rel, TupleTableSlot *slot,
1478
                 CommandId cid, uint32 options,
1479
                 BulkInsertStateData *bistate,
1480
                 uint32 specToken)
1481
0
{
1482
0
  rel->rd_tableam->tuple_insert_speculative(rel, slot, cid, options,
1483
0
                        bistate, specToken);
1484
0
}
Unexecuted instantiation: fuzzer_initialize.c:table_tuple_insert_speculative
Unexecuted instantiation: brin.c:table_tuple_insert_speculative
Unexecuted instantiation: detoast.c:table_tuple_insert_speculative
Unexecuted instantiation: toast_internals.c:table_tuple_insert_speculative
Unexecuted instantiation: gininsert.c:table_tuple_insert_speculative
Unexecuted instantiation: gistbuild.c:table_tuple_insert_speculative
Unexecuted instantiation: hash.c:table_tuple_insert_speculative
Unexecuted instantiation: heapam.c:table_tuple_insert_speculative
Unexecuted instantiation: heapam_handler.c:table_tuple_insert_speculative
Unexecuted instantiation: heapam_indexscan.c:table_tuple_insert_speculative
Unexecuted instantiation: heapam_visibility.c:table_tuple_insert_speculative
Unexecuted instantiation: heapam_xlog.c:table_tuple_insert_speculative
Unexecuted instantiation: heaptoast.c:table_tuple_insert_speculative
Unexecuted instantiation: hio.c:table_tuple_insert_speculative
Unexecuted instantiation: pruneheap.c:table_tuple_insert_speculative
Unexecuted instantiation: rewriteheap.c:table_tuple_insert_speculative
Unexecuted instantiation: vacuumlazy.c:table_tuple_insert_speculative
Unexecuted instantiation: genam.c:table_tuple_insert_speculative
Unexecuted instantiation: indexam.c:table_tuple_insert_speculative
Unexecuted instantiation: nbtdedup.c:table_tuple_insert_speculative
Unexecuted instantiation: nbtinsert.c:table_tuple_insert_speculative
Unexecuted instantiation: nbtpage.c:table_tuple_insert_speculative
Unexecuted instantiation: nbtsort.c:table_tuple_insert_speculative
Unexecuted instantiation: nbtsplitloc.c:table_tuple_insert_speculative
Unexecuted instantiation: spginsert.c:table_tuple_insert_speculative
Unexecuted instantiation: tableam.c:table_tuple_insert_speculative
Unexecuted instantiation: tableamapi.c:table_tuple_insert_speculative
Unexecuted instantiation: xact.c:table_tuple_insert_speculative
Unexecuted instantiation: bootstrap.c:table_tuple_insert_speculative
Unexecuted instantiation: aclchk.c:table_tuple_insert_speculative
Unexecuted instantiation: dependency.c:table_tuple_insert_speculative
Unexecuted instantiation: heap.c:table_tuple_insert_speculative
Unexecuted instantiation: index.c:table_tuple_insert_speculative
Unexecuted instantiation: indexing.c:table_tuple_insert_speculative
Unexecuted instantiation: objectaddress.c:table_tuple_insert_speculative
Unexecuted instantiation: pg_db_role_setting.c:table_tuple_insert_speculative
Unexecuted instantiation: pg_publication.c:table_tuple_insert_speculative
Unexecuted instantiation: pg_subscription.c:table_tuple_insert_speculative
Unexecuted instantiation: toasting.c:table_tuple_insert_speculative
Unexecuted instantiation: gram.c:table_tuple_insert_speculative
Unexecuted instantiation: alter.c:table_tuple_insert_speculative
Unexecuted instantiation: analyze.c:table_tuple_insert_speculative
Unexecuted instantiation: constraint.c:table_tuple_insert_speculative
Unexecuted instantiation: copyfrom.c:table_tuple_insert_speculative
Unexecuted instantiation: copyfromparse.c:table_tuple_insert_speculative
Unexecuted instantiation: copyto.c:table_tuple_insert_speculative
Unexecuted instantiation: createas.c:table_tuple_insert_speculative
Unexecuted instantiation: dbcommands.c:table_tuple_insert_speculative
Unexecuted instantiation: event_trigger.c:table_tuple_insert_speculative
Unexecuted instantiation: indexcmds.c:table_tuple_insert_speculative
Unexecuted instantiation: matview.c:table_tuple_insert_speculative
Unexecuted instantiation: repack.c:table_tuple_insert_speculative
Unexecuted instantiation: tablecmds.c:table_tuple_insert_speculative
Unexecuted instantiation: tablespace.c:table_tuple_insert_speculative
Unexecuted instantiation: trigger.c:table_tuple_insert_speculative
Unexecuted instantiation: typecmds.c:table_tuple_insert_speculative
Unexecuted instantiation: vacuum.c:table_tuple_insert_speculative
Unexecuted instantiation: execIndexing.c:table_tuple_insert_speculative
Unexecuted instantiation: execMain.c:table_tuple_insert_speculative
Unexecuted instantiation: execPartition.c:table_tuple_insert_speculative
Unexecuted instantiation: execReplication.c:table_tuple_insert_speculative
Unexecuted instantiation: execUtils.c:table_tuple_insert_speculative
Unexecuted instantiation: nodeBitmapHeapscan.c:table_tuple_insert_speculative
Unexecuted instantiation: nodeIndexonlyscan.c:table_tuple_insert_speculative
Unexecuted instantiation: nodeIndexscan.c:table_tuple_insert_speculative
Unexecuted instantiation: nodeLockRows.c:table_tuple_insert_speculative
Unexecuted instantiation: nodeModifyTable.c:table_tuple_insert_speculative
Unexecuted instantiation: nodeSamplescan.c:table_tuple_insert_speculative
Unexecuted instantiation: nodeSeqscan.c:table_tuple_insert_speculative
Unexecuted instantiation: nodeTidrangescan.c:table_tuple_insert_speculative
Unexecuted instantiation: nodeTidscan.c:table_tuple_insert_speculative
Unexecuted instantiation: spi.c:table_tuple_insert_speculative
Unexecuted instantiation: copyfuncs.c:table_tuple_insert_speculative
Unexecuted instantiation: equalfuncs.c:table_tuple_insert_speculative
Unexecuted instantiation: outfuncs.c:table_tuple_insert_speculative
Unexecuted instantiation: queryjumblefuncs.c:table_tuple_insert_speculative
Unexecuted instantiation: readfuncs.c:table_tuple_insert_speculative
Unexecuted instantiation: plancat.c:table_tuple_insert_speculative
Unexecuted instantiation: partbounds.c:table_tuple_insert_speculative
Unexecuted instantiation: autovacuum.c:table_tuple_insert_speculative
Unexecuted instantiation: datachecksum_state.c:table_tuple_insert_speculative
Unexecuted instantiation: conflict.c:table_tuple_insert_speculative
Unexecuted instantiation: launcher.c:table_tuple_insert_speculative
Unexecuted instantiation: reorderbuffer.c:table_tuple_insert_speculative
Unexecuted instantiation: worker.c:table_tuple_insert_speculative
Unexecuted instantiation: rewriteHandler.c:table_tuple_insert_speculative
Unexecuted instantiation: attribute_stats.c:table_tuple_insert_speculative
Unexecuted instantiation: extended_stats_funcs.c:table_tuple_insert_speculative
Unexecuted instantiation: relation_stats.c:table_tuple_insert_speculative
Unexecuted instantiation: bufmgr.c:table_tuple_insert_speculative
Unexecuted instantiation: utility.c:table_tuple_insert_speculative
Unexecuted instantiation: ri_triggers.c:table_tuple_insert_speculative
Unexecuted instantiation: ruleutils.c:table_tuple_insert_speculative
Unexecuted instantiation: selfuncs.c:table_tuple_insert_speculative
Unexecuted instantiation: tid.c:table_tuple_insert_speculative
Unexecuted instantiation: trigfuncs.c:table_tuple_insert_speculative
Unexecuted instantiation: tsquery_rewrite.c:table_tuple_insert_speculative
Unexecuted instantiation: tsvector_op.c:table_tuple_insert_speculative
Unexecuted instantiation: xml.c:table_tuple_insert_speculative
Unexecuted instantiation: evtcache.c:table_tuple_insert_speculative
Unexecuted instantiation: funccache.c:table_tuple_insert_speculative
Unexecuted instantiation: relcache.c:table_tuple_insert_speculative
Unexecuted instantiation: postinit.c:table_tuple_insert_speculative
Unexecuted instantiation: guc_tables.c:table_tuple_insert_speculative
Unexecuted instantiation: simple_query_fuzzer.c:table_tuple_insert_speculative
1485
1486
/*
1487
 * Complete "speculative insertion" started in the same transaction. If
1488
 * succeeded is true, the tuple is fully inserted, if false, it's removed.
1489
 */
1490
static inline void
1491
table_tuple_complete_speculative(Relation rel, TupleTableSlot *slot,
1492
                 uint32 specToken, bool succeeded)
1493
0
{
1494
0
  rel->rd_tableam->tuple_complete_speculative(rel, slot, specToken,
1495
0
                        succeeded);
1496
0
}
Unexecuted instantiation: fuzzer_initialize.c:table_tuple_complete_speculative
Unexecuted instantiation: brin.c:table_tuple_complete_speculative
Unexecuted instantiation: detoast.c:table_tuple_complete_speculative
Unexecuted instantiation: toast_internals.c:table_tuple_complete_speculative
Unexecuted instantiation: gininsert.c:table_tuple_complete_speculative
Unexecuted instantiation: gistbuild.c:table_tuple_complete_speculative
Unexecuted instantiation: hash.c:table_tuple_complete_speculative
Unexecuted instantiation: heapam.c:table_tuple_complete_speculative
Unexecuted instantiation: heapam_handler.c:table_tuple_complete_speculative
Unexecuted instantiation: heapam_indexscan.c:table_tuple_complete_speculative
Unexecuted instantiation: heapam_visibility.c:table_tuple_complete_speculative
Unexecuted instantiation: heapam_xlog.c:table_tuple_complete_speculative
Unexecuted instantiation: heaptoast.c:table_tuple_complete_speculative
Unexecuted instantiation: hio.c:table_tuple_complete_speculative
Unexecuted instantiation: pruneheap.c:table_tuple_complete_speculative
Unexecuted instantiation: rewriteheap.c:table_tuple_complete_speculative
Unexecuted instantiation: vacuumlazy.c:table_tuple_complete_speculative
Unexecuted instantiation: genam.c:table_tuple_complete_speculative
Unexecuted instantiation: indexam.c:table_tuple_complete_speculative
Unexecuted instantiation: nbtdedup.c:table_tuple_complete_speculative
Unexecuted instantiation: nbtinsert.c:table_tuple_complete_speculative
Unexecuted instantiation: nbtpage.c:table_tuple_complete_speculative
Unexecuted instantiation: nbtsort.c:table_tuple_complete_speculative
Unexecuted instantiation: nbtsplitloc.c:table_tuple_complete_speculative
Unexecuted instantiation: spginsert.c:table_tuple_complete_speculative
Unexecuted instantiation: tableam.c:table_tuple_complete_speculative
Unexecuted instantiation: tableamapi.c:table_tuple_complete_speculative
Unexecuted instantiation: xact.c:table_tuple_complete_speculative
Unexecuted instantiation: bootstrap.c:table_tuple_complete_speculative
Unexecuted instantiation: aclchk.c:table_tuple_complete_speculative
Unexecuted instantiation: dependency.c:table_tuple_complete_speculative
Unexecuted instantiation: heap.c:table_tuple_complete_speculative
Unexecuted instantiation: index.c:table_tuple_complete_speculative
Unexecuted instantiation: indexing.c:table_tuple_complete_speculative
Unexecuted instantiation: objectaddress.c:table_tuple_complete_speculative
Unexecuted instantiation: pg_db_role_setting.c:table_tuple_complete_speculative
Unexecuted instantiation: pg_publication.c:table_tuple_complete_speculative
Unexecuted instantiation: pg_subscription.c:table_tuple_complete_speculative
Unexecuted instantiation: toasting.c:table_tuple_complete_speculative
Unexecuted instantiation: gram.c:table_tuple_complete_speculative
Unexecuted instantiation: alter.c:table_tuple_complete_speculative
Unexecuted instantiation: analyze.c:table_tuple_complete_speculative
Unexecuted instantiation: constraint.c:table_tuple_complete_speculative
Unexecuted instantiation: copyfrom.c:table_tuple_complete_speculative
Unexecuted instantiation: copyfromparse.c:table_tuple_complete_speculative
Unexecuted instantiation: copyto.c:table_tuple_complete_speculative
Unexecuted instantiation: createas.c:table_tuple_complete_speculative
Unexecuted instantiation: dbcommands.c:table_tuple_complete_speculative
Unexecuted instantiation: event_trigger.c:table_tuple_complete_speculative
Unexecuted instantiation: indexcmds.c:table_tuple_complete_speculative
Unexecuted instantiation: matview.c:table_tuple_complete_speculative
Unexecuted instantiation: repack.c:table_tuple_complete_speculative
Unexecuted instantiation: tablecmds.c:table_tuple_complete_speculative
Unexecuted instantiation: tablespace.c:table_tuple_complete_speculative
Unexecuted instantiation: trigger.c:table_tuple_complete_speculative
Unexecuted instantiation: typecmds.c:table_tuple_complete_speculative
Unexecuted instantiation: vacuum.c:table_tuple_complete_speculative
Unexecuted instantiation: execIndexing.c:table_tuple_complete_speculative
Unexecuted instantiation: execMain.c:table_tuple_complete_speculative
Unexecuted instantiation: execPartition.c:table_tuple_complete_speculative
Unexecuted instantiation: execReplication.c:table_tuple_complete_speculative
Unexecuted instantiation: execUtils.c:table_tuple_complete_speculative
Unexecuted instantiation: nodeBitmapHeapscan.c:table_tuple_complete_speculative
Unexecuted instantiation: nodeIndexonlyscan.c:table_tuple_complete_speculative
Unexecuted instantiation: nodeIndexscan.c:table_tuple_complete_speculative
Unexecuted instantiation: nodeLockRows.c:table_tuple_complete_speculative
Unexecuted instantiation: nodeModifyTable.c:table_tuple_complete_speculative
Unexecuted instantiation: nodeSamplescan.c:table_tuple_complete_speculative
Unexecuted instantiation: nodeSeqscan.c:table_tuple_complete_speculative
Unexecuted instantiation: nodeTidrangescan.c:table_tuple_complete_speculative
Unexecuted instantiation: nodeTidscan.c:table_tuple_complete_speculative
Unexecuted instantiation: spi.c:table_tuple_complete_speculative
Unexecuted instantiation: copyfuncs.c:table_tuple_complete_speculative
Unexecuted instantiation: equalfuncs.c:table_tuple_complete_speculative
Unexecuted instantiation: outfuncs.c:table_tuple_complete_speculative
Unexecuted instantiation: queryjumblefuncs.c:table_tuple_complete_speculative
Unexecuted instantiation: readfuncs.c:table_tuple_complete_speculative
Unexecuted instantiation: plancat.c:table_tuple_complete_speculative
Unexecuted instantiation: partbounds.c:table_tuple_complete_speculative
Unexecuted instantiation: autovacuum.c:table_tuple_complete_speculative
Unexecuted instantiation: datachecksum_state.c:table_tuple_complete_speculative
Unexecuted instantiation: conflict.c:table_tuple_complete_speculative
Unexecuted instantiation: launcher.c:table_tuple_complete_speculative
Unexecuted instantiation: reorderbuffer.c:table_tuple_complete_speculative
Unexecuted instantiation: worker.c:table_tuple_complete_speculative
Unexecuted instantiation: rewriteHandler.c:table_tuple_complete_speculative
Unexecuted instantiation: attribute_stats.c:table_tuple_complete_speculative
Unexecuted instantiation: extended_stats_funcs.c:table_tuple_complete_speculative
Unexecuted instantiation: relation_stats.c:table_tuple_complete_speculative
Unexecuted instantiation: bufmgr.c:table_tuple_complete_speculative
Unexecuted instantiation: utility.c:table_tuple_complete_speculative
Unexecuted instantiation: ri_triggers.c:table_tuple_complete_speculative
Unexecuted instantiation: ruleutils.c:table_tuple_complete_speculative
Unexecuted instantiation: selfuncs.c:table_tuple_complete_speculative
Unexecuted instantiation: tid.c:table_tuple_complete_speculative
Unexecuted instantiation: trigfuncs.c:table_tuple_complete_speculative
Unexecuted instantiation: tsquery_rewrite.c:table_tuple_complete_speculative
Unexecuted instantiation: tsvector_op.c:table_tuple_complete_speculative
Unexecuted instantiation: xml.c:table_tuple_complete_speculative
Unexecuted instantiation: evtcache.c:table_tuple_complete_speculative
Unexecuted instantiation: funccache.c:table_tuple_complete_speculative
Unexecuted instantiation: relcache.c:table_tuple_complete_speculative
Unexecuted instantiation: postinit.c:table_tuple_complete_speculative
Unexecuted instantiation: guc_tables.c:table_tuple_complete_speculative
Unexecuted instantiation: simple_query_fuzzer.c:table_tuple_complete_speculative
1497
1498
/*
1499
 * Insert multiple tuples into a table.
1500
 *
1501
 * This is like table_tuple_insert(), but inserts multiple tuples in one
1502
 * operation. That's often faster than calling table_tuple_insert() in a loop,
1503
 * because e.g. the AM can reduce WAL logging and page locking overhead.
1504
 *
1505
 * Except for taking `nslots` tuples as input, and an array of TupleTableSlots
1506
 * in `slots`, the parameters for table_multi_insert() are the same as for
1507
 * table_tuple_insert().
1508
 *
1509
 * Note: this leaks memory into the current memory context. You can create a
1510
 * temporary context before calling this, if that's a problem.
1511
 */
1512
static inline void
1513
table_multi_insert(Relation rel, TupleTableSlot **slots, int nslots,
1514
           CommandId cid, uint32 options, BulkInsertStateData *bistate)
1515
0
{
1516
0
  rel->rd_tableam->multi_insert(rel, slots, nslots,
1517
0
                  cid, options, bistate);
1518
0
}
Unexecuted instantiation: fuzzer_initialize.c:table_multi_insert
Unexecuted instantiation: brin.c:table_multi_insert
Unexecuted instantiation: detoast.c:table_multi_insert
Unexecuted instantiation: toast_internals.c:table_multi_insert
Unexecuted instantiation: gininsert.c:table_multi_insert
Unexecuted instantiation: gistbuild.c:table_multi_insert
Unexecuted instantiation: hash.c:table_multi_insert
Unexecuted instantiation: heapam.c:table_multi_insert
Unexecuted instantiation: heapam_handler.c:table_multi_insert
Unexecuted instantiation: heapam_indexscan.c:table_multi_insert
Unexecuted instantiation: heapam_visibility.c:table_multi_insert
Unexecuted instantiation: heapam_xlog.c:table_multi_insert
Unexecuted instantiation: heaptoast.c:table_multi_insert
Unexecuted instantiation: hio.c:table_multi_insert
Unexecuted instantiation: pruneheap.c:table_multi_insert
Unexecuted instantiation: rewriteheap.c:table_multi_insert
Unexecuted instantiation: vacuumlazy.c:table_multi_insert
Unexecuted instantiation: genam.c:table_multi_insert
Unexecuted instantiation: indexam.c:table_multi_insert
Unexecuted instantiation: nbtdedup.c:table_multi_insert
Unexecuted instantiation: nbtinsert.c:table_multi_insert
Unexecuted instantiation: nbtpage.c:table_multi_insert
Unexecuted instantiation: nbtsort.c:table_multi_insert
Unexecuted instantiation: nbtsplitloc.c:table_multi_insert
Unexecuted instantiation: spginsert.c:table_multi_insert
Unexecuted instantiation: tableam.c:table_multi_insert
Unexecuted instantiation: tableamapi.c:table_multi_insert
Unexecuted instantiation: xact.c:table_multi_insert
Unexecuted instantiation: bootstrap.c:table_multi_insert
Unexecuted instantiation: aclchk.c:table_multi_insert
Unexecuted instantiation: dependency.c:table_multi_insert
Unexecuted instantiation: heap.c:table_multi_insert
Unexecuted instantiation: index.c:table_multi_insert
Unexecuted instantiation: indexing.c:table_multi_insert
Unexecuted instantiation: objectaddress.c:table_multi_insert
Unexecuted instantiation: pg_db_role_setting.c:table_multi_insert
Unexecuted instantiation: pg_publication.c:table_multi_insert
Unexecuted instantiation: pg_subscription.c:table_multi_insert
Unexecuted instantiation: toasting.c:table_multi_insert
Unexecuted instantiation: gram.c:table_multi_insert
Unexecuted instantiation: alter.c:table_multi_insert
Unexecuted instantiation: analyze.c:table_multi_insert
Unexecuted instantiation: constraint.c:table_multi_insert
Unexecuted instantiation: copyfrom.c:table_multi_insert
Unexecuted instantiation: copyfromparse.c:table_multi_insert
Unexecuted instantiation: copyto.c:table_multi_insert
Unexecuted instantiation: createas.c:table_multi_insert
Unexecuted instantiation: dbcommands.c:table_multi_insert
Unexecuted instantiation: event_trigger.c:table_multi_insert
Unexecuted instantiation: indexcmds.c:table_multi_insert
Unexecuted instantiation: matview.c:table_multi_insert
Unexecuted instantiation: repack.c:table_multi_insert
Unexecuted instantiation: tablecmds.c:table_multi_insert
Unexecuted instantiation: tablespace.c:table_multi_insert
Unexecuted instantiation: trigger.c:table_multi_insert
Unexecuted instantiation: typecmds.c:table_multi_insert
Unexecuted instantiation: vacuum.c:table_multi_insert
Unexecuted instantiation: execIndexing.c:table_multi_insert
Unexecuted instantiation: execMain.c:table_multi_insert
Unexecuted instantiation: execPartition.c:table_multi_insert
Unexecuted instantiation: execReplication.c:table_multi_insert
Unexecuted instantiation: execUtils.c:table_multi_insert
Unexecuted instantiation: nodeBitmapHeapscan.c:table_multi_insert
Unexecuted instantiation: nodeIndexonlyscan.c:table_multi_insert
Unexecuted instantiation: nodeIndexscan.c:table_multi_insert
Unexecuted instantiation: nodeLockRows.c:table_multi_insert
Unexecuted instantiation: nodeModifyTable.c:table_multi_insert
Unexecuted instantiation: nodeSamplescan.c:table_multi_insert
Unexecuted instantiation: nodeSeqscan.c:table_multi_insert
Unexecuted instantiation: nodeTidrangescan.c:table_multi_insert
Unexecuted instantiation: nodeTidscan.c:table_multi_insert
Unexecuted instantiation: spi.c:table_multi_insert
Unexecuted instantiation: copyfuncs.c:table_multi_insert
Unexecuted instantiation: equalfuncs.c:table_multi_insert
Unexecuted instantiation: outfuncs.c:table_multi_insert
Unexecuted instantiation: queryjumblefuncs.c:table_multi_insert
Unexecuted instantiation: readfuncs.c:table_multi_insert
Unexecuted instantiation: plancat.c:table_multi_insert
Unexecuted instantiation: partbounds.c:table_multi_insert
Unexecuted instantiation: autovacuum.c:table_multi_insert
Unexecuted instantiation: datachecksum_state.c:table_multi_insert
Unexecuted instantiation: conflict.c:table_multi_insert
Unexecuted instantiation: launcher.c:table_multi_insert
Unexecuted instantiation: reorderbuffer.c:table_multi_insert
Unexecuted instantiation: worker.c:table_multi_insert
Unexecuted instantiation: rewriteHandler.c:table_multi_insert
Unexecuted instantiation: attribute_stats.c:table_multi_insert
Unexecuted instantiation: extended_stats_funcs.c:table_multi_insert
Unexecuted instantiation: relation_stats.c:table_multi_insert
Unexecuted instantiation: bufmgr.c:table_multi_insert
Unexecuted instantiation: utility.c:table_multi_insert
Unexecuted instantiation: ri_triggers.c:table_multi_insert
Unexecuted instantiation: ruleutils.c:table_multi_insert
Unexecuted instantiation: selfuncs.c:table_multi_insert
Unexecuted instantiation: tid.c:table_multi_insert
Unexecuted instantiation: trigfuncs.c:table_multi_insert
Unexecuted instantiation: tsquery_rewrite.c:table_multi_insert
Unexecuted instantiation: tsvector_op.c:table_multi_insert
Unexecuted instantiation: xml.c:table_multi_insert
Unexecuted instantiation: evtcache.c:table_multi_insert
Unexecuted instantiation: funccache.c:table_multi_insert
Unexecuted instantiation: relcache.c:table_multi_insert
Unexecuted instantiation: postinit.c:table_multi_insert
Unexecuted instantiation: guc_tables.c:table_multi_insert
Unexecuted instantiation: simple_query_fuzzer.c:table_multi_insert
1519
1520
/*
1521
 * Delete a tuple.
1522
 *
1523
 * NB: do not call this directly unless prepared to deal with
1524
 * concurrent-update conditions.  Use simple_table_tuple_delete instead.
1525
 *
1526
 * Input parameters:
1527
 *  rel - table to be modified (caller must hold suitable lock)
1528
 *  tid - TID of tuple to be deleted
1529
 *  cid - delete command ID (used for visibility test, and stored into
1530
 *    cmax if successful)
1531
 *  options - bitmask of options.  Supported values:
1532
 *    TABLE_DELETE_CHANGING_PARTITION: the tuple is being moved to another
1533
 *    partition table due to an update of the partition key.
1534
 *    TABLE_DELETE_NO_LOGICAL: force-disables the emitting of logical
1535
 *    decoding information for the tuple.  This should solely be used
1536
 *    during table rewrites where RelationIsLogicallyLogged(rel) is not
1537
 *    yet accurate for the new relation.
1538
 *  crosscheck - if not InvalidSnapshot, also check tuple against this
1539
 *  wait - true if should wait for any conflicting update to commit/abort
1540
 *
1541
 * Output parameters:
1542
 *  tmfd - filled in failure cases (see below)
1543
 *
1544
 * Normal, successful return value is TM_Ok, which means we did actually
1545
 * delete it.  Failure return codes are TM_SelfModified, TM_Updated, and
1546
 * TM_BeingModified (the last only possible if wait == false).
1547
 *
1548
 * In the failure cases, the routine fills *tmfd with the tuple's t_ctid,
1549
 * t_xmax, and, if possible, t_cmax.  See comments for struct
1550
 * TM_FailureData for additional info.
1551
 */
1552
static inline TM_Result
1553
table_tuple_delete(Relation rel, ItemPointer tid, CommandId cid,
1554
           uint32 options, Snapshot snapshot, Snapshot crosscheck,
1555
           bool wait, TM_FailureData *tmfd)
1556
0
{
1557
0
  return rel->rd_tableam->tuple_delete(rel, tid, cid, options,
1558
0
                     snapshot, crosscheck,
1559
0
                     wait, tmfd);
1560
0
}
Unexecuted instantiation: fuzzer_initialize.c:table_tuple_delete
Unexecuted instantiation: brin.c:table_tuple_delete
Unexecuted instantiation: detoast.c:table_tuple_delete
Unexecuted instantiation: toast_internals.c:table_tuple_delete
Unexecuted instantiation: gininsert.c:table_tuple_delete
Unexecuted instantiation: gistbuild.c:table_tuple_delete
Unexecuted instantiation: hash.c:table_tuple_delete
Unexecuted instantiation: heapam.c:table_tuple_delete
Unexecuted instantiation: heapam_handler.c:table_tuple_delete
Unexecuted instantiation: heapam_indexscan.c:table_tuple_delete
Unexecuted instantiation: heapam_visibility.c:table_tuple_delete
Unexecuted instantiation: heapam_xlog.c:table_tuple_delete
Unexecuted instantiation: heaptoast.c:table_tuple_delete
Unexecuted instantiation: hio.c:table_tuple_delete
Unexecuted instantiation: pruneheap.c:table_tuple_delete
Unexecuted instantiation: rewriteheap.c:table_tuple_delete
Unexecuted instantiation: vacuumlazy.c:table_tuple_delete
Unexecuted instantiation: genam.c:table_tuple_delete
Unexecuted instantiation: indexam.c:table_tuple_delete
Unexecuted instantiation: nbtdedup.c:table_tuple_delete
Unexecuted instantiation: nbtinsert.c:table_tuple_delete
Unexecuted instantiation: nbtpage.c:table_tuple_delete
Unexecuted instantiation: nbtsort.c:table_tuple_delete
Unexecuted instantiation: nbtsplitloc.c:table_tuple_delete
Unexecuted instantiation: spginsert.c:table_tuple_delete
Unexecuted instantiation: tableam.c:table_tuple_delete
Unexecuted instantiation: tableamapi.c:table_tuple_delete
Unexecuted instantiation: xact.c:table_tuple_delete
Unexecuted instantiation: bootstrap.c:table_tuple_delete
Unexecuted instantiation: aclchk.c:table_tuple_delete
Unexecuted instantiation: dependency.c:table_tuple_delete
Unexecuted instantiation: heap.c:table_tuple_delete
Unexecuted instantiation: index.c:table_tuple_delete
Unexecuted instantiation: indexing.c:table_tuple_delete
Unexecuted instantiation: objectaddress.c:table_tuple_delete
Unexecuted instantiation: pg_db_role_setting.c:table_tuple_delete
Unexecuted instantiation: pg_publication.c:table_tuple_delete
Unexecuted instantiation: pg_subscription.c:table_tuple_delete
Unexecuted instantiation: toasting.c:table_tuple_delete
Unexecuted instantiation: gram.c:table_tuple_delete
Unexecuted instantiation: alter.c:table_tuple_delete
Unexecuted instantiation: analyze.c:table_tuple_delete
Unexecuted instantiation: constraint.c:table_tuple_delete
Unexecuted instantiation: copyfrom.c:table_tuple_delete
Unexecuted instantiation: copyfromparse.c:table_tuple_delete
Unexecuted instantiation: copyto.c:table_tuple_delete
Unexecuted instantiation: createas.c:table_tuple_delete
Unexecuted instantiation: dbcommands.c:table_tuple_delete
Unexecuted instantiation: event_trigger.c:table_tuple_delete
Unexecuted instantiation: indexcmds.c:table_tuple_delete
Unexecuted instantiation: matview.c:table_tuple_delete
Unexecuted instantiation: repack.c:table_tuple_delete
Unexecuted instantiation: tablecmds.c:table_tuple_delete
Unexecuted instantiation: tablespace.c:table_tuple_delete
Unexecuted instantiation: trigger.c:table_tuple_delete
Unexecuted instantiation: typecmds.c:table_tuple_delete
Unexecuted instantiation: vacuum.c:table_tuple_delete
Unexecuted instantiation: execIndexing.c:table_tuple_delete
Unexecuted instantiation: execMain.c:table_tuple_delete
Unexecuted instantiation: execPartition.c:table_tuple_delete
Unexecuted instantiation: execReplication.c:table_tuple_delete
Unexecuted instantiation: execUtils.c:table_tuple_delete
Unexecuted instantiation: nodeBitmapHeapscan.c:table_tuple_delete
Unexecuted instantiation: nodeIndexonlyscan.c:table_tuple_delete
Unexecuted instantiation: nodeIndexscan.c:table_tuple_delete
Unexecuted instantiation: nodeLockRows.c:table_tuple_delete
Unexecuted instantiation: nodeModifyTable.c:table_tuple_delete
Unexecuted instantiation: nodeSamplescan.c:table_tuple_delete
Unexecuted instantiation: nodeSeqscan.c:table_tuple_delete
Unexecuted instantiation: nodeTidrangescan.c:table_tuple_delete
Unexecuted instantiation: nodeTidscan.c:table_tuple_delete
Unexecuted instantiation: spi.c:table_tuple_delete
Unexecuted instantiation: copyfuncs.c:table_tuple_delete
Unexecuted instantiation: equalfuncs.c:table_tuple_delete
Unexecuted instantiation: outfuncs.c:table_tuple_delete
Unexecuted instantiation: queryjumblefuncs.c:table_tuple_delete
Unexecuted instantiation: readfuncs.c:table_tuple_delete
Unexecuted instantiation: plancat.c:table_tuple_delete
Unexecuted instantiation: partbounds.c:table_tuple_delete
Unexecuted instantiation: autovacuum.c:table_tuple_delete
Unexecuted instantiation: datachecksum_state.c:table_tuple_delete
Unexecuted instantiation: conflict.c:table_tuple_delete
Unexecuted instantiation: launcher.c:table_tuple_delete
Unexecuted instantiation: reorderbuffer.c:table_tuple_delete
Unexecuted instantiation: worker.c:table_tuple_delete
Unexecuted instantiation: rewriteHandler.c:table_tuple_delete
Unexecuted instantiation: attribute_stats.c:table_tuple_delete
Unexecuted instantiation: extended_stats_funcs.c:table_tuple_delete
Unexecuted instantiation: relation_stats.c:table_tuple_delete
Unexecuted instantiation: bufmgr.c:table_tuple_delete
Unexecuted instantiation: utility.c:table_tuple_delete
Unexecuted instantiation: ri_triggers.c:table_tuple_delete
Unexecuted instantiation: ruleutils.c:table_tuple_delete
Unexecuted instantiation: selfuncs.c:table_tuple_delete
Unexecuted instantiation: tid.c:table_tuple_delete
Unexecuted instantiation: trigfuncs.c:table_tuple_delete
Unexecuted instantiation: tsquery_rewrite.c:table_tuple_delete
Unexecuted instantiation: tsvector_op.c:table_tuple_delete
Unexecuted instantiation: xml.c:table_tuple_delete
Unexecuted instantiation: evtcache.c:table_tuple_delete
Unexecuted instantiation: funccache.c:table_tuple_delete
Unexecuted instantiation: relcache.c:table_tuple_delete
Unexecuted instantiation: postinit.c:table_tuple_delete
Unexecuted instantiation: guc_tables.c:table_tuple_delete
Unexecuted instantiation: simple_query_fuzzer.c:table_tuple_delete
1561
1562
/*
1563
 * Update a tuple.
1564
 *
1565
 * NB: do not call this directly unless you are prepared to deal with
1566
 * concurrent-update conditions.  Use simple_table_tuple_update instead.
1567
 *
1568
 * Input parameters:
1569
 *  rel - table to be modified (caller must hold suitable lock)
1570
 *  otid - TID of old tuple to be replaced
1571
 *  cid - update command ID (used for visibility test, and stored into
1572
 *    cmax/cmin if successful)
1573
 *  options - bitmask of options.  Supported values:
1574
 *    TABLE_UPDATE_NO_LOGICAL: force-disables the emitting of logical
1575
 *    decoding information for the tuple.  This should solely be used
1576
 *    during table rewrites where RelationIsLogicallyLogged(rel) is not
1577
 *    yet accurate for the new relation.
1578
 *  crosscheck - if not InvalidSnapshot, also check old tuple against this
1579
 *
1580
 * Output parameters:
1581
 *  slot - newly constructed tuple data to store
1582
 *  tmfd - filled in failure cases (see below)
1583
 *  lockmode - filled with lock mode acquired on tuple
1584
 *  update_indexes - in success cases this is set if new index entries
1585
 *    are required for this tuple; see TU_UpdateIndexes
1586
 *
1587
 * Normal, successful return value is TM_Ok, which means we did actually
1588
 * update it.  Failure return codes are TM_SelfModified, TM_Updated, and
1589
 * TM_BeingModified (the last only possible if wait == false).
1590
 *
1591
 * On success, the slot's tts_tid and tts_tableOid are updated to match the new
1592
 * stored tuple; in particular, slot->tts_tid is set to the TID where the
1593
 * new tuple was inserted, and its HEAP_ONLY_TUPLE flag is set iff a HOT
1594
 * update was done.  However, any TOAST changes in the new tuple's
1595
 * data are not reflected into *newtup.
1596
 *
1597
 * In the failure cases, the routine fills *tmfd with the tuple's t_ctid,
1598
 * t_xmax, and, if possible, t_cmax.  See comments for struct TM_FailureData
1599
 * for additional info.
1600
 */
1601
static inline TM_Result
1602
table_tuple_update(Relation rel, ItemPointer otid, TupleTableSlot *slot,
1603
           CommandId cid, uint32 options,
1604
           Snapshot snapshot, Snapshot crosscheck,
1605
           bool wait, TM_FailureData *tmfd, LockTupleMode *lockmode,
1606
           TU_UpdateIndexes *update_indexes)
1607
0
{
1608
0
  return rel->rd_tableam->tuple_update(rel, otid, slot,
1609
0
                     cid, options, snapshot, crosscheck,
1610
0
                     wait, tmfd,
1611
0
                     lockmode, update_indexes);
1612
0
}
Unexecuted instantiation: fuzzer_initialize.c:table_tuple_update
Unexecuted instantiation: brin.c:table_tuple_update
Unexecuted instantiation: detoast.c:table_tuple_update
Unexecuted instantiation: toast_internals.c:table_tuple_update
Unexecuted instantiation: gininsert.c:table_tuple_update
Unexecuted instantiation: gistbuild.c:table_tuple_update
Unexecuted instantiation: hash.c:table_tuple_update
Unexecuted instantiation: heapam.c:table_tuple_update
Unexecuted instantiation: heapam_handler.c:table_tuple_update
Unexecuted instantiation: heapam_indexscan.c:table_tuple_update
Unexecuted instantiation: heapam_visibility.c:table_tuple_update
Unexecuted instantiation: heapam_xlog.c:table_tuple_update
Unexecuted instantiation: heaptoast.c:table_tuple_update
Unexecuted instantiation: hio.c:table_tuple_update
Unexecuted instantiation: pruneheap.c:table_tuple_update
Unexecuted instantiation: rewriteheap.c:table_tuple_update
Unexecuted instantiation: vacuumlazy.c:table_tuple_update
Unexecuted instantiation: genam.c:table_tuple_update
Unexecuted instantiation: indexam.c:table_tuple_update
Unexecuted instantiation: nbtdedup.c:table_tuple_update
Unexecuted instantiation: nbtinsert.c:table_tuple_update
Unexecuted instantiation: nbtpage.c:table_tuple_update
Unexecuted instantiation: nbtsort.c:table_tuple_update
Unexecuted instantiation: nbtsplitloc.c:table_tuple_update
Unexecuted instantiation: spginsert.c:table_tuple_update
Unexecuted instantiation: tableam.c:table_tuple_update
Unexecuted instantiation: tableamapi.c:table_tuple_update
Unexecuted instantiation: xact.c:table_tuple_update
Unexecuted instantiation: bootstrap.c:table_tuple_update
Unexecuted instantiation: aclchk.c:table_tuple_update
Unexecuted instantiation: dependency.c:table_tuple_update
Unexecuted instantiation: heap.c:table_tuple_update
Unexecuted instantiation: index.c:table_tuple_update
Unexecuted instantiation: indexing.c:table_tuple_update
Unexecuted instantiation: objectaddress.c:table_tuple_update
Unexecuted instantiation: pg_db_role_setting.c:table_tuple_update
Unexecuted instantiation: pg_publication.c:table_tuple_update
Unexecuted instantiation: pg_subscription.c:table_tuple_update
Unexecuted instantiation: toasting.c:table_tuple_update
Unexecuted instantiation: gram.c:table_tuple_update
Unexecuted instantiation: alter.c:table_tuple_update
Unexecuted instantiation: analyze.c:table_tuple_update
Unexecuted instantiation: constraint.c:table_tuple_update
Unexecuted instantiation: copyfrom.c:table_tuple_update
Unexecuted instantiation: copyfromparse.c:table_tuple_update
Unexecuted instantiation: copyto.c:table_tuple_update
Unexecuted instantiation: createas.c:table_tuple_update
Unexecuted instantiation: dbcommands.c:table_tuple_update
Unexecuted instantiation: event_trigger.c:table_tuple_update
Unexecuted instantiation: indexcmds.c:table_tuple_update
Unexecuted instantiation: matview.c:table_tuple_update
Unexecuted instantiation: repack.c:table_tuple_update
Unexecuted instantiation: tablecmds.c:table_tuple_update
Unexecuted instantiation: tablespace.c:table_tuple_update
Unexecuted instantiation: trigger.c:table_tuple_update
Unexecuted instantiation: typecmds.c:table_tuple_update
Unexecuted instantiation: vacuum.c:table_tuple_update
Unexecuted instantiation: execIndexing.c:table_tuple_update
Unexecuted instantiation: execMain.c:table_tuple_update
Unexecuted instantiation: execPartition.c:table_tuple_update
Unexecuted instantiation: execReplication.c:table_tuple_update
Unexecuted instantiation: execUtils.c:table_tuple_update
Unexecuted instantiation: nodeBitmapHeapscan.c:table_tuple_update
Unexecuted instantiation: nodeIndexonlyscan.c:table_tuple_update
Unexecuted instantiation: nodeIndexscan.c:table_tuple_update
Unexecuted instantiation: nodeLockRows.c:table_tuple_update
Unexecuted instantiation: nodeModifyTable.c:table_tuple_update
Unexecuted instantiation: nodeSamplescan.c:table_tuple_update
Unexecuted instantiation: nodeSeqscan.c:table_tuple_update
Unexecuted instantiation: nodeTidrangescan.c:table_tuple_update
Unexecuted instantiation: nodeTidscan.c:table_tuple_update
Unexecuted instantiation: spi.c:table_tuple_update
Unexecuted instantiation: copyfuncs.c:table_tuple_update
Unexecuted instantiation: equalfuncs.c:table_tuple_update
Unexecuted instantiation: outfuncs.c:table_tuple_update
Unexecuted instantiation: queryjumblefuncs.c:table_tuple_update
Unexecuted instantiation: readfuncs.c:table_tuple_update
Unexecuted instantiation: plancat.c:table_tuple_update
Unexecuted instantiation: partbounds.c:table_tuple_update
Unexecuted instantiation: autovacuum.c:table_tuple_update
Unexecuted instantiation: datachecksum_state.c:table_tuple_update
Unexecuted instantiation: conflict.c:table_tuple_update
Unexecuted instantiation: launcher.c:table_tuple_update
Unexecuted instantiation: reorderbuffer.c:table_tuple_update
Unexecuted instantiation: worker.c:table_tuple_update
Unexecuted instantiation: rewriteHandler.c:table_tuple_update
Unexecuted instantiation: attribute_stats.c:table_tuple_update
Unexecuted instantiation: extended_stats_funcs.c:table_tuple_update
Unexecuted instantiation: relation_stats.c:table_tuple_update
Unexecuted instantiation: bufmgr.c:table_tuple_update
Unexecuted instantiation: utility.c:table_tuple_update
Unexecuted instantiation: ri_triggers.c:table_tuple_update
Unexecuted instantiation: ruleutils.c:table_tuple_update
Unexecuted instantiation: selfuncs.c:table_tuple_update
Unexecuted instantiation: tid.c:table_tuple_update
Unexecuted instantiation: trigfuncs.c:table_tuple_update
Unexecuted instantiation: tsquery_rewrite.c:table_tuple_update
Unexecuted instantiation: tsvector_op.c:table_tuple_update
Unexecuted instantiation: xml.c:table_tuple_update
Unexecuted instantiation: evtcache.c:table_tuple_update
Unexecuted instantiation: funccache.c:table_tuple_update
Unexecuted instantiation: relcache.c:table_tuple_update
Unexecuted instantiation: postinit.c:table_tuple_update
Unexecuted instantiation: guc_tables.c:table_tuple_update
Unexecuted instantiation: simple_query_fuzzer.c:table_tuple_update
1613
1614
/*
1615
 * Lock a tuple in the specified mode.
1616
 *
1617
 * Input parameters:
1618
 *  rel: relation containing tuple (caller must hold suitable lock)
1619
 *  tid: TID of tuple to lock (updated if an update chain was followed)
1620
 *  snapshot: snapshot to use for visibility determinations
1621
 *  cid: current command ID (used for visibility test, and stored into
1622
 *    tuple's cmax if lock is successful)
1623
 *  mode: lock mode desired
1624
 *  wait_policy: what to do if tuple lock is not available
1625
 *  flags:
1626
 *    If TUPLE_LOCK_FLAG_LOCK_UPDATE_IN_PROGRESS, follow the update chain to
1627
 *    also lock descendant tuples if lock modes don't conflict.
1628
 *    If TUPLE_LOCK_FLAG_FIND_LAST_VERSION, follow the update chain and lock
1629
 *    latest version.
1630
 *
1631
 * Output parameters:
1632
 *  *slot: contains the target tuple
1633
 *  *tmfd: filled in failure cases (see below)
1634
 *
1635
 * Function result may be:
1636
 *  TM_Ok: lock was successfully acquired
1637
 *  TM_Invisible: lock failed because tuple was never visible to us
1638
 *  TM_SelfModified: lock failed because tuple updated by self
1639
 *  TM_Updated: lock failed because tuple updated by other xact
1640
 *  TM_Deleted: lock failed because tuple deleted by other xact
1641
 *  TM_WouldBlock: lock couldn't be acquired and wait_policy is skip
1642
 *
1643
 * In the failure cases other than TM_Invisible and TM_Deleted, the routine
1644
 * fills *tmfd with the tuple's t_ctid, t_xmax, and, if possible, t_cmax.
1645
 * Additionally, in both success and failure cases, tmfd->traversed is set if
1646
 * an update chain was followed.  See comments for struct TM_FailureData for
1647
 * additional info.
1648
 */
1649
static inline TM_Result
1650
table_tuple_lock(Relation rel, ItemPointer tid, Snapshot snapshot,
1651
         TupleTableSlot *slot, CommandId cid, LockTupleMode mode,
1652
         LockWaitPolicy wait_policy, uint8 flags,
1653
         TM_FailureData *tmfd)
1654
0
{
1655
0
  return rel->rd_tableam->tuple_lock(rel, tid, snapshot, slot,
1656
0
                     cid, mode, wait_policy,
1657
0
                     flags, tmfd);
1658
0
}
Unexecuted instantiation: fuzzer_initialize.c:table_tuple_lock
Unexecuted instantiation: brin.c:table_tuple_lock
Unexecuted instantiation: detoast.c:table_tuple_lock
Unexecuted instantiation: toast_internals.c:table_tuple_lock
Unexecuted instantiation: gininsert.c:table_tuple_lock
Unexecuted instantiation: gistbuild.c:table_tuple_lock
Unexecuted instantiation: hash.c:table_tuple_lock
Unexecuted instantiation: heapam.c:table_tuple_lock
Unexecuted instantiation: heapam_handler.c:table_tuple_lock
Unexecuted instantiation: heapam_indexscan.c:table_tuple_lock
Unexecuted instantiation: heapam_visibility.c:table_tuple_lock
Unexecuted instantiation: heapam_xlog.c:table_tuple_lock
Unexecuted instantiation: heaptoast.c:table_tuple_lock
Unexecuted instantiation: hio.c:table_tuple_lock
Unexecuted instantiation: pruneheap.c:table_tuple_lock
Unexecuted instantiation: rewriteheap.c:table_tuple_lock
Unexecuted instantiation: vacuumlazy.c:table_tuple_lock
Unexecuted instantiation: genam.c:table_tuple_lock
Unexecuted instantiation: indexam.c:table_tuple_lock
Unexecuted instantiation: nbtdedup.c:table_tuple_lock
Unexecuted instantiation: nbtinsert.c:table_tuple_lock
Unexecuted instantiation: nbtpage.c:table_tuple_lock
Unexecuted instantiation: nbtsort.c:table_tuple_lock
Unexecuted instantiation: nbtsplitloc.c:table_tuple_lock
Unexecuted instantiation: spginsert.c:table_tuple_lock
Unexecuted instantiation: tableam.c:table_tuple_lock
Unexecuted instantiation: tableamapi.c:table_tuple_lock
Unexecuted instantiation: xact.c:table_tuple_lock
Unexecuted instantiation: bootstrap.c:table_tuple_lock
Unexecuted instantiation: aclchk.c:table_tuple_lock
Unexecuted instantiation: dependency.c:table_tuple_lock
Unexecuted instantiation: heap.c:table_tuple_lock
Unexecuted instantiation: index.c:table_tuple_lock
Unexecuted instantiation: indexing.c:table_tuple_lock
Unexecuted instantiation: objectaddress.c:table_tuple_lock
Unexecuted instantiation: pg_db_role_setting.c:table_tuple_lock
Unexecuted instantiation: pg_publication.c:table_tuple_lock
Unexecuted instantiation: pg_subscription.c:table_tuple_lock
Unexecuted instantiation: toasting.c:table_tuple_lock
Unexecuted instantiation: gram.c:table_tuple_lock
Unexecuted instantiation: alter.c:table_tuple_lock
Unexecuted instantiation: analyze.c:table_tuple_lock
Unexecuted instantiation: constraint.c:table_tuple_lock
Unexecuted instantiation: copyfrom.c:table_tuple_lock
Unexecuted instantiation: copyfromparse.c:table_tuple_lock
Unexecuted instantiation: copyto.c:table_tuple_lock
Unexecuted instantiation: createas.c:table_tuple_lock
Unexecuted instantiation: dbcommands.c:table_tuple_lock
Unexecuted instantiation: event_trigger.c:table_tuple_lock
Unexecuted instantiation: indexcmds.c:table_tuple_lock
Unexecuted instantiation: matview.c:table_tuple_lock
Unexecuted instantiation: repack.c:table_tuple_lock
Unexecuted instantiation: tablecmds.c:table_tuple_lock
Unexecuted instantiation: tablespace.c:table_tuple_lock
Unexecuted instantiation: trigger.c:table_tuple_lock
Unexecuted instantiation: typecmds.c:table_tuple_lock
Unexecuted instantiation: vacuum.c:table_tuple_lock
Unexecuted instantiation: execIndexing.c:table_tuple_lock
Unexecuted instantiation: execMain.c:table_tuple_lock
Unexecuted instantiation: execPartition.c:table_tuple_lock
Unexecuted instantiation: execReplication.c:table_tuple_lock
Unexecuted instantiation: execUtils.c:table_tuple_lock
Unexecuted instantiation: nodeBitmapHeapscan.c:table_tuple_lock
Unexecuted instantiation: nodeIndexonlyscan.c:table_tuple_lock
Unexecuted instantiation: nodeIndexscan.c:table_tuple_lock
Unexecuted instantiation: nodeLockRows.c:table_tuple_lock
Unexecuted instantiation: nodeModifyTable.c:table_tuple_lock
Unexecuted instantiation: nodeSamplescan.c:table_tuple_lock
Unexecuted instantiation: nodeSeqscan.c:table_tuple_lock
Unexecuted instantiation: nodeTidrangescan.c:table_tuple_lock
Unexecuted instantiation: nodeTidscan.c:table_tuple_lock
Unexecuted instantiation: spi.c:table_tuple_lock
Unexecuted instantiation: copyfuncs.c:table_tuple_lock
Unexecuted instantiation: equalfuncs.c:table_tuple_lock
Unexecuted instantiation: outfuncs.c:table_tuple_lock
Unexecuted instantiation: queryjumblefuncs.c:table_tuple_lock
Unexecuted instantiation: readfuncs.c:table_tuple_lock
Unexecuted instantiation: plancat.c:table_tuple_lock
Unexecuted instantiation: partbounds.c:table_tuple_lock
Unexecuted instantiation: autovacuum.c:table_tuple_lock
Unexecuted instantiation: datachecksum_state.c:table_tuple_lock
Unexecuted instantiation: conflict.c:table_tuple_lock
Unexecuted instantiation: launcher.c:table_tuple_lock
Unexecuted instantiation: reorderbuffer.c:table_tuple_lock
Unexecuted instantiation: worker.c:table_tuple_lock
Unexecuted instantiation: rewriteHandler.c:table_tuple_lock
Unexecuted instantiation: attribute_stats.c:table_tuple_lock
Unexecuted instantiation: extended_stats_funcs.c:table_tuple_lock
Unexecuted instantiation: relation_stats.c:table_tuple_lock
Unexecuted instantiation: bufmgr.c:table_tuple_lock
Unexecuted instantiation: utility.c:table_tuple_lock
Unexecuted instantiation: ri_triggers.c:table_tuple_lock
Unexecuted instantiation: ruleutils.c:table_tuple_lock
Unexecuted instantiation: selfuncs.c:table_tuple_lock
Unexecuted instantiation: tid.c:table_tuple_lock
Unexecuted instantiation: trigfuncs.c:table_tuple_lock
Unexecuted instantiation: tsquery_rewrite.c:table_tuple_lock
Unexecuted instantiation: tsvector_op.c:table_tuple_lock
Unexecuted instantiation: xml.c:table_tuple_lock
Unexecuted instantiation: evtcache.c:table_tuple_lock
Unexecuted instantiation: funccache.c:table_tuple_lock
Unexecuted instantiation: relcache.c:table_tuple_lock
Unexecuted instantiation: postinit.c:table_tuple_lock
Unexecuted instantiation: guc_tables.c:table_tuple_lock
Unexecuted instantiation: simple_query_fuzzer.c:table_tuple_lock
1659
1660
/*
1661
 * Perform operations necessary to complete insertions made via
1662
 * tuple_insert and multi_insert with a BulkInsertState specified.
1663
 */
1664
static inline void
1665
table_finish_bulk_insert(Relation rel, uint32 options)
1666
0
{
1667
  /* optional callback */
1668
0
  if (rel->rd_tableam && rel->rd_tableam->finish_bulk_insert)
1669
0
    rel->rd_tableam->finish_bulk_insert(rel, options);
1670
0
}
Unexecuted instantiation: fuzzer_initialize.c:table_finish_bulk_insert
Unexecuted instantiation: brin.c:table_finish_bulk_insert
Unexecuted instantiation: detoast.c:table_finish_bulk_insert
Unexecuted instantiation: toast_internals.c:table_finish_bulk_insert
Unexecuted instantiation: gininsert.c:table_finish_bulk_insert
Unexecuted instantiation: gistbuild.c:table_finish_bulk_insert
Unexecuted instantiation: hash.c:table_finish_bulk_insert
Unexecuted instantiation: heapam.c:table_finish_bulk_insert
Unexecuted instantiation: heapam_handler.c:table_finish_bulk_insert
Unexecuted instantiation: heapam_indexscan.c:table_finish_bulk_insert
Unexecuted instantiation: heapam_visibility.c:table_finish_bulk_insert
Unexecuted instantiation: heapam_xlog.c:table_finish_bulk_insert
Unexecuted instantiation: heaptoast.c:table_finish_bulk_insert
Unexecuted instantiation: hio.c:table_finish_bulk_insert
Unexecuted instantiation: pruneheap.c:table_finish_bulk_insert
Unexecuted instantiation: rewriteheap.c:table_finish_bulk_insert
Unexecuted instantiation: vacuumlazy.c:table_finish_bulk_insert
Unexecuted instantiation: genam.c:table_finish_bulk_insert
Unexecuted instantiation: indexam.c:table_finish_bulk_insert
Unexecuted instantiation: nbtdedup.c:table_finish_bulk_insert
Unexecuted instantiation: nbtinsert.c:table_finish_bulk_insert
Unexecuted instantiation: nbtpage.c:table_finish_bulk_insert
Unexecuted instantiation: nbtsort.c:table_finish_bulk_insert
Unexecuted instantiation: nbtsplitloc.c:table_finish_bulk_insert
Unexecuted instantiation: spginsert.c:table_finish_bulk_insert
Unexecuted instantiation: tableam.c:table_finish_bulk_insert
Unexecuted instantiation: tableamapi.c:table_finish_bulk_insert
Unexecuted instantiation: xact.c:table_finish_bulk_insert
Unexecuted instantiation: bootstrap.c:table_finish_bulk_insert
Unexecuted instantiation: aclchk.c:table_finish_bulk_insert
Unexecuted instantiation: dependency.c:table_finish_bulk_insert
Unexecuted instantiation: heap.c:table_finish_bulk_insert
Unexecuted instantiation: index.c:table_finish_bulk_insert
Unexecuted instantiation: indexing.c:table_finish_bulk_insert
Unexecuted instantiation: objectaddress.c:table_finish_bulk_insert
Unexecuted instantiation: pg_db_role_setting.c:table_finish_bulk_insert
Unexecuted instantiation: pg_publication.c:table_finish_bulk_insert
Unexecuted instantiation: pg_subscription.c:table_finish_bulk_insert
Unexecuted instantiation: toasting.c:table_finish_bulk_insert
Unexecuted instantiation: gram.c:table_finish_bulk_insert
Unexecuted instantiation: alter.c:table_finish_bulk_insert
Unexecuted instantiation: analyze.c:table_finish_bulk_insert
Unexecuted instantiation: constraint.c:table_finish_bulk_insert
Unexecuted instantiation: copyfrom.c:table_finish_bulk_insert
Unexecuted instantiation: copyfromparse.c:table_finish_bulk_insert
Unexecuted instantiation: copyto.c:table_finish_bulk_insert
Unexecuted instantiation: createas.c:table_finish_bulk_insert
Unexecuted instantiation: dbcommands.c:table_finish_bulk_insert
Unexecuted instantiation: event_trigger.c:table_finish_bulk_insert
Unexecuted instantiation: indexcmds.c:table_finish_bulk_insert
Unexecuted instantiation: matview.c:table_finish_bulk_insert
Unexecuted instantiation: repack.c:table_finish_bulk_insert
Unexecuted instantiation: tablecmds.c:table_finish_bulk_insert
Unexecuted instantiation: tablespace.c:table_finish_bulk_insert
Unexecuted instantiation: trigger.c:table_finish_bulk_insert
Unexecuted instantiation: typecmds.c:table_finish_bulk_insert
Unexecuted instantiation: vacuum.c:table_finish_bulk_insert
Unexecuted instantiation: execIndexing.c:table_finish_bulk_insert
Unexecuted instantiation: execMain.c:table_finish_bulk_insert
Unexecuted instantiation: execPartition.c:table_finish_bulk_insert
Unexecuted instantiation: execReplication.c:table_finish_bulk_insert
Unexecuted instantiation: execUtils.c:table_finish_bulk_insert
Unexecuted instantiation: nodeBitmapHeapscan.c:table_finish_bulk_insert
Unexecuted instantiation: nodeIndexonlyscan.c:table_finish_bulk_insert
Unexecuted instantiation: nodeIndexscan.c:table_finish_bulk_insert
Unexecuted instantiation: nodeLockRows.c:table_finish_bulk_insert
Unexecuted instantiation: nodeModifyTable.c:table_finish_bulk_insert
Unexecuted instantiation: nodeSamplescan.c:table_finish_bulk_insert
Unexecuted instantiation: nodeSeqscan.c:table_finish_bulk_insert
Unexecuted instantiation: nodeTidrangescan.c:table_finish_bulk_insert
Unexecuted instantiation: nodeTidscan.c:table_finish_bulk_insert
Unexecuted instantiation: spi.c:table_finish_bulk_insert
Unexecuted instantiation: copyfuncs.c:table_finish_bulk_insert
Unexecuted instantiation: equalfuncs.c:table_finish_bulk_insert
Unexecuted instantiation: outfuncs.c:table_finish_bulk_insert
Unexecuted instantiation: queryjumblefuncs.c:table_finish_bulk_insert
Unexecuted instantiation: readfuncs.c:table_finish_bulk_insert
Unexecuted instantiation: plancat.c:table_finish_bulk_insert
Unexecuted instantiation: partbounds.c:table_finish_bulk_insert
Unexecuted instantiation: autovacuum.c:table_finish_bulk_insert
Unexecuted instantiation: datachecksum_state.c:table_finish_bulk_insert
Unexecuted instantiation: conflict.c:table_finish_bulk_insert
Unexecuted instantiation: launcher.c:table_finish_bulk_insert
Unexecuted instantiation: reorderbuffer.c:table_finish_bulk_insert
Unexecuted instantiation: worker.c:table_finish_bulk_insert
Unexecuted instantiation: rewriteHandler.c:table_finish_bulk_insert
Unexecuted instantiation: attribute_stats.c:table_finish_bulk_insert
Unexecuted instantiation: extended_stats_funcs.c:table_finish_bulk_insert
Unexecuted instantiation: relation_stats.c:table_finish_bulk_insert
Unexecuted instantiation: bufmgr.c:table_finish_bulk_insert
Unexecuted instantiation: utility.c:table_finish_bulk_insert
Unexecuted instantiation: ri_triggers.c:table_finish_bulk_insert
Unexecuted instantiation: ruleutils.c:table_finish_bulk_insert
Unexecuted instantiation: selfuncs.c:table_finish_bulk_insert
Unexecuted instantiation: tid.c:table_finish_bulk_insert
Unexecuted instantiation: trigfuncs.c:table_finish_bulk_insert
Unexecuted instantiation: tsquery_rewrite.c:table_finish_bulk_insert
Unexecuted instantiation: tsvector_op.c:table_finish_bulk_insert
Unexecuted instantiation: xml.c:table_finish_bulk_insert
Unexecuted instantiation: evtcache.c:table_finish_bulk_insert
Unexecuted instantiation: funccache.c:table_finish_bulk_insert
Unexecuted instantiation: relcache.c:table_finish_bulk_insert
Unexecuted instantiation: postinit.c:table_finish_bulk_insert
Unexecuted instantiation: guc_tables.c:table_finish_bulk_insert
Unexecuted instantiation: simple_query_fuzzer.c:table_finish_bulk_insert
1671
1672
1673
/* ------------------------------------------------------------------------
1674
 * DDL related functionality.
1675
 * ------------------------------------------------------------------------
1676
 */
1677
1678
/*
1679
 * Create storage for `rel` in `newrlocator`, with persistence set to
1680
 * `persistence`.
1681
 *
1682
 * This is used both during relation creation and various DDL operations to
1683
 * create new rel storage that can be filled from scratch.  When creating
1684
 * new storage for an existing relfilelocator, this should be called before the
1685
 * relcache entry has been updated.
1686
 *
1687
 * *freezeXid, *minmulti are set to the xid / multixact horizon for the table
1688
 * that pg_class.{relfrozenxid, relminmxid} have to be set to.
1689
 */
1690
static inline void
1691
table_relation_set_new_filelocator(Relation rel,
1692
                   const RelFileLocator *newrlocator,
1693
                   char persistence,
1694
                   TransactionId *freezeXid,
1695
                   MultiXactId *minmulti)
1696
0
{
1697
0
  rel->rd_tableam->relation_set_new_filelocator(rel, newrlocator,
1698
0
                          persistence, freezeXid,
1699
0
                          minmulti);
1700
0
}
Unexecuted instantiation: fuzzer_initialize.c:table_relation_set_new_filelocator
Unexecuted instantiation: brin.c:table_relation_set_new_filelocator
Unexecuted instantiation: detoast.c:table_relation_set_new_filelocator
Unexecuted instantiation: toast_internals.c:table_relation_set_new_filelocator
Unexecuted instantiation: gininsert.c:table_relation_set_new_filelocator
Unexecuted instantiation: gistbuild.c:table_relation_set_new_filelocator
Unexecuted instantiation: hash.c:table_relation_set_new_filelocator
Unexecuted instantiation: heapam.c:table_relation_set_new_filelocator
Unexecuted instantiation: heapam_handler.c:table_relation_set_new_filelocator
Unexecuted instantiation: heapam_indexscan.c:table_relation_set_new_filelocator
Unexecuted instantiation: heapam_visibility.c:table_relation_set_new_filelocator
Unexecuted instantiation: heapam_xlog.c:table_relation_set_new_filelocator
Unexecuted instantiation: heaptoast.c:table_relation_set_new_filelocator
Unexecuted instantiation: hio.c:table_relation_set_new_filelocator
Unexecuted instantiation: pruneheap.c:table_relation_set_new_filelocator
Unexecuted instantiation: rewriteheap.c:table_relation_set_new_filelocator
Unexecuted instantiation: vacuumlazy.c:table_relation_set_new_filelocator
Unexecuted instantiation: genam.c:table_relation_set_new_filelocator
Unexecuted instantiation: indexam.c:table_relation_set_new_filelocator
Unexecuted instantiation: nbtdedup.c:table_relation_set_new_filelocator
Unexecuted instantiation: nbtinsert.c:table_relation_set_new_filelocator
Unexecuted instantiation: nbtpage.c:table_relation_set_new_filelocator
Unexecuted instantiation: nbtsort.c:table_relation_set_new_filelocator
Unexecuted instantiation: nbtsplitloc.c:table_relation_set_new_filelocator
Unexecuted instantiation: spginsert.c:table_relation_set_new_filelocator
Unexecuted instantiation: tableam.c:table_relation_set_new_filelocator
Unexecuted instantiation: tableamapi.c:table_relation_set_new_filelocator
Unexecuted instantiation: xact.c:table_relation_set_new_filelocator
Unexecuted instantiation: bootstrap.c:table_relation_set_new_filelocator
Unexecuted instantiation: aclchk.c:table_relation_set_new_filelocator
Unexecuted instantiation: dependency.c:table_relation_set_new_filelocator
Unexecuted instantiation: heap.c:table_relation_set_new_filelocator
Unexecuted instantiation: index.c:table_relation_set_new_filelocator
Unexecuted instantiation: indexing.c:table_relation_set_new_filelocator
Unexecuted instantiation: objectaddress.c:table_relation_set_new_filelocator
Unexecuted instantiation: pg_db_role_setting.c:table_relation_set_new_filelocator
Unexecuted instantiation: pg_publication.c:table_relation_set_new_filelocator
Unexecuted instantiation: pg_subscription.c:table_relation_set_new_filelocator
Unexecuted instantiation: toasting.c:table_relation_set_new_filelocator
Unexecuted instantiation: gram.c:table_relation_set_new_filelocator
Unexecuted instantiation: alter.c:table_relation_set_new_filelocator
Unexecuted instantiation: analyze.c:table_relation_set_new_filelocator
Unexecuted instantiation: constraint.c:table_relation_set_new_filelocator
Unexecuted instantiation: copyfrom.c:table_relation_set_new_filelocator
Unexecuted instantiation: copyfromparse.c:table_relation_set_new_filelocator
Unexecuted instantiation: copyto.c:table_relation_set_new_filelocator
Unexecuted instantiation: createas.c:table_relation_set_new_filelocator
Unexecuted instantiation: dbcommands.c:table_relation_set_new_filelocator
Unexecuted instantiation: event_trigger.c:table_relation_set_new_filelocator
Unexecuted instantiation: indexcmds.c:table_relation_set_new_filelocator
Unexecuted instantiation: matview.c:table_relation_set_new_filelocator
Unexecuted instantiation: repack.c:table_relation_set_new_filelocator
Unexecuted instantiation: tablecmds.c:table_relation_set_new_filelocator
Unexecuted instantiation: tablespace.c:table_relation_set_new_filelocator
Unexecuted instantiation: trigger.c:table_relation_set_new_filelocator
Unexecuted instantiation: typecmds.c:table_relation_set_new_filelocator
Unexecuted instantiation: vacuum.c:table_relation_set_new_filelocator
Unexecuted instantiation: execIndexing.c:table_relation_set_new_filelocator
Unexecuted instantiation: execMain.c:table_relation_set_new_filelocator
Unexecuted instantiation: execPartition.c:table_relation_set_new_filelocator
Unexecuted instantiation: execReplication.c:table_relation_set_new_filelocator
Unexecuted instantiation: execUtils.c:table_relation_set_new_filelocator
Unexecuted instantiation: nodeBitmapHeapscan.c:table_relation_set_new_filelocator
Unexecuted instantiation: nodeIndexonlyscan.c:table_relation_set_new_filelocator
Unexecuted instantiation: nodeIndexscan.c:table_relation_set_new_filelocator
Unexecuted instantiation: nodeLockRows.c:table_relation_set_new_filelocator
Unexecuted instantiation: nodeModifyTable.c:table_relation_set_new_filelocator
Unexecuted instantiation: nodeSamplescan.c:table_relation_set_new_filelocator
Unexecuted instantiation: nodeSeqscan.c:table_relation_set_new_filelocator
Unexecuted instantiation: nodeTidrangescan.c:table_relation_set_new_filelocator
Unexecuted instantiation: nodeTidscan.c:table_relation_set_new_filelocator
Unexecuted instantiation: spi.c:table_relation_set_new_filelocator
Unexecuted instantiation: copyfuncs.c:table_relation_set_new_filelocator
Unexecuted instantiation: equalfuncs.c:table_relation_set_new_filelocator
Unexecuted instantiation: outfuncs.c:table_relation_set_new_filelocator
Unexecuted instantiation: queryjumblefuncs.c:table_relation_set_new_filelocator
Unexecuted instantiation: readfuncs.c:table_relation_set_new_filelocator
Unexecuted instantiation: plancat.c:table_relation_set_new_filelocator
Unexecuted instantiation: partbounds.c:table_relation_set_new_filelocator
Unexecuted instantiation: autovacuum.c:table_relation_set_new_filelocator
Unexecuted instantiation: datachecksum_state.c:table_relation_set_new_filelocator
Unexecuted instantiation: conflict.c:table_relation_set_new_filelocator
Unexecuted instantiation: launcher.c:table_relation_set_new_filelocator
Unexecuted instantiation: reorderbuffer.c:table_relation_set_new_filelocator
Unexecuted instantiation: worker.c:table_relation_set_new_filelocator
Unexecuted instantiation: rewriteHandler.c:table_relation_set_new_filelocator
Unexecuted instantiation: attribute_stats.c:table_relation_set_new_filelocator
Unexecuted instantiation: extended_stats_funcs.c:table_relation_set_new_filelocator
Unexecuted instantiation: relation_stats.c:table_relation_set_new_filelocator
Unexecuted instantiation: bufmgr.c:table_relation_set_new_filelocator
Unexecuted instantiation: utility.c:table_relation_set_new_filelocator
Unexecuted instantiation: ri_triggers.c:table_relation_set_new_filelocator
Unexecuted instantiation: ruleutils.c:table_relation_set_new_filelocator
Unexecuted instantiation: selfuncs.c:table_relation_set_new_filelocator
Unexecuted instantiation: tid.c:table_relation_set_new_filelocator
Unexecuted instantiation: trigfuncs.c:table_relation_set_new_filelocator
Unexecuted instantiation: tsquery_rewrite.c:table_relation_set_new_filelocator
Unexecuted instantiation: tsvector_op.c:table_relation_set_new_filelocator
Unexecuted instantiation: xml.c:table_relation_set_new_filelocator
Unexecuted instantiation: evtcache.c:table_relation_set_new_filelocator
Unexecuted instantiation: funccache.c:table_relation_set_new_filelocator
Unexecuted instantiation: relcache.c:table_relation_set_new_filelocator
Unexecuted instantiation: postinit.c:table_relation_set_new_filelocator
Unexecuted instantiation: guc_tables.c:table_relation_set_new_filelocator
Unexecuted instantiation: simple_query_fuzzer.c:table_relation_set_new_filelocator
1701
1702
/*
1703
 * Remove all table contents from `rel`, in a non-transactional manner.
1704
 * Non-transactional meaning that there's no need to support rollbacks. This
1705
 * commonly only is used to perform truncations for relation storage created in
1706
 * the current transaction.
1707
 */
1708
static inline void
1709
table_relation_nontransactional_truncate(Relation rel)
1710
0
{
1711
0
  rel->rd_tableam->relation_nontransactional_truncate(rel);
1712
0
}
Unexecuted instantiation: fuzzer_initialize.c:table_relation_nontransactional_truncate
Unexecuted instantiation: brin.c:table_relation_nontransactional_truncate
Unexecuted instantiation: detoast.c:table_relation_nontransactional_truncate
Unexecuted instantiation: toast_internals.c:table_relation_nontransactional_truncate
Unexecuted instantiation: gininsert.c:table_relation_nontransactional_truncate
Unexecuted instantiation: gistbuild.c:table_relation_nontransactional_truncate
Unexecuted instantiation: hash.c:table_relation_nontransactional_truncate
Unexecuted instantiation: heapam.c:table_relation_nontransactional_truncate
Unexecuted instantiation: heapam_handler.c:table_relation_nontransactional_truncate
Unexecuted instantiation: heapam_indexscan.c:table_relation_nontransactional_truncate
Unexecuted instantiation: heapam_visibility.c:table_relation_nontransactional_truncate
Unexecuted instantiation: heapam_xlog.c:table_relation_nontransactional_truncate
Unexecuted instantiation: heaptoast.c:table_relation_nontransactional_truncate
Unexecuted instantiation: hio.c:table_relation_nontransactional_truncate
Unexecuted instantiation: pruneheap.c:table_relation_nontransactional_truncate
Unexecuted instantiation: rewriteheap.c:table_relation_nontransactional_truncate
Unexecuted instantiation: vacuumlazy.c:table_relation_nontransactional_truncate
Unexecuted instantiation: genam.c:table_relation_nontransactional_truncate
Unexecuted instantiation: indexam.c:table_relation_nontransactional_truncate
Unexecuted instantiation: nbtdedup.c:table_relation_nontransactional_truncate
Unexecuted instantiation: nbtinsert.c:table_relation_nontransactional_truncate
Unexecuted instantiation: nbtpage.c:table_relation_nontransactional_truncate
Unexecuted instantiation: nbtsort.c:table_relation_nontransactional_truncate
Unexecuted instantiation: nbtsplitloc.c:table_relation_nontransactional_truncate
Unexecuted instantiation: spginsert.c:table_relation_nontransactional_truncate
Unexecuted instantiation: tableam.c:table_relation_nontransactional_truncate
Unexecuted instantiation: tableamapi.c:table_relation_nontransactional_truncate
Unexecuted instantiation: xact.c:table_relation_nontransactional_truncate
Unexecuted instantiation: bootstrap.c:table_relation_nontransactional_truncate
Unexecuted instantiation: aclchk.c:table_relation_nontransactional_truncate
Unexecuted instantiation: dependency.c:table_relation_nontransactional_truncate
Unexecuted instantiation: heap.c:table_relation_nontransactional_truncate
Unexecuted instantiation: index.c:table_relation_nontransactional_truncate
Unexecuted instantiation: indexing.c:table_relation_nontransactional_truncate
Unexecuted instantiation: objectaddress.c:table_relation_nontransactional_truncate
Unexecuted instantiation: pg_db_role_setting.c:table_relation_nontransactional_truncate
Unexecuted instantiation: pg_publication.c:table_relation_nontransactional_truncate
Unexecuted instantiation: pg_subscription.c:table_relation_nontransactional_truncate
Unexecuted instantiation: toasting.c:table_relation_nontransactional_truncate
Unexecuted instantiation: gram.c:table_relation_nontransactional_truncate
Unexecuted instantiation: alter.c:table_relation_nontransactional_truncate
Unexecuted instantiation: analyze.c:table_relation_nontransactional_truncate
Unexecuted instantiation: constraint.c:table_relation_nontransactional_truncate
Unexecuted instantiation: copyfrom.c:table_relation_nontransactional_truncate
Unexecuted instantiation: copyfromparse.c:table_relation_nontransactional_truncate
Unexecuted instantiation: copyto.c:table_relation_nontransactional_truncate
Unexecuted instantiation: createas.c:table_relation_nontransactional_truncate
Unexecuted instantiation: dbcommands.c:table_relation_nontransactional_truncate
Unexecuted instantiation: event_trigger.c:table_relation_nontransactional_truncate
Unexecuted instantiation: indexcmds.c:table_relation_nontransactional_truncate
Unexecuted instantiation: matview.c:table_relation_nontransactional_truncate
Unexecuted instantiation: repack.c:table_relation_nontransactional_truncate
Unexecuted instantiation: tablecmds.c:table_relation_nontransactional_truncate
Unexecuted instantiation: tablespace.c:table_relation_nontransactional_truncate
Unexecuted instantiation: trigger.c:table_relation_nontransactional_truncate
Unexecuted instantiation: typecmds.c:table_relation_nontransactional_truncate
Unexecuted instantiation: vacuum.c:table_relation_nontransactional_truncate
Unexecuted instantiation: execIndexing.c:table_relation_nontransactional_truncate
Unexecuted instantiation: execMain.c:table_relation_nontransactional_truncate
Unexecuted instantiation: execPartition.c:table_relation_nontransactional_truncate
Unexecuted instantiation: execReplication.c:table_relation_nontransactional_truncate
Unexecuted instantiation: execUtils.c:table_relation_nontransactional_truncate
Unexecuted instantiation: nodeBitmapHeapscan.c:table_relation_nontransactional_truncate
Unexecuted instantiation: nodeIndexonlyscan.c:table_relation_nontransactional_truncate
Unexecuted instantiation: nodeIndexscan.c:table_relation_nontransactional_truncate
Unexecuted instantiation: nodeLockRows.c:table_relation_nontransactional_truncate
Unexecuted instantiation: nodeModifyTable.c:table_relation_nontransactional_truncate
Unexecuted instantiation: nodeSamplescan.c:table_relation_nontransactional_truncate
Unexecuted instantiation: nodeSeqscan.c:table_relation_nontransactional_truncate
Unexecuted instantiation: nodeTidrangescan.c:table_relation_nontransactional_truncate
Unexecuted instantiation: nodeTidscan.c:table_relation_nontransactional_truncate
Unexecuted instantiation: spi.c:table_relation_nontransactional_truncate
Unexecuted instantiation: copyfuncs.c:table_relation_nontransactional_truncate
Unexecuted instantiation: equalfuncs.c:table_relation_nontransactional_truncate
Unexecuted instantiation: outfuncs.c:table_relation_nontransactional_truncate
Unexecuted instantiation: queryjumblefuncs.c:table_relation_nontransactional_truncate
Unexecuted instantiation: readfuncs.c:table_relation_nontransactional_truncate
Unexecuted instantiation: plancat.c:table_relation_nontransactional_truncate
Unexecuted instantiation: partbounds.c:table_relation_nontransactional_truncate
Unexecuted instantiation: autovacuum.c:table_relation_nontransactional_truncate
Unexecuted instantiation: datachecksum_state.c:table_relation_nontransactional_truncate
Unexecuted instantiation: conflict.c:table_relation_nontransactional_truncate
Unexecuted instantiation: launcher.c:table_relation_nontransactional_truncate
Unexecuted instantiation: reorderbuffer.c:table_relation_nontransactional_truncate
Unexecuted instantiation: worker.c:table_relation_nontransactional_truncate
Unexecuted instantiation: rewriteHandler.c:table_relation_nontransactional_truncate
Unexecuted instantiation: attribute_stats.c:table_relation_nontransactional_truncate
Unexecuted instantiation: extended_stats_funcs.c:table_relation_nontransactional_truncate
Unexecuted instantiation: relation_stats.c:table_relation_nontransactional_truncate
Unexecuted instantiation: bufmgr.c:table_relation_nontransactional_truncate
Unexecuted instantiation: utility.c:table_relation_nontransactional_truncate
Unexecuted instantiation: ri_triggers.c:table_relation_nontransactional_truncate
Unexecuted instantiation: ruleutils.c:table_relation_nontransactional_truncate
Unexecuted instantiation: selfuncs.c:table_relation_nontransactional_truncate
Unexecuted instantiation: tid.c:table_relation_nontransactional_truncate
Unexecuted instantiation: trigfuncs.c:table_relation_nontransactional_truncate
Unexecuted instantiation: tsquery_rewrite.c:table_relation_nontransactional_truncate
Unexecuted instantiation: tsvector_op.c:table_relation_nontransactional_truncate
Unexecuted instantiation: xml.c:table_relation_nontransactional_truncate
Unexecuted instantiation: evtcache.c:table_relation_nontransactional_truncate
Unexecuted instantiation: funccache.c:table_relation_nontransactional_truncate
Unexecuted instantiation: relcache.c:table_relation_nontransactional_truncate
Unexecuted instantiation: postinit.c:table_relation_nontransactional_truncate
Unexecuted instantiation: guc_tables.c:table_relation_nontransactional_truncate
Unexecuted instantiation: simple_query_fuzzer.c:table_relation_nontransactional_truncate
1713
1714
/*
1715
 * Copy data from `rel` into the new relfilelocator `newrlocator`. The new
1716
 * relfilelocator may not have storage associated before this function is
1717
 * called. This is only supposed to be used for low level operations like
1718
 * changing a relation's tablespace.
1719
 */
1720
static inline void
1721
table_relation_copy_data(Relation rel, const RelFileLocator *newrlocator)
1722
0
{
1723
0
  rel->rd_tableam->relation_copy_data(rel, newrlocator);
1724
0
}
Unexecuted instantiation: fuzzer_initialize.c:table_relation_copy_data
Unexecuted instantiation: brin.c:table_relation_copy_data
Unexecuted instantiation: detoast.c:table_relation_copy_data
Unexecuted instantiation: toast_internals.c:table_relation_copy_data
Unexecuted instantiation: gininsert.c:table_relation_copy_data
Unexecuted instantiation: gistbuild.c:table_relation_copy_data
Unexecuted instantiation: hash.c:table_relation_copy_data
Unexecuted instantiation: heapam.c:table_relation_copy_data
Unexecuted instantiation: heapam_handler.c:table_relation_copy_data
Unexecuted instantiation: heapam_indexscan.c:table_relation_copy_data
Unexecuted instantiation: heapam_visibility.c:table_relation_copy_data
Unexecuted instantiation: heapam_xlog.c:table_relation_copy_data
Unexecuted instantiation: heaptoast.c:table_relation_copy_data
Unexecuted instantiation: hio.c:table_relation_copy_data
Unexecuted instantiation: pruneheap.c:table_relation_copy_data
Unexecuted instantiation: rewriteheap.c:table_relation_copy_data
Unexecuted instantiation: vacuumlazy.c:table_relation_copy_data
Unexecuted instantiation: genam.c:table_relation_copy_data
Unexecuted instantiation: indexam.c:table_relation_copy_data
Unexecuted instantiation: nbtdedup.c:table_relation_copy_data
Unexecuted instantiation: nbtinsert.c:table_relation_copy_data
Unexecuted instantiation: nbtpage.c:table_relation_copy_data
Unexecuted instantiation: nbtsort.c:table_relation_copy_data
Unexecuted instantiation: nbtsplitloc.c:table_relation_copy_data
Unexecuted instantiation: spginsert.c:table_relation_copy_data
Unexecuted instantiation: tableam.c:table_relation_copy_data
Unexecuted instantiation: tableamapi.c:table_relation_copy_data
Unexecuted instantiation: xact.c:table_relation_copy_data
Unexecuted instantiation: bootstrap.c:table_relation_copy_data
Unexecuted instantiation: aclchk.c:table_relation_copy_data
Unexecuted instantiation: dependency.c:table_relation_copy_data
Unexecuted instantiation: heap.c:table_relation_copy_data
Unexecuted instantiation: index.c:table_relation_copy_data
Unexecuted instantiation: indexing.c:table_relation_copy_data
Unexecuted instantiation: objectaddress.c:table_relation_copy_data
Unexecuted instantiation: pg_db_role_setting.c:table_relation_copy_data
Unexecuted instantiation: pg_publication.c:table_relation_copy_data
Unexecuted instantiation: pg_subscription.c:table_relation_copy_data
Unexecuted instantiation: toasting.c:table_relation_copy_data
Unexecuted instantiation: gram.c:table_relation_copy_data
Unexecuted instantiation: alter.c:table_relation_copy_data
Unexecuted instantiation: analyze.c:table_relation_copy_data
Unexecuted instantiation: constraint.c:table_relation_copy_data
Unexecuted instantiation: copyfrom.c:table_relation_copy_data
Unexecuted instantiation: copyfromparse.c:table_relation_copy_data
Unexecuted instantiation: copyto.c:table_relation_copy_data
Unexecuted instantiation: createas.c:table_relation_copy_data
Unexecuted instantiation: dbcommands.c:table_relation_copy_data
Unexecuted instantiation: event_trigger.c:table_relation_copy_data
Unexecuted instantiation: indexcmds.c:table_relation_copy_data
Unexecuted instantiation: matview.c:table_relation_copy_data
Unexecuted instantiation: repack.c:table_relation_copy_data
Unexecuted instantiation: tablecmds.c:table_relation_copy_data
Unexecuted instantiation: tablespace.c:table_relation_copy_data
Unexecuted instantiation: trigger.c:table_relation_copy_data
Unexecuted instantiation: typecmds.c:table_relation_copy_data
Unexecuted instantiation: vacuum.c:table_relation_copy_data
Unexecuted instantiation: execIndexing.c:table_relation_copy_data
Unexecuted instantiation: execMain.c:table_relation_copy_data
Unexecuted instantiation: execPartition.c:table_relation_copy_data
Unexecuted instantiation: execReplication.c:table_relation_copy_data
Unexecuted instantiation: execUtils.c:table_relation_copy_data
Unexecuted instantiation: nodeBitmapHeapscan.c:table_relation_copy_data
Unexecuted instantiation: nodeIndexonlyscan.c:table_relation_copy_data
Unexecuted instantiation: nodeIndexscan.c:table_relation_copy_data
Unexecuted instantiation: nodeLockRows.c:table_relation_copy_data
Unexecuted instantiation: nodeModifyTable.c:table_relation_copy_data
Unexecuted instantiation: nodeSamplescan.c:table_relation_copy_data
Unexecuted instantiation: nodeSeqscan.c:table_relation_copy_data
Unexecuted instantiation: nodeTidrangescan.c:table_relation_copy_data
Unexecuted instantiation: nodeTidscan.c:table_relation_copy_data
Unexecuted instantiation: spi.c:table_relation_copy_data
Unexecuted instantiation: copyfuncs.c:table_relation_copy_data
Unexecuted instantiation: equalfuncs.c:table_relation_copy_data
Unexecuted instantiation: outfuncs.c:table_relation_copy_data
Unexecuted instantiation: queryjumblefuncs.c:table_relation_copy_data
Unexecuted instantiation: readfuncs.c:table_relation_copy_data
Unexecuted instantiation: plancat.c:table_relation_copy_data
Unexecuted instantiation: partbounds.c:table_relation_copy_data
Unexecuted instantiation: autovacuum.c:table_relation_copy_data
Unexecuted instantiation: datachecksum_state.c:table_relation_copy_data
Unexecuted instantiation: conflict.c:table_relation_copy_data
Unexecuted instantiation: launcher.c:table_relation_copy_data
Unexecuted instantiation: reorderbuffer.c:table_relation_copy_data
Unexecuted instantiation: worker.c:table_relation_copy_data
Unexecuted instantiation: rewriteHandler.c:table_relation_copy_data
Unexecuted instantiation: attribute_stats.c:table_relation_copy_data
Unexecuted instantiation: extended_stats_funcs.c:table_relation_copy_data
Unexecuted instantiation: relation_stats.c:table_relation_copy_data
Unexecuted instantiation: bufmgr.c:table_relation_copy_data
Unexecuted instantiation: utility.c:table_relation_copy_data
Unexecuted instantiation: ri_triggers.c:table_relation_copy_data
Unexecuted instantiation: ruleutils.c:table_relation_copy_data
Unexecuted instantiation: selfuncs.c:table_relation_copy_data
Unexecuted instantiation: tid.c:table_relation_copy_data
Unexecuted instantiation: trigfuncs.c:table_relation_copy_data
Unexecuted instantiation: tsquery_rewrite.c:table_relation_copy_data
Unexecuted instantiation: tsvector_op.c:table_relation_copy_data
Unexecuted instantiation: xml.c:table_relation_copy_data
Unexecuted instantiation: evtcache.c:table_relation_copy_data
Unexecuted instantiation: funccache.c:table_relation_copy_data
Unexecuted instantiation: relcache.c:table_relation_copy_data
Unexecuted instantiation: postinit.c:table_relation_copy_data
Unexecuted instantiation: guc_tables.c:table_relation_copy_data
Unexecuted instantiation: simple_query_fuzzer.c:table_relation_copy_data
1725
1726
/*
1727
 * Copy data from `OldTable` into `NewTable`, as part of a CLUSTER or VACUUM
1728
 * FULL.
1729
 *
1730
 * Additional Input parameters:
1731
 * - use_sort - if true, the table contents are sorted appropriate for
1732
 *   `OldIndex`; if false and OldIndex is not InvalidOid, the data is copied
1733
 *   in that index's order; if false and OldIndex is InvalidOid, no sorting is
1734
 *   performed
1735
 * - OldIndex - see use_sort
1736
 * - OldestXmin - computed by vacuum_get_cutoffs(), even when
1737
 *   not needed for the relation's AM
1738
 * - *xid_cutoff - ditto
1739
 * - *multi_cutoff - ditto
1740
 * - snapshot - if != NULL, ignore data changes done by transactions that this
1741
 *   (MVCC) snapshot considers still in-progress or in the future.
1742
 *
1743
 * Output parameters:
1744
 * - *xid_cutoff - rel's new relfrozenxid value, may be invalid
1745
 * - *multi_cutoff - rel's new relminmxid value, may be invalid
1746
 * - *tups_vacuumed - stats, for logging, if appropriate for AM
1747
 * - *tups_recently_dead - stats, for logging, if appropriate for AM
1748
 */
1749
static inline void
1750
table_relation_copy_for_cluster(Relation OldTable, Relation NewTable,
1751
                Relation OldIndex,
1752
                bool use_sort,
1753
                TransactionId OldestXmin,
1754
                Snapshot snapshot,
1755
                TransactionId *xid_cutoff,
1756
                MultiXactId *multi_cutoff,
1757
                double *num_tuples,
1758
                double *tups_vacuumed,
1759
                double *tups_recently_dead)
1760
0
{
1761
0
  OldTable->rd_tableam->relation_copy_for_cluster(OldTable, NewTable, OldIndex,
1762
0
                          use_sort, OldestXmin,
1763
0
                          snapshot,
1764
0
                          xid_cutoff, multi_cutoff,
1765
0
                          num_tuples, tups_vacuumed,
1766
0
                          tups_recently_dead);
1767
0
}
Unexecuted instantiation: fuzzer_initialize.c:table_relation_copy_for_cluster
Unexecuted instantiation: brin.c:table_relation_copy_for_cluster
Unexecuted instantiation: detoast.c:table_relation_copy_for_cluster
Unexecuted instantiation: toast_internals.c:table_relation_copy_for_cluster
Unexecuted instantiation: gininsert.c:table_relation_copy_for_cluster
Unexecuted instantiation: gistbuild.c:table_relation_copy_for_cluster
Unexecuted instantiation: hash.c:table_relation_copy_for_cluster
Unexecuted instantiation: heapam.c:table_relation_copy_for_cluster
Unexecuted instantiation: heapam_handler.c:table_relation_copy_for_cluster
Unexecuted instantiation: heapam_indexscan.c:table_relation_copy_for_cluster
Unexecuted instantiation: heapam_visibility.c:table_relation_copy_for_cluster
Unexecuted instantiation: heapam_xlog.c:table_relation_copy_for_cluster
Unexecuted instantiation: heaptoast.c:table_relation_copy_for_cluster
Unexecuted instantiation: hio.c:table_relation_copy_for_cluster
Unexecuted instantiation: pruneheap.c:table_relation_copy_for_cluster
Unexecuted instantiation: rewriteheap.c:table_relation_copy_for_cluster
Unexecuted instantiation: vacuumlazy.c:table_relation_copy_for_cluster
Unexecuted instantiation: genam.c:table_relation_copy_for_cluster
Unexecuted instantiation: indexam.c:table_relation_copy_for_cluster
Unexecuted instantiation: nbtdedup.c:table_relation_copy_for_cluster
Unexecuted instantiation: nbtinsert.c:table_relation_copy_for_cluster
Unexecuted instantiation: nbtpage.c:table_relation_copy_for_cluster
Unexecuted instantiation: nbtsort.c:table_relation_copy_for_cluster
Unexecuted instantiation: nbtsplitloc.c:table_relation_copy_for_cluster
Unexecuted instantiation: spginsert.c:table_relation_copy_for_cluster
Unexecuted instantiation: tableam.c:table_relation_copy_for_cluster
Unexecuted instantiation: tableamapi.c:table_relation_copy_for_cluster
Unexecuted instantiation: xact.c:table_relation_copy_for_cluster
Unexecuted instantiation: bootstrap.c:table_relation_copy_for_cluster
Unexecuted instantiation: aclchk.c:table_relation_copy_for_cluster
Unexecuted instantiation: dependency.c:table_relation_copy_for_cluster
Unexecuted instantiation: heap.c:table_relation_copy_for_cluster
Unexecuted instantiation: index.c:table_relation_copy_for_cluster
Unexecuted instantiation: indexing.c:table_relation_copy_for_cluster
Unexecuted instantiation: objectaddress.c:table_relation_copy_for_cluster
Unexecuted instantiation: pg_db_role_setting.c:table_relation_copy_for_cluster
Unexecuted instantiation: pg_publication.c:table_relation_copy_for_cluster
Unexecuted instantiation: pg_subscription.c:table_relation_copy_for_cluster
Unexecuted instantiation: toasting.c:table_relation_copy_for_cluster
Unexecuted instantiation: gram.c:table_relation_copy_for_cluster
Unexecuted instantiation: alter.c:table_relation_copy_for_cluster
Unexecuted instantiation: analyze.c:table_relation_copy_for_cluster
Unexecuted instantiation: constraint.c:table_relation_copy_for_cluster
Unexecuted instantiation: copyfrom.c:table_relation_copy_for_cluster
Unexecuted instantiation: copyfromparse.c:table_relation_copy_for_cluster
Unexecuted instantiation: copyto.c:table_relation_copy_for_cluster
Unexecuted instantiation: createas.c:table_relation_copy_for_cluster
Unexecuted instantiation: dbcommands.c:table_relation_copy_for_cluster
Unexecuted instantiation: event_trigger.c:table_relation_copy_for_cluster
Unexecuted instantiation: indexcmds.c:table_relation_copy_for_cluster
Unexecuted instantiation: matview.c:table_relation_copy_for_cluster
Unexecuted instantiation: repack.c:table_relation_copy_for_cluster
Unexecuted instantiation: tablecmds.c:table_relation_copy_for_cluster
Unexecuted instantiation: tablespace.c:table_relation_copy_for_cluster
Unexecuted instantiation: trigger.c:table_relation_copy_for_cluster
Unexecuted instantiation: typecmds.c:table_relation_copy_for_cluster
Unexecuted instantiation: vacuum.c:table_relation_copy_for_cluster
Unexecuted instantiation: execIndexing.c:table_relation_copy_for_cluster
Unexecuted instantiation: execMain.c:table_relation_copy_for_cluster
Unexecuted instantiation: execPartition.c:table_relation_copy_for_cluster
Unexecuted instantiation: execReplication.c:table_relation_copy_for_cluster
Unexecuted instantiation: execUtils.c:table_relation_copy_for_cluster
Unexecuted instantiation: nodeBitmapHeapscan.c:table_relation_copy_for_cluster
Unexecuted instantiation: nodeIndexonlyscan.c:table_relation_copy_for_cluster
Unexecuted instantiation: nodeIndexscan.c:table_relation_copy_for_cluster
Unexecuted instantiation: nodeLockRows.c:table_relation_copy_for_cluster
Unexecuted instantiation: nodeModifyTable.c:table_relation_copy_for_cluster
Unexecuted instantiation: nodeSamplescan.c:table_relation_copy_for_cluster
Unexecuted instantiation: nodeSeqscan.c:table_relation_copy_for_cluster
Unexecuted instantiation: nodeTidrangescan.c:table_relation_copy_for_cluster
Unexecuted instantiation: nodeTidscan.c:table_relation_copy_for_cluster
Unexecuted instantiation: spi.c:table_relation_copy_for_cluster
Unexecuted instantiation: copyfuncs.c:table_relation_copy_for_cluster
Unexecuted instantiation: equalfuncs.c:table_relation_copy_for_cluster
Unexecuted instantiation: outfuncs.c:table_relation_copy_for_cluster
Unexecuted instantiation: queryjumblefuncs.c:table_relation_copy_for_cluster
Unexecuted instantiation: readfuncs.c:table_relation_copy_for_cluster
Unexecuted instantiation: plancat.c:table_relation_copy_for_cluster
Unexecuted instantiation: partbounds.c:table_relation_copy_for_cluster
Unexecuted instantiation: autovacuum.c:table_relation_copy_for_cluster
Unexecuted instantiation: datachecksum_state.c:table_relation_copy_for_cluster
Unexecuted instantiation: conflict.c:table_relation_copy_for_cluster
Unexecuted instantiation: launcher.c:table_relation_copy_for_cluster
Unexecuted instantiation: reorderbuffer.c:table_relation_copy_for_cluster
Unexecuted instantiation: worker.c:table_relation_copy_for_cluster
Unexecuted instantiation: rewriteHandler.c:table_relation_copy_for_cluster
Unexecuted instantiation: attribute_stats.c:table_relation_copy_for_cluster
Unexecuted instantiation: extended_stats_funcs.c:table_relation_copy_for_cluster
Unexecuted instantiation: relation_stats.c:table_relation_copy_for_cluster
Unexecuted instantiation: bufmgr.c:table_relation_copy_for_cluster
Unexecuted instantiation: utility.c:table_relation_copy_for_cluster
Unexecuted instantiation: ri_triggers.c:table_relation_copy_for_cluster
Unexecuted instantiation: ruleutils.c:table_relation_copy_for_cluster
Unexecuted instantiation: selfuncs.c:table_relation_copy_for_cluster
Unexecuted instantiation: tid.c:table_relation_copy_for_cluster
Unexecuted instantiation: trigfuncs.c:table_relation_copy_for_cluster
Unexecuted instantiation: tsquery_rewrite.c:table_relation_copy_for_cluster
Unexecuted instantiation: tsvector_op.c:table_relation_copy_for_cluster
Unexecuted instantiation: xml.c:table_relation_copy_for_cluster
Unexecuted instantiation: evtcache.c:table_relation_copy_for_cluster
Unexecuted instantiation: funccache.c:table_relation_copy_for_cluster
Unexecuted instantiation: relcache.c:table_relation_copy_for_cluster
Unexecuted instantiation: postinit.c:table_relation_copy_for_cluster
Unexecuted instantiation: guc_tables.c:table_relation_copy_for_cluster
Unexecuted instantiation: simple_query_fuzzer.c:table_relation_copy_for_cluster
1768
1769
/*
1770
 * Perform VACUUM on the relation. The VACUUM can be triggered by a user or by
1771
 * autovacuum. The specific actions performed by the AM will depend heavily on
1772
 * the individual AM.
1773
 *
1774
 * On entry a transaction needs to already been established, and the
1775
 * table is locked with a ShareUpdateExclusive lock.
1776
 *
1777
 * Note that neither VACUUM FULL (and CLUSTER), nor ANALYZE go through this
1778
 * routine, even if (for ANALYZE) it is part of the same VACUUM command.
1779
 */
1780
static inline void
1781
table_relation_vacuum(Relation rel, const VacuumParams *params,
1782
            BufferAccessStrategy bstrategy)
1783
0
{
1784
0
  rel->rd_tableam->relation_vacuum(rel, params, bstrategy);
1785
0
}
Unexecuted instantiation: fuzzer_initialize.c:table_relation_vacuum
Unexecuted instantiation: brin.c:table_relation_vacuum
Unexecuted instantiation: detoast.c:table_relation_vacuum
Unexecuted instantiation: toast_internals.c:table_relation_vacuum
Unexecuted instantiation: gininsert.c:table_relation_vacuum
Unexecuted instantiation: gistbuild.c:table_relation_vacuum
Unexecuted instantiation: hash.c:table_relation_vacuum
Unexecuted instantiation: heapam.c:table_relation_vacuum
Unexecuted instantiation: heapam_handler.c:table_relation_vacuum
Unexecuted instantiation: heapam_indexscan.c:table_relation_vacuum
Unexecuted instantiation: heapam_visibility.c:table_relation_vacuum
Unexecuted instantiation: heapam_xlog.c:table_relation_vacuum
Unexecuted instantiation: heaptoast.c:table_relation_vacuum
Unexecuted instantiation: hio.c:table_relation_vacuum
Unexecuted instantiation: pruneheap.c:table_relation_vacuum
Unexecuted instantiation: rewriteheap.c:table_relation_vacuum
Unexecuted instantiation: vacuumlazy.c:table_relation_vacuum
Unexecuted instantiation: genam.c:table_relation_vacuum
Unexecuted instantiation: indexam.c:table_relation_vacuum
Unexecuted instantiation: nbtdedup.c:table_relation_vacuum
Unexecuted instantiation: nbtinsert.c:table_relation_vacuum
Unexecuted instantiation: nbtpage.c:table_relation_vacuum
Unexecuted instantiation: nbtsort.c:table_relation_vacuum
Unexecuted instantiation: nbtsplitloc.c:table_relation_vacuum
Unexecuted instantiation: spginsert.c:table_relation_vacuum
Unexecuted instantiation: tableam.c:table_relation_vacuum
Unexecuted instantiation: tableamapi.c:table_relation_vacuum
Unexecuted instantiation: xact.c:table_relation_vacuum
Unexecuted instantiation: bootstrap.c:table_relation_vacuum
Unexecuted instantiation: aclchk.c:table_relation_vacuum
Unexecuted instantiation: dependency.c:table_relation_vacuum
Unexecuted instantiation: heap.c:table_relation_vacuum
Unexecuted instantiation: index.c:table_relation_vacuum
Unexecuted instantiation: indexing.c:table_relation_vacuum
Unexecuted instantiation: objectaddress.c:table_relation_vacuum
Unexecuted instantiation: pg_db_role_setting.c:table_relation_vacuum
Unexecuted instantiation: pg_publication.c:table_relation_vacuum
Unexecuted instantiation: pg_subscription.c:table_relation_vacuum
Unexecuted instantiation: toasting.c:table_relation_vacuum
Unexecuted instantiation: gram.c:table_relation_vacuum
Unexecuted instantiation: alter.c:table_relation_vacuum
Unexecuted instantiation: analyze.c:table_relation_vacuum
Unexecuted instantiation: constraint.c:table_relation_vacuum
Unexecuted instantiation: copyfrom.c:table_relation_vacuum
Unexecuted instantiation: copyfromparse.c:table_relation_vacuum
Unexecuted instantiation: copyto.c:table_relation_vacuum
Unexecuted instantiation: createas.c:table_relation_vacuum
Unexecuted instantiation: dbcommands.c:table_relation_vacuum
Unexecuted instantiation: event_trigger.c:table_relation_vacuum
Unexecuted instantiation: indexcmds.c:table_relation_vacuum
Unexecuted instantiation: matview.c:table_relation_vacuum
Unexecuted instantiation: repack.c:table_relation_vacuum
Unexecuted instantiation: tablecmds.c:table_relation_vacuum
Unexecuted instantiation: tablespace.c:table_relation_vacuum
Unexecuted instantiation: trigger.c:table_relation_vacuum
Unexecuted instantiation: typecmds.c:table_relation_vacuum
Unexecuted instantiation: vacuum.c:table_relation_vacuum
Unexecuted instantiation: execIndexing.c:table_relation_vacuum
Unexecuted instantiation: execMain.c:table_relation_vacuum
Unexecuted instantiation: execPartition.c:table_relation_vacuum
Unexecuted instantiation: execReplication.c:table_relation_vacuum
Unexecuted instantiation: execUtils.c:table_relation_vacuum
Unexecuted instantiation: nodeBitmapHeapscan.c:table_relation_vacuum
Unexecuted instantiation: nodeIndexonlyscan.c:table_relation_vacuum
Unexecuted instantiation: nodeIndexscan.c:table_relation_vacuum
Unexecuted instantiation: nodeLockRows.c:table_relation_vacuum
Unexecuted instantiation: nodeModifyTable.c:table_relation_vacuum
Unexecuted instantiation: nodeSamplescan.c:table_relation_vacuum
Unexecuted instantiation: nodeSeqscan.c:table_relation_vacuum
Unexecuted instantiation: nodeTidrangescan.c:table_relation_vacuum
Unexecuted instantiation: nodeTidscan.c:table_relation_vacuum
Unexecuted instantiation: spi.c:table_relation_vacuum
Unexecuted instantiation: copyfuncs.c:table_relation_vacuum
Unexecuted instantiation: equalfuncs.c:table_relation_vacuum
Unexecuted instantiation: outfuncs.c:table_relation_vacuum
Unexecuted instantiation: queryjumblefuncs.c:table_relation_vacuum
Unexecuted instantiation: readfuncs.c:table_relation_vacuum
Unexecuted instantiation: plancat.c:table_relation_vacuum
Unexecuted instantiation: partbounds.c:table_relation_vacuum
Unexecuted instantiation: autovacuum.c:table_relation_vacuum
Unexecuted instantiation: datachecksum_state.c:table_relation_vacuum
Unexecuted instantiation: conflict.c:table_relation_vacuum
Unexecuted instantiation: launcher.c:table_relation_vacuum
Unexecuted instantiation: reorderbuffer.c:table_relation_vacuum
Unexecuted instantiation: worker.c:table_relation_vacuum
Unexecuted instantiation: rewriteHandler.c:table_relation_vacuum
Unexecuted instantiation: attribute_stats.c:table_relation_vacuum
Unexecuted instantiation: extended_stats_funcs.c:table_relation_vacuum
Unexecuted instantiation: relation_stats.c:table_relation_vacuum
Unexecuted instantiation: bufmgr.c:table_relation_vacuum
Unexecuted instantiation: utility.c:table_relation_vacuum
Unexecuted instantiation: ri_triggers.c:table_relation_vacuum
Unexecuted instantiation: ruleutils.c:table_relation_vacuum
Unexecuted instantiation: selfuncs.c:table_relation_vacuum
Unexecuted instantiation: tid.c:table_relation_vacuum
Unexecuted instantiation: trigfuncs.c:table_relation_vacuum
Unexecuted instantiation: tsquery_rewrite.c:table_relation_vacuum
Unexecuted instantiation: tsvector_op.c:table_relation_vacuum
Unexecuted instantiation: xml.c:table_relation_vacuum
Unexecuted instantiation: evtcache.c:table_relation_vacuum
Unexecuted instantiation: funccache.c:table_relation_vacuum
Unexecuted instantiation: relcache.c:table_relation_vacuum
Unexecuted instantiation: postinit.c:table_relation_vacuum
Unexecuted instantiation: guc_tables.c:table_relation_vacuum
Unexecuted instantiation: simple_query_fuzzer.c:table_relation_vacuum
1786
1787
/*
1788
 * Prepare to analyze the next block in the read stream. The scan needs to
1789
 * have been  started with table_beginscan_analyze().  Note that this routine
1790
 * might acquire resources like locks that are held until
1791
 * table_scan_analyze_next_tuple() returns false.
1792
 *
1793
 * Returns false if block is unsuitable for sampling, true otherwise.
1794
 */
1795
static inline bool
1796
table_scan_analyze_next_block(TableScanDesc scan, ReadStream *stream)
1797
0
{
1798
0
  return scan->rs_rd->rd_tableam->scan_analyze_next_block(scan, stream);
1799
0
}
Unexecuted instantiation: fuzzer_initialize.c:table_scan_analyze_next_block
Unexecuted instantiation: brin.c:table_scan_analyze_next_block
Unexecuted instantiation: detoast.c:table_scan_analyze_next_block
Unexecuted instantiation: toast_internals.c:table_scan_analyze_next_block
Unexecuted instantiation: gininsert.c:table_scan_analyze_next_block
Unexecuted instantiation: gistbuild.c:table_scan_analyze_next_block
Unexecuted instantiation: hash.c:table_scan_analyze_next_block
Unexecuted instantiation: heapam.c:table_scan_analyze_next_block
Unexecuted instantiation: heapam_handler.c:table_scan_analyze_next_block
Unexecuted instantiation: heapam_indexscan.c:table_scan_analyze_next_block
Unexecuted instantiation: heapam_visibility.c:table_scan_analyze_next_block
Unexecuted instantiation: heapam_xlog.c:table_scan_analyze_next_block
Unexecuted instantiation: heaptoast.c:table_scan_analyze_next_block
Unexecuted instantiation: hio.c:table_scan_analyze_next_block
Unexecuted instantiation: pruneheap.c:table_scan_analyze_next_block
Unexecuted instantiation: rewriteheap.c:table_scan_analyze_next_block
Unexecuted instantiation: vacuumlazy.c:table_scan_analyze_next_block
Unexecuted instantiation: genam.c:table_scan_analyze_next_block
Unexecuted instantiation: indexam.c:table_scan_analyze_next_block
Unexecuted instantiation: nbtdedup.c:table_scan_analyze_next_block
Unexecuted instantiation: nbtinsert.c:table_scan_analyze_next_block
Unexecuted instantiation: nbtpage.c:table_scan_analyze_next_block
Unexecuted instantiation: nbtsort.c:table_scan_analyze_next_block
Unexecuted instantiation: nbtsplitloc.c:table_scan_analyze_next_block
Unexecuted instantiation: spginsert.c:table_scan_analyze_next_block
Unexecuted instantiation: tableam.c:table_scan_analyze_next_block
Unexecuted instantiation: tableamapi.c:table_scan_analyze_next_block
Unexecuted instantiation: xact.c:table_scan_analyze_next_block
Unexecuted instantiation: bootstrap.c:table_scan_analyze_next_block
Unexecuted instantiation: aclchk.c:table_scan_analyze_next_block
Unexecuted instantiation: dependency.c:table_scan_analyze_next_block
Unexecuted instantiation: heap.c:table_scan_analyze_next_block
Unexecuted instantiation: index.c:table_scan_analyze_next_block
Unexecuted instantiation: indexing.c:table_scan_analyze_next_block
Unexecuted instantiation: objectaddress.c:table_scan_analyze_next_block
Unexecuted instantiation: pg_db_role_setting.c:table_scan_analyze_next_block
Unexecuted instantiation: pg_publication.c:table_scan_analyze_next_block
Unexecuted instantiation: pg_subscription.c:table_scan_analyze_next_block
Unexecuted instantiation: toasting.c:table_scan_analyze_next_block
Unexecuted instantiation: gram.c:table_scan_analyze_next_block
Unexecuted instantiation: alter.c:table_scan_analyze_next_block
Unexecuted instantiation: analyze.c:table_scan_analyze_next_block
Unexecuted instantiation: constraint.c:table_scan_analyze_next_block
Unexecuted instantiation: copyfrom.c:table_scan_analyze_next_block
Unexecuted instantiation: copyfromparse.c:table_scan_analyze_next_block
Unexecuted instantiation: copyto.c:table_scan_analyze_next_block
Unexecuted instantiation: createas.c:table_scan_analyze_next_block
Unexecuted instantiation: dbcommands.c:table_scan_analyze_next_block
Unexecuted instantiation: event_trigger.c:table_scan_analyze_next_block
Unexecuted instantiation: indexcmds.c:table_scan_analyze_next_block
Unexecuted instantiation: matview.c:table_scan_analyze_next_block
Unexecuted instantiation: repack.c:table_scan_analyze_next_block
Unexecuted instantiation: tablecmds.c:table_scan_analyze_next_block
Unexecuted instantiation: tablespace.c:table_scan_analyze_next_block
Unexecuted instantiation: trigger.c:table_scan_analyze_next_block
Unexecuted instantiation: typecmds.c:table_scan_analyze_next_block
Unexecuted instantiation: vacuum.c:table_scan_analyze_next_block
Unexecuted instantiation: execIndexing.c:table_scan_analyze_next_block
Unexecuted instantiation: execMain.c:table_scan_analyze_next_block
Unexecuted instantiation: execPartition.c:table_scan_analyze_next_block
Unexecuted instantiation: execReplication.c:table_scan_analyze_next_block
Unexecuted instantiation: execUtils.c:table_scan_analyze_next_block
Unexecuted instantiation: nodeBitmapHeapscan.c:table_scan_analyze_next_block
Unexecuted instantiation: nodeIndexonlyscan.c:table_scan_analyze_next_block
Unexecuted instantiation: nodeIndexscan.c:table_scan_analyze_next_block
Unexecuted instantiation: nodeLockRows.c:table_scan_analyze_next_block
Unexecuted instantiation: nodeModifyTable.c:table_scan_analyze_next_block
Unexecuted instantiation: nodeSamplescan.c:table_scan_analyze_next_block
Unexecuted instantiation: nodeSeqscan.c:table_scan_analyze_next_block
Unexecuted instantiation: nodeTidrangescan.c:table_scan_analyze_next_block
Unexecuted instantiation: nodeTidscan.c:table_scan_analyze_next_block
Unexecuted instantiation: spi.c:table_scan_analyze_next_block
Unexecuted instantiation: copyfuncs.c:table_scan_analyze_next_block
Unexecuted instantiation: equalfuncs.c:table_scan_analyze_next_block
Unexecuted instantiation: outfuncs.c:table_scan_analyze_next_block
Unexecuted instantiation: queryjumblefuncs.c:table_scan_analyze_next_block
Unexecuted instantiation: readfuncs.c:table_scan_analyze_next_block
Unexecuted instantiation: plancat.c:table_scan_analyze_next_block
Unexecuted instantiation: partbounds.c:table_scan_analyze_next_block
Unexecuted instantiation: autovacuum.c:table_scan_analyze_next_block
Unexecuted instantiation: datachecksum_state.c:table_scan_analyze_next_block
Unexecuted instantiation: conflict.c:table_scan_analyze_next_block
Unexecuted instantiation: launcher.c:table_scan_analyze_next_block
Unexecuted instantiation: reorderbuffer.c:table_scan_analyze_next_block
Unexecuted instantiation: worker.c:table_scan_analyze_next_block
Unexecuted instantiation: rewriteHandler.c:table_scan_analyze_next_block
Unexecuted instantiation: attribute_stats.c:table_scan_analyze_next_block
Unexecuted instantiation: extended_stats_funcs.c:table_scan_analyze_next_block
Unexecuted instantiation: relation_stats.c:table_scan_analyze_next_block
Unexecuted instantiation: bufmgr.c:table_scan_analyze_next_block
Unexecuted instantiation: utility.c:table_scan_analyze_next_block
Unexecuted instantiation: ri_triggers.c:table_scan_analyze_next_block
Unexecuted instantiation: ruleutils.c:table_scan_analyze_next_block
Unexecuted instantiation: selfuncs.c:table_scan_analyze_next_block
Unexecuted instantiation: tid.c:table_scan_analyze_next_block
Unexecuted instantiation: trigfuncs.c:table_scan_analyze_next_block
Unexecuted instantiation: tsquery_rewrite.c:table_scan_analyze_next_block
Unexecuted instantiation: tsvector_op.c:table_scan_analyze_next_block
Unexecuted instantiation: xml.c:table_scan_analyze_next_block
Unexecuted instantiation: evtcache.c:table_scan_analyze_next_block
Unexecuted instantiation: funccache.c:table_scan_analyze_next_block
Unexecuted instantiation: relcache.c:table_scan_analyze_next_block
Unexecuted instantiation: postinit.c:table_scan_analyze_next_block
Unexecuted instantiation: guc_tables.c:table_scan_analyze_next_block
Unexecuted instantiation: simple_query_fuzzer.c:table_scan_analyze_next_block
1800
1801
/*
1802
 * Iterate over tuples in the block selected with
1803
 * table_scan_analyze_next_block() (which needs to have returned true, and
1804
 * this routine may not have returned false for the same block before). If a
1805
 * tuple that's suitable for sampling is found, true is returned and a tuple
1806
 * is stored in `slot`.
1807
 *
1808
 * *liverows and *deadrows are incremented according to the encountered
1809
 * tuples.
1810
 */
1811
static inline bool
1812
table_scan_analyze_next_tuple(TableScanDesc scan,
1813
                double *liverows, double *deadrows,
1814
                TupleTableSlot *slot)
1815
0
{
1816
0
  return scan->rs_rd->rd_tableam->scan_analyze_next_tuple(scan,
1817
0
                              liverows, deadrows,
1818
0
                              slot);
1819
0
}
Unexecuted instantiation: fuzzer_initialize.c:table_scan_analyze_next_tuple
Unexecuted instantiation: brin.c:table_scan_analyze_next_tuple
Unexecuted instantiation: detoast.c:table_scan_analyze_next_tuple
Unexecuted instantiation: toast_internals.c:table_scan_analyze_next_tuple
Unexecuted instantiation: gininsert.c:table_scan_analyze_next_tuple
Unexecuted instantiation: gistbuild.c:table_scan_analyze_next_tuple
Unexecuted instantiation: hash.c:table_scan_analyze_next_tuple
Unexecuted instantiation: heapam.c:table_scan_analyze_next_tuple
Unexecuted instantiation: heapam_handler.c:table_scan_analyze_next_tuple
Unexecuted instantiation: heapam_indexscan.c:table_scan_analyze_next_tuple
Unexecuted instantiation: heapam_visibility.c:table_scan_analyze_next_tuple
Unexecuted instantiation: heapam_xlog.c:table_scan_analyze_next_tuple
Unexecuted instantiation: heaptoast.c:table_scan_analyze_next_tuple
Unexecuted instantiation: hio.c:table_scan_analyze_next_tuple
Unexecuted instantiation: pruneheap.c:table_scan_analyze_next_tuple
Unexecuted instantiation: rewriteheap.c:table_scan_analyze_next_tuple
Unexecuted instantiation: vacuumlazy.c:table_scan_analyze_next_tuple
Unexecuted instantiation: genam.c:table_scan_analyze_next_tuple
Unexecuted instantiation: indexam.c:table_scan_analyze_next_tuple
Unexecuted instantiation: nbtdedup.c:table_scan_analyze_next_tuple
Unexecuted instantiation: nbtinsert.c:table_scan_analyze_next_tuple
Unexecuted instantiation: nbtpage.c:table_scan_analyze_next_tuple
Unexecuted instantiation: nbtsort.c:table_scan_analyze_next_tuple
Unexecuted instantiation: nbtsplitloc.c:table_scan_analyze_next_tuple
Unexecuted instantiation: spginsert.c:table_scan_analyze_next_tuple
Unexecuted instantiation: tableam.c:table_scan_analyze_next_tuple
Unexecuted instantiation: tableamapi.c:table_scan_analyze_next_tuple
Unexecuted instantiation: xact.c:table_scan_analyze_next_tuple
Unexecuted instantiation: bootstrap.c:table_scan_analyze_next_tuple
Unexecuted instantiation: aclchk.c:table_scan_analyze_next_tuple
Unexecuted instantiation: dependency.c:table_scan_analyze_next_tuple
Unexecuted instantiation: heap.c:table_scan_analyze_next_tuple
Unexecuted instantiation: index.c:table_scan_analyze_next_tuple
Unexecuted instantiation: indexing.c:table_scan_analyze_next_tuple
Unexecuted instantiation: objectaddress.c:table_scan_analyze_next_tuple
Unexecuted instantiation: pg_db_role_setting.c:table_scan_analyze_next_tuple
Unexecuted instantiation: pg_publication.c:table_scan_analyze_next_tuple
Unexecuted instantiation: pg_subscription.c:table_scan_analyze_next_tuple
Unexecuted instantiation: toasting.c:table_scan_analyze_next_tuple
Unexecuted instantiation: gram.c:table_scan_analyze_next_tuple
Unexecuted instantiation: alter.c:table_scan_analyze_next_tuple
Unexecuted instantiation: analyze.c:table_scan_analyze_next_tuple
Unexecuted instantiation: constraint.c:table_scan_analyze_next_tuple
Unexecuted instantiation: copyfrom.c:table_scan_analyze_next_tuple
Unexecuted instantiation: copyfromparse.c:table_scan_analyze_next_tuple
Unexecuted instantiation: copyto.c:table_scan_analyze_next_tuple
Unexecuted instantiation: createas.c:table_scan_analyze_next_tuple
Unexecuted instantiation: dbcommands.c:table_scan_analyze_next_tuple
Unexecuted instantiation: event_trigger.c:table_scan_analyze_next_tuple
Unexecuted instantiation: indexcmds.c:table_scan_analyze_next_tuple
Unexecuted instantiation: matview.c:table_scan_analyze_next_tuple
Unexecuted instantiation: repack.c:table_scan_analyze_next_tuple
Unexecuted instantiation: tablecmds.c:table_scan_analyze_next_tuple
Unexecuted instantiation: tablespace.c:table_scan_analyze_next_tuple
Unexecuted instantiation: trigger.c:table_scan_analyze_next_tuple
Unexecuted instantiation: typecmds.c:table_scan_analyze_next_tuple
Unexecuted instantiation: vacuum.c:table_scan_analyze_next_tuple
Unexecuted instantiation: execIndexing.c:table_scan_analyze_next_tuple
Unexecuted instantiation: execMain.c:table_scan_analyze_next_tuple
Unexecuted instantiation: execPartition.c:table_scan_analyze_next_tuple
Unexecuted instantiation: execReplication.c:table_scan_analyze_next_tuple
Unexecuted instantiation: execUtils.c:table_scan_analyze_next_tuple
Unexecuted instantiation: nodeBitmapHeapscan.c:table_scan_analyze_next_tuple
Unexecuted instantiation: nodeIndexonlyscan.c:table_scan_analyze_next_tuple
Unexecuted instantiation: nodeIndexscan.c:table_scan_analyze_next_tuple
Unexecuted instantiation: nodeLockRows.c:table_scan_analyze_next_tuple
Unexecuted instantiation: nodeModifyTable.c:table_scan_analyze_next_tuple
Unexecuted instantiation: nodeSamplescan.c:table_scan_analyze_next_tuple
Unexecuted instantiation: nodeSeqscan.c:table_scan_analyze_next_tuple
Unexecuted instantiation: nodeTidrangescan.c:table_scan_analyze_next_tuple
Unexecuted instantiation: nodeTidscan.c:table_scan_analyze_next_tuple
Unexecuted instantiation: spi.c:table_scan_analyze_next_tuple
Unexecuted instantiation: copyfuncs.c:table_scan_analyze_next_tuple
Unexecuted instantiation: equalfuncs.c:table_scan_analyze_next_tuple
Unexecuted instantiation: outfuncs.c:table_scan_analyze_next_tuple
Unexecuted instantiation: queryjumblefuncs.c:table_scan_analyze_next_tuple
Unexecuted instantiation: readfuncs.c:table_scan_analyze_next_tuple
Unexecuted instantiation: plancat.c:table_scan_analyze_next_tuple
Unexecuted instantiation: partbounds.c:table_scan_analyze_next_tuple
Unexecuted instantiation: autovacuum.c:table_scan_analyze_next_tuple
Unexecuted instantiation: datachecksum_state.c:table_scan_analyze_next_tuple
Unexecuted instantiation: conflict.c:table_scan_analyze_next_tuple
Unexecuted instantiation: launcher.c:table_scan_analyze_next_tuple
Unexecuted instantiation: reorderbuffer.c:table_scan_analyze_next_tuple
Unexecuted instantiation: worker.c:table_scan_analyze_next_tuple
Unexecuted instantiation: rewriteHandler.c:table_scan_analyze_next_tuple
Unexecuted instantiation: attribute_stats.c:table_scan_analyze_next_tuple
Unexecuted instantiation: extended_stats_funcs.c:table_scan_analyze_next_tuple
Unexecuted instantiation: relation_stats.c:table_scan_analyze_next_tuple
Unexecuted instantiation: bufmgr.c:table_scan_analyze_next_tuple
Unexecuted instantiation: utility.c:table_scan_analyze_next_tuple
Unexecuted instantiation: ri_triggers.c:table_scan_analyze_next_tuple
Unexecuted instantiation: ruleutils.c:table_scan_analyze_next_tuple
Unexecuted instantiation: selfuncs.c:table_scan_analyze_next_tuple
Unexecuted instantiation: tid.c:table_scan_analyze_next_tuple
Unexecuted instantiation: trigfuncs.c:table_scan_analyze_next_tuple
Unexecuted instantiation: tsquery_rewrite.c:table_scan_analyze_next_tuple
Unexecuted instantiation: tsvector_op.c:table_scan_analyze_next_tuple
Unexecuted instantiation: xml.c:table_scan_analyze_next_tuple
Unexecuted instantiation: evtcache.c:table_scan_analyze_next_tuple
Unexecuted instantiation: funccache.c:table_scan_analyze_next_tuple
Unexecuted instantiation: relcache.c:table_scan_analyze_next_tuple
Unexecuted instantiation: postinit.c:table_scan_analyze_next_tuple
Unexecuted instantiation: guc_tables.c:table_scan_analyze_next_tuple
Unexecuted instantiation: simple_query_fuzzer.c:table_scan_analyze_next_tuple
1820
1821
/*
1822
 * table_index_build_scan - scan the table to find tuples to be indexed
1823
 *
1824
 * This is called back from an access-method-specific index build procedure
1825
 * after the AM has done whatever setup it needs.  The parent table relation
1826
 * is scanned to find tuples that should be entered into the index.  Each
1827
 * such tuple is passed to the AM's callback routine, which does the right
1828
 * things to add it to the new index.  After we return, the AM's index
1829
 * build procedure does whatever cleanup it needs.
1830
 *
1831
 * The total count of live tuples is returned.  This is for updating pg_class
1832
 * statistics.  (It's annoying not to be able to do that here, but we want to
1833
 * merge that update with others; see index_update_stats.)  Note that the
1834
 * index AM itself must keep track of the number of index tuples; we don't do
1835
 * so here because the AM might reject some of the tuples for its own reasons,
1836
 * such as being unable to store NULLs.
1837
 *
1838
 * If 'progress', the PROGRESS_SCAN_BLOCKS_TOTAL counter is updated when
1839
 * starting the scan, and PROGRESS_SCAN_BLOCKS_DONE is updated as we go along.
1840
 *
1841
 * A side effect is to set indexInfo->ii_BrokenHotChain to true if we detect
1842
 * any potentially broken HOT chains.  Currently, we set this if there are any
1843
 * RECENTLY_DEAD or DELETE_IN_PROGRESS entries in a HOT chain, without trying
1844
 * very hard to detect whether they're really incompatible with the chain tip.
1845
 * This only really makes sense for heap AM, it might need to be generalized
1846
 * for other AMs later.
1847
 */
1848
static inline double
1849
table_index_build_scan(Relation table_rel,
1850
             Relation index_rel,
1851
             IndexInfo *index_info,
1852
             bool allow_sync,
1853
             bool progress,
1854
             IndexBuildCallback callback,
1855
             void *callback_state,
1856
             TableScanDesc scan)
1857
0
{
1858
0
  return table_rel->rd_tableam->index_build_range_scan(table_rel,
1859
0
                             index_rel,
1860
0
                             index_info,
1861
0
                             allow_sync,
1862
0
                             false,
1863
0
                             progress,
1864
0
                             0,
1865
0
                             InvalidBlockNumber,
1866
0
                             callback,
1867
0
                             callback_state,
1868
0
                             scan);
1869
0
}
Unexecuted instantiation: fuzzer_initialize.c:table_index_build_scan
Unexecuted instantiation: brin.c:table_index_build_scan
Unexecuted instantiation: detoast.c:table_index_build_scan
Unexecuted instantiation: toast_internals.c:table_index_build_scan
Unexecuted instantiation: gininsert.c:table_index_build_scan
Unexecuted instantiation: gistbuild.c:table_index_build_scan
Unexecuted instantiation: hash.c:table_index_build_scan
Unexecuted instantiation: heapam.c:table_index_build_scan
Unexecuted instantiation: heapam_handler.c:table_index_build_scan
Unexecuted instantiation: heapam_indexscan.c:table_index_build_scan
Unexecuted instantiation: heapam_visibility.c:table_index_build_scan
Unexecuted instantiation: heapam_xlog.c:table_index_build_scan
Unexecuted instantiation: heaptoast.c:table_index_build_scan
Unexecuted instantiation: hio.c:table_index_build_scan
Unexecuted instantiation: pruneheap.c:table_index_build_scan
Unexecuted instantiation: rewriteheap.c:table_index_build_scan
Unexecuted instantiation: vacuumlazy.c:table_index_build_scan
Unexecuted instantiation: genam.c:table_index_build_scan
Unexecuted instantiation: indexam.c:table_index_build_scan
Unexecuted instantiation: nbtdedup.c:table_index_build_scan
Unexecuted instantiation: nbtinsert.c:table_index_build_scan
Unexecuted instantiation: nbtpage.c:table_index_build_scan
Unexecuted instantiation: nbtsort.c:table_index_build_scan
Unexecuted instantiation: nbtsplitloc.c:table_index_build_scan
Unexecuted instantiation: spginsert.c:table_index_build_scan
Unexecuted instantiation: tableam.c:table_index_build_scan
Unexecuted instantiation: tableamapi.c:table_index_build_scan
Unexecuted instantiation: xact.c:table_index_build_scan
Unexecuted instantiation: bootstrap.c:table_index_build_scan
Unexecuted instantiation: aclchk.c:table_index_build_scan
Unexecuted instantiation: dependency.c:table_index_build_scan
Unexecuted instantiation: heap.c:table_index_build_scan
Unexecuted instantiation: index.c:table_index_build_scan
Unexecuted instantiation: indexing.c:table_index_build_scan
Unexecuted instantiation: objectaddress.c:table_index_build_scan
Unexecuted instantiation: pg_db_role_setting.c:table_index_build_scan
Unexecuted instantiation: pg_publication.c:table_index_build_scan
Unexecuted instantiation: pg_subscription.c:table_index_build_scan
Unexecuted instantiation: toasting.c:table_index_build_scan
Unexecuted instantiation: gram.c:table_index_build_scan
Unexecuted instantiation: alter.c:table_index_build_scan
Unexecuted instantiation: analyze.c:table_index_build_scan
Unexecuted instantiation: constraint.c:table_index_build_scan
Unexecuted instantiation: copyfrom.c:table_index_build_scan
Unexecuted instantiation: copyfromparse.c:table_index_build_scan
Unexecuted instantiation: copyto.c:table_index_build_scan
Unexecuted instantiation: createas.c:table_index_build_scan
Unexecuted instantiation: dbcommands.c:table_index_build_scan
Unexecuted instantiation: event_trigger.c:table_index_build_scan
Unexecuted instantiation: indexcmds.c:table_index_build_scan
Unexecuted instantiation: matview.c:table_index_build_scan
Unexecuted instantiation: repack.c:table_index_build_scan
Unexecuted instantiation: tablecmds.c:table_index_build_scan
Unexecuted instantiation: tablespace.c:table_index_build_scan
Unexecuted instantiation: trigger.c:table_index_build_scan
Unexecuted instantiation: typecmds.c:table_index_build_scan
Unexecuted instantiation: vacuum.c:table_index_build_scan
Unexecuted instantiation: execIndexing.c:table_index_build_scan
Unexecuted instantiation: execMain.c:table_index_build_scan
Unexecuted instantiation: execPartition.c:table_index_build_scan
Unexecuted instantiation: execReplication.c:table_index_build_scan
Unexecuted instantiation: execUtils.c:table_index_build_scan
Unexecuted instantiation: nodeBitmapHeapscan.c:table_index_build_scan
Unexecuted instantiation: nodeIndexonlyscan.c:table_index_build_scan
Unexecuted instantiation: nodeIndexscan.c:table_index_build_scan
Unexecuted instantiation: nodeLockRows.c:table_index_build_scan
Unexecuted instantiation: nodeModifyTable.c:table_index_build_scan
Unexecuted instantiation: nodeSamplescan.c:table_index_build_scan
Unexecuted instantiation: nodeSeqscan.c:table_index_build_scan
Unexecuted instantiation: nodeTidrangescan.c:table_index_build_scan
Unexecuted instantiation: nodeTidscan.c:table_index_build_scan
Unexecuted instantiation: spi.c:table_index_build_scan
Unexecuted instantiation: copyfuncs.c:table_index_build_scan
Unexecuted instantiation: equalfuncs.c:table_index_build_scan
Unexecuted instantiation: outfuncs.c:table_index_build_scan
Unexecuted instantiation: queryjumblefuncs.c:table_index_build_scan
Unexecuted instantiation: readfuncs.c:table_index_build_scan
Unexecuted instantiation: plancat.c:table_index_build_scan
Unexecuted instantiation: partbounds.c:table_index_build_scan
Unexecuted instantiation: autovacuum.c:table_index_build_scan
Unexecuted instantiation: datachecksum_state.c:table_index_build_scan
Unexecuted instantiation: conflict.c:table_index_build_scan
Unexecuted instantiation: launcher.c:table_index_build_scan
Unexecuted instantiation: reorderbuffer.c:table_index_build_scan
Unexecuted instantiation: worker.c:table_index_build_scan
Unexecuted instantiation: rewriteHandler.c:table_index_build_scan
Unexecuted instantiation: attribute_stats.c:table_index_build_scan
Unexecuted instantiation: extended_stats_funcs.c:table_index_build_scan
Unexecuted instantiation: relation_stats.c:table_index_build_scan
Unexecuted instantiation: bufmgr.c:table_index_build_scan
Unexecuted instantiation: utility.c:table_index_build_scan
Unexecuted instantiation: ri_triggers.c:table_index_build_scan
Unexecuted instantiation: ruleutils.c:table_index_build_scan
Unexecuted instantiation: selfuncs.c:table_index_build_scan
Unexecuted instantiation: tid.c:table_index_build_scan
Unexecuted instantiation: trigfuncs.c:table_index_build_scan
Unexecuted instantiation: tsquery_rewrite.c:table_index_build_scan
Unexecuted instantiation: tsvector_op.c:table_index_build_scan
Unexecuted instantiation: xml.c:table_index_build_scan
Unexecuted instantiation: evtcache.c:table_index_build_scan
Unexecuted instantiation: funccache.c:table_index_build_scan
Unexecuted instantiation: relcache.c:table_index_build_scan
Unexecuted instantiation: postinit.c:table_index_build_scan
Unexecuted instantiation: guc_tables.c:table_index_build_scan
Unexecuted instantiation: simple_query_fuzzer.c:table_index_build_scan
1870
1871
/*
1872
 * As table_index_build_scan(), except that instead of scanning the complete
1873
 * table, only the given number of blocks are scanned.  Scan to end-of-rel can
1874
 * be signaled by passing InvalidBlockNumber as numblocks.  Note that
1875
 * restricting the range to scan cannot be done when requesting syncscan.
1876
 *
1877
 * When "anyvisible" mode is requested, all tuples visible to any transaction
1878
 * are indexed and counted as live, including those inserted or deleted by
1879
 * transactions that are still in progress.
1880
 */
1881
static inline double
1882
table_index_build_range_scan(Relation table_rel,
1883
               Relation index_rel,
1884
               IndexInfo *index_info,
1885
               bool allow_sync,
1886
               bool anyvisible,
1887
               bool progress,
1888
               BlockNumber start_blockno,
1889
               BlockNumber numblocks,
1890
               IndexBuildCallback callback,
1891
               void *callback_state,
1892
               TableScanDesc scan)
1893
0
{
1894
0
  return table_rel->rd_tableam->index_build_range_scan(table_rel,
1895
0
                             index_rel,
1896
0
                             index_info,
1897
0
                             allow_sync,
1898
0
                             anyvisible,
1899
0
                             progress,
1900
0
                             start_blockno,
1901
0
                             numblocks,
1902
0
                             callback,
1903
0
                             callback_state,
1904
0
                             scan);
1905
0
}
Unexecuted instantiation: fuzzer_initialize.c:table_index_build_range_scan
Unexecuted instantiation: brin.c:table_index_build_range_scan
Unexecuted instantiation: detoast.c:table_index_build_range_scan
Unexecuted instantiation: toast_internals.c:table_index_build_range_scan
Unexecuted instantiation: gininsert.c:table_index_build_range_scan
Unexecuted instantiation: gistbuild.c:table_index_build_range_scan
Unexecuted instantiation: hash.c:table_index_build_range_scan
Unexecuted instantiation: heapam.c:table_index_build_range_scan
Unexecuted instantiation: heapam_handler.c:table_index_build_range_scan
Unexecuted instantiation: heapam_indexscan.c:table_index_build_range_scan
Unexecuted instantiation: heapam_visibility.c:table_index_build_range_scan
Unexecuted instantiation: heapam_xlog.c:table_index_build_range_scan
Unexecuted instantiation: heaptoast.c:table_index_build_range_scan
Unexecuted instantiation: hio.c:table_index_build_range_scan
Unexecuted instantiation: pruneheap.c:table_index_build_range_scan
Unexecuted instantiation: rewriteheap.c:table_index_build_range_scan
Unexecuted instantiation: vacuumlazy.c:table_index_build_range_scan
Unexecuted instantiation: genam.c:table_index_build_range_scan
Unexecuted instantiation: indexam.c:table_index_build_range_scan
Unexecuted instantiation: nbtdedup.c:table_index_build_range_scan
Unexecuted instantiation: nbtinsert.c:table_index_build_range_scan
Unexecuted instantiation: nbtpage.c:table_index_build_range_scan
Unexecuted instantiation: nbtsort.c:table_index_build_range_scan
Unexecuted instantiation: nbtsplitloc.c:table_index_build_range_scan
Unexecuted instantiation: spginsert.c:table_index_build_range_scan
Unexecuted instantiation: tableam.c:table_index_build_range_scan
Unexecuted instantiation: tableamapi.c:table_index_build_range_scan
Unexecuted instantiation: xact.c:table_index_build_range_scan
Unexecuted instantiation: bootstrap.c:table_index_build_range_scan
Unexecuted instantiation: aclchk.c:table_index_build_range_scan
Unexecuted instantiation: dependency.c:table_index_build_range_scan
Unexecuted instantiation: heap.c:table_index_build_range_scan
Unexecuted instantiation: index.c:table_index_build_range_scan
Unexecuted instantiation: indexing.c:table_index_build_range_scan
Unexecuted instantiation: objectaddress.c:table_index_build_range_scan
Unexecuted instantiation: pg_db_role_setting.c:table_index_build_range_scan
Unexecuted instantiation: pg_publication.c:table_index_build_range_scan
Unexecuted instantiation: pg_subscription.c:table_index_build_range_scan
Unexecuted instantiation: toasting.c:table_index_build_range_scan
Unexecuted instantiation: gram.c:table_index_build_range_scan
Unexecuted instantiation: alter.c:table_index_build_range_scan
Unexecuted instantiation: analyze.c:table_index_build_range_scan
Unexecuted instantiation: constraint.c:table_index_build_range_scan
Unexecuted instantiation: copyfrom.c:table_index_build_range_scan
Unexecuted instantiation: copyfromparse.c:table_index_build_range_scan
Unexecuted instantiation: copyto.c:table_index_build_range_scan
Unexecuted instantiation: createas.c:table_index_build_range_scan
Unexecuted instantiation: dbcommands.c:table_index_build_range_scan
Unexecuted instantiation: event_trigger.c:table_index_build_range_scan
Unexecuted instantiation: indexcmds.c:table_index_build_range_scan
Unexecuted instantiation: matview.c:table_index_build_range_scan
Unexecuted instantiation: repack.c:table_index_build_range_scan
Unexecuted instantiation: tablecmds.c:table_index_build_range_scan
Unexecuted instantiation: tablespace.c:table_index_build_range_scan
Unexecuted instantiation: trigger.c:table_index_build_range_scan
Unexecuted instantiation: typecmds.c:table_index_build_range_scan
Unexecuted instantiation: vacuum.c:table_index_build_range_scan
Unexecuted instantiation: execIndexing.c:table_index_build_range_scan
Unexecuted instantiation: execMain.c:table_index_build_range_scan
Unexecuted instantiation: execPartition.c:table_index_build_range_scan
Unexecuted instantiation: execReplication.c:table_index_build_range_scan
Unexecuted instantiation: execUtils.c:table_index_build_range_scan
Unexecuted instantiation: nodeBitmapHeapscan.c:table_index_build_range_scan
Unexecuted instantiation: nodeIndexonlyscan.c:table_index_build_range_scan
Unexecuted instantiation: nodeIndexscan.c:table_index_build_range_scan
Unexecuted instantiation: nodeLockRows.c:table_index_build_range_scan
Unexecuted instantiation: nodeModifyTable.c:table_index_build_range_scan
Unexecuted instantiation: nodeSamplescan.c:table_index_build_range_scan
Unexecuted instantiation: nodeSeqscan.c:table_index_build_range_scan
Unexecuted instantiation: nodeTidrangescan.c:table_index_build_range_scan
Unexecuted instantiation: nodeTidscan.c:table_index_build_range_scan
Unexecuted instantiation: spi.c:table_index_build_range_scan
Unexecuted instantiation: copyfuncs.c:table_index_build_range_scan
Unexecuted instantiation: equalfuncs.c:table_index_build_range_scan
Unexecuted instantiation: outfuncs.c:table_index_build_range_scan
Unexecuted instantiation: queryjumblefuncs.c:table_index_build_range_scan
Unexecuted instantiation: readfuncs.c:table_index_build_range_scan
Unexecuted instantiation: plancat.c:table_index_build_range_scan
Unexecuted instantiation: partbounds.c:table_index_build_range_scan
Unexecuted instantiation: autovacuum.c:table_index_build_range_scan
Unexecuted instantiation: datachecksum_state.c:table_index_build_range_scan
Unexecuted instantiation: conflict.c:table_index_build_range_scan
Unexecuted instantiation: launcher.c:table_index_build_range_scan
Unexecuted instantiation: reorderbuffer.c:table_index_build_range_scan
Unexecuted instantiation: worker.c:table_index_build_range_scan
Unexecuted instantiation: rewriteHandler.c:table_index_build_range_scan
Unexecuted instantiation: attribute_stats.c:table_index_build_range_scan
Unexecuted instantiation: extended_stats_funcs.c:table_index_build_range_scan
Unexecuted instantiation: relation_stats.c:table_index_build_range_scan
Unexecuted instantiation: bufmgr.c:table_index_build_range_scan
Unexecuted instantiation: utility.c:table_index_build_range_scan
Unexecuted instantiation: ri_triggers.c:table_index_build_range_scan
Unexecuted instantiation: ruleutils.c:table_index_build_range_scan
Unexecuted instantiation: selfuncs.c:table_index_build_range_scan
Unexecuted instantiation: tid.c:table_index_build_range_scan
Unexecuted instantiation: trigfuncs.c:table_index_build_range_scan
Unexecuted instantiation: tsquery_rewrite.c:table_index_build_range_scan
Unexecuted instantiation: tsvector_op.c:table_index_build_range_scan
Unexecuted instantiation: xml.c:table_index_build_range_scan
Unexecuted instantiation: evtcache.c:table_index_build_range_scan
Unexecuted instantiation: funccache.c:table_index_build_range_scan
Unexecuted instantiation: relcache.c:table_index_build_range_scan
Unexecuted instantiation: postinit.c:table_index_build_range_scan
Unexecuted instantiation: guc_tables.c:table_index_build_range_scan
Unexecuted instantiation: simple_query_fuzzer.c:table_index_build_range_scan
1906
1907
/*
1908
 * table_index_validate_scan - second table scan for concurrent index build
1909
 *
1910
 * See validate_index() for an explanation.
1911
 */
1912
static inline void
1913
table_index_validate_scan(Relation table_rel,
1914
              Relation index_rel,
1915
              IndexInfo *index_info,
1916
              Snapshot snapshot,
1917
              ValidateIndexState *state)
1918
0
{
1919
0
  table_rel->rd_tableam->index_validate_scan(table_rel,
1920
0
                         index_rel,
1921
0
                         index_info,
1922
0
                         snapshot,
1923
0
                         state);
1924
0
}
Unexecuted instantiation: fuzzer_initialize.c:table_index_validate_scan
Unexecuted instantiation: brin.c:table_index_validate_scan
Unexecuted instantiation: detoast.c:table_index_validate_scan
Unexecuted instantiation: toast_internals.c:table_index_validate_scan
Unexecuted instantiation: gininsert.c:table_index_validate_scan
Unexecuted instantiation: gistbuild.c:table_index_validate_scan
Unexecuted instantiation: hash.c:table_index_validate_scan
Unexecuted instantiation: heapam.c:table_index_validate_scan
Unexecuted instantiation: heapam_handler.c:table_index_validate_scan
Unexecuted instantiation: heapam_indexscan.c:table_index_validate_scan
Unexecuted instantiation: heapam_visibility.c:table_index_validate_scan
Unexecuted instantiation: heapam_xlog.c:table_index_validate_scan
Unexecuted instantiation: heaptoast.c:table_index_validate_scan
Unexecuted instantiation: hio.c:table_index_validate_scan
Unexecuted instantiation: pruneheap.c:table_index_validate_scan
Unexecuted instantiation: rewriteheap.c:table_index_validate_scan
Unexecuted instantiation: vacuumlazy.c:table_index_validate_scan
Unexecuted instantiation: genam.c:table_index_validate_scan
Unexecuted instantiation: indexam.c:table_index_validate_scan
Unexecuted instantiation: nbtdedup.c:table_index_validate_scan
Unexecuted instantiation: nbtinsert.c:table_index_validate_scan
Unexecuted instantiation: nbtpage.c:table_index_validate_scan
Unexecuted instantiation: nbtsort.c:table_index_validate_scan
Unexecuted instantiation: nbtsplitloc.c:table_index_validate_scan
Unexecuted instantiation: spginsert.c:table_index_validate_scan
Unexecuted instantiation: tableam.c:table_index_validate_scan
Unexecuted instantiation: tableamapi.c:table_index_validate_scan
Unexecuted instantiation: xact.c:table_index_validate_scan
Unexecuted instantiation: bootstrap.c:table_index_validate_scan
Unexecuted instantiation: aclchk.c:table_index_validate_scan
Unexecuted instantiation: dependency.c:table_index_validate_scan
Unexecuted instantiation: heap.c:table_index_validate_scan
Unexecuted instantiation: index.c:table_index_validate_scan
Unexecuted instantiation: indexing.c:table_index_validate_scan
Unexecuted instantiation: objectaddress.c:table_index_validate_scan
Unexecuted instantiation: pg_db_role_setting.c:table_index_validate_scan
Unexecuted instantiation: pg_publication.c:table_index_validate_scan
Unexecuted instantiation: pg_subscription.c:table_index_validate_scan
Unexecuted instantiation: toasting.c:table_index_validate_scan
Unexecuted instantiation: gram.c:table_index_validate_scan
Unexecuted instantiation: alter.c:table_index_validate_scan
Unexecuted instantiation: analyze.c:table_index_validate_scan
Unexecuted instantiation: constraint.c:table_index_validate_scan
Unexecuted instantiation: copyfrom.c:table_index_validate_scan
Unexecuted instantiation: copyfromparse.c:table_index_validate_scan
Unexecuted instantiation: copyto.c:table_index_validate_scan
Unexecuted instantiation: createas.c:table_index_validate_scan
Unexecuted instantiation: dbcommands.c:table_index_validate_scan
Unexecuted instantiation: event_trigger.c:table_index_validate_scan
Unexecuted instantiation: indexcmds.c:table_index_validate_scan
Unexecuted instantiation: matview.c:table_index_validate_scan
Unexecuted instantiation: repack.c:table_index_validate_scan
Unexecuted instantiation: tablecmds.c:table_index_validate_scan
Unexecuted instantiation: tablespace.c:table_index_validate_scan
Unexecuted instantiation: trigger.c:table_index_validate_scan
Unexecuted instantiation: typecmds.c:table_index_validate_scan
Unexecuted instantiation: vacuum.c:table_index_validate_scan
Unexecuted instantiation: execIndexing.c:table_index_validate_scan
Unexecuted instantiation: execMain.c:table_index_validate_scan
Unexecuted instantiation: execPartition.c:table_index_validate_scan
Unexecuted instantiation: execReplication.c:table_index_validate_scan
Unexecuted instantiation: execUtils.c:table_index_validate_scan
Unexecuted instantiation: nodeBitmapHeapscan.c:table_index_validate_scan
Unexecuted instantiation: nodeIndexonlyscan.c:table_index_validate_scan
Unexecuted instantiation: nodeIndexscan.c:table_index_validate_scan
Unexecuted instantiation: nodeLockRows.c:table_index_validate_scan
Unexecuted instantiation: nodeModifyTable.c:table_index_validate_scan
Unexecuted instantiation: nodeSamplescan.c:table_index_validate_scan
Unexecuted instantiation: nodeSeqscan.c:table_index_validate_scan
Unexecuted instantiation: nodeTidrangescan.c:table_index_validate_scan
Unexecuted instantiation: nodeTidscan.c:table_index_validate_scan
Unexecuted instantiation: spi.c:table_index_validate_scan
Unexecuted instantiation: copyfuncs.c:table_index_validate_scan
Unexecuted instantiation: equalfuncs.c:table_index_validate_scan
Unexecuted instantiation: outfuncs.c:table_index_validate_scan
Unexecuted instantiation: queryjumblefuncs.c:table_index_validate_scan
Unexecuted instantiation: readfuncs.c:table_index_validate_scan
Unexecuted instantiation: plancat.c:table_index_validate_scan
Unexecuted instantiation: partbounds.c:table_index_validate_scan
Unexecuted instantiation: autovacuum.c:table_index_validate_scan
Unexecuted instantiation: datachecksum_state.c:table_index_validate_scan
Unexecuted instantiation: conflict.c:table_index_validate_scan
Unexecuted instantiation: launcher.c:table_index_validate_scan
Unexecuted instantiation: reorderbuffer.c:table_index_validate_scan
Unexecuted instantiation: worker.c:table_index_validate_scan
Unexecuted instantiation: rewriteHandler.c:table_index_validate_scan
Unexecuted instantiation: attribute_stats.c:table_index_validate_scan
Unexecuted instantiation: extended_stats_funcs.c:table_index_validate_scan
Unexecuted instantiation: relation_stats.c:table_index_validate_scan
Unexecuted instantiation: bufmgr.c:table_index_validate_scan
Unexecuted instantiation: utility.c:table_index_validate_scan
Unexecuted instantiation: ri_triggers.c:table_index_validate_scan
Unexecuted instantiation: ruleutils.c:table_index_validate_scan
Unexecuted instantiation: selfuncs.c:table_index_validate_scan
Unexecuted instantiation: tid.c:table_index_validate_scan
Unexecuted instantiation: trigfuncs.c:table_index_validate_scan
Unexecuted instantiation: tsquery_rewrite.c:table_index_validate_scan
Unexecuted instantiation: tsvector_op.c:table_index_validate_scan
Unexecuted instantiation: xml.c:table_index_validate_scan
Unexecuted instantiation: evtcache.c:table_index_validate_scan
Unexecuted instantiation: funccache.c:table_index_validate_scan
Unexecuted instantiation: relcache.c:table_index_validate_scan
Unexecuted instantiation: postinit.c:table_index_validate_scan
Unexecuted instantiation: guc_tables.c:table_index_validate_scan
Unexecuted instantiation: simple_query_fuzzer.c:table_index_validate_scan
1925
1926
1927
/* ----------------------------------------------------------------------------
1928
 * Miscellaneous functionality
1929
 * ----------------------------------------------------------------------------
1930
 */
1931
1932
/*
1933
 * Return the current size of `rel` in bytes. If `forkNumber` is
1934
 * InvalidForkNumber, return the relation's overall size, otherwise the size
1935
 * for the indicated fork.
1936
 *
1937
 * Note that the overall size might not be the equivalent of the sum of sizes
1938
 * for the individual forks for some AMs, e.g. because the AMs storage does
1939
 * not neatly map onto the builtin types of forks.
1940
 */
1941
static inline uint64
1942
table_relation_size(Relation rel, ForkNumber forkNumber)
1943
0
{
1944
0
  return rel->rd_tableam->relation_size(rel, forkNumber);
1945
0
}
Unexecuted instantiation: fuzzer_initialize.c:table_relation_size
Unexecuted instantiation: brin.c:table_relation_size
Unexecuted instantiation: detoast.c:table_relation_size
Unexecuted instantiation: toast_internals.c:table_relation_size
Unexecuted instantiation: gininsert.c:table_relation_size
Unexecuted instantiation: gistbuild.c:table_relation_size
Unexecuted instantiation: hash.c:table_relation_size
Unexecuted instantiation: heapam.c:table_relation_size
Unexecuted instantiation: heapam_handler.c:table_relation_size
Unexecuted instantiation: heapam_indexscan.c:table_relation_size
Unexecuted instantiation: heapam_visibility.c:table_relation_size
Unexecuted instantiation: heapam_xlog.c:table_relation_size
Unexecuted instantiation: heaptoast.c:table_relation_size
Unexecuted instantiation: hio.c:table_relation_size
Unexecuted instantiation: pruneheap.c:table_relation_size
Unexecuted instantiation: rewriteheap.c:table_relation_size
Unexecuted instantiation: vacuumlazy.c:table_relation_size
Unexecuted instantiation: genam.c:table_relation_size
Unexecuted instantiation: indexam.c:table_relation_size
Unexecuted instantiation: nbtdedup.c:table_relation_size
Unexecuted instantiation: nbtinsert.c:table_relation_size
Unexecuted instantiation: nbtpage.c:table_relation_size
Unexecuted instantiation: nbtsort.c:table_relation_size
Unexecuted instantiation: nbtsplitloc.c:table_relation_size
Unexecuted instantiation: spginsert.c:table_relation_size
Unexecuted instantiation: tableam.c:table_relation_size
Unexecuted instantiation: tableamapi.c:table_relation_size
Unexecuted instantiation: xact.c:table_relation_size
Unexecuted instantiation: bootstrap.c:table_relation_size
Unexecuted instantiation: aclchk.c:table_relation_size
Unexecuted instantiation: dependency.c:table_relation_size
Unexecuted instantiation: heap.c:table_relation_size
Unexecuted instantiation: index.c:table_relation_size
Unexecuted instantiation: indexing.c:table_relation_size
Unexecuted instantiation: objectaddress.c:table_relation_size
Unexecuted instantiation: pg_db_role_setting.c:table_relation_size
Unexecuted instantiation: pg_publication.c:table_relation_size
Unexecuted instantiation: pg_subscription.c:table_relation_size
Unexecuted instantiation: toasting.c:table_relation_size
Unexecuted instantiation: gram.c:table_relation_size
Unexecuted instantiation: alter.c:table_relation_size
Unexecuted instantiation: analyze.c:table_relation_size
Unexecuted instantiation: constraint.c:table_relation_size
Unexecuted instantiation: copyfrom.c:table_relation_size
Unexecuted instantiation: copyfromparse.c:table_relation_size
Unexecuted instantiation: copyto.c:table_relation_size
Unexecuted instantiation: createas.c:table_relation_size
Unexecuted instantiation: dbcommands.c:table_relation_size
Unexecuted instantiation: event_trigger.c:table_relation_size
Unexecuted instantiation: indexcmds.c:table_relation_size
Unexecuted instantiation: matview.c:table_relation_size
Unexecuted instantiation: repack.c:table_relation_size
Unexecuted instantiation: tablecmds.c:table_relation_size
Unexecuted instantiation: tablespace.c:table_relation_size
Unexecuted instantiation: trigger.c:table_relation_size
Unexecuted instantiation: typecmds.c:table_relation_size
Unexecuted instantiation: vacuum.c:table_relation_size
Unexecuted instantiation: execIndexing.c:table_relation_size
Unexecuted instantiation: execMain.c:table_relation_size
Unexecuted instantiation: execPartition.c:table_relation_size
Unexecuted instantiation: execReplication.c:table_relation_size
Unexecuted instantiation: execUtils.c:table_relation_size
Unexecuted instantiation: nodeBitmapHeapscan.c:table_relation_size
Unexecuted instantiation: nodeIndexonlyscan.c:table_relation_size
Unexecuted instantiation: nodeIndexscan.c:table_relation_size
Unexecuted instantiation: nodeLockRows.c:table_relation_size
Unexecuted instantiation: nodeModifyTable.c:table_relation_size
Unexecuted instantiation: nodeSamplescan.c:table_relation_size
Unexecuted instantiation: nodeSeqscan.c:table_relation_size
Unexecuted instantiation: nodeTidrangescan.c:table_relation_size
Unexecuted instantiation: nodeTidscan.c:table_relation_size
Unexecuted instantiation: spi.c:table_relation_size
Unexecuted instantiation: copyfuncs.c:table_relation_size
Unexecuted instantiation: equalfuncs.c:table_relation_size
Unexecuted instantiation: outfuncs.c:table_relation_size
Unexecuted instantiation: queryjumblefuncs.c:table_relation_size
Unexecuted instantiation: readfuncs.c:table_relation_size
Unexecuted instantiation: plancat.c:table_relation_size
Unexecuted instantiation: partbounds.c:table_relation_size
Unexecuted instantiation: autovacuum.c:table_relation_size
Unexecuted instantiation: datachecksum_state.c:table_relation_size
Unexecuted instantiation: conflict.c:table_relation_size
Unexecuted instantiation: launcher.c:table_relation_size
Unexecuted instantiation: reorderbuffer.c:table_relation_size
Unexecuted instantiation: worker.c:table_relation_size
Unexecuted instantiation: rewriteHandler.c:table_relation_size
Unexecuted instantiation: attribute_stats.c:table_relation_size
Unexecuted instantiation: extended_stats_funcs.c:table_relation_size
Unexecuted instantiation: relation_stats.c:table_relation_size
Unexecuted instantiation: bufmgr.c:table_relation_size
Unexecuted instantiation: utility.c:table_relation_size
Unexecuted instantiation: ri_triggers.c:table_relation_size
Unexecuted instantiation: ruleutils.c:table_relation_size
Unexecuted instantiation: selfuncs.c:table_relation_size
Unexecuted instantiation: tid.c:table_relation_size
Unexecuted instantiation: trigfuncs.c:table_relation_size
Unexecuted instantiation: tsquery_rewrite.c:table_relation_size
Unexecuted instantiation: tsvector_op.c:table_relation_size
Unexecuted instantiation: xml.c:table_relation_size
Unexecuted instantiation: evtcache.c:table_relation_size
Unexecuted instantiation: funccache.c:table_relation_size
Unexecuted instantiation: relcache.c:table_relation_size
Unexecuted instantiation: postinit.c:table_relation_size
Unexecuted instantiation: guc_tables.c:table_relation_size
Unexecuted instantiation: simple_query_fuzzer.c:table_relation_size
1946
1947
/*
1948
 * table_relation_needs_toast_table - does this relation need a toast table?
1949
 */
1950
static inline bool
1951
table_relation_needs_toast_table(Relation rel)
1952
0
{
1953
0
  return rel->rd_tableam->relation_needs_toast_table(rel);
1954
0
}
Unexecuted instantiation: fuzzer_initialize.c:table_relation_needs_toast_table
Unexecuted instantiation: brin.c:table_relation_needs_toast_table
Unexecuted instantiation: detoast.c:table_relation_needs_toast_table
Unexecuted instantiation: toast_internals.c:table_relation_needs_toast_table
Unexecuted instantiation: gininsert.c:table_relation_needs_toast_table
Unexecuted instantiation: gistbuild.c:table_relation_needs_toast_table
Unexecuted instantiation: hash.c:table_relation_needs_toast_table
Unexecuted instantiation: heapam.c:table_relation_needs_toast_table
Unexecuted instantiation: heapam_handler.c:table_relation_needs_toast_table
Unexecuted instantiation: heapam_indexscan.c:table_relation_needs_toast_table
Unexecuted instantiation: heapam_visibility.c:table_relation_needs_toast_table
Unexecuted instantiation: heapam_xlog.c:table_relation_needs_toast_table
Unexecuted instantiation: heaptoast.c:table_relation_needs_toast_table
Unexecuted instantiation: hio.c:table_relation_needs_toast_table
Unexecuted instantiation: pruneheap.c:table_relation_needs_toast_table
Unexecuted instantiation: rewriteheap.c:table_relation_needs_toast_table
Unexecuted instantiation: vacuumlazy.c:table_relation_needs_toast_table
Unexecuted instantiation: genam.c:table_relation_needs_toast_table
Unexecuted instantiation: indexam.c:table_relation_needs_toast_table
Unexecuted instantiation: nbtdedup.c:table_relation_needs_toast_table
Unexecuted instantiation: nbtinsert.c:table_relation_needs_toast_table
Unexecuted instantiation: nbtpage.c:table_relation_needs_toast_table
Unexecuted instantiation: nbtsort.c:table_relation_needs_toast_table
Unexecuted instantiation: nbtsplitloc.c:table_relation_needs_toast_table
Unexecuted instantiation: spginsert.c:table_relation_needs_toast_table
Unexecuted instantiation: tableam.c:table_relation_needs_toast_table
Unexecuted instantiation: tableamapi.c:table_relation_needs_toast_table
Unexecuted instantiation: xact.c:table_relation_needs_toast_table
Unexecuted instantiation: bootstrap.c:table_relation_needs_toast_table
Unexecuted instantiation: aclchk.c:table_relation_needs_toast_table
Unexecuted instantiation: dependency.c:table_relation_needs_toast_table
Unexecuted instantiation: heap.c:table_relation_needs_toast_table
Unexecuted instantiation: index.c:table_relation_needs_toast_table
Unexecuted instantiation: indexing.c:table_relation_needs_toast_table
Unexecuted instantiation: objectaddress.c:table_relation_needs_toast_table
Unexecuted instantiation: pg_db_role_setting.c:table_relation_needs_toast_table
Unexecuted instantiation: pg_publication.c:table_relation_needs_toast_table
Unexecuted instantiation: pg_subscription.c:table_relation_needs_toast_table
Unexecuted instantiation: toasting.c:table_relation_needs_toast_table
Unexecuted instantiation: gram.c:table_relation_needs_toast_table
Unexecuted instantiation: alter.c:table_relation_needs_toast_table
Unexecuted instantiation: analyze.c:table_relation_needs_toast_table
Unexecuted instantiation: constraint.c:table_relation_needs_toast_table
Unexecuted instantiation: copyfrom.c:table_relation_needs_toast_table
Unexecuted instantiation: copyfromparse.c:table_relation_needs_toast_table
Unexecuted instantiation: copyto.c:table_relation_needs_toast_table
Unexecuted instantiation: createas.c:table_relation_needs_toast_table
Unexecuted instantiation: dbcommands.c:table_relation_needs_toast_table
Unexecuted instantiation: event_trigger.c:table_relation_needs_toast_table
Unexecuted instantiation: indexcmds.c:table_relation_needs_toast_table
Unexecuted instantiation: matview.c:table_relation_needs_toast_table
Unexecuted instantiation: repack.c:table_relation_needs_toast_table
Unexecuted instantiation: tablecmds.c:table_relation_needs_toast_table
Unexecuted instantiation: tablespace.c:table_relation_needs_toast_table
Unexecuted instantiation: trigger.c:table_relation_needs_toast_table
Unexecuted instantiation: typecmds.c:table_relation_needs_toast_table
Unexecuted instantiation: vacuum.c:table_relation_needs_toast_table
Unexecuted instantiation: execIndexing.c:table_relation_needs_toast_table
Unexecuted instantiation: execMain.c:table_relation_needs_toast_table
Unexecuted instantiation: execPartition.c:table_relation_needs_toast_table
Unexecuted instantiation: execReplication.c:table_relation_needs_toast_table
Unexecuted instantiation: execUtils.c:table_relation_needs_toast_table
Unexecuted instantiation: nodeBitmapHeapscan.c:table_relation_needs_toast_table
Unexecuted instantiation: nodeIndexonlyscan.c:table_relation_needs_toast_table
Unexecuted instantiation: nodeIndexscan.c:table_relation_needs_toast_table
Unexecuted instantiation: nodeLockRows.c:table_relation_needs_toast_table
Unexecuted instantiation: nodeModifyTable.c:table_relation_needs_toast_table
Unexecuted instantiation: nodeSamplescan.c:table_relation_needs_toast_table
Unexecuted instantiation: nodeSeqscan.c:table_relation_needs_toast_table
Unexecuted instantiation: nodeTidrangescan.c:table_relation_needs_toast_table
Unexecuted instantiation: nodeTidscan.c:table_relation_needs_toast_table
Unexecuted instantiation: spi.c:table_relation_needs_toast_table
Unexecuted instantiation: copyfuncs.c:table_relation_needs_toast_table
Unexecuted instantiation: equalfuncs.c:table_relation_needs_toast_table
Unexecuted instantiation: outfuncs.c:table_relation_needs_toast_table
Unexecuted instantiation: queryjumblefuncs.c:table_relation_needs_toast_table
Unexecuted instantiation: readfuncs.c:table_relation_needs_toast_table
Unexecuted instantiation: plancat.c:table_relation_needs_toast_table
Unexecuted instantiation: partbounds.c:table_relation_needs_toast_table
Unexecuted instantiation: autovacuum.c:table_relation_needs_toast_table
Unexecuted instantiation: datachecksum_state.c:table_relation_needs_toast_table
Unexecuted instantiation: conflict.c:table_relation_needs_toast_table
Unexecuted instantiation: launcher.c:table_relation_needs_toast_table
Unexecuted instantiation: reorderbuffer.c:table_relation_needs_toast_table
Unexecuted instantiation: worker.c:table_relation_needs_toast_table
Unexecuted instantiation: rewriteHandler.c:table_relation_needs_toast_table
Unexecuted instantiation: attribute_stats.c:table_relation_needs_toast_table
Unexecuted instantiation: extended_stats_funcs.c:table_relation_needs_toast_table
Unexecuted instantiation: relation_stats.c:table_relation_needs_toast_table
Unexecuted instantiation: bufmgr.c:table_relation_needs_toast_table
Unexecuted instantiation: utility.c:table_relation_needs_toast_table
Unexecuted instantiation: ri_triggers.c:table_relation_needs_toast_table
Unexecuted instantiation: ruleutils.c:table_relation_needs_toast_table
Unexecuted instantiation: selfuncs.c:table_relation_needs_toast_table
Unexecuted instantiation: tid.c:table_relation_needs_toast_table
Unexecuted instantiation: trigfuncs.c:table_relation_needs_toast_table
Unexecuted instantiation: tsquery_rewrite.c:table_relation_needs_toast_table
Unexecuted instantiation: tsvector_op.c:table_relation_needs_toast_table
Unexecuted instantiation: xml.c:table_relation_needs_toast_table
Unexecuted instantiation: evtcache.c:table_relation_needs_toast_table
Unexecuted instantiation: funccache.c:table_relation_needs_toast_table
Unexecuted instantiation: relcache.c:table_relation_needs_toast_table
Unexecuted instantiation: postinit.c:table_relation_needs_toast_table
Unexecuted instantiation: guc_tables.c:table_relation_needs_toast_table
Unexecuted instantiation: simple_query_fuzzer.c:table_relation_needs_toast_table
1955
1956
/*
1957
 * Return the OID of the AM that should be used to implement the TOAST table
1958
 * for this relation.
1959
 */
1960
static inline Oid
1961
table_relation_toast_am(Relation rel)
1962
0
{
1963
0
  return rel->rd_tableam->relation_toast_am(rel);
1964
0
}
Unexecuted instantiation: fuzzer_initialize.c:table_relation_toast_am
Unexecuted instantiation: brin.c:table_relation_toast_am
Unexecuted instantiation: detoast.c:table_relation_toast_am
Unexecuted instantiation: toast_internals.c:table_relation_toast_am
Unexecuted instantiation: gininsert.c:table_relation_toast_am
Unexecuted instantiation: gistbuild.c:table_relation_toast_am
Unexecuted instantiation: hash.c:table_relation_toast_am
Unexecuted instantiation: heapam.c:table_relation_toast_am
Unexecuted instantiation: heapam_handler.c:table_relation_toast_am
Unexecuted instantiation: heapam_indexscan.c:table_relation_toast_am
Unexecuted instantiation: heapam_visibility.c:table_relation_toast_am
Unexecuted instantiation: heapam_xlog.c:table_relation_toast_am
Unexecuted instantiation: heaptoast.c:table_relation_toast_am
Unexecuted instantiation: hio.c:table_relation_toast_am
Unexecuted instantiation: pruneheap.c:table_relation_toast_am
Unexecuted instantiation: rewriteheap.c:table_relation_toast_am
Unexecuted instantiation: vacuumlazy.c:table_relation_toast_am
Unexecuted instantiation: genam.c:table_relation_toast_am
Unexecuted instantiation: indexam.c:table_relation_toast_am
Unexecuted instantiation: nbtdedup.c:table_relation_toast_am
Unexecuted instantiation: nbtinsert.c:table_relation_toast_am
Unexecuted instantiation: nbtpage.c:table_relation_toast_am
Unexecuted instantiation: nbtsort.c:table_relation_toast_am
Unexecuted instantiation: nbtsplitloc.c:table_relation_toast_am
Unexecuted instantiation: spginsert.c:table_relation_toast_am
Unexecuted instantiation: tableam.c:table_relation_toast_am
Unexecuted instantiation: tableamapi.c:table_relation_toast_am
Unexecuted instantiation: xact.c:table_relation_toast_am
Unexecuted instantiation: bootstrap.c:table_relation_toast_am
Unexecuted instantiation: aclchk.c:table_relation_toast_am
Unexecuted instantiation: dependency.c:table_relation_toast_am
Unexecuted instantiation: heap.c:table_relation_toast_am
Unexecuted instantiation: index.c:table_relation_toast_am
Unexecuted instantiation: indexing.c:table_relation_toast_am
Unexecuted instantiation: objectaddress.c:table_relation_toast_am
Unexecuted instantiation: pg_db_role_setting.c:table_relation_toast_am
Unexecuted instantiation: pg_publication.c:table_relation_toast_am
Unexecuted instantiation: pg_subscription.c:table_relation_toast_am
Unexecuted instantiation: toasting.c:table_relation_toast_am
Unexecuted instantiation: gram.c:table_relation_toast_am
Unexecuted instantiation: alter.c:table_relation_toast_am
Unexecuted instantiation: analyze.c:table_relation_toast_am
Unexecuted instantiation: constraint.c:table_relation_toast_am
Unexecuted instantiation: copyfrom.c:table_relation_toast_am
Unexecuted instantiation: copyfromparse.c:table_relation_toast_am
Unexecuted instantiation: copyto.c:table_relation_toast_am
Unexecuted instantiation: createas.c:table_relation_toast_am
Unexecuted instantiation: dbcommands.c:table_relation_toast_am
Unexecuted instantiation: event_trigger.c:table_relation_toast_am
Unexecuted instantiation: indexcmds.c:table_relation_toast_am
Unexecuted instantiation: matview.c:table_relation_toast_am
Unexecuted instantiation: repack.c:table_relation_toast_am
Unexecuted instantiation: tablecmds.c:table_relation_toast_am
Unexecuted instantiation: tablespace.c:table_relation_toast_am
Unexecuted instantiation: trigger.c:table_relation_toast_am
Unexecuted instantiation: typecmds.c:table_relation_toast_am
Unexecuted instantiation: vacuum.c:table_relation_toast_am
Unexecuted instantiation: execIndexing.c:table_relation_toast_am
Unexecuted instantiation: execMain.c:table_relation_toast_am
Unexecuted instantiation: execPartition.c:table_relation_toast_am
Unexecuted instantiation: execReplication.c:table_relation_toast_am
Unexecuted instantiation: execUtils.c:table_relation_toast_am
Unexecuted instantiation: nodeBitmapHeapscan.c:table_relation_toast_am
Unexecuted instantiation: nodeIndexonlyscan.c:table_relation_toast_am
Unexecuted instantiation: nodeIndexscan.c:table_relation_toast_am
Unexecuted instantiation: nodeLockRows.c:table_relation_toast_am
Unexecuted instantiation: nodeModifyTable.c:table_relation_toast_am
Unexecuted instantiation: nodeSamplescan.c:table_relation_toast_am
Unexecuted instantiation: nodeSeqscan.c:table_relation_toast_am
Unexecuted instantiation: nodeTidrangescan.c:table_relation_toast_am
Unexecuted instantiation: nodeTidscan.c:table_relation_toast_am
Unexecuted instantiation: spi.c:table_relation_toast_am
Unexecuted instantiation: copyfuncs.c:table_relation_toast_am
Unexecuted instantiation: equalfuncs.c:table_relation_toast_am
Unexecuted instantiation: outfuncs.c:table_relation_toast_am
Unexecuted instantiation: queryjumblefuncs.c:table_relation_toast_am
Unexecuted instantiation: readfuncs.c:table_relation_toast_am
Unexecuted instantiation: plancat.c:table_relation_toast_am
Unexecuted instantiation: partbounds.c:table_relation_toast_am
Unexecuted instantiation: autovacuum.c:table_relation_toast_am
Unexecuted instantiation: datachecksum_state.c:table_relation_toast_am
Unexecuted instantiation: conflict.c:table_relation_toast_am
Unexecuted instantiation: launcher.c:table_relation_toast_am
Unexecuted instantiation: reorderbuffer.c:table_relation_toast_am
Unexecuted instantiation: worker.c:table_relation_toast_am
Unexecuted instantiation: rewriteHandler.c:table_relation_toast_am
Unexecuted instantiation: attribute_stats.c:table_relation_toast_am
Unexecuted instantiation: extended_stats_funcs.c:table_relation_toast_am
Unexecuted instantiation: relation_stats.c:table_relation_toast_am
Unexecuted instantiation: bufmgr.c:table_relation_toast_am
Unexecuted instantiation: utility.c:table_relation_toast_am
Unexecuted instantiation: ri_triggers.c:table_relation_toast_am
Unexecuted instantiation: ruleutils.c:table_relation_toast_am
Unexecuted instantiation: selfuncs.c:table_relation_toast_am
Unexecuted instantiation: tid.c:table_relation_toast_am
Unexecuted instantiation: trigfuncs.c:table_relation_toast_am
Unexecuted instantiation: tsquery_rewrite.c:table_relation_toast_am
Unexecuted instantiation: tsvector_op.c:table_relation_toast_am
Unexecuted instantiation: xml.c:table_relation_toast_am
Unexecuted instantiation: evtcache.c:table_relation_toast_am
Unexecuted instantiation: funccache.c:table_relation_toast_am
Unexecuted instantiation: relcache.c:table_relation_toast_am
Unexecuted instantiation: postinit.c:table_relation_toast_am
Unexecuted instantiation: guc_tables.c:table_relation_toast_am
Unexecuted instantiation: simple_query_fuzzer.c:table_relation_toast_am
1965
1966
/*
1967
 * Fetch all or part of a TOAST value from a TOAST table.
1968
 *
1969
 * If this AM is never used to implement a TOAST table, then this callback
1970
 * is not needed. But, if toasted values are ever stored in a table of this
1971
 * type, then you will need this callback.
1972
 *
1973
 * toastrel is the relation in which the toasted value is stored.
1974
 *
1975
 * valueid identifies which toast value is to be fetched. For the heap,
1976
 * this corresponds to the values stored in the chunk_id column.
1977
 *
1978
 * attrsize is the total size of the toast value to be fetched.
1979
 *
1980
 * sliceoffset is the offset within the toast value of the first byte that
1981
 * should be fetched.
1982
 *
1983
 * slicelength is the number of bytes from the toast value that should be
1984
 * fetched.
1985
 *
1986
 * result is caller-allocated space into which the fetched bytes should be
1987
 * stored.
1988
 */
1989
static inline void
1990
table_relation_fetch_toast_slice(Relation toastrel, Oid valueid,
1991
                 int32 attrsize, int32 sliceoffset,
1992
                 int32 slicelength, varlena *result)
1993
0
{
1994
0
  toastrel->rd_tableam->relation_fetch_toast_slice(toastrel, valueid,
1995
0
                           attrsize,
1996
0
                           sliceoffset, slicelength,
1997
0
                           result);
1998
0
}
Unexecuted instantiation: fuzzer_initialize.c:table_relation_fetch_toast_slice
Unexecuted instantiation: brin.c:table_relation_fetch_toast_slice
Unexecuted instantiation: detoast.c:table_relation_fetch_toast_slice
Unexecuted instantiation: toast_internals.c:table_relation_fetch_toast_slice
Unexecuted instantiation: gininsert.c:table_relation_fetch_toast_slice
Unexecuted instantiation: gistbuild.c:table_relation_fetch_toast_slice
Unexecuted instantiation: hash.c:table_relation_fetch_toast_slice
Unexecuted instantiation: heapam.c:table_relation_fetch_toast_slice
Unexecuted instantiation: heapam_handler.c:table_relation_fetch_toast_slice
Unexecuted instantiation: heapam_indexscan.c:table_relation_fetch_toast_slice
Unexecuted instantiation: heapam_visibility.c:table_relation_fetch_toast_slice
Unexecuted instantiation: heapam_xlog.c:table_relation_fetch_toast_slice
Unexecuted instantiation: heaptoast.c:table_relation_fetch_toast_slice
Unexecuted instantiation: hio.c:table_relation_fetch_toast_slice
Unexecuted instantiation: pruneheap.c:table_relation_fetch_toast_slice
Unexecuted instantiation: rewriteheap.c:table_relation_fetch_toast_slice
Unexecuted instantiation: vacuumlazy.c:table_relation_fetch_toast_slice
Unexecuted instantiation: genam.c:table_relation_fetch_toast_slice
Unexecuted instantiation: indexam.c:table_relation_fetch_toast_slice
Unexecuted instantiation: nbtdedup.c:table_relation_fetch_toast_slice
Unexecuted instantiation: nbtinsert.c:table_relation_fetch_toast_slice
Unexecuted instantiation: nbtpage.c:table_relation_fetch_toast_slice
Unexecuted instantiation: nbtsort.c:table_relation_fetch_toast_slice
Unexecuted instantiation: nbtsplitloc.c:table_relation_fetch_toast_slice
Unexecuted instantiation: spginsert.c:table_relation_fetch_toast_slice
Unexecuted instantiation: tableam.c:table_relation_fetch_toast_slice
Unexecuted instantiation: tableamapi.c:table_relation_fetch_toast_slice
Unexecuted instantiation: xact.c:table_relation_fetch_toast_slice
Unexecuted instantiation: bootstrap.c:table_relation_fetch_toast_slice
Unexecuted instantiation: aclchk.c:table_relation_fetch_toast_slice
Unexecuted instantiation: dependency.c:table_relation_fetch_toast_slice
Unexecuted instantiation: heap.c:table_relation_fetch_toast_slice
Unexecuted instantiation: index.c:table_relation_fetch_toast_slice
Unexecuted instantiation: indexing.c:table_relation_fetch_toast_slice
Unexecuted instantiation: objectaddress.c:table_relation_fetch_toast_slice
Unexecuted instantiation: pg_db_role_setting.c:table_relation_fetch_toast_slice
Unexecuted instantiation: pg_publication.c:table_relation_fetch_toast_slice
Unexecuted instantiation: pg_subscription.c:table_relation_fetch_toast_slice
Unexecuted instantiation: toasting.c:table_relation_fetch_toast_slice
Unexecuted instantiation: gram.c:table_relation_fetch_toast_slice
Unexecuted instantiation: alter.c:table_relation_fetch_toast_slice
Unexecuted instantiation: analyze.c:table_relation_fetch_toast_slice
Unexecuted instantiation: constraint.c:table_relation_fetch_toast_slice
Unexecuted instantiation: copyfrom.c:table_relation_fetch_toast_slice
Unexecuted instantiation: copyfromparse.c:table_relation_fetch_toast_slice
Unexecuted instantiation: copyto.c:table_relation_fetch_toast_slice
Unexecuted instantiation: createas.c:table_relation_fetch_toast_slice
Unexecuted instantiation: dbcommands.c:table_relation_fetch_toast_slice
Unexecuted instantiation: event_trigger.c:table_relation_fetch_toast_slice
Unexecuted instantiation: indexcmds.c:table_relation_fetch_toast_slice
Unexecuted instantiation: matview.c:table_relation_fetch_toast_slice
Unexecuted instantiation: repack.c:table_relation_fetch_toast_slice
Unexecuted instantiation: tablecmds.c:table_relation_fetch_toast_slice
Unexecuted instantiation: tablespace.c:table_relation_fetch_toast_slice
Unexecuted instantiation: trigger.c:table_relation_fetch_toast_slice
Unexecuted instantiation: typecmds.c:table_relation_fetch_toast_slice
Unexecuted instantiation: vacuum.c:table_relation_fetch_toast_slice
Unexecuted instantiation: execIndexing.c:table_relation_fetch_toast_slice
Unexecuted instantiation: execMain.c:table_relation_fetch_toast_slice
Unexecuted instantiation: execPartition.c:table_relation_fetch_toast_slice
Unexecuted instantiation: execReplication.c:table_relation_fetch_toast_slice
Unexecuted instantiation: execUtils.c:table_relation_fetch_toast_slice
Unexecuted instantiation: nodeBitmapHeapscan.c:table_relation_fetch_toast_slice
Unexecuted instantiation: nodeIndexonlyscan.c:table_relation_fetch_toast_slice
Unexecuted instantiation: nodeIndexscan.c:table_relation_fetch_toast_slice
Unexecuted instantiation: nodeLockRows.c:table_relation_fetch_toast_slice
Unexecuted instantiation: nodeModifyTable.c:table_relation_fetch_toast_slice
Unexecuted instantiation: nodeSamplescan.c:table_relation_fetch_toast_slice
Unexecuted instantiation: nodeSeqscan.c:table_relation_fetch_toast_slice
Unexecuted instantiation: nodeTidrangescan.c:table_relation_fetch_toast_slice
Unexecuted instantiation: nodeTidscan.c:table_relation_fetch_toast_slice
Unexecuted instantiation: spi.c:table_relation_fetch_toast_slice
Unexecuted instantiation: copyfuncs.c:table_relation_fetch_toast_slice
Unexecuted instantiation: equalfuncs.c:table_relation_fetch_toast_slice
Unexecuted instantiation: outfuncs.c:table_relation_fetch_toast_slice
Unexecuted instantiation: queryjumblefuncs.c:table_relation_fetch_toast_slice
Unexecuted instantiation: readfuncs.c:table_relation_fetch_toast_slice
Unexecuted instantiation: plancat.c:table_relation_fetch_toast_slice
Unexecuted instantiation: partbounds.c:table_relation_fetch_toast_slice
Unexecuted instantiation: autovacuum.c:table_relation_fetch_toast_slice
Unexecuted instantiation: datachecksum_state.c:table_relation_fetch_toast_slice
Unexecuted instantiation: conflict.c:table_relation_fetch_toast_slice
Unexecuted instantiation: launcher.c:table_relation_fetch_toast_slice
Unexecuted instantiation: reorderbuffer.c:table_relation_fetch_toast_slice
Unexecuted instantiation: worker.c:table_relation_fetch_toast_slice
Unexecuted instantiation: rewriteHandler.c:table_relation_fetch_toast_slice
Unexecuted instantiation: attribute_stats.c:table_relation_fetch_toast_slice
Unexecuted instantiation: extended_stats_funcs.c:table_relation_fetch_toast_slice
Unexecuted instantiation: relation_stats.c:table_relation_fetch_toast_slice
Unexecuted instantiation: bufmgr.c:table_relation_fetch_toast_slice
Unexecuted instantiation: utility.c:table_relation_fetch_toast_slice
Unexecuted instantiation: ri_triggers.c:table_relation_fetch_toast_slice
Unexecuted instantiation: ruleutils.c:table_relation_fetch_toast_slice
Unexecuted instantiation: selfuncs.c:table_relation_fetch_toast_slice
Unexecuted instantiation: tid.c:table_relation_fetch_toast_slice
Unexecuted instantiation: trigfuncs.c:table_relation_fetch_toast_slice
Unexecuted instantiation: tsquery_rewrite.c:table_relation_fetch_toast_slice
Unexecuted instantiation: tsvector_op.c:table_relation_fetch_toast_slice
Unexecuted instantiation: xml.c:table_relation_fetch_toast_slice
Unexecuted instantiation: evtcache.c:table_relation_fetch_toast_slice
Unexecuted instantiation: funccache.c:table_relation_fetch_toast_slice
Unexecuted instantiation: relcache.c:table_relation_fetch_toast_slice
Unexecuted instantiation: postinit.c:table_relation_fetch_toast_slice
Unexecuted instantiation: guc_tables.c:table_relation_fetch_toast_slice
Unexecuted instantiation: simple_query_fuzzer.c:table_relation_fetch_toast_slice
1999
2000
2001
/* ----------------------------------------------------------------------------
2002
 * Planner related functionality
2003
 * ----------------------------------------------------------------------------
2004
 */
2005
2006
/*
2007
 * Estimate the current size of the relation, as an AM specific workhorse for
2008
 * estimate_rel_size(). Look there for an explanation of the parameters.
2009
 */
2010
static inline void
2011
table_relation_estimate_size(Relation rel, int32 *attr_widths,
2012
               BlockNumber *pages, double *tuples,
2013
               double *allvisfrac)
2014
0
{
2015
0
  rel->rd_tableam->relation_estimate_size(rel, attr_widths, pages, tuples,
2016
0
                      allvisfrac);
2017
0
}
Unexecuted instantiation: fuzzer_initialize.c:table_relation_estimate_size
Unexecuted instantiation: brin.c:table_relation_estimate_size
Unexecuted instantiation: detoast.c:table_relation_estimate_size
Unexecuted instantiation: toast_internals.c:table_relation_estimate_size
Unexecuted instantiation: gininsert.c:table_relation_estimate_size
Unexecuted instantiation: gistbuild.c:table_relation_estimate_size
Unexecuted instantiation: hash.c:table_relation_estimate_size
Unexecuted instantiation: heapam.c:table_relation_estimate_size
Unexecuted instantiation: heapam_handler.c:table_relation_estimate_size
Unexecuted instantiation: heapam_indexscan.c:table_relation_estimate_size
Unexecuted instantiation: heapam_visibility.c:table_relation_estimate_size
Unexecuted instantiation: heapam_xlog.c:table_relation_estimate_size
Unexecuted instantiation: heaptoast.c:table_relation_estimate_size
Unexecuted instantiation: hio.c:table_relation_estimate_size
Unexecuted instantiation: pruneheap.c:table_relation_estimate_size
Unexecuted instantiation: rewriteheap.c:table_relation_estimate_size
Unexecuted instantiation: vacuumlazy.c:table_relation_estimate_size
Unexecuted instantiation: genam.c:table_relation_estimate_size
Unexecuted instantiation: indexam.c:table_relation_estimate_size
Unexecuted instantiation: nbtdedup.c:table_relation_estimate_size
Unexecuted instantiation: nbtinsert.c:table_relation_estimate_size
Unexecuted instantiation: nbtpage.c:table_relation_estimate_size
Unexecuted instantiation: nbtsort.c:table_relation_estimate_size
Unexecuted instantiation: nbtsplitloc.c:table_relation_estimate_size
Unexecuted instantiation: spginsert.c:table_relation_estimate_size
Unexecuted instantiation: tableam.c:table_relation_estimate_size
Unexecuted instantiation: tableamapi.c:table_relation_estimate_size
Unexecuted instantiation: xact.c:table_relation_estimate_size
Unexecuted instantiation: bootstrap.c:table_relation_estimate_size
Unexecuted instantiation: aclchk.c:table_relation_estimate_size
Unexecuted instantiation: dependency.c:table_relation_estimate_size
Unexecuted instantiation: heap.c:table_relation_estimate_size
Unexecuted instantiation: index.c:table_relation_estimate_size
Unexecuted instantiation: indexing.c:table_relation_estimate_size
Unexecuted instantiation: objectaddress.c:table_relation_estimate_size
Unexecuted instantiation: pg_db_role_setting.c:table_relation_estimate_size
Unexecuted instantiation: pg_publication.c:table_relation_estimate_size
Unexecuted instantiation: pg_subscription.c:table_relation_estimate_size
Unexecuted instantiation: toasting.c:table_relation_estimate_size
Unexecuted instantiation: gram.c:table_relation_estimate_size
Unexecuted instantiation: alter.c:table_relation_estimate_size
Unexecuted instantiation: analyze.c:table_relation_estimate_size
Unexecuted instantiation: constraint.c:table_relation_estimate_size
Unexecuted instantiation: copyfrom.c:table_relation_estimate_size
Unexecuted instantiation: copyfromparse.c:table_relation_estimate_size
Unexecuted instantiation: copyto.c:table_relation_estimate_size
Unexecuted instantiation: createas.c:table_relation_estimate_size
Unexecuted instantiation: dbcommands.c:table_relation_estimate_size
Unexecuted instantiation: event_trigger.c:table_relation_estimate_size
Unexecuted instantiation: indexcmds.c:table_relation_estimate_size
Unexecuted instantiation: matview.c:table_relation_estimate_size
Unexecuted instantiation: repack.c:table_relation_estimate_size
Unexecuted instantiation: tablecmds.c:table_relation_estimate_size
Unexecuted instantiation: tablespace.c:table_relation_estimate_size
Unexecuted instantiation: trigger.c:table_relation_estimate_size
Unexecuted instantiation: typecmds.c:table_relation_estimate_size
Unexecuted instantiation: vacuum.c:table_relation_estimate_size
Unexecuted instantiation: execIndexing.c:table_relation_estimate_size
Unexecuted instantiation: execMain.c:table_relation_estimate_size
Unexecuted instantiation: execPartition.c:table_relation_estimate_size
Unexecuted instantiation: execReplication.c:table_relation_estimate_size
Unexecuted instantiation: execUtils.c:table_relation_estimate_size
Unexecuted instantiation: nodeBitmapHeapscan.c:table_relation_estimate_size
Unexecuted instantiation: nodeIndexonlyscan.c:table_relation_estimate_size
Unexecuted instantiation: nodeIndexscan.c:table_relation_estimate_size
Unexecuted instantiation: nodeLockRows.c:table_relation_estimate_size
Unexecuted instantiation: nodeModifyTable.c:table_relation_estimate_size
Unexecuted instantiation: nodeSamplescan.c:table_relation_estimate_size
Unexecuted instantiation: nodeSeqscan.c:table_relation_estimate_size
Unexecuted instantiation: nodeTidrangescan.c:table_relation_estimate_size
Unexecuted instantiation: nodeTidscan.c:table_relation_estimate_size
Unexecuted instantiation: spi.c:table_relation_estimate_size
Unexecuted instantiation: copyfuncs.c:table_relation_estimate_size
Unexecuted instantiation: equalfuncs.c:table_relation_estimate_size
Unexecuted instantiation: outfuncs.c:table_relation_estimate_size
Unexecuted instantiation: queryjumblefuncs.c:table_relation_estimate_size
Unexecuted instantiation: readfuncs.c:table_relation_estimate_size
Unexecuted instantiation: plancat.c:table_relation_estimate_size
Unexecuted instantiation: partbounds.c:table_relation_estimate_size
Unexecuted instantiation: autovacuum.c:table_relation_estimate_size
Unexecuted instantiation: datachecksum_state.c:table_relation_estimate_size
Unexecuted instantiation: conflict.c:table_relation_estimate_size
Unexecuted instantiation: launcher.c:table_relation_estimate_size
Unexecuted instantiation: reorderbuffer.c:table_relation_estimate_size
Unexecuted instantiation: worker.c:table_relation_estimate_size
Unexecuted instantiation: rewriteHandler.c:table_relation_estimate_size
Unexecuted instantiation: attribute_stats.c:table_relation_estimate_size
Unexecuted instantiation: extended_stats_funcs.c:table_relation_estimate_size
Unexecuted instantiation: relation_stats.c:table_relation_estimate_size
Unexecuted instantiation: bufmgr.c:table_relation_estimate_size
Unexecuted instantiation: utility.c:table_relation_estimate_size
Unexecuted instantiation: ri_triggers.c:table_relation_estimate_size
Unexecuted instantiation: ruleutils.c:table_relation_estimate_size
Unexecuted instantiation: selfuncs.c:table_relation_estimate_size
Unexecuted instantiation: tid.c:table_relation_estimate_size
Unexecuted instantiation: trigfuncs.c:table_relation_estimate_size
Unexecuted instantiation: tsquery_rewrite.c:table_relation_estimate_size
Unexecuted instantiation: tsvector_op.c:table_relation_estimate_size
Unexecuted instantiation: xml.c:table_relation_estimate_size
Unexecuted instantiation: evtcache.c:table_relation_estimate_size
Unexecuted instantiation: funccache.c:table_relation_estimate_size
Unexecuted instantiation: relcache.c:table_relation_estimate_size
Unexecuted instantiation: postinit.c:table_relation_estimate_size
Unexecuted instantiation: guc_tables.c:table_relation_estimate_size
Unexecuted instantiation: simple_query_fuzzer.c:table_relation_estimate_size
2018
2019
2020
/* ----------------------------------------------------------------------------
2021
 * Executor related functionality
2022
 * ----------------------------------------------------------------------------
2023
 */
2024
2025
/*
2026
 * Fetch / check / return tuples as part of a bitmap table scan. `scan` needs
2027
 * to have been started via table_beginscan_bm(). Fetch the next tuple of a
2028
 * bitmap table scan into `slot` and return true if a visible tuple was found,
2029
 * false otherwise.
2030
 *
2031
 * `recheck` is set by the table AM to indicate whether or not the tuple in
2032
 * `slot` should be rechecked. Tuples from lossy pages will always need to be
2033
 * rechecked, but some non-lossy pages' tuples may also require recheck.
2034
 *
2035
 * `lossy_pages` is incremented if the block's representation in the bitmap is
2036
 * lossy; otherwise, `exact_pages` is incremented.
2037
 */
2038
static inline bool
2039
table_scan_bitmap_next_tuple(TableScanDesc scan,
2040
               TupleTableSlot *slot,
2041
               bool *recheck,
2042
               uint64 *lossy_pages,
2043
               uint64 *exact_pages)
2044
0
{
2045
0
  return scan->rs_rd->rd_tableam->scan_bitmap_next_tuple(scan,
2046
0
                               slot,
2047
0
                               recheck,
2048
0
                               lossy_pages,
2049
0
                               exact_pages);
2050
0
}
Unexecuted instantiation: fuzzer_initialize.c:table_scan_bitmap_next_tuple
Unexecuted instantiation: brin.c:table_scan_bitmap_next_tuple
Unexecuted instantiation: detoast.c:table_scan_bitmap_next_tuple
Unexecuted instantiation: toast_internals.c:table_scan_bitmap_next_tuple
Unexecuted instantiation: gininsert.c:table_scan_bitmap_next_tuple
Unexecuted instantiation: gistbuild.c:table_scan_bitmap_next_tuple
Unexecuted instantiation: hash.c:table_scan_bitmap_next_tuple
Unexecuted instantiation: heapam.c:table_scan_bitmap_next_tuple
Unexecuted instantiation: heapam_handler.c:table_scan_bitmap_next_tuple
Unexecuted instantiation: heapam_indexscan.c:table_scan_bitmap_next_tuple
Unexecuted instantiation: heapam_visibility.c:table_scan_bitmap_next_tuple
Unexecuted instantiation: heapam_xlog.c:table_scan_bitmap_next_tuple
Unexecuted instantiation: heaptoast.c:table_scan_bitmap_next_tuple
Unexecuted instantiation: hio.c:table_scan_bitmap_next_tuple
Unexecuted instantiation: pruneheap.c:table_scan_bitmap_next_tuple
Unexecuted instantiation: rewriteheap.c:table_scan_bitmap_next_tuple
Unexecuted instantiation: vacuumlazy.c:table_scan_bitmap_next_tuple
Unexecuted instantiation: genam.c:table_scan_bitmap_next_tuple
Unexecuted instantiation: indexam.c:table_scan_bitmap_next_tuple
Unexecuted instantiation: nbtdedup.c:table_scan_bitmap_next_tuple
Unexecuted instantiation: nbtinsert.c:table_scan_bitmap_next_tuple
Unexecuted instantiation: nbtpage.c:table_scan_bitmap_next_tuple
Unexecuted instantiation: nbtsort.c:table_scan_bitmap_next_tuple
Unexecuted instantiation: nbtsplitloc.c:table_scan_bitmap_next_tuple
Unexecuted instantiation: spginsert.c:table_scan_bitmap_next_tuple
Unexecuted instantiation: tableam.c:table_scan_bitmap_next_tuple
Unexecuted instantiation: tableamapi.c:table_scan_bitmap_next_tuple
Unexecuted instantiation: xact.c:table_scan_bitmap_next_tuple
Unexecuted instantiation: bootstrap.c:table_scan_bitmap_next_tuple
Unexecuted instantiation: aclchk.c:table_scan_bitmap_next_tuple
Unexecuted instantiation: dependency.c:table_scan_bitmap_next_tuple
Unexecuted instantiation: heap.c:table_scan_bitmap_next_tuple
Unexecuted instantiation: index.c:table_scan_bitmap_next_tuple
Unexecuted instantiation: indexing.c:table_scan_bitmap_next_tuple
Unexecuted instantiation: objectaddress.c:table_scan_bitmap_next_tuple
Unexecuted instantiation: pg_db_role_setting.c:table_scan_bitmap_next_tuple
Unexecuted instantiation: pg_publication.c:table_scan_bitmap_next_tuple
Unexecuted instantiation: pg_subscription.c:table_scan_bitmap_next_tuple
Unexecuted instantiation: toasting.c:table_scan_bitmap_next_tuple
Unexecuted instantiation: gram.c:table_scan_bitmap_next_tuple
Unexecuted instantiation: alter.c:table_scan_bitmap_next_tuple
Unexecuted instantiation: analyze.c:table_scan_bitmap_next_tuple
Unexecuted instantiation: constraint.c:table_scan_bitmap_next_tuple
Unexecuted instantiation: copyfrom.c:table_scan_bitmap_next_tuple
Unexecuted instantiation: copyfromparse.c:table_scan_bitmap_next_tuple
Unexecuted instantiation: copyto.c:table_scan_bitmap_next_tuple
Unexecuted instantiation: createas.c:table_scan_bitmap_next_tuple
Unexecuted instantiation: dbcommands.c:table_scan_bitmap_next_tuple
Unexecuted instantiation: event_trigger.c:table_scan_bitmap_next_tuple
Unexecuted instantiation: indexcmds.c:table_scan_bitmap_next_tuple
Unexecuted instantiation: matview.c:table_scan_bitmap_next_tuple
Unexecuted instantiation: repack.c:table_scan_bitmap_next_tuple
Unexecuted instantiation: tablecmds.c:table_scan_bitmap_next_tuple
Unexecuted instantiation: tablespace.c:table_scan_bitmap_next_tuple
Unexecuted instantiation: trigger.c:table_scan_bitmap_next_tuple
Unexecuted instantiation: typecmds.c:table_scan_bitmap_next_tuple
Unexecuted instantiation: vacuum.c:table_scan_bitmap_next_tuple
Unexecuted instantiation: execIndexing.c:table_scan_bitmap_next_tuple
Unexecuted instantiation: execMain.c:table_scan_bitmap_next_tuple
Unexecuted instantiation: execPartition.c:table_scan_bitmap_next_tuple
Unexecuted instantiation: execReplication.c:table_scan_bitmap_next_tuple
Unexecuted instantiation: execUtils.c:table_scan_bitmap_next_tuple
Unexecuted instantiation: nodeBitmapHeapscan.c:table_scan_bitmap_next_tuple
Unexecuted instantiation: nodeIndexonlyscan.c:table_scan_bitmap_next_tuple
Unexecuted instantiation: nodeIndexscan.c:table_scan_bitmap_next_tuple
Unexecuted instantiation: nodeLockRows.c:table_scan_bitmap_next_tuple
Unexecuted instantiation: nodeModifyTable.c:table_scan_bitmap_next_tuple
Unexecuted instantiation: nodeSamplescan.c:table_scan_bitmap_next_tuple
Unexecuted instantiation: nodeSeqscan.c:table_scan_bitmap_next_tuple
Unexecuted instantiation: nodeTidrangescan.c:table_scan_bitmap_next_tuple
Unexecuted instantiation: nodeTidscan.c:table_scan_bitmap_next_tuple
Unexecuted instantiation: spi.c:table_scan_bitmap_next_tuple
Unexecuted instantiation: copyfuncs.c:table_scan_bitmap_next_tuple
Unexecuted instantiation: equalfuncs.c:table_scan_bitmap_next_tuple
Unexecuted instantiation: outfuncs.c:table_scan_bitmap_next_tuple
Unexecuted instantiation: queryjumblefuncs.c:table_scan_bitmap_next_tuple
Unexecuted instantiation: readfuncs.c:table_scan_bitmap_next_tuple
Unexecuted instantiation: plancat.c:table_scan_bitmap_next_tuple
Unexecuted instantiation: partbounds.c:table_scan_bitmap_next_tuple
Unexecuted instantiation: autovacuum.c:table_scan_bitmap_next_tuple
Unexecuted instantiation: datachecksum_state.c:table_scan_bitmap_next_tuple
Unexecuted instantiation: conflict.c:table_scan_bitmap_next_tuple
Unexecuted instantiation: launcher.c:table_scan_bitmap_next_tuple
Unexecuted instantiation: reorderbuffer.c:table_scan_bitmap_next_tuple
Unexecuted instantiation: worker.c:table_scan_bitmap_next_tuple
Unexecuted instantiation: rewriteHandler.c:table_scan_bitmap_next_tuple
Unexecuted instantiation: attribute_stats.c:table_scan_bitmap_next_tuple
Unexecuted instantiation: extended_stats_funcs.c:table_scan_bitmap_next_tuple
Unexecuted instantiation: relation_stats.c:table_scan_bitmap_next_tuple
Unexecuted instantiation: bufmgr.c:table_scan_bitmap_next_tuple
Unexecuted instantiation: utility.c:table_scan_bitmap_next_tuple
Unexecuted instantiation: ri_triggers.c:table_scan_bitmap_next_tuple
Unexecuted instantiation: ruleutils.c:table_scan_bitmap_next_tuple
Unexecuted instantiation: selfuncs.c:table_scan_bitmap_next_tuple
Unexecuted instantiation: tid.c:table_scan_bitmap_next_tuple
Unexecuted instantiation: trigfuncs.c:table_scan_bitmap_next_tuple
Unexecuted instantiation: tsquery_rewrite.c:table_scan_bitmap_next_tuple
Unexecuted instantiation: tsvector_op.c:table_scan_bitmap_next_tuple
Unexecuted instantiation: xml.c:table_scan_bitmap_next_tuple
Unexecuted instantiation: evtcache.c:table_scan_bitmap_next_tuple
Unexecuted instantiation: funccache.c:table_scan_bitmap_next_tuple
Unexecuted instantiation: relcache.c:table_scan_bitmap_next_tuple
Unexecuted instantiation: postinit.c:table_scan_bitmap_next_tuple
Unexecuted instantiation: guc_tables.c:table_scan_bitmap_next_tuple
Unexecuted instantiation: simple_query_fuzzer.c:table_scan_bitmap_next_tuple
2051
2052
/*
2053
 * Prepare to fetch tuples from the next block in a sample scan. Returns false
2054
 * if the sample scan is finished, true otherwise. `scan` needs to have been
2055
 * started via table_beginscan_sampling().
2056
 *
2057
 * This will call the TsmRoutine's NextSampleBlock() callback if necessary
2058
 * (i.e. NextSampleBlock is not NULL), or perform a sequential scan over the
2059
 * underlying relation.
2060
 */
2061
static inline bool
2062
table_scan_sample_next_block(TableScanDesc scan,
2063
               SampleScanState *scanstate)
2064
0
{
2065
0
  return scan->rs_rd->rd_tableam->scan_sample_next_block(scan, scanstate);
2066
0
}
Unexecuted instantiation: fuzzer_initialize.c:table_scan_sample_next_block
Unexecuted instantiation: brin.c:table_scan_sample_next_block
Unexecuted instantiation: detoast.c:table_scan_sample_next_block
Unexecuted instantiation: toast_internals.c:table_scan_sample_next_block
Unexecuted instantiation: gininsert.c:table_scan_sample_next_block
Unexecuted instantiation: gistbuild.c:table_scan_sample_next_block
Unexecuted instantiation: hash.c:table_scan_sample_next_block
Unexecuted instantiation: heapam.c:table_scan_sample_next_block
Unexecuted instantiation: heapam_handler.c:table_scan_sample_next_block
Unexecuted instantiation: heapam_indexscan.c:table_scan_sample_next_block
Unexecuted instantiation: heapam_visibility.c:table_scan_sample_next_block
Unexecuted instantiation: heapam_xlog.c:table_scan_sample_next_block
Unexecuted instantiation: heaptoast.c:table_scan_sample_next_block
Unexecuted instantiation: hio.c:table_scan_sample_next_block
Unexecuted instantiation: pruneheap.c:table_scan_sample_next_block
Unexecuted instantiation: rewriteheap.c:table_scan_sample_next_block
Unexecuted instantiation: vacuumlazy.c:table_scan_sample_next_block
Unexecuted instantiation: genam.c:table_scan_sample_next_block
Unexecuted instantiation: indexam.c:table_scan_sample_next_block
Unexecuted instantiation: nbtdedup.c:table_scan_sample_next_block
Unexecuted instantiation: nbtinsert.c:table_scan_sample_next_block
Unexecuted instantiation: nbtpage.c:table_scan_sample_next_block
Unexecuted instantiation: nbtsort.c:table_scan_sample_next_block
Unexecuted instantiation: nbtsplitloc.c:table_scan_sample_next_block
Unexecuted instantiation: spginsert.c:table_scan_sample_next_block
Unexecuted instantiation: tableam.c:table_scan_sample_next_block
Unexecuted instantiation: tableamapi.c:table_scan_sample_next_block
Unexecuted instantiation: xact.c:table_scan_sample_next_block
Unexecuted instantiation: bootstrap.c:table_scan_sample_next_block
Unexecuted instantiation: aclchk.c:table_scan_sample_next_block
Unexecuted instantiation: dependency.c:table_scan_sample_next_block
Unexecuted instantiation: heap.c:table_scan_sample_next_block
Unexecuted instantiation: index.c:table_scan_sample_next_block
Unexecuted instantiation: indexing.c:table_scan_sample_next_block
Unexecuted instantiation: objectaddress.c:table_scan_sample_next_block
Unexecuted instantiation: pg_db_role_setting.c:table_scan_sample_next_block
Unexecuted instantiation: pg_publication.c:table_scan_sample_next_block
Unexecuted instantiation: pg_subscription.c:table_scan_sample_next_block
Unexecuted instantiation: toasting.c:table_scan_sample_next_block
Unexecuted instantiation: gram.c:table_scan_sample_next_block
Unexecuted instantiation: alter.c:table_scan_sample_next_block
Unexecuted instantiation: analyze.c:table_scan_sample_next_block
Unexecuted instantiation: constraint.c:table_scan_sample_next_block
Unexecuted instantiation: copyfrom.c:table_scan_sample_next_block
Unexecuted instantiation: copyfromparse.c:table_scan_sample_next_block
Unexecuted instantiation: copyto.c:table_scan_sample_next_block
Unexecuted instantiation: createas.c:table_scan_sample_next_block
Unexecuted instantiation: dbcommands.c:table_scan_sample_next_block
Unexecuted instantiation: event_trigger.c:table_scan_sample_next_block
Unexecuted instantiation: indexcmds.c:table_scan_sample_next_block
Unexecuted instantiation: matview.c:table_scan_sample_next_block
Unexecuted instantiation: repack.c:table_scan_sample_next_block
Unexecuted instantiation: tablecmds.c:table_scan_sample_next_block
Unexecuted instantiation: tablespace.c:table_scan_sample_next_block
Unexecuted instantiation: trigger.c:table_scan_sample_next_block
Unexecuted instantiation: typecmds.c:table_scan_sample_next_block
Unexecuted instantiation: vacuum.c:table_scan_sample_next_block
Unexecuted instantiation: execIndexing.c:table_scan_sample_next_block
Unexecuted instantiation: execMain.c:table_scan_sample_next_block
Unexecuted instantiation: execPartition.c:table_scan_sample_next_block
Unexecuted instantiation: execReplication.c:table_scan_sample_next_block
Unexecuted instantiation: execUtils.c:table_scan_sample_next_block
Unexecuted instantiation: nodeBitmapHeapscan.c:table_scan_sample_next_block
Unexecuted instantiation: nodeIndexonlyscan.c:table_scan_sample_next_block
Unexecuted instantiation: nodeIndexscan.c:table_scan_sample_next_block
Unexecuted instantiation: nodeLockRows.c:table_scan_sample_next_block
Unexecuted instantiation: nodeModifyTable.c:table_scan_sample_next_block
Unexecuted instantiation: nodeSamplescan.c:table_scan_sample_next_block
Unexecuted instantiation: nodeSeqscan.c:table_scan_sample_next_block
Unexecuted instantiation: nodeTidrangescan.c:table_scan_sample_next_block
Unexecuted instantiation: nodeTidscan.c:table_scan_sample_next_block
Unexecuted instantiation: spi.c:table_scan_sample_next_block
Unexecuted instantiation: copyfuncs.c:table_scan_sample_next_block
Unexecuted instantiation: equalfuncs.c:table_scan_sample_next_block
Unexecuted instantiation: outfuncs.c:table_scan_sample_next_block
Unexecuted instantiation: queryjumblefuncs.c:table_scan_sample_next_block
Unexecuted instantiation: readfuncs.c:table_scan_sample_next_block
Unexecuted instantiation: plancat.c:table_scan_sample_next_block
Unexecuted instantiation: partbounds.c:table_scan_sample_next_block
Unexecuted instantiation: autovacuum.c:table_scan_sample_next_block
Unexecuted instantiation: datachecksum_state.c:table_scan_sample_next_block
Unexecuted instantiation: conflict.c:table_scan_sample_next_block
Unexecuted instantiation: launcher.c:table_scan_sample_next_block
Unexecuted instantiation: reorderbuffer.c:table_scan_sample_next_block
Unexecuted instantiation: worker.c:table_scan_sample_next_block
Unexecuted instantiation: rewriteHandler.c:table_scan_sample_next_block
Unexecuted instantiation: attribute_stats.c:table_scan_sample_next_block
Unexecuted instantiation: extended_stats_funcs.c:table_scan_sample_next_block
Unexecuted instantiation: relation_stats.c:table_scan_sample_next_block
Unexecuted instantiation: bufmgr.c:table_scan_sample_next_block
Unexecuted instantiation: utility.c:table_scan_sample_next_block
Unexecuted instantiation: ri_triggers.c:table_scan_sample_next_block
Unexecuted instantiation: ruleutils.c:table_scan_sample_next_block
Unexecuted instantiation: selfuncs.c:table_scan_sample_next_block
Unexecuted instantiation: tid.c:table_scan_sample_next_block
Unexecuted instantiation: trigfuncs.c:table_scan_sample_next_block
Unexecuted instantiation: tsquery_rewrite.c:table_scan_sample_next_block
Unexecuted instantiation: tsvector_op.c:table_scan_sample_next_block
Unexecuted instantiation: xml.c:table_scan_sample_next_block
Unexecuted instantiation: evtcache.c:table_scan_sample_next_block
Unexecuted instantiation: funccache.c:table_scan_sample_next_block
Unexecuted instantiation: relcache.c:table_scan_sample_next_block
Unexecuted instantiation: postinit.c:table_scan_sample_next_block
Unexecuted instantiation: guc_tables.c:table_scan_sample_next_block
Unexecuted instantiation: simple_query_fuzzer.c:table_scan_sample_next_block
2067
2068
/*
2069
 * Fetch the next sample tuple into `slot` and return true if a visible tuple
2070
 * was found, false otherwise. table_scan_sample_next_block() needs to
2071
 * previously have selected a block (i.e. returned true), and no previous
2072
 * table_scan_sample_next_tuple() for the same block may have returned false.
2073
 *
2074
 * This will call the TsmRoutine's NextSampleTuple() callback.
2075
 */
2076
static inline bool
2077
table_scan_sample_next_tuple(TableScanDesc scan,
2078
               SampleScanState *scanstate,
2079
               TupleTableSlot *slot)
2080
0
{
2081
0
  return scan->rs_rd->rd_tableam->scan_sample_next_tuple(scan, scanstate,
2082
0
                               slot);
2083
0
}
Unexecuted instantiation: fuzzer_initialize.c:table_scan_sample_next_tuple
Unexecuted instantiation: brin.c:table_scan_sample_next_tuple
Unexecuted instantiation: detoast.c:table_scan_sample_next_tuple
Unexecuted instantiation: toast_internals.c:table_scan_sample_next_tuple
Unexecuted instantiation: gininsert.c:table_scan_sample_next_tuple
Unexecuted instantiation: gistbuild.c:table_scan_sample_next_tuple
Unexecuted instantiation: hash.c:table_scan_sample_next_tuple
Unexecuted instantiation: heapam.c:table_scan_sample_next_tuple
Unexecuted instantiation: heapam_handler.c:table_scan_sample_next_tuple
Unexecuted instantiation: heapam_indexscan.c:table_scan_sample_next_tuple
Unexecuted instantiation: heapam_visibility.c:table_scan_sample_next_tuple
Unexecuted instantiation: heapam_xlog.c:table_scan_sample_next_tuple
Unexecuted instantiation: heaptoast.c:table_scan_sample_next_tuple
Unexecuted instantiation: hio.c:table_scan_sample_next_tuple
Unexecuted instantiation: pruneheap.c:table_scan_sample_next_tuple
Unexecuted instantiation: rewriteheap.c:table_scan_sample_next_tuple
Unexecuted instantiation: vacuumlazy.c:table_scan_sample_next_tuple
Unexecuted instantiation: genam.c:table_scan_sample_next_tuple
Unexecuted instantiation: indexam.c:table_scan_sample_next_tuple
Unexecuted instantiation: nbtdedup.c:table_scan_sample_next_tuple
Unexecuted instantiation: nbtinsert.c:table_scan_sample_next_tuple
Unexecuted instantiation: nbtpage.c:table_scan_sample_next_tuple
Unexecuted instantiation: nbtsort.c:table_scan_sample_next_tuple
Unexecuted instantiation: nbtsplitloc.c:table_scan_sample_next_tuple
Unexecuted instantiation: spginsert.c:table_scan_sample_next_tuple
Unexecuted instantiation: tableam.c:table_scan_sample_next_tuple
Unexecuted instantiation: tableamapi.c:table_scan_sample_next_tuple
Unexecuted instantiation: xact.c:table_scan_sample_next_tuple
Unexecuted instantiation: bootstrap.c:table_scan_sample_next_tuple
Unexecuted instantiation: aclchk.c:table_scan_sample_next_tuple
Unexecuted instantiation: dependency.c:table_scan_sample_next_tuple
Unexecuted instantiation: heap.c:table_scan_sample_next_tuple
Unexecuted instantiation: index.c:table_scan_sample_next_tuple
Unexecuted instantiation: indexing.c:table_scan_sample_next_tuple
Unexecuted instantiation: objectaddress.c:table_scan_sample_next_tuple
Unexecuted instantiation: pg_db_role_setting.c:table_scan_sample_next_tuple
Unexecuted instantiation: pg_publication.c:table_scan_sample_next_tuple
Unexecuted instantiation: pg_subscription.c:table_scan_sample_next_tuple
Unexecuted instantiation: toasting.c:table_scan_sample_next_tuple
Unexecuted instantiation: gram.c:table_scan_sample_next_tuple
Unexecuted instantiation: alter.c:table_scan_sample_next_tuple
Unexecuted instantiation: analyze.c:table_scan_sample_next_tuple
Unexecuted instantiation: constraint.c:table_scan_sample_next_tuple
Unexecuted instantiation: copyfrom.c:table_scan_sample_next_tuple
Unexecuted instantiation: copyfromparse.c:table_scan_sample_next_tuple
Unexecuted instantiation: copyto.c:table_scan_sample_next_tuple
Unexecuted instantiation: createas.c:table_scan_sample_next_tuple
Unexecuted instantiation: dbcommands.c:table_scan_sample_next_tuple
Unexecuted instantiation: event_trigger.c:table_scan_sample_next_tuple
Unexecuted instantiation: indexcmds.c:table_scan_sample_next_tuple
Unexecuted instantiation: matview.c:table_scan_sample_next_tuple
Unexecuted instantiation: repack.c:table_scan_sample_next_tuple
Unexecuted instantiation: tablecmds.c:table_scan_sample_next_tuple
Unexecuted instantiation: tablespace.c:table_scan_sample_next_tuple
Unexecuted instantiation: trigger.c:table_scan_sample_next_tuple
Unexecuted instantiation: typecmds.c:table_scan_sample_next_tuple
Unexecuted instantiation: vacuum.c:table_scan_sample_next_tuple
Unexecuted instantiation: execIndexing.c:table_scan_sample_next_tuple
Unexecuted instantiation: execMain.c:table_scan_sample_next_tuple
Unexecuted instantiation: execPartition.c:table_scan_sample_next_tuple
Unexecuted instantiation: execReplication.c:table_scan_sample_next_tuple
Unexecuted instantiation: execUtils.c:table_scan_sample_next_tuple
Unexecuted instantiation: nodeBitmapHeapscan.c:table_scan_sample_next_tuple
Unexecuted instantiation: nodeIndexonlyscan.c:table_scan_sample_next_tuple
Unexecuted instantiation: nodeIndexscan.c:table_scan_sample_next_tuple
Unexecuted instantiation: nodeLockRows.c:table_scan_sample_next_tuple
Unexecuted instantiation: nodeModifyTable.c:table_scan_sample_next_tuple
Unexecuted instantiation: nodeSamplescan.c:table_scan_sample_next_tuple
Unexecuted instantiation: nodeSeqscan.c:table_scan_sample_next_tuple
Unexecuted instantiation: nodeTidrangescan.c:table_scan_sample_next_tuple
Unexecuted instantiation: nodeTidscan.c:table_scan_sample_next_tuple
Unexecuted instantiation: spi.c:table_scan_sample_next_tuple
Unexecuted instantiation: copyfuncs.c:table_scan_sample_next_tuple
Unexecuted instantiation: equalfuncs.c:table_scan_sample_next_tuple
Unexecuted instantiation: outfuncs.c:table_scan_sample_next_tuple
Unexecuted instantiation: queryjumblefuncs.c:table_scan_sample_next_tuple
Unexecuted instantiation: readfuncs.c:table_scan_sample_next_tuple
Unexecuted instantiation: plancat.c:table_scan_sample_next_tuple
Unexecuted instantiation: partbounds.c:table_scan_sample_next_tuple
Unexecuted instantiation: autovacuum.c:table_scan_sample_next_tuple
Unexecuted instantiation: datachecksum_state.c:table_scan_sample_next_tuple
Unexecuted instantiation: conflict.c:table_scan_sample_next_tuple
Unexecuted instantiation: launcher.c:table_scan_sample_next_tuple
Unexecuted instantiation: reorderbuffer.c:table_scan_sample_next_tuple
Unexecuted instantiation: worker.c:table_scan_sample_next_tuple
Unexecuted instantiation: rewriteHandler.c:table_scan_sample_next_tuple
Unexecuted instantiation: attribute_stats.c:table_scan_sample_next_tuple
Unexecuted instantiation: extended_stats_funcs.c:table_scan_sample_next_tuple
Unexecuted instantiation: relation_stats.c:table_scan_sample_next_tuple
Unexecuted instantiation: bufmgr.c:table_scan_sample_next_tuple
Unexecuted instantiation: utility.c:table_scan_sample_next_tuple
Unexecuted instantiation: ri_triggers.c:table_scan_sample_next_tuple
Unexecuted instantiation: ruleutils.c:table_scan_sample_next_tuple
Unexecuted instantiation: selfuncs.c:table_scan_sample_next_tuple
Unexecuted instantiation: tid.c:table_scan_sample_next_tuple
Unexecuted instantiation: trigfuncs.c:table_scan_sample_next_tuple
Unexecuted instantiation: tsquery_rewrite.c:table_scan_sample_next_tuple
Unexecuted instantiation: tsvector_op.c:table_scan_sample_next_tuple
Unexecuted instantiation: xml.c:table_scan_sample_next_tuple
Unexecuted instantiation: evtcache.c:table_scan_sample_next_tuple
Unexecuted instantiation: funccache.c:table_scan_sample_next_tuple
Unexecuted instantiation: relcache.c:table_scan_sample_next_tuple
Unexecuted instantiation: postinit.c:table_scan_sample_next_tuple
Unexecuted instantiation: guc_tables.c:table_scan_sample_next_tuple
Unexecuted instantiation: simple_query_fuzzer.c:table_scan_sample_next_tuple
2084
2085
2086
/* ----------------------------------------------------------------------------
2087
 * Functions to make modifications a bit simpler.
2088
 * ----------------------------------------------------------------------------
2089
 */
2090
2091
extern void simple_table_tuple_insert(Relation rel, TupleTableSlot *slot);
2092
extern void simple_table_tuple_delete(Relation rel, ItemPointer tid,
2093
                    Snapshot snapshot);
2094
extern void simple_table_tuple_update(Relation rel, ItemPointer otid,
2095
                    TupleTableSlot *slot, Snapshot snapshot,
2096
                    TU_UpdateIndexes *update_indexes);
2097
2098
2099
/* ----------------------------------------------------------------------------
2100
 * Helper functions to implement parallel scans for block oriented AMs.
2101
 * ----------------------------------------------------------------------------
2102
 */
2103
2104
extern Size table_block_parallelscan_estimate(Relation rel);
2105
extern Size table_block_parallelscan_initialize(Relation rel,
2106
                        ParallelTableScanDesc pscan);
2107
extern void table_block_parallelscan_reinitialize(Relation rel,
2108
                          ParallelTableScanDesc pscan);
2109
extern BlockNumber table_block_parallelscan_nextpage(Relation rel,
2110
                           ParallelBlockTableScanWorker pbscanwork,
2111
                           ParallelBlockTableScanDesc pbscan);
2112
extern void table_block_parallelscan_startblock_init(Relation rel,
2113
                           ParallelBlockTableScanWorker pbscanwork,
2114
                           ParallelBlockTableScanDesc pbscan,
2115
                           BlockNumber startblock,
2116
                           BlockNumber numblocks);
2117
2118
2119
/* ----------------------------------------------------------------------------
2120
 * Helper functions to implement relation sizing for block oriented AMs.
2121
 * ----------------------------------------------------------------------------
2122
 */
2123
2124
extern uint64 table_block_relation_size(Relation rel, ForkNumber forkNumber);
2125
extern void table_block_relation_estimate_size(Relation rel,
2126
                         int32 *attr_widths,
2127
                         BlockNumber *pages,
2128
                         double *tuples,
2129
                         double *allvisfrac,
2130
                         Size overhead_bytes_per_tuple,
2131
                         Size usable_bytes_per_page);
2132
2133
/* ----------------------------------------------------------------------------
2134
 * Functions in tableamapi.c
2135
 * ----------------------------------------------------------------------------
2136
 */
2137
2138
extern const TableAmRoutine *GetTableAmRoutine(Oid amhandler);
2139
2140
/* ----------------------------------------------------------------------------
2141
 * Functions in heapam_handler.c
2142
 * ----------------------------------------------------------------------------
2143
 */
2144
2145
extern const TableAmRoutine *GetHeapamTableAmRoutine(void);
2146
2147
#endif              /* TABLEAM_H */