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
int16_t int16
Definition: c.h:483
#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:32
Definition: c.h:672
Definition: c.h:683

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.