PostgreSQL Source Code git master
Loading...
Searching...
No Matches
indexing.h
Go to the documentation of this file.
1/*-------------------------------------------------------------------------
2 *
3 * indexing.h
4 * This file provides some definitions to support indexing
5 * on system catalogs
6 *
7 *
8 * Portions Copyright (c) 1996-2026, PostgreSQL Global Development Group
9 * Portions Copyright (c) 1994, Regents of the University of California
10 *
11 * src/include/catalog/indexing.h
12 *
13 *-------------------------------------------------------------------------
14 */
15#ifndef INDEXING_H
16#define INDEXING_H
17
18#include "access/htup.h"
19#include "executor/tuptable.h"
20#include "utils/relcache.h"
21
22/*
23 * The state object used by CatalogOpenIndexes and friends is actually the
24 * same as the executor's ResultRelInfo, but we give it another type name
25 * to decouple callers from that fact.
26 */
28
29/*
30 * Cap the maximum amount of bytes allocated for multi-inserts with system
31 * catalogs, limiting the number of slots used.
32 */
33#define MAX_CATALOG_MULTI_INSERT_BYTES 65535
34
35/*
36 * indexing.c prototypes
37 */
40extern void CatalogTupleInsert(Relation heapRel, HeapTuple tup);
44 TupleTableSlot **slot,
45 int ntuples,
47extern void CatalogTupleUpdate(Relation heapRel, const ItemPointerData *otid,
49extern void CatalogTupleUpdateWithInfo(Relation heapRel,
52extern void CatalogTupleDelete(Relation heapRel, const ItemPointerData *tid);
53
54#endif /* INDEXING_H */
struct ResultRelInfo * CatalogIndexState
Definition indexing.h:27
void CatalogTuplesMultiInsertWithInfo(Relation heapRel, TupleTableSlot **slot, int ntuples, CatalogIndexState indstate)
Definition indexing.c:273
void CatalogTupleUpdateWithInfo(Relation heapRel, const ItemPointerData *otid, HeapTuple tup, CatalogIndexState indstate)
Definition indexing.c:337
void CatalogTupleUpdate(Relation heapRel, const ItemPointerData *otid, HeapTuple tup)
Definition indexing.c:313
void CatalogTupleInsertWithInfo(Relation heapRel, HeapTuple tup, CatalogIndexState indstate)
Definition indexing.c:256
void CatalogCloseIndexes(CatalogIndexState indstate)
Definition indexing.c:61
void CatalogTupleInsert(Relation heapRel, HeapTuple tup)
Definition indexing.c:233
CatalogIndexState CatalogOpenIndexes(Relation heapRel)
Definition indexing.c:43
void CatalogTupleDelete(Relation heapRel, const ItemPointerData *tid)
Definition indexing.c:365
static int fb(int x)