postgresql/src/include/access
Michael Paquier 2252fcd427 Rationalize handling of VacuumParams
This commit refactors the vacuum routines that rely on VacuumParams,
adding const markers where necessary to force a new policy in the code.
This structure should not use a pointer as it may be used across
multiple relations, and its contents should never be updated.
vacuum_rel() stands as an exception as it touches the "index_cleanup"
and "truncate" options.

VacuumParams has been introduced in 0d83138974, and 661643deda has
fixed a bug impacting VACUUM operating on multiple relations.  The
changes done in tableam.h break ABI compatibility, so this commit can
only happen on HEAD.

Author: Shihao Zhong <zhong950419@gmail.com>
Co-authored-by: Michael Paquier <michael@paquier.xyz>
Reviewed-by: Nathan Bossart <nathandbossart@gmail.com>
Reviewed-by: Junwang Zhao <zhjwpku@gmail.com>
Discussion: https://postgr.es/m/CAGRkXqTo+aK=GTy5pSc-9cy8H2F2TJvcrZ-zXEiNJj93np1UUw@mail.gmail.com
2025-06-30 15:42:50 +09:00
..
amapi.h Add nbtree skip scan optimization. 2025-04-04 12:27:04 -04:00
amvalidate.h Update copyright for 2025 2025-01-01 11:21:55 -05:00
attmap.h Update copyright for 2025 2025-01-01 11:21:55 -05:00
attnum.h Update copyright for 2025 2025-01-01 11:21:55 -05:00
brin.h Update copyright for 2025 2025-01-01 11:21:55 -05:00
brin_internal.h Update copyright for 2025 2025-01-01 11:21:55 -05:00
brin_page.h Update copyright for 2025 2025-01-01 11:21:55 -05:00
brin_pageops.h Update copyright for 2025 2025-01-01 11:21:55 -05:00
brin_revmap.h Update copyright for 2025 2025-01-01 11:21:55 -05:00
brin_tuple.h Update copyright for 2025 2025-01-01 11:21:55 -05:00
brin_xlog.h Update copyright for 2025 2025-01-01 11:21:55 -05:00
bufmask.h Update copyright for 2025 2025-01-01 11:21:55 -05:00
clog.h Update copyright for 2025 2025-01-01 11:21:55 -05:00
cmptype.h Convert strategies to and from compare types 2025-02-02 10:26:04 +01:00
commit_ts.h Update copyright for 2025 2025-01-01 11:21:55 -05:00
detoast.h Update copyright for 2025 2025-01-01 11:21:55 -05:00
genam.h Show index search count in EXPLAIN ANALYZE, take 2. 2025-03-11 09:20:50 -04:00
generic_xlog.h Update copyright for 2025 2025-01-01 11:21:55 -05:00
gin.h Allow parallel CREATE INDEX for GIN indexes 2025-03-03 16:53:06 +01:00
gin_private.h Separate TBM[Shared|Private]Iterator and TBMIterateResult 2025-03-15 10:11:19 -04:00
gin_tuple.h Fix incorrect year in some copyright notices 2025-05-19 09:46:52 +09:00
ginblock.h Update copyright for 2025 2025-01-01 11:21:55 -05:00
ginxlog.h Update copyright for 2025 2025-01-01 11:21:55 -05:00
gist.h Rename gist stratnum support function 2025-06-02 08:41:27 +02:00
gist_private.h Update copyright for 2025 2025-01-01 11:21:55 -05:00
gistscan.h Update copyright for 2025 2025-01-01 11:21:55 -05:00
gistxlog.h Update copyright for 2025 2025-01-01 11:21:55 -05:00
hash.h Drop opcintype from index AM strategy translation API 2025-02-21 09:07:16 +01:00
hash_xlog.h Update copyright for 2025 2025-01-01 11:21:55 -05:00
heapam.h Rationalize handling of VacuumParams 2025-06-30 15:42:50 +09:00
heapam_xlog.h Update copyright for 2025 2025-01-01 11:21:55 -05:00
heaptoast.h Update copyright for 2025 2025-01-01 11:21:55 -05:00
hio.h Update copyright for 2025 2025-01-01 11:21:55 -05:00
htup.h Add some const decorations (htup.h) 2025-01-23 12:12:08 +01:00
htup_details.h Add ExecCopySlotMinimalTupleExtra(). 2025-03-24 22:05:53 -07:00
itup.h Convert macros to static inline functions (htup_details.h, itup.h) 2025-01-23 12:12:08 +01:00
multixact.h Update copyright for 2025 2025-01-01 11:21:55 -05:00
nbtree.h Avoid BufferGetLSNAtomic() calls during nbtree scans. 2025-06-06 10:19:44 -04:00
nbtxlog.h Update copyright for 2025 2025-01-01 11:21:55 -05:00
parallel.h Rename some signal and interrupt handling functions for consistency 2025-03-05 16:22:26 +02:00
printsimple.h Update copyright for 2025 2025-01-01 11:21:55 -05:00
printtup.h Update copyright for 2025 2025-01-01 11:21:55 -05:00
relation.h Update copyright for 2025 2025-01-01 11:21:55 -05:00
reloptions.h Expand comment for isset_offset. 2025-03-24 15:47:02 -05:00
relscan.h Show index search count in EXPLAIN ANALYZE, take 2. 2025-03-11 09:20:50 -04:00
rewriteheap.h Update copyright for 2025 2025-01-01 11:21:55 -05:00
rmgr.h Pre-beta mechanical code beautification. 2022-05-12 15:17:30 -04:00
rmgrdesc_utils.h Update copyright for 2025 2025-01-01 11:21:55 -05:00
rmgrlist.h Update copyright for 2025 2025-01-01 11:21:55 -05:00
sdir.h Update copyright for 2025 2025-01-01 11:21:55 -05:00
sequence.h Update copyright for 2025 2025-01-01 11:21:55 -05:00
session.h Update copyright for 2025 2025-01-01 11:21:55 -05:00
skey.h Update copyright for 2025 2025-01-01 11:21:55 -05:00
slru.h Fix SLRU bank selection code 2025-01-09 07:39:05 +01:00
spgist.h Update copyright for 2025 2025-01-01 11:21:55 -05:00
spgist_private.h Update copyright for 2025 2025-01-01 11:21:55 -05:00
spgxlog.h Update copyright for 2025 2025-01-01 11:21:55 -05:00
stratnum.h Update copyright for 2025 2025-01-01 11:21:55 -05:00
subtrans.h Update copyright for 2025 2025-01-01 11:21:55 -05:00
syncscan.h Update copyright for 2025 2025-01-01 11:21:55 -05:00
sysattr.h Update copyright for 2025 2025-01-01 11:21:55 -05:00
table.h Update copyright for 2025 2025-01-01 11:21:55 -05:00
tableam.h Rationalize handling of VacuumParams 2025-06-30 15:42:50 +09:00
tidstore.h Update copyright for 2025 2025-01-01 11:21:55 -05:00
timeline.h Update copyright for 2025 2025-01-01 11:21:55 -05:00
toast_compression.h Update copyright for 2025 2025-01-01 11:21:55 -05:00
toast_helper.h Update copyright for 2025 2025-01-01 11:21:55 -05:00
toast_internals.h Update copyright for 2025 2025-01-01 11:21:55 -05:00
transam.h Merge copies of converting an XID to a FullTransactionId. 2025-01-25 11:28:14 -08:00
tsmapi.h Update copyright for 2025 2025-01-01 11:21:55 -05:00
tupconvert.h Update copyright for 2025 2025-01-01 11:21:55 -05:00
tupdesc.h Allow NOT NULL constraints to be added as NOT VALID 2025-04-07 19:19:50 +02:00
tupdesc_details.h Update copyright for 2025 2025-01-01 11:21:55 -05:00
tupmacs.h Update copyright for 2025 2025-01-01 11:21:55 -05:00
twophase.h Update copyright for 2025 2025-01-01 11:21:55 -05:00
twophase_rmgr.h Update copyright for 2025 2025-01-01 11:21:55 -05:00
valid.h Update copyright for 2025 2025-01-01 11:21:55 -05:00
visibilitymap.h Update copyright for 2025 2025-01-01 11:21:55 -05:00
visibilitymapdefs.h Update copyright for 2025 2025-01-01 11:21:55 -05:00
xact.h Revert "postgres_fdw: Inherit the local transaction's access/deferrable modes." 2025-06-08 17:30:00 +09:00
xlog.h Re-add GUC track_wal_io_timing 2025-02-26 09:49:59 +09:00
xlog_internal.h XLogRegisterData, XLogRegisterBufData void * argument for binary data 2025-02-13 10:33:14 +01:00
xlogarchive.h Update copyright for 2025 2025-01-01 11:21:55 -05:00
xlogbackup.h Update copyright for 2025 2025-01-01 11:21:55 -05:00
xlogdefs.h Update copyright for 2025 2025-01-01 11:21:55 -05:00
xloginsert.h XLogRegisterData, XLogRegisterBufData void * argument for binary data 2025-02-13 10:33:14 +01:00
xlogprefetcher.h Update copyright for 2025 2025-01-01 11:21:55 -05:00
xlogreader.h Update copyright for 2025 2025-01-01 11:21:55 -05:00
xlogrecord.h Update copyright for 2025 2025-01-01 11:21:55 -05:00
xlogrecovery.h Update copyright for 2025 2025-01-01 11:21:55 -05:00
xlogstats.h Update copyright for 2025 2025-01-01 11:21:55 -05:00
xlogutils.h Update copyright for 2025 2025-01-01 11:21:55 -05:00