2025-03-29 15:14:47 +01:00
|
|
|
/*-------------------------------------------------------------------------
|
|
|
|
*
|
|
|
|
* amcheck.h
|
|
|
|
* Shared routines for amcheck verifications.
|
|
|
|
*
|
|
|
|
* Copyright (c) 2016-2025, PostgreSQL Global Development Group
|
|
|
|
*
|
|
|
|
* IDENTIFICATION
|
|
|
|
* contrib/amcheck/amcheck.h
|
|
|
|
*
|
|
|
|
*-------------------------------------------------------------------------
|
|
|
|
*/
|
|
|
|
#include "storage/bufpage.h"
|
|
|
|
#include "storage/lmgr.h"
|
|
|
|
#include "storage/lockdefs.h"
|
|
|
|
#include "utils/relcache.h"
|
|
|
|
#include "miscadmin.h"
|
|
|
|
|
2025-04-19 19:17:42 +09:00
|
|
|
/* Typedefs for callback functions for amcheck_lock_relation_and_check */
|
2025-03-29 15:14:47 +01:00
|
|
|
typedef void (*IndexCheckableCallback) (Relation index);
|
|
|
|
typedef void (*IndexDoCheckCallback) (Relation rel,
|
|
|
|
Relation heaprel,
|
|
|
|
void *state,
|
|
|
|
bool readonly);
|
|
|
|
|
|
|
|
extern void amcheck_lock_relation_and_check(Oid indrelid,
|
|
|
|
Oid am_id,
|
|
|
|
IndexDoCheckCallback check,
|
|
|
|
LOCKMODE lockmode, void *state);
|
|
|
|
|
|
|
|
extern bool index_checkable(Relation rel, Oid am_id);
|