blob: 4e2160a7df51afef4d79155d1d49db609499cdd5 [file] [log] [blame]
/*-------------------------------------------------------------------------
*
* partition.h
* Header file for structures and utility functions related to
* partitioning
*
* Copyright (c) 2007-2021, 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, bool even_if_detached);
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);
extern bool rel_is_range_part_nondefault(Oid relid);
#endif /* PARTITION_H */