PostgreSQL Source Code  git master
pg_index.h File Reference
#include "catalog/genbki.h"
Include dependency graph for pg_index.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define IndexRelationId   2610
 
#define Natts_pg_index   19
 
#define Anum_pg_index_indexrelid   1
 
#define Anum_pg_index_indrelid   2
 
#define Anum_pg_index_indnatts   3
 
#define Anum_pg_index_indisunique   4
 
#define Anum_pg_index_indisprimary   5
 
#define Anum_pg_index_indisexclusion   6
 
#define Anum_pg_index_indimmediate   7
 
#define Anum_pg_index_indisclustered   8
 
#define Anum_pg_index_indisvalid   9
 
#define Anum_pg_index_indcheckxmin   10
 
#define Anum_pg_index_indisready   11
 
#define Anum_pg_index_indislive   12
 
#define Anum_pg_index_indisreplident   13
 
#define Anum_pg_index_indkey   14
 
#define Anum_pg_index_indcollation   15
 
#define Anum_pg_index_indclass   16
 
#define Anum_pg_index_indoption   17
 
#define Anum_pg_index_indexprs   18
 
#define Anum_pg_index_indpred   19
 
#define INDOPTION_DESC   0x0001 /* values are in reverse order */
 
#define INDOPTION_NULLS_FIRST   0x0002 /* NULLs are first instead of last */
 
#define IndexIsValid(indexForm)   ((indexForm)->indisvalid)
 
#define IndexIsReady(indexForm)   ((indexForm)->indisready)
 
#define IndexIsLive(indexForm)   ((indexForm)->indislive)
 

Typedefs

typedef FormData_pg_indexForm_pg_index
 

Functions

 CATALOG (pg_index, 2610) BKI_WITHOUT_OIDS BKI_SCHEMA_MACRO
 

Variables

 FormData_pg_index
 

Macro Definition Documentation

◆ Anum_pg_index_indcheckxmin

#define Anum_pg_index_indcheckxmin   10

Definition at line 83 of file pg_index.h.

Referenced by UpdateIndexRelation().

◆ Anum_pg_index_indclass

◆ Anum_pg_index_indcollation

#define Anum_pg_index_indcollation   15

◆ Anum_pg_index_indexprs

◆ Anum_pg_index_indexrelid

#define Anum_pg_index_indexrelid   1

Definition at line 74 of file pg_index.h.

Referenced by sepgsql_index_modify(), and UpdateIndexRelation().

◆ Anum_pg_index_indimmediate

#define Anum_pg_index_indimmediate   7

Definition at line 80 of file pg_index.h.

Referenced by UpdateIndexRelation().

◆ Anum_pg_index_indisclustered

#define Anum_pg_index_indisclustered   8

Definition at line 81 of file pg_index.h.

Referenced by get_tables_to_cluster(), and UpdateIndexRelation().

◆ Anum_pg_index_indisexclusion

#define Anum_pg_index_indisexclusion   6

Definition at line 79 of file pg_index.h.

Referenced by UpdateIndexRelation().

◆ Anum_pg_index_indislive

#define Anum_pg_index_indislive   12

Definition at line 85 of file pg_index.h.

Referenced by UpdateIndexRelation().

◆ Anum_pg_index_indisprimary

#define Anum_pg_index_indisprimary   5

Definition at line 78 of file pg_index.h.

Referenced by UpdateIndexRelation().

◆ Anum_pg_index_indisready

#define Anum_pg_index_indisready   11

Definition at line 84 of file pg_index.h.

Referenced by UpdateIndexRelation().

◆ Anum_pg_index_indisreplident

#define Anum_pg_index_indisreplident   13

Definition at line 86 of file pg_index.h.

Referenced by UpdateIndexRelation().

◆ Anum_pg_index_indisunique

#define Anum_pg_index_indisunique   4

Definition at line 77 of file pg_index.h.

Referenced by UpdateIndexRelation().

◆ Anum_pg_index_indisvalid

#define Anum_pg_index_indisvalid   9

Definition at line 82 of file pg_index.h.

Referenced by UpdateIndexRelation().

◆ Anum_pg_index_indkey

#define Anum_pg_index_indkey   14

Definition at line 87 of file pg_index.h.

Referenced by UpdateIndexRelation().

◆ Anum_pg_index_indnatts

#define Anum_pg_index_indnatts   3

Definition at line 76 of file pg_index.h.

Referenced by UpdateIndexRelation().

◆ Anum_pg_index_indoption

#define Anum_pg_index_indoption   17

◆ Anum_pg_index_indpred

◆ Anum_pg_index_indrelid

#define Anum_pg_index_indrelid   2

◆ IndexIsLive

#define IndexIsLive (   indexForm)    ((indexForm)->indislive)

Definition at line 109 of file pg_index.h.

Referenced by RelationGetIndexList().

◆ IndexIsReady

#define IndexIsReady (   indexForm)    ((indexForm)->indisready)

Definition at line 108 of file pg_index.h.

Referenced by BuildIndexInfo(), toast_save_datum(), and vac_open_indexes().

◆ IndexIsValid

◆ IndexRelationId

◆ INDOPTION_DESC

#define INDOPTION_DESC   0x0001 /* values are in reverse order */

◆ INDOPTION_NULLS_FIRST

#define INDOPTION_NULLS_FIRST   0x0002 /* NULLs are first instead of last */

◆ Natts_pg_index

#define Natts_pg_index   19

Definition at line 73 of file pg_index.h.

Referenced by GetPgIndexDescriptor(), and UpdateIndexRelation().

Typedef Documentation

◆ Form_pg_index

Definition at line 67 of file pg_index.h.

Function Documentation

◆ CATALOG()

CATALOG ( pg_index  ,
2610   
)

Definition at line 31 of file pg_index.h.

32 {
33  Oid indexrelid; /* OID of the index */
34  Oid indrelid; /* OID of the relation it indexes */
35  int16 indnatts; /* number of columns in index */
36  bool indisunique; /* is this a unique index? */
37  bool indisprimary; /* is this index for primary key? */
38  bool indisexclusion; /* is this index for exclusion constraint? */
39  bool indimmediate; /* is uniqueness enforced immediately? */
40  bool indisclustered; /* is this the index last clustered by? */
41  bool indisvalid; /* is this index valid for use by queries? */
42  bool indcheckxmin; /* must we wait for xmin to be old? */
43  bool indisready; /* is this index ready for inserts? */
44  bool indislive; /* is this index alive at all? */
45  bool indisreplident; /* is this index the identity for replication? */
46 
47  /* variable-length fields start here, but we allow direct access to indkey */
48  int2vector indkey; /* column numbers of indexed cols, or 0 */
49 
50 #ifdef CATALOG_VARLEN
51  oidvector indcollation; /* collation identifiers */
52  oidvector indclass; /* opclass identifiers */
53  int2vector indoption; /* per-column flags (AM-specific meanings) */
54  pg_node_tree indexprs; /* expression trees for index attributes that
55  * are not simple column references; one for
56  * each zero entry in indkey[] */
57  pg_node_tree indpred; /* expression tree for predicate, if a partial
58  * index; else NULL */
59 #endif
FormData_pg_index
Definition: pg_index.h:60
signed short int16
Definition: c.h:293
Definition: c.h:536
unsigned int Oid
Definition: postgres_ext.h:31
Definition: c.h:525

Variable Documentation

◆ FormData_pg_index

FormData_pg_index

Definition at line 60 of file pg_index.h.