|
- /*-------------------------------------------------------------------------
- *
- * partdesc.h
- *
- * Copyright (c) 1996-2019, PostgreSQL Global Development Group
- *
- * src/include/utils/partdesc.h
- *
- *-------------------------------------------------------------------------
- */
-
- #ifndef PARTDESC_H
- #define PARTDESC_H
-
- #include "partitioning/partdefs.h"
- #include "utils/relcache.h"
-
- /*
- * Information about partitions of a partitioned table.
- */
- typedef struct PartitionDescData
- {
- int nparts; /* Number of partitions */
- Oid *oids; /* Array of 'nparts' elements containing
- * partition OIDs in order of the their bounds */
- bool *is_leaf; /* Array of 'nparts' elements storing whether
- * the corresponding 'oids' element belongs to
- * a leaf partition or not */
- PartitionBoundInfo boundinfo; /* collection of partition bounds */
- } PartitionDescData;
-
- extern void RelationBuildPartitionDesc(Relation rel);
-
- extern PartitionDirectory CreatePartitionDirectory(MemoryContext mcxt);
- extern PartitionDesc PartitionDirectoryLookup(PartitionDirectory, Relation);
- extern void DestroyPartitionDirectory(PartitionDirectory pdir);
-
- extern Oid get_default_oid_from_partdesc(PartitionDesc partdesc);
-
- extern bool equalPartitionDescs(PartitionKey key, PartitionDesc partdesc1,
- PartitionDesc partdesc2);
-
- #endif /* PARTCACHE_H */
|