|
PostgreSQL Source Code git master
|


Go to the source code of this file.
Data Structures | |
| struct | MultirangeType |
Macros | |
| #define | MultirangeTypeGetOid(mr) ((mr)->multirangetypid) |
| #define | MultirangeIsEmpty(mr) ((mr)->rangeCount == 0) |
| #define | PG_GETARG_MULTIRANGE_P(n) DatumGetMultirangeTypeP(PG_GETARG_DATUM(n)) |
| #define | PG_GETARG_MULTIRANGE_P_COPY(n) DatumGetMultirangeTypePCopy(PG_GETARG_DATUM(n)) |
| #define | PG_RETURN_MULTIRANGE_P(x) return MultirangeTypePGetDatum(x) |
Definition at line 42 of file multirangetypes.h.
Definition at line 41 of file multirangetypes.h.
| #define PG_GETARG_MULTIRANGE_P | ( | n | ) | DatumGetMultirangeTypeP(PG_GETARG_DATUM(n)) |
Definition at line 65 of file multirangetypes.h.
| #define PG_GETARG_MULTIRANGE_P_COPY | ( | n | ) | DatumGetMultirangeTypePCopy(PG_GETARG_DATUM(n)) |
Definition at line 66 of file multirangetypes.h.
| #define PG_RETURN_MULTIRANGE_P | ( | x | ) | return MultirangeTypePGetDatum(x) |
Definition at line 67 of file multirangetypes.h.
|
inlinestatic |
Definition at line 48 of file multirangetypes.h.
References fb(), and PG_DETOAST_DATUM.
Referenced by compute_range_stats(), ExecWithoutOverlapsNotEmpty(), multirange_gist_compress(), multirange_gist_consistent(), multirangesel(), and range_gist_consistent().
|
inlinestatic |
Definition at line 54 of file multirangetypes.h.
References fb(), and PG_DETOAST_DATUM_COPY.
|
extern |
Definition at line 850 of file multirangetypes.c.
References fb(), and make_multirange().
Referenced by multirange_intersect().
|
extern |
Definition at line 648 of file multirangetypes.c.
References fb(), multirange_canonicalize(), multirange_size_estimate(), palloc0(), SET_VARSIZE(), and write_multirange_data().
Referenced by make_empty_multirange(), multirange_constructor0(), multirange_constructor1(), multirange_constructor2(), multirange_in(), multirange_intersect_internal(), multirange_minus_internal(), multirange_recv(), multirange_union(), multirangesel(), and range_agg_finalfn().
|
extern |
Definition at line 2496 of file multirangetypes.c.
References fb(), multirange_get_bounds(), MultirangeIsEmpty, and range_cmp_bounds().
Referenced by multirange_after_multirange(), and multirange_before_multirange().
|
extern |
Definition at line 1780 of file multirangetypes.c.
References fb(), multirange_bsearch_match(), multirange_elem_bsearch_comparison(), MultirangeIsEmpty, and val.
Referenced by elem_contained_by_multirange(), and multirange_contains_elem().
|
extern |
Definition at line 2338 of file multirangetypes.c.
References fb(), multirange_get_bounds(), range_bounds_contains(), and range_cmp_bounds().
Referenced by multirange_contained_by_multirange(), and multirange_contains_multirange().
|
extern |
Definition at line 1874 of file multirangetypes.c.
References Assert, fb(), multirange_bsearch_match(), multirange_range_contains_bsearch_comparison(), MultirangeIsEmpty, range_deserialize(), and RangeIsEmpty.
Referenced by multirange_contains_range(), range_contained_by_multirange(), and range_gist_consistent_leaf_multirange().
|
extern |
Definition at line 828 of file multirangetypes.c.
References fb(), i, multirange_get_range(), and palloc_array.
Referenced by multirange_agg_transfn(), multirange_intersect(), multirange_intersect_agg_transfn(), multirange_minus(), multirange_minus_multi(), multirange_out(), multirange_send(), and multirange_union().
|
extern |
Definition at line 1937 of file multirangetypes.c.
References elog, ERROR, fb(), i, multirange_get_bounds(), MultirangeTypeGetOid, and range_cmp_bounds().
Referenced by multirange_eq(), and multirange_ne_internal().
|
extern |
Definition at line 746 of file multirangetypes.c.
References Assert, att_addlength_pointer, att_align_pointer, fb(), fetch_att(), i, lower(), multirange_get_bounds_offset(), MultirangeGetBoundariesPtr, MultirangeGetFlagsPtr, RANGE_EMPTY, RANGE_HAS_LBOUND, RANGE_HAS_UBOUND, RANGE_LB_INC, RANGE_LB_INF, RANGE_UB_INC, RANGE_UB_INF, typalign, and upper().
Referenced by calc_hist_selectivity(), compute_range_stats(), hash_multirange(), hash_multirange_extended(), multirange_adjacent_multirange(), multirange_before_multirange_internal(), multirange_bsearch_match(), multirange_cmp(), multirange_contains_multirange_internal(), multirange_eq_internal(), multirange_get_union_range(), multirange_lower(), multirange_lower_inc(), multirange_lower_inf(), multirange_overlaps_multirange_internal(), multirange_overleft_multirange(), multirange_overleft_range(), multirange_overright_multirange(), multirange_overright_range(), multirange_union_range_equal(), multirange_upper(), multirange_upper_inc(), multirange_upper_inf(), range_adjacent_multirange_internal(), range_after_multirange_internal(), range_before_multirange_internal(), range_contains_multirange_internal(), range_merge_from_multirange(), range_overleft_multirange_internal(), and range_overright_multirange_internal().
|
extern |
Definition at line 697 of file multirangetypes.c.
References Assert, att_addlength_pointer, att_align_pointer, fb(), i, len, multirange_get_bounds_offset(), MultirangeGetBoundariesPtr, MultirangeGetFlagsPtr, palloc0(), range(), RANGE_HAS_LBOUND, RANGE_HAS_UBOUND, SET_VARSIZE(), and typalign.
Referenced by multirange_deserialize(), multirange_unnest(), and range_merge_from_multirange().
|
extern |
Definition at line 550 of file multirangetypes.c.
References elog, ERROR, fb(), FunctionCallInfoBaseData::flinfo, FmgrInfo::fn_extra, lookup_type_cache(), TypeCacheEntry::rngtype, TypeCacheEntry::type_id, and TYPECACHE_MULTIRANGE_INFO.
Referenced by elem_contained_by_multirange(), hash_multirange(), hash_multirange_extended(), multirange_adjacent_multirange(), multirange_adjacent_range(), multirange_after_multirange(), multirange_after_range(), multirange_agg_transfn(), multirange_before_multirange(), multirange_before_range(), multirange_cmp(), multirange_constructor0(), multirange_constructor1(), multirange_constructor2(), multirange_contained_by_multirange(), multirange_contained_by_range(), multirange_contains_elem(), multirange_contains_multirange(), multirange_contains_range(), multirange_eq(), multirange_gist_compress(), multirange_intersect(), multirange_intersect_agg_transfn(), multirange_lower(), multirange_lower_inc(), multirange_lower_inf(), multirange_minus(), multirange_ne(), multirange_overlaps_multirange(), multirange_overlaps_range(), multirange_overleft_multirange(), multirange_overleft_range(), multirange_overright_multirange(), multirange_overright_range(), multirange_typanalyze(), multirange_union(), multirange_upper(), multirange_upper_inc(), multirange_upper_inf(), multirangesel(), range_adjacent_multirange(), range_after_multirange(), range_agg_finalfn(), range_before_multirange(), range_contained_by_multirange(), range_contains_multirange(), range_merge_from_multirange(), range_overlaps_multirange(), range_overleft_multirange(), and range_overright_multirange().
|
extern |
Definition at line 804 of file multirangetypes.c.
References fb(), lower(), make_empty_range(), make_range(), multirange_get_bounds(), MultirangeIsEmpty, and upper().
Referenced by multirange_gist_compress().
|
extern |
Definition at line 1333 of file multirangetypes.c.
References fb(), make_multirange(), palloc0(), range_before_internal(), range_intersect_internal(), range_overlaps_internal(), and range_overleft_internal().
Referenced by multirange_intersect(), and multirange_intersect_agg_transfn().
|
extern |
Definition at line 1146 of file multirangetypes.c.
References fb(), make_multirange(), palloc0(), range_before_internal(), range_minus_internal(), range_overlaps_internal(), range_split_internal(), and RangeIsEmpty.
Referenced by multirange_minus(), and multirange_minus_multi().
|
extern |
Definition at line 1987 of file multirangetypes.c.
References fb(), and multirange_eq_internal().
Referenced by multirange_ne().
|
extern |
Definition at line 2088 of file multirangetypes.c.
References fb(), multirange_get_bounds(), MultirangeIsEmpty, range_bounds_overlaps(), and range_cmp_bounds().
Referenced by multirange_overlaps_multirange().
|
inlinestatic |
Definition at line 60 of file multirangetypes.h.
References fb(), and PointerGetDatum().
Referenced by multirange_minus_multi().
|
extern |
Definition at line 2543 of file multirangetypes.c.
References Assert, bounds_adjacent(), fb(), multirange_get_bounds(), MultirangeIsEmpty, range_deserialize(), and RangeIsEmpty.
Referenced by multirange_adjacent_range(), range_adjacent_multirange(), range_gist_consistent_int_multirange(), and range_gist_consistent_leaf_multirange().
|
extern |
Definition at line 2518 of file multirangetypes.c.
References Assert, fb(), multirange_get_bounds(), MultirangeIsEmpty, range_cmp_bounds(), range_deserialize(), and RangeIsEmpty.
Referenced by multirange_before_range(), range_after_multirange(), range_gist_consistent_int_multirange(), and range_gist_consistent_leaf_multirange().
|
extern |
Definition at line 2474 of file multirangetypes.c.
References Assert, fb(), multirange_get_bounds(), MultirangeIsEmpty, range_cmp_bounds(), range_deserialize(), and RangeIsEmpty.
Referenced by multirange_after_range(), range_before_multirange(), range_gist_consistent_int_multirange(), and range_gist_consistent_leaf_multirange().
|
extern |
Definition at line 1902 of file multirangetypes.c.
References Assert, fb(), multirange_get_bounds(), MultirangeIsEmpty, range_bounds_contains(), range_deserialize(), and RangeIsEmpty.
Referenced by multirange_contained_by_range(), range_contains_multirange(), range_gist_consistent_int_multirange(), and range_gist_consistent_leaf_multirange().
|
extern |
Definition at line 2066 of file multirangetypes.c.
References Assert, fb(), multirange_bsearch_match(), multirange_range_overlaps_bsearch_comparison(), MultirangeIsEmpty, range_deserialize(), and RangeIsEmpty.
Referenced by multirange_overlaps_range(), range_gist_consistent_int_multirange(), range_gist_consistent_leaf_multirange(), and range_overlaps_multirange().
|
extern |
Definition at line 2146 of file multirangetypes.c.
References Assert, fb(), multirange_get_bounds(), MultirangeIsEmpty, range_cmp_bounds(), range_deserialize(), and RangeIsEmpty.
Referenced by range_gist_consistent_int_multirange(), range_gist_consistent_leaf_multirange(), and range_overleft_multirange().
|
extern |
Definition at line 2230 of file multirangetypes.c.
References Assert, fb(), multirange_get_bounds(), MultirangeIsEmpty, range_cmp_bounds(), range_deserialize(), and RangeIsEmpty.
Referenced by range_gist_consistent_int_multirange(), range_gist_consistent_leaf_multirange(), and range_overright_multirange().