diff options
author | Tomas Vondra <tomas.vondra@postgresql.org> | 2025-03-29 15:14:47 +0100 |
---|---|---|
committer | Tomas Vondra <tomas.vondra@postgresql.org> | 2025-03-29 15:14:49 +0100 |
commit | d70b17636ddf1ea2c71d1c7bc477372b36ccb66b (patch) | |
tree | 9d3be82b51ed0c9c49d42576ad44cf87312f4372 /src | |
parent | fb9dff76635d4c32198f30a3cb503588d557d156 (diff) | |
download | postgresql-d70b17636ddf1ea2c71d1c7bc477372b36ccb66b.tar.gz postgresql-d70b17636ddf1ea2c71d1c7bc477372b36ccb66b.zip |
amcheck: Move common routines into a separate module
Before performing checks on an index, we need to take some safety
measures that apply to all index AMs. This includes:
* verifying that the index can be checked - Only selected AMs are
supported by amcheck (right now only B-Tree). The index has to be
valid and not a temporary index from another session.
* changing (and then restoring) user's security context
* obtaining proper locks on the index (and table, if needed)
* discarding GUC changes from the index functions
Until now this was implemented in the B-Tree amcheck module, but it's
something every AM will have to do. So relocate the code into a new
module verify_common for reuse.
The shared steps are implemented by amcheck_lock_relation_and_check(),
receiving the AM-specific verification as a callback. Custom parameters
may be supplied using a pointer.
Author: Andrey Borodin <amborodin@acm.org>
Reviewed-By: José Villanova <jose.arthur@gmail.com>
Reviewed-By: Aleksander Alekseev <aleksander@timescale.com>
Reviewed-By: Nikolay Samokhvalov <samokhvalov@gmail.com>
Reviewed-By: Andres Freund <andres@anarazel.de>
Reviewed-By: Tomas Vondra <tomas@vondra.me>
Reviewed-By: Mark Dilger <mark.dilger@enterprisedb.com>
Reviewed-By: Peter Geoghegan <pg@bowt.ie>
Reviewed-By: Kirill Reshke <reshkekirill@gmail.com>
Discussion: https://postgr.es/m/45AC9B0A-2B45-40EE-B08F-BDCF5739D1E1%40yandex-team.ru
Diffstat (limited to 'src')
-rw-r--r-- | src/tools/pgindent/typedefs.list | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/src/tools/pgindent/typedefs.list b/src/tools/pgindent/typedefs.list index 1279b69422a..b66affbea56 100644 --- a/src/tools/pgindent/typedefs.list +++ b/src/tools/pgindent/typedefs.list @@ -194,6 +194,7 @@ BOOLEAN BOX BTArrayKeyInfo BTBuildState +BTCallbackState BTCycleId BTDedupInterval BTDedupState |