|
PostgreSQL Source Code git master
|
#include "utils/typcache.h"

Go to the source code of this file.
Data Structures | |
| struct | RangeType |
| struct | RangeBound |
| #define PG_GETARG_RANGE_P | ( | n | ) | DatumGetRangeTypeP(PG_GETARG_DATUM(n)) |
Definition at line 90 of file rangetypes.h.
| #define PG_GETARG_RANGE_P_COPY | ( | n | ) | DatumGetRangeTypePCopy(PG_GETARG_DATUM(n)) |
Definition at line 91 of file rangetypes.h.
| #define PG_RETURN_RANGE_P | ( | x | ) | return RangeTypePGetDatum(x) |
Definition at line 92 of file rangetypes.h.
| #define RANGE_CONTAIN_EMPTY |
Definition at line 45 of file rangetypes.h.
Definition at line 38 of file rangetypes.h.
| #define RANGE_EMPTY_LITERAL "empty" |
Definition at line 32 of file rangetypes.h.
| #define RANGE_HAS_LBOUND | ( | flags | ) |
Definition at line 47 of file rangetypes.h.
| #define RANGE_HAS_UBOUND | ( | flags | ) |
Definition at line 51 of file rangetypes.h.
Definition at line 39 of file rangetypes.h.
Definition at line 41 of file rangetypes.h.
Definition at line 43 of file rangetypes.h.
Definition at line 40 of file rangetypes.h.
Definition at line 42 of file rangetypes.h.
Definition at line 44 of file rangetypes.h.
| #define RangeIsEmpty | ( | r | ) | ((range_get_flags(r) & RANGE_EMPTY) != 0) |
Definition at line 55 of file rangetypes.h.
| #define RangeIsOrContainsEmpty | ( | r | ) | ((range_get_flags(r) & (RANGE_EMPTY | RANGE_CONTAIN_EMPTY)) != 0) |
Definition at line 56 of file rangetypes.h.
| #define RANGESTRAT_ADJACENT RTSameStrategyNumber |
Definition at line 101 of file rangetypes.h.
| #define RANGESTRAT_AFTER RTRightStrategyNumber |
Definition at line 100 of file rangetypes.h.
| #define RANGESTRAT_BEFORE RTLeftStrategyNumber |
Definition at line 96 of file rangetypes.h.
| #define RANGESTRAT_CONTAINED_BY RTContainedByStrategyNumber |
Definition at line 103 of file rangetypes.h.
| #define RANGESTRAT_CONTAINS RTContainsStrategyNumber |
Definition at line 102 of file rangetypes.h.
| #define RANGESTRAT_CONTAINS_ELEM RTContainsElemStrategyNumber |
Definition at line 104 of file rangetypes.h.
| #define RANGESTRAT_EQ RTEqualStrategyNumber |
Definition at line 105 of file rangetypes.h.
| #define RANGESTRAT_OVERLAPS RTOverlapStrategyNumber |
Definition at line 98 of file rangetypes.h.
| #define RANGESTRAT_OVERLEFT RTOverLeftStrategyNumber |
Definition at line 97 of file rangetypes.h.
| #define RANGESTRAT_OVERRIGHT RTOverRightStrategyNumber |
Definition at line 99 of file rangetypes.h.
| #define RangeTypeGetOid | ( | r | ) | ((r)->rangetypid) |
Definition at line 35 of file rangetypes.h.
|
extern |
Definition at line 763 of file rangetypes.c.
References Assert, cmp(), fb(), FmgrInfo::fn_oid, make_range(), OidIsValid, range_cmp_bound_values(), RangeIsEmpty, and TypeCacheEntry::rng_canonical_finfo.
Referenced by adjacent_cmp_bounds(), multirange_adjacent_multirange(), range_adjacent_internal(), and range_adjacent_multirange_internal().
Definition at line 73 of file rangetypes.h.
References fb(), and PG_DETOAST_DATUM.
Referenced by calc_hist_selectivity(), calc_hist_selectivity(), compute_range_stats(), ExecWithoutOverlapsNotEmpty(), find_simplified_clause(), make_range(), multirange_constructor2(), multirange_gist_consistent(), multirange_in(), multirange_recv(), multirangesel(), range_agg_finalfn(), range_fast_cmp(), range_gist_class_split(), range_gist_consistent(), range_gist_double_sorting_split(), range_gist_fallback_split(), range_gist_penalty(), range_gist_picksplit(), range_gist_single_sorting_split(), range_gist_union(), rangesel(), spg_range_quad_choose(), spg_range_quad_inner_consistent(), spg_range_quad_leaf_consistent(), and spg_range_quad_picksplit().
|
extern |
Definition at line 2399 of file rangetypes.c.
References fb(), lower(), make_range(), upper(), and RangeBound::val.
Referenced by multirange_agg_transfn(), multirange_get_union_range(), range_intersect_internal(), range_merge_from_multirange(), and range_minus_internal().
|
extern |
Definition at line 2186 of file rangetypes.c.
References DatumGetRangeTypeP(), elog, ERROR, fb(), FmgrInfo::fn_oid, FunctionCallInvoke, InitFunctionCallInfoData, InvalidOid, LOCAL_FCINFO, lower(), OidIsValid, range(), range_serialize(), RangeIsEmpty, RangeTypePGetDatum(), TypeCacheEntry::rng_canonical_finfo, SOFT_ERROR_OCCURRED, and upper().
Referenced by bounds_adjacent(), make_empty_range(), multirange_get_union_range(), range_constructor2(), range_constructor3(), range_in(), range_intersect_internal(), range_merge_from_multirange(), range_minus_internal(), range_minus_multi_internal(), range_recv(), range_split_internal(), range_super_union(), and range_union_internal().
|
extern |
Definition at line 804 of file rangetypes.c.
References bounds_adjacent(), elog, ERROR, fb(), range_deserialize(), and RangeTypeGetOid.
Referenced by multirange_canonicalize(), range_adjacent(), range_gist_consistent_int_range(), range_gist_consistent_leaf_range(), range_union_internal(), and spg_range_quad_leaf_consistent().
|
extern |
Definition at line 708 of file rangetypes.c.
References elog, ERROR, fb(), range_cmp_bounds(), range_deserialize(), and RangeTypeGetOid.
Referenced by range_after(), range_gist_consistent_int_range(), range_gist_consistent_leaf_range(), and spg_range_quad_leaf_consistent().
|
extern |
Definition at line 670 of file rangetypes.c.
References elog, ERROR, fb(), range_cmp_bounds(), range_deserialize(), and RangeTypeGetOid.
Referenced by multirange_canonicalize(), multirange_intersect_internal(), multirange_minus_internal(), range_before(), range_gist_consistent_int_range(), range_gist_consistent_leaf_range(), and spg_range_quad_leaf_consistent().
|
extern |
Definition at line 2324 of file rangetypes.c.
References DatumGetInt32(), fb(), FunctionCall2Coll(), TypeCacheEntry::rng_cmp_proc_finfo, and TypeCacheEntry::rng_collation.
Referenced by bounds_adjacent(), and range_serialize().
|
extern |
Definition at line 2250 of file rangetypes.c.
References DatumGetInt32(), fb(), FunctionCall2Coll(), TypeCacheEntry::rng_cmp_proc_finfo, and TypeCacheEntry::rng_collation.
Referenced by adjacent_cmp_bounds(), adjacent_inner_consistent(), bound_cmp(), calc_hist_selectivity_contained(), calc_hist_selectivity_contained(), getQuadrant(), interval_cmp_lower(), interval_cmp_upper(), multirange_before_multirange_internal(), multirange_cmp(), multirange_contains_multirange_internal(), multirange_eq_internal(), multirange_overlaps_multirange_internal(), multirange_overleft_multirange(), multirange_overleft_range(), multirange_overright_multirange(), multirange_overright_range(), multirange_range_contains_bsearch_comparison(), multirange_range_overlaps_bsearch_comparison(), multirange_union_range_equal(), range_after_internal(), range_after_multirange_internal(), range_before_internal(), range_before_multirange_internal(), range_bound_qsort_cmp(), range_bounds_contains(), range_bounds_overlaps(), range_cmp(), range_compare(), range_contains_internal(), range_eq_internal(), range_fast_cmp(), range_gist_double_sorting_split(), range_gist_penalty(), range_intersect_internal(), range_minus_internal(), range_minus_multi_internal(), range_overlaps_internal(), range_overleft_internal(), range_overleft_multirange_internal(), range_overright_internal(), range_overright_multirange_internal(), range_split_internal(), range_super_union(), range_union_internal(), rbound_bsearch(), rbound_bsearch(), single_bound_cmp(), and spg_range_quad_inner_consistent().
Definition at line 2363 of file rangetypes.c.
References arg, cmp(), fb(), range_cmp_bounds(), and range_deserialize().
Referenced by multirange_canonicalize().
|
extern |
Definition at line 2852 of file rangetypes.c.
References fb(), and range_contains_internal().
Referenced by range_contained_by(), range_gist_consistent_leaf_range(), and spg_range_quad_leaf_consistent().
|
extern |
Definition at line 2861 of file rangetypes.c.
References cmp(), DatumGetInt32(), FunctionCall2Coll(), lower(), range_deserialize(), TypeCacheEntry::rng_cmp_proc_finfo, TypeCacheEntry::rng_collation, upper(), and val.
Referenced by elem_contained_by_range(), range_contains_elem(), range_gist_consistent_int_element(), range_gist_consistent_leaf_element(), and spg_range_quad_leaf_consistent().
|
extern |
Definition at line 2820 of file rangetypes.c.
References elog, ERROR, fb(), range_cmp_bounds(), range_deserialize(), and RangeTypeGetOid.
Referenced by range_contained_by_internal(), range_contains(), range_gist_consistent_int_range(), range_gist_consistent_leaf_range(), and spg_range_quad_leaf_consistent().
|
extern |
Definition at line 2090 of file rangetypes.c.
References Assert, att_addlength_pointer, att_align_pointer, fb(), fetch_att(), lower(), range(), RANGE_EMPTY, RANGE_HAS_LBOUND, RANGE_HAS_UBOUND, RANGE_LB_INC, RANGE_LB_INF, RANGE_UB_INC, RANGE_UB_INF, RangeTypeGetOid, TypeCacheEntry::rngelemtype, typalign, TypeCacheEntry::typalign, TypeCacheEntry::typbyval, TypeCacheEntry::type_id, TypeCacheEntry::typlen, upper(), and VARSIZE().
Referenced by calc_hist_selectivity(), calc_hist_selectivity(), compute_range_stats(), daterange_canonical(), find_simplified_clause(), getQuadrant(), hash_range(), hash_range_extended(), int4range_canonical(), int8range_canonical(), multirange_contains_range_internal(), multirange_overleft_range(), multirange_overright_range(), multirange_union_range_equal(), range_adjacent_internal(), range_adjacent_multirange_internal(), range_after_internal(), range_after_multirange_internal(), range_before_internal(), range_before_multirange_internal(), range_cmp(), range_compare(), range_contains_elem_internal(), range_contains_internal(), range_contains_multirange_internal(), range_eq_internal(), range_fast_cmp(), range_gist_double_sorting_split(), range_gist_penalty(), range_gist_single_sorting_split(), range_intersect_internal(), range_lower(), range_minus_internal(), range_minus_multi_internal(), range_out(), range_overlaps_internal(), range_overlaps_multirange_internal(), range_overleft_internal(), range_overleft_multirange_internal(), range_overright_internal(), range_overright_multirange_internal(), range_send(), range_split_internal(), range_super_union(), range_union_internal(), range_upper(), spg_range_quad_inner_consistent(), and spg_range_quad_picksplit().
|
extern |
Definition at line 579 of file rangetypes.c.
References elog, ERROR, fb(), range_cmp_bounds(), range_deserialize(), and RangeTypeGetOid.
Referenced by range_eq(), range_gist_consistent_leaf_range(), range_gist_same(), range_ne_internal(), and spg_range_quad_leaf_consistent().
Definition at line 2157 of file rangetypes.c.
References range(), and VARSIZE().
Referenced by get_gist_range_class(), hash_range(), hash_range_extended(), range_empty(), range_gist_same(), range_lower_inc(), range_lower_inf(), range_out(), range_send(), range_super_union(), range_upper_inc(), and range_upper_inf().
|
extern |
Definition at line 1937 of file rangetypes.c.
References elog, ERROR, fb(), FunctionCallInfoBaseData::flinfo, FmgrInfo::fn_extra, lookup_type_cache(), TypeCacheEntry::rngelemtype, TypeCacheEntry::type_id, and TYPECACHE_RANGE_INFO.
Referenced by daterange_canonical(), elem_contained_by_range(), hash_range(), hash_range_extended(), int4range_canonical(), int8range_canonical(), multirange_gist_consistent(), range_adjacent(), range_after(), range_before(), range_cmp(), range_constructor2(), range_constructor3(), range_contained_by(), range_contains(), range_contains_elem(), range_eq(), range_gist_consistent(), range_gist_penalty(), range_gist_picksplit(), range_gist_same(), range_gist_union(), range_intersect(), range_intersect_agg_transfn(), range_lower(), range_merge(), range_minus(), range_ne(), range_overlaps(), range_overleft(), range_overright(), range_typanalyze(), range_union(), range_upper(), rangesel(), spg_range_quad_choose(), spg_range_quad_inner_consistent(), spg_range_quad_leaf_consistent(), and spg_range_quad_picksplit().
|
extern |
Definition at line 1149 of file rangetypes.c.
References fb(), make_empty_range(), make_range(), range_cmp_bounds(), range_deserialize(), and range_overlaps_internal().
Referenced by multirange_intersect_internal(), range_intersect(), and range_intersect_agg_transfn().
|
extern |
Definition at line 999 of file rangetypes.c.
References elog, ereport, errcode(), errmsg, ERROR, fb(), make_empty_range(), make_range(), range_cmp_bounds(), and range_deserialize().
Referenced by multirange_minus_internal(), and range_minus().
|
extern |
Definition at line 1308 of file rangetypes.c.
References elog, ERROR, fb(), make_range(), range_cmp_bounds(), and range_deserialize().
Referenced by range_minus_multi().
|
extern |
Definition at line 624 of file rangetypes.c.
References fb(), and range_eq_internal().
Referenced by range_ne().
|
extern |
Definition at line 847 of file rangetypes.c.
References elog, ERROR, fb(), range_cmp_bounds(), range_deserialize(), and RangeTypeGetOid.
Referenced by multirange_intersect_internal(), multirange_minus_internal(), range_gist_consistent_int_range(), range_gist_consistent_leaf_range(), range_intersect_internal(), range_overlaps(), range_union_internal(), and spg_range_quad_leaf_consistent().
|
extern |
Definition at line 893 of file rangetypes.c.
References elog, ERROR, fb(), range_cmp_bounds(), range_deserialize(), and RangeTypeGetOid.
Referenced by multirange_intersect_internal(), range_gist_consistent_int_range(), range_gist_consistent_leaf_range(), range_overleft(), and spg_range_quad_leaf_consistent().
|
extern |
Definition at line 934 of file rangetypes.c.
References elog, ERROR, fb(), range_cmp_bounds(), range_deserialize(), and RangeTypeGetOid.
Referenced by range_gist_consistent_int_range(), range_gist_consistent_leaf_range(), range_overright(), and spg_range_quad_leaf_consistent().
|
extern |
Definition at line 1961 of file rangetypes.c.
References Assert, cmp(), datum_compute_size(), datum_write(), ereturn, errcode(), errmsg, fb(), lower(), MAXALIGN, palloc0(), PG_DETOAST_DATUM_PACKED, PointerGetDatum(), range(), range_cmp_bound_values(), RANGE_EMPTY, RANGE_HAS_LBOUND, RANGE_HAS_UBOUND, RANGE_LB_INC, RANGE_LB_INF, RANGE_UB_INC, RANGE_UB_INF, TypeCacheEntry::rngelemtype, SET_VARSIZE(), typalign, TypeCacheEntry::typalign, TypeCacheEntry::typbyval, TypeCacheEntry::type_id, TypeCacheEntry::typlen, TypeCacheEntry::typstorage, and upper().
Referenced by compute_range_stats(), daterange_canonical(), int4range_canonical(), int8range_canonical(), make_range(), multirangesel(), rangesel(), and spg_range_quad_picksplit().
Definition at line 2171 of file rangetypes.c.
References fb(), range(), RANGE_CONTAIN_EMPTY, and VARSIZE().
Referenced by range_super_union().
|
extern |
Definition at line 1188 of file rangetypes.c.
References fb(), make_range(), range_cmp_bounds(), and range_deserialize().
Referenced by multirange_minus_internal().
|
extern |
Definition at line 1058 of file rangetypes.c.
References elog, ereport, errcode(), errmsg, ERROR, fb(), make_range(), range_adjacent_internal(), range_cmp_bounds(), range_deserialize(), range_overlaps_internal(), and RangeTypeGetOid.
Referenced by multirange_canonicalize(), range_merge(), and range_union().
Definition at line 85 of file rangetypes.h.
References fb(), and PointerGetDatum().
Referenced by make_range(), multirange_agg_transfn(), multirange_gist_compress(), multirange_out(), multirange_send(), multirange_unnest(), range_gist_class_split(), range_gist_fallback_split(), range_gist_single_sorting_split(), range_minus_multi(), spg_range_quad_choose(), and spg_range_quad_picksplit().