|
PostgreSQL Source Code git master
|


Go to the source code of this file.
Data Structures | |
| struct | PartitionBoundInfoData |
Macros | |
| #define | partition_bound_accepts_nulls(bi) ((bi)->null_index != -1) |
| #define | partition_bound_has_default(bi) ((bi)->default_index != -1) |
Typedefs | |
| typedef struct RelOptInfo | RelOptInfo |
| typedef struct PartitionBoundInfoData | PartitionBoundInfoData |
Definition at line 98 of file partbounds.h.
Definition at line 99 of file partbounds.h.
Definition at line 18 of file partbounds.h.
|
extern |
Definition at line 5098 of file partbounds.c.
References Assert, check_two_partitions_bounds_range(), elog, ERROR, fb(), foreach_current_index, foreach_oid, get_partition_bound_spec(), i, lappend(), list_concat(), list_free(), list_length(), list_nth(), PartitionBoundSpec::listdatums, PartitionBoundSpec::lowerdatums, make_one_partition_rbound(), NIL, palloc0_array, PARTITION_STRATEGY_LIST, PARTITION_STRATEGY_RANGE, pfree(), qsort_arg(), qsort_partition_rbound_cmp(), and RelationGetPartitionKey().
Referenced by transformPartitionCmdForMerge().
|
extern |
Definition at line 3244 of file partbounds.c.
References AccessExclusiveLock, CHECK_FOR_INTERRUPTS, CreateExecutorState(), DEBUG1, ExprContext::ecxt_scantuple, ereport, errcode(), errmsg(), errmsg_internal(), ERROR, errtable(), EState::es_tupleTable, ExecCheck(), ExecDropSingleTupleTableSlot(), ExecPrepareExpr(), fb(), find_all_inheritors(), ForwardScanDirection, FreeExecutorState(), get_proposed_default_constraint(), get_qual_for_list(), get_qual_for_range(), GetLatestSnapshot(), GetPerTupleExprContext, GetPerTupleMemoryContext, lfirst_oid, list_make1_oid, make_ands_explicit(), map_partition_varattnos(), MemoryContextSwitchTo(), NoLock, PartConstraintImpliedByRelConstraint(), PARTITION_STRATEGY_LIST, RegisterSnapshot(), RelationGetRelationName, RelationGetRelid, ResetExprContext, table_beginscan(), table_close(), table_endscan(), table_open(), table_scan_getnextslot(), table_slot_create(), UnregisterSnapshot(), and WARNING.
Referenced by DefineRelation().
|
extern |
Definition at line 2889 of file partbounds.c.
References Assert, PartitionDescData::boundinfo, DatumGetInt32(), PartitionBoundInfoData::datums, PartitionBoundInfoData::default_index, equal(), ereport, errcode(), errdetail(), errmsg(), ERROR, fb(), get_range_partbound_string(), get_rel_name(), PartitionBoundInfoData::indexes, PartitionBoundInfoData::kind, lfirst_node, linitial, list_nth(), PartitionRangeDatum::location, lower(), make_one_partition_rbound(), PartitionBoundInfoData::ndatums, PartitionBoundInfoData::nindexes, PartitionDescData::nparts, PartitionBoundInfoData::null_index, PartitionDescData::oids, parser_errposition(), partition_bound_accepts_nulls, partition_bound_has_default, partition_hash_bsearch(), partition_list_bsearch(), partition_range_bsearch(), partition_rbound_cmp(), PARTITION_STRATEGY_HASH, PARTITION_STRATEGY_LIST, PARTITION_STRATEGY_RANGE, RelationGetPartitionDesc(), RelationGetPartitionKey(), relname, remainder, PartitionBoundInfoData::strategy, upper(), and val.
Referenced by ATExecAttachPartition(), check_partitions_for_split(), and DefineRelation().
|
extern |
Definition at line 5723 of file partbounds.c.
References Assert, check_new_partition_bound(), check_parent_values_in_new_partitions(), check_partition_bounds_for_split_list(), check_partition_bounds_for_split_range(), check_partitions_not_overlap_list(), check_two_partitions_bounds_range(), fb(), foreach_current_index, foreach_node, get_default_oid_from_partdesc(), get_partition_strategy(), i, list_length(), make_one_partition_rbound(), palloc0_array, PARTITION_STRATEGY_LIST, PARTITION_STRATEGY_RANGE, pfree(), qsort_arg(), qsort_partition_rbound_cmp(), RelationGetPartitionDesc(), and RelationGetPartitionKey().
Referenced by transformPartitionCmdForSplit().
|
extern |
Definition at line 4714 of file partbounds.c.
References Assert, DatumGetUInt64(), fb(), FunctionCall2Coll(), hash(), hash_combine64(), HASH_PARTITION_SEED, i, OidIsValid, UInt64GetDatum(), and values.
Referenced by get_matching_hash_bounds(), and get_partition_for_tuple().
|
extern |
Definition at line 3407 of file partbounds.c.
References Assert, PartitionBoundInfoData::nindexes, PARTITION_STRATEGY_HASH, and PartitionBoundInfoData::strategy.
|
extern |
Definition at line 250 of file partbounds.c.
References Assert, fb(), get_qual_for_hash(), get_qual_for_list(), get_qual_for_range(), NIL, PARTITION_STRATEGY_HASH, PARTITION_STRATEGY_LIST, PARTITION_STRATEGY_RANGE, and RelationGetPartitionKey().
Referenced by ATExecAttachPartition(), generate_partition_qual(), and SplitPartitionMoveRows().
|
extern |
Definition at line 995 of file partbounds.c.
References Assert, bms_copy(), datumCopy(), PartitionBoundInfoData::datums, PartitionBoundInfoData::default_index, fb(), i, PartitionBoundInfoData::indexes, PartitionBoundInfoData::interleaved_parts, j, PartitionBoundInfoData::kind, PartitionBoundInfoData::ndatums, PartitionBoundInfoData::nindexes, PartitionBoundInfoData::null_index, palloc(), palloc_array, palloc_object, PARTITION_RANGE_DATUM_VALUE, PARTITION_STRATEGY_HASH, PARTITION_STRATEGY_LIST, PARTITION_STRATEGY_RANGE, and PartitionBoundInfoData::strategy.
Referenced by RelationBuildPartitionDesc().
|
extern |
Definition at line 300 of file partbounds.c.
References Assert, create_hash_bounds(), create_list_bounds(), create_range_bounds(), fb(), i, palloc_array, PARTITION_STRATEGY_HASH, PARTITION_STRATEGY_LIST, and PARTITION_STRATEGY_RANGE.
Referenced by RelationBuildPartitionDesc().
|
extern |
Definition at line 889 of file partbounds.c.
References Assert, datumIsEqual(), fb(), i, j, PARTITION_RANGE_DATUM_VALUE, and PARTITION_STRATEGY_HASH.
Referenced by compute_partition_bounds().
|
extern |
Definition at line 1112 of file partbounds.c.
References Assert, fb(), JOIN_ANTI, JOIN_FULL, JOIN_INNER, JOIN_LEFT, JOIN_SEMI, merge_list_bounds(), merge_range_bounds(), NIL, PARTITION_STRATEGY_HASH, PARTITION_STRATEGY_LIST, and PARTITION_STRATEGY_RANGE.
Referenced by compute_partition_bounds().
|
extern |
Definition at line 3730 of file partbounds.c.
References DatumGetInt32(), PartitionBoundInfoData::datums, fb(), PartitionBoundInfoData::ndatums, partition_hbound_cmp(), and remainder.
Referenced by check_new_partition_bound().
|
extern |
Definition at line 3599 of file partbounds.c.
References DatumGetInt32(), PartitionBoundInfoData::datums, fb(), FunctionCall2Coll(), PartitionBoundInfoData::ndatums, and value.
Referenced by check_new_partition_bound(), check_partition_bounds_for_split_list(), get_matching_list_bounds(), and get_partition_for_tuple().
|
extern |
Definition at line 3687 of file partbounds.c.
References PartitionBoundInfoData::datums, fb(), PartitionBoundInfoData::kind, PartitionBoundInfoData::ndatums, partition_rbound_datum_cmp(), and values.
Referenced by get_matching_range_bounds(), and get_partition_for_tuple().
|
extern |
Definition at line 3548 of file partbounds.c.
References DatumGetInt32(), fb(), FunctionCall2Coll(), i, PARTITION_RANGE_DATUM_MAXVALUE, and PARTITION_RANGE_DATUM_MINVALUE.
Referenced by get_matching_range_bounds(), get_partition_for_tuple(), and partition_range_datum_bsearch().
|
extern |
Definition at line 2845 of file partbounds.c.
References Assert, bms_is_member(), bms_overlap(), PartitionBoundInfoData::default_index, fb(), PartitionBoundInfoData::interleaved_parts, partition_bound_has_default, PARTITION_STRATEGY_HASH, PARTITION_STRATEGY_LIST, PARTITION_STRATEGY_RANGE, and PartitionBoundInfoData::strategy.
Referenced by build_partition_pathkeys(), and generate_orderedappend_paths().