|
MobilityDB
1.0
|
Functions for temporal bounding boxes. More...
#include <postgres.h>#include <catalog/pg_type.h>#include <utils/rangetypes.h>#include <utils/timestamp.h>#include "timetypes.h"

Go to the source code of this file.
Data Structures | |
| struct | TBOX |
| Structure to represent temporal boxes. More... | |
Macros | |
| #define | DatumGetTboxP(X) ((TBOX *) DatumGetPointer(X)) |
| #define | TboxPGetDatum(X) PointerGetDatum(X) |
| #define | PG_GETARG_TBOX_P(n) DatumGetTboxP(PG_GETARG_DATUM(n)) |
| #define | PG_RETURN_TBOX_P(x) return TboxPGetDatum(x) |
Functions | |
| TBOX * | tbox_make (bool hasx, bool hast, double xmin, double xmax, TimestampTz tmin, TimestampTz tmax) |
| Constructs a newly allocated temporal box. More... | |
| void | tbox_set (TBOX *box, bool hasx, bool hast, double xmin, double xmax, TimestampTz tmin, TimestampTz tmax) |
| Set the temporal box from the argument values. More... | |
| TBOX * | tbox_copy (const TBOX *box) |
| Returns a copy of the temporal box value. More... | |
| void | tbox_expand (TBOX *box1, const TBOX *box2) |
| Expand the first temporal box value with the second one. More... | |
| void | tbox_shift_tscale (TBOX *box, const Interval *start, const Interval *duration) |
| Shift and/or scale the time span of the temporal box by the interval. More... | |
| void | ensure_has_X_tbox (const TBOX *box) |
| Ensure that the temporal box has X values. More... | |
| void | ensure_has_T_tbox (const TBOX *box) |
| Ensure that the temporal box has T values. More... | |
| void | ensure_same_dimensionality_tbox (const TBOX *box1, const TBOX *box2) |
| Ensure that the temporal boxes have the same dimensionality. More... | |
| Datum | tbox_in (PG_FUNCTION_ARGS) |
| Input function for temporal boxes. More... | |
| Datum | tbox_out (PG_FUNCTION_ARGS) |
| Output function for temporal boxes. More... | |
| Datum | tbox_constructor (PG_FUNCTION_ARGS) |
| Construct a temporal box value from the arguments. More... | |
| Datum | tbox_constructor_t (PG_FUNCTION_ARGS) |
| Construct a temporal box value from the timestamps. More... | |
| Datum | tbox_to_floatrange (PG_FUNCTION_ARGS) |
| Cast the temporal box value as a float range value. More... | |
| Datum | tbox_to_period (PG_FUNCTION_ARGS) |
| Cast the temporal box value as a period value. More... | |
| Datum | int_to_tbox (PG_FUNCTION_ARGS) |
| Transform the integer to a temporal box. More... | |
| Datum | float_to_tbox (PG_FUNCTION_ARGS) |
| Transform the float to a temporal box. More... | |
| Datum | number_to_tbox (PG_FUNCTION_ARGS) |
| Datum | range_to_tbox (PG_FUNCTION_ARGS) |
| Transform the range to a temporal box. More... | |
| Datum | timestamp_to_tbox (PG_FUNCTION_ARGS) |
| Transform the timestamp to a temporal box. More... | |
| Datum | period_to_tbox (PG_FUNCTION_ARGS) |
| Transform the period to a temporal box. More... | |
| Datum | timestampset_to_tbox (PG_FUNCTION_ARGS) |
| Transform the period set to a temporal box. More... | |
| Datum | periodset_to_tbox (PG_FUNCTION_ARGS) |
| Transform the period set to a temporal box. More... | |
| Datum | int_timestamp_to_tbox (PG_FUNCTION_ARGS) |
| Transform the integer and the timestamp to a temporal box. More... | |
| Datum | float_timestamp_to_tbox (PG_FUNCTION_ARGS) |
| Transform the float and the timestamp to a temporal box. More... | |
| Datum | int_period_to_tbox (PG_FUNCTION_ARGS) |
| Transform the integer and the period to a temporal box. More... | |
| Datum | float_period_to_tbox (PG_FUNCTION_ARGS) |
| Transform the float and the period to a temporal box. More... | |
| Datum | range_timestamp_to_tbox (PG_FUNCTION_ARGS) |
| Transform the range and the timestamp to a temporal box. More... | |
| Datum | range_period_to_tbox (PG_FUNCTION_ARGS) |
| Transform the range and the period to a temporal box. More... | |
| void | number_to_box (TBOX *box, Datum value, Oid basetypid) |
| Transform the value to a temporal box (internal function only) More... | |
| void | range_to_tbox_internal (TBOX *box, const RangeType *r) |
| Transform the range to a temporal box (internal function) More... | |
| void | int_to_tbox_internal (TBOX *box, int i) |
| Transform the integer to a temporal box (internal function) More... | |
| void | float_to_tbox_internal (TBOX *box, double d) |
| Transform the float to a temporal box (internal function) More... | |
| void | timestamp_to_tbox_internal (TBOX *box, TimestampTz t) |
| Transform the timestamp to a temporal box (internal function) More... | |
| void | timestampset_to_tbox_internal (TBOX *box, const TimestampSet *ts) |
| Transform the period set to a temporal box (internal function) More... | |
| void | period_to_tbox_internal (TBOX *box, const Period *p) |
| Transform the period to a temporal box (internal function) More... | |
| void | periodset_to_tbox_internal (TBOX *box, const PeriodSet *ps) |
| Transform the period set to a temporal box (internal function) More... | |
| Datum | tbox_xmin (PG_FUNCTION_ARGS) |
| Returns the minimum X value of the temporal box value. More... | |
| Datum | tbox_xmax (PG_FUNCTION_ARGS) |
| Returns the maximum X value of the temporal box value. More... | |
| Datum | tbox_tmin (PG_FUNCTION_ARGS) |
| Returns the minimum timestamp of the temporal box value. More... | |
| Datum | tbox_tmax (PG_FUNCTION_ARGS) |
| Returns the maximum timestamp of the temporal box value. More... | |
| Datum | tbox_expand_value (PG_FUNCTION_ARGS) |
| Expand the value dimension of the temporal box with the double value. More... | |
| Datum | tbox_expand_temporal (PG_FUNCTION_ARGS) |
| Expand the time dimension of the temporal box with the interval value. More... | |
| Datum | tbox_set_precision (PG_FUNCTION_ARGS) |
| Set the precision of the value dimension of the temporal box to the number of decimal places. More... | |
| Datum | contains_tbox_tbox (PG_FUNCTION_ARGS) |
| Returns true if the first temporal box contains the second one. More... | |
| Datum | contained_tbox_tbox (PG_FUNCTION_ARGS) |
| Returns true if the first temporal box is contained by the second one. More... | |
| Datum | overlaps_tbox_tbox (PG_FUNCTION_ARGS) |
| Returns true if the temporal boxes overlap. More... | |
| Datum | same_tbox_tbox (PG_FUNCTION_ARGS) |
| Returns true if the temporal boxes are equal on the common dimensions. More... | |
| Datum | adjacent_tbox_tbox (PG_FUNCTION_ARGS) |
| Returns true if the temporal boxes are adjacent. More... | |
| bool | contains_tbox_tbox_internal (const TBOX *box1, const TBOX *box2) |
| Returns true if the first temporal box contains the second one (internal function) More... | |
| bool | contained_tbox_tbox_internal (const TBOX *box1, const TBOX *box2) |
| Returns true if the first temporal box is contained by the second one (internal function) More... | |
| bool | overlaps_tbox_tbox_internal (const TBOX *box1, const TBOX *box2) |
| Returns true if the temporal boxes overlap (internal function) More... | |
| bool | same_tbox_tbox_internal (const TBOX *box1, const TBOX *box2) |
| Returns true if the temporal boxes are equal on the common dimensions (internal function) More... | |
| bool | adjacent_tbox_tbox_internal (const TBOX *box1, const TBOX *box2) |
| Returns true if the temporal boxes are adjacent (internal function) More... | |
| Datum | left_tbox_tbox (PG_FUNCTION_ARGS) |
| Returns true if the first temporal box is strictly to the left of the second one. More... | |
| Datum | overleft_tbox_tbox (PG_FUNCTION_ARGS) |
| Returns true if the first temporal box does not extend to the right of the second one. More... | |
| Datum | right_tbox_tbox (PG_FUNCTION_ARGS) |
| Returns true if the first temporal box is strictly to the right of the second one. More... | |
| Datum | overright_tbox_tbox (PG_FUNCTION_ARGS) |
| Returns true if the first temporal box does not extend to the left of the second one. More... | |
| Datum | before_tbox_tbox (PG_FUNCTION_ARGS) |
| Returns true if the first temporal box is strictly before the second one. More... | |
| Datum | overbefore_tbox_tbox (PG_FUNCTION_ARGS) |
| Returns true if the first temporal box does not extend after the second one. More... | |
| Datum | after_tbox_tbox (PG_FUNCTION_ARGS) |
| Returns true if the first temporal box is strictly after the second one. More... | |
| Datum | overafter_tbox_tbox (PG_FUNCTION_ARGS) |
| Returns true if the first temporal box does not extend before the second one. More... | |
| bool | left_tbox_tbox_internal (const TBOX *box1, const TBOX *box2) |
| Returns true if the first temporal box is strictly to the left of the second one (internal function) More... | |
| bool | overleft_tbox_tbox_internal (const TBOX *box1, const TBOX *box2) |
| Returns true if the first temporal box does not extend to the right of the second one (internal function) More... | |
| bool | right_tbox_tbox_internal (const TBOX *box1, const TBOX *box2) |
| Returns true if the first temporal box is strictly to the right of the second one (internal function) More... | |
| bool | overright_tbox_tbox_internal (const TBOX *box1, const TBOX *box2) |
| Returns true if the first temporal box does not extend to the left of the second one (internal function) More... | |
| bool | before_tbox_tbox_internal (const TBOX *box1, const TBOX *box2) |
| Returns true if the first temporal box is strictly before the second one (internal function) More... | |
| bool | overbefore_tbox_tbox_internal (const TBOX *box1, const TBOX *box2) |
| Returns true if the first temporal box does not extend after the second one (internal function) More... | |
| bool | after_tbox_tbox_internal (const TBOX *box1, const TBOX *box2) |
| Returns true if the first temporal box is strictly after the second one (internal function) More... | |
| bool | overafter_tbox_tbox_internal (const TBOX *box1, const TBOX *box2) |
| Returns true if the first temporal box does not extend before the second one (internal function) More... | |
| Datum | tbox_union (PG_FUNCTION_ARGS) |
| Returns the union of the temporal boxes. More... | |
| Datum | tbox_intersection (PG_FUNCTION_ARGS) |
| Returns the intersection of the temporal boxes. More... | |
| TBOX * | tbox_union_internal (const TBOX *box1, const TBOX *box2) |
| Returns the union of the temporal boxes (internal function) More... | |
| TBOX * | tbox_minus_internal (const TBOX *box1, const TBOX *box2) |
| TBOX * | tbox_intersection_internal (const TBOX *box1, const TBOX *box2) |
| Returns the intersection of the temporal boxes (internal function) More... | |
| Datum | tbox_cmp (PG_FUNCTION_ARGS) |
| Returns -1, 0, or 1 depending on whether the first temporal box value is less than, equal, or greater than the second one. More... | |
| Datum | tbox_lt (PG_FUNCTION_ARGS) |
| Returns true if the first temporal box value is less than the second one. More... | |
| Datum | tbox_le (PG_FUNCTION_ARGS) |
| Returns true if the first temporal box value is less than or equal to the second one. More... | |
| Datum | tbox_gt (PG_FUNCTION_ARGS) |
| Returns true if the first temporal box value is greater than the second one. More... | |
| Datum | tbox_ge (PG_FUNCTION_ARGS) |
| Returns true if the first temporal box value is greater than or equal to the second one. More... | |
| Datum | tbox_eq (PG_FUNCTION_ARGS) |
| Returns true if the two temporal boxes are equal. More... | |
| Datum | tbox_ne (PG_FUNCTION_ARGS) |
| Returns true if the two temporal boxes are different. More... | |
| int | tbox_cmp_internal (const TBOX *box1, const TBOX *box2) |
| Returns -1, 0, or 1 depending on whether the first temporal box value is less than, equal to, or greater than the second one (internal function). More... | |
| bool | tbox_eq_internal (const TBOX *box1, const TBOX *box2) |
| Returns true if the two temporal boxes are equal (internal function) More... | |
Functions for temporal bounding boxes.
1.8.13