PostgreSQL Source Code  git master
All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
pg_partitioned_table.h File Reference
#include "catalog/genbki.h"
#include "catalog/pg_partitioned_table_d.h"
Include dependency graph for pg_partitioned_table.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Typedefs

typedef FormData_pg_partitioned_tableForm_pg_partitioned_table
 

Functions

 CATALOG (pg_partitioned_table, 3350, PartitionedRelationId)
 
 DECLARE_TOAST (pg_partitioned_table, 4165, 4166)
 
 DECLARE_UNIQUE_INDEX_PKEY (pg_partitioned_table_partrelid_index, 3351, PartitionedRelidIndexId, pg_partitioned_table, btree(partrelid oid_ops))
 
 MAKE_SYSCACHE (PARTRELID, pg_partitioned_table_partrelid_index, 32)
 
 DECLARE_ARRAY_FOREIGN_KEY_OPT ((partrelid, partattrs), pg_attribute,(attrelid, attnum))
 

Variables

 FormData_pg_partitioned_table
 

Typedef Documentation

◆ Form_pg_partitioned_table

Function Documentation

◆ CATALOG()

CATALOG ( pg_partitioned_table  ,
3350  ,
PartitionedRelationId   
)

Definition at line 30 of file pg_partitioned_table.h.

31 {
32  Oid partrelid BKI_LOOKUP(pg_class); /* partitioned table oid */
33  char partstrat; /* partitioning strategy */
34  int16 partnatts; /* number of partition key columns */
35  Oid partdefid BKI_LOOKUP_OPT(pg_class); /* default partition oid;
36  * 0 if there isn't one */
37 
38  /*
39  * variable-length fields start here, but we allow direct access to
40  * partattrs via the C struct. That's because the first variable-length
41  * field of a heap tuple can be reliably accessed using its C struct
42  * offset, as previous fields are all non-nullable fixed-length fields.
43  */
44  int2vector partattrs BKI_FORCE_NOT_NULL; /* each member of the array is
45  * the attribute number of a
46  * partition key column, or 0
47  * if the column is actually
48  * an expression */
49 
50 #ifdef CATALOG_VARLEN
51  oidvector partclass BKI_LOOKUP(pg_opclass) BKI_FORCE_NOT_NULL; /* operator class to
52  * compare keys */
53  oidvector partcollation BKI_LOOKUP_OPT(pg_collation) BKI_FORCE_NOT_NULL; /* user-specified
54  * collation for keys */
55  pg_node_tree partexprs; /* list of expressions in the partition key;
56  * one item for each zero entry in partattrs[] */
57 #endif
signed short int16
Definition: c.h:481
#define BKI_LOOKUP(catalog)
Definition: genbki.h:46
#define BKI_LOOKUP_OPT(catalog)
Definition: genbki.h:47
#define BKI_FORCE_NOT_NULL
Definition: genbki.h:33
FormData_pg_partitioned_table
unsigned int Oid
Definition: postgres_ext.h:31
Definition: c.h:694
Definition: c.h:705

References BKI_FORCE_NOT_NULL, BKI_LOOKUP, and BKI_LOOKUP_OPT.

◆ DECLARE_ARRAY_FOREIGN_KEY_OPT()

DECLARE_ARRAY_FOREIGN_KEY_OPT ( (partrelid, partattrs)  ,
pg_attribute  ,
(attrelid, attnum  
)

◆ DECLARE_TOAST()

DECLARE_TOAST ( pg_partitioned_table  ,
4165  ,
4166   
)

◆ DECLARE_UNIQUE_INDEX_PKEY()

DECLARE_UNIQUE_INDEX_PKEY ( pg_partitioned_table_partrelid_index  ,
3351  ,
PartitionedRelidIndexId  ,
pg_partitioned_table  ,
btree(partrelid oid_ops)   
)

◆ MAKE_SYSCACHE()

MAKE_SYSCACHE ( PARTRELID  ,
pg_partitioned_table_partrelid_index  ,
32   
)

Variable Documentation

◆ FormData_pg_partitioned_table

FormData_pg_partitioned_table

Definition at line 58 of file pg_partitioned_table.h.