98 #define partition_bound_accepts_nulls(bi) ((bi)->null_index != -1)
99 #define partition_bound_has_default(bi) ((bi)->default_index != -1)
103 const Oid *partcollation,
134 Datum *tuple_datums,
int n_tuple_datums);
144 int modulus,
int remainder);
static Datum values[MAXATTR]
int32 partition_rbound_datum_cmp(FmgrInfo *partsupfunc, Oid *partcollation, Datum *rb_datums, PartitionRangeDatumKind *rb_kind, Datum *tuple_datums, int n_tuple_datums)
struct PartitionBoundInfoData PartitionBoundInfoData
PartitionBoundInfo partition_bounds_merge(int partnatts, FmgrInfo *partsupfunc, Oid *partcollation, struct RelOptInfo *outer_rel, struct RelOptInfo *inner_rel, JoinType jointype, List **outer_parts, List **inner_parts)
bool partition_bounds_equal(int partnatts, int16 *parttyplen, bool *parttypbyval, PartitionBoundInfo b1, PartitionBoundInfo b2)
void check_new_partition_bound(char *relname, Relation parent, PartitionBoundSpec *spec, ParseState *pstate)
List * get_qual_from_partbound(Relation parent, PartitionBoundSpec *spec)
uint64 compute_partition_hash_value(int partnatts, FmgrInfo *partsupfunc, const Oid *partcollation, const Datum *values, const bool *isnull)
PartitionBoundInfo partition_bounds_create(PartitionBoundSpec **boundspecs, int nparts, PartitionKey key, int **mapping)
bool partitions_are_ordered(PartitionBoundInfo boundinfo, Bitmapset *live_parts)
int partition_range_datum_bsearch(FmgrInfo *partsupfunc, Oid *partcollation, PartitionBoundInfo boundinfo, int nvalues, Datum *values, bool *is_equal)
int partition_hash_bsearch(PartitionBoundInfo boundinfo, int modulus, int remainder)
int get_hash_partition_greatest_modulus(PartitionBoundInfo bound)
void check_default_partition_contents(Relation parent, Relation default_rel, PartitionBoundSpec *new_spec)
int partition_list_bsearch(FmgrInfo *partsupfunc, Oid *partcollation, PartitionBoundInfo boundinfo, Datum value, bool *is_equal)
PartitionBoundInfo partition_bounds_copy(PartitionBoundInfo src, PartitionKey key)
PartitionRangeDatumKind ** kind
PartitionStrategy strategy
Bitmapset * interleaved_parts