|
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 761 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 2397 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 2184 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 802 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 706 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 668 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 2322 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 2248 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 2361 of file rangetypes.c.
References arg, cmp(), fb(), range_cmp_bounds(), and range_deserialize().
Referenced by multirange_canonicalize().
|
extern |
Definition at line 2850 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 2859 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 2818 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 2088 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 577 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 2155 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 1935 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 1147 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 997 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 1306 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 622 of file rangetypes.c.
References fb(), and range_eq_internal().
Referenced by range_ne().
|
extern |
Definition at line 845 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 891 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 932 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 1959 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 2169 of file rangetypes.c.
References fb(), range(), RANGE_CONTAIN_EMPTY, and VARSIZE().
Referenced by range_super_union().
|
extern |
Definition at line 1186 of file rangetypes.c.
References fb(), make_range(), range_cmp_bounds(), and range_deserialize().
Referenced by multirange_minus_internal().
|
extern |
Definition at line 1056 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().