summaryrefslogtreecommitdiffstats
path: root/src/include/catalog/partition.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/include/catalog/partition.h')
-rw-r--r--src/include/catalog/partition.h34
1 files changed, 34 insertions, 0 deletions
diff --git a/src/include/catalog/partition.h b/src/include/catalog/partition.h
new file mode 100644
index 0000000..27873af
--- /dev/null
+++ b/src/include/catalog/partition.h
@@ -0,0 +1,34 @@
+/*-------------------------------------------------------------------------
+ *
+ * partition.h
+ * Header file for structures and utility functions related to
+ * partitioning
+ *
+ * Copyright (c) 2007-2020, PostgreSQL Global Development Group
+ *
+ * src/include/catalog/partition.h
+ *
+ *-------------------------------------------------------------------------
+ */
+#ifndef PARTITION_H
+#define PARTITION_H
+
+#include "partitioning/partdefs.h"
+#include "utils/relcache.h"
+
+/* Seed for the extended hash function */
+#define HASH_PARTITION_SEED UINT64CONST(0x7A5B22367996DCFD)
+
+extern Oid get_partition_parent(Oid relid);
+extern List *get_partition_ancestors(Oid relid);
+extern Oid index_get_partition(Relation partition, Oid indexId);
+extern List *map_partition_varattnos(List *expr, int fromrel_varno,
+ Relation to_rel, Relation from_rel);
+extern bool has_partition_attrs(Relation rel, Bitmapset *attnums,
+ bool *used_in_expr);
+
+extern Oid get_default_partition_oid(Oid parentId);
+extern void update_default_partition_oid(Oid parentId, Oid defaultPartId);
+extern List *get_proposed_default_constraint(List *new_part_constraints);
+
+#endif /* PARTITION_H */