MobilityDB 1.1
Macros | Functions
meos_internal.h File Reference
#include <json-c/json.h>
#include "general/meos_catalog.h"
Include dependency graph for meos_internal.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define DatumGetTimestampTz(X)   ((TimestampTz) DatumGetInt64(X))
 
#define TimestampTzGetDatum(X)   Int64GetDatum(X)
 Internal API of the Mobility Engine Open Source(MEOS) library. More...
 

Functions

bool adjacent_number_tnumber (Datum number, meosType basetype, const Temporal *tnumber)
 
bool adjacent_span_value (const Span *s, Datum d, meosType basetype)
 Return true if a span and a value are adjacent. More...
 
bool adjacent_spanset_value (const SpanSet *ss, Datum d, meosType basetype)
 Return true if a span set and a value are adjacent. More...
 
bool adjacent_tnumber_number (const Temporal *tnumber, Datum number, meosType basetype)
 
bool contained_number_tnumber (Datum number, meosType basetype, const Temporal *tnumber)
 
bool contained_set_set (const Set *s1, const Set *s2)
 Return true if a set is contained by the second one. More...
 
bool contained_tnumber_number (const Temporal *tnumber, Datum number, meosType basetype)
 
bool contained_value_set (Datum d, meosType basetype, const Set *s)
 Return true if a value is contained by a set. More...
 
bool contained_value_span (Datum d, meosType basetype, const Span *s)
 Return true if a value is contained by a span. More...
 
bool contained_value_spanset (Datum d, meosType basetype, const SpanSet *ss)
 Return true if a value is contained by a span. More...
 
bool contains_number_tnumber (Datum number, meosType basetype, const Temporal *tnumber)
 
bool contains_set_set (const Set *s1, const Set *s2)
 Return true if the first set contains the second one. More...
 
bool contains_set_value (const Set *s, Datum d, meosType basetype)
 Return true if a set contains a value. More...
 
bool contains_span_value (const Span *s, Datum d, meosType basetype)
 Return true if a span contains a value. More...
 
bool contains_spanset_value (const SpanSet *ss, Datum d, meosType basetype)
 Return true if a span set contains a value. More...
 
bool contains_tnumber_number (const Temporal *tnumber, Datum number, meosType basetype)
 
uint32 datum_hash (Datum d, meosType basetype)
 Return the 32-bit hash of a value. More...
 
uint64 datum_hash_extended (Datum d, meosType basetype, uint64 seed)
 Return the 64-bit hash of a value using a seed. More...
 
double distance_set_set (const Set *s1, const Set *s2)
 Return the distance between two sets. More...
 
double distance_set_value (const Set *s, Datum d, meosType basetype)
 Return the distance between a set and a value. More...
 
double distance_span_value (const Span *s, Datum d, meosType basetype)
 Return the distance between a span and a value. More...
 
double distance_spanset_value (const SpanSet *ss, Datum d, meosType basetype)
 Return the distance between a timestamp and a span set. More...
 
Temporal * distance_tnumber_number (const Temporal *temp, Datum value, meosType valuetype, meosType restype)
 Return the temporal distance between a temporal number and a number. More...
 
double distance_value_set (Datum d, meosType basetype, const Set *s)
 
double distance_value_value (Datum l, Datum r, meosType typel, meosType typer)
 Return the distance between the values. More...
 
void float_set_tbox (double d, TBox *box)
 Set a temporal box from a float. More...
 
void floatspan_set_numspan (const Span *s1, Span *s2, meosType basetype)
 Set the second span with the first one transformed to intspan. More...
 
bool geo_set_stbox (const GSERIALIZED *gs, STBox *box)
 Set a spatiotemporal box from a geometry/geography. More...
 
char ** geoarr_as_text (const Datum *geoarr, int count, int maxdd, bool extended)
 Return the Well-Known Text (WKT) or the Extended Well-Known Text (EWKT) representation of a geometry/geography array. More...
 
void geoarr_set_stbox (const Datum *values, int count, STBox *box)
 Set the spatiotemporal box from an array of geometries/geographies. More...
 
void int_set_tbox (int i, TBox *box)
 Set a temporal box from an integer. More...
 
bool inter_span_span (const Span *s1, const Span *s2, Span *result)
 Set a span with the result of the intersection of two spans. More...
 
bool intersection_set_value (const Set *s, Datum d, meosType basetype, Datum *result)
 Return the intersection of a set and a value. More...
 
bool intersection_span_value (const Span *s, Datum d, meosType basetype, Datum *result)
 Return the intersection of a span and a value. More...
 
bool intersection_spanset_value (const SpanSet *ss, Datum d, meosType basetype, Datum *result)
 Return the intersection of a span set and a value. More...
 
bool intersection_value_value (Datum d1, Datum d2, meosType basetype, Datum *result)
 
bool left_number_tnumber (Datum number, meosType basetype, const Temporal *tnumber)
 
bool left_set_set (const Set *s1, const Set *s2)
 Return true if the first set is strictly to the left of a second one. More...
 
bool left_set_value (const Set *s, Datum d, meosType basetype)
 Return true if a set is strictly to the left of a value. More...
 
bool left_span_value (const Span *s, Datum d, meosType basetype)
 Return true if a span is strictly to the left of a value. More...
 
bool left_spanset_value (const SpanSet *ss, Datum d, meosType basetype)
 Return true if a span set is strictly to the left of a value. More...
 
bool left_tnumber_number (const Temporal *tnumber, Datum number, meosType basetype)
 
bool left_value_set (Datum d, meosType basetype, const Set *s)
 Return true if a value is strictly to the left of a set. More...
 
bool left_value_span (Datum d, meosType basetype, const Span *s)
 Return true if a value is strictly to the left of a span. More...
 
bool left_value_spanset (Datum d, meosType basetype, const SpanSet *ss)
 Return true if a value is strictly to the left of a span set. More...
 
void lower_upper_shift_tscale (TimestampTz *lower, TimestampTz *upper, const Interval *shift, const Interval *duration)
 Shift and/or scale period bounds by the intervals. More...
 
Set * minus_set_value (const Set *s, Datum d, meosType basetype)
 Return the difference of a set and a value. More...
 
int minus_span_span1 (const Span *s1, const Span *s2, Span **result)
 Return the difference of the two spans. More...
 
SpanSet * minus_span_value (const Span *s, Datum d, meosType basetype)
 Return the difference of a span and a value. More...
 
int minus_span_value1 (const Span *s, Datum d, meosType basetype, Span **result)
 Return the difference of a span and a value. More...
 
SpanSet * minus_spanset_value (const SpanSet *ss, Datum d, meosType basetype)
 Return the difference of a span set and a value. More...
 
bool minus_value_set (Datum d, meosType basetype, const Set *s, Datum *result)
 Return the difference of a value and a set. More...
 
bool minus_value_span (Datum d, meosType basetype, const Span *s, Datum *result)
 Return the difference of a value and a span. More...
 
bool minus_value_spanset (Datum d, meosType basetype, const SpanSet *ss, Datum *result)
 Return the difference of a value and a span set. More...
 
bool minus_value_value (Datum d1, Datum d2, meosType basetype, Datum *result)
 
double nad_tnumber_number (const Temporal *temp, Datum value, meosType basetype)
 Return the nearest approach distance between a temporal number and a number. More...
 
TBox * number_period_to_tbox (Datum d, meosType basetype, const Span *p)
 Return a temporal box from an integer and a period. More...
 
void number_set_tbox (Datum d, meosType basetype, TBox *box)
 Set a temporal box from a number. More...
 
TBox * number_timestamp_to_tbox (Datum d, meosType basetype, TimestampTz t)
 Return a temporal box from an integer and a timestamp. More...
 
void numset_set_tbox (const Set *s, TBox *box)
 Set a temporal box from a number set. More...
 
void numspan_set_tbox (const Span *span, TBox *box)
 Set a temporal box from a number span. More...
 
void numspanset_set_tbox (const SpanSet *ss, TBox *box)
 Set a temporal box from a span set. More...
 
bool overlaps_number_tnumber (Datum number, meosType basetype, const Temporal *tnumber)
 
bool overlaps_set_set (const Set *s1, const Set *s2)
 Return true if the sets overlap. More...
 
bool overlaps_span_value (const Span *s, Datum d, meosType basetype)
 
bool overlaps_spanset_value (const SpanSet *ss, Datum d, meosType basetype)
 
bool overlaps_tnumber_number (const Temporal *tnumber, Datum number, meosType basetype)
 
bool overlaps_value_span (Datum d, meosType basetype, const Span *s)
 
bool overlaps_value_spanset (Datum d, meosType basetype, const SpanSet *ss)
 
bool overleft_number_tnumber (Datum number, meosType basetype, const Temporal *tnumber)
 
bool overleft_set_set (const Set *s1, const Set *s2)
 Return true if the first set does not extend to the right of the second one. More...
 
bool overleft_set_value (const Set *s, Datum d, meosType basetype)
 Return true if a set does not extend to the right of a value. More...
 
bool overleft_span_value (const Span *s, Datum d, meosType basetype)
 Return true if a span does not extend to the right of a value. More...
 
bool overleft_spanset_value (const SpanSet *ss, Datum d, meosType basetype)
 Return true if a span set does not extend to the right of a value. More...
 
bool overleft_tnumber_number (const Temporal *tnumber, Datum number, meosType basetype)
 
bool overleft_value_set (Datum d, meosType basetype, const Set *s)
 Return true if a value does not extend to the right of a set. More...
 
bool overleft_value_span (Datum d, meosType basetype, const Span *s)
 Return true if a value does not extend to the right of a span. More...
 
bool overleft_value_spanset (Datum d, meosType basetype, const SpanSet *ss)
 Return true if a value does not extend to the right of a span set. More...
 
bool overright_number_tnumber (Datum number, meosType basetype, const Temporal *tnumber)
 
bool overright_set_set (const Set *s1, const Set *s2)
 Return true if the first set does not extend to the left of the second one. More...
 
bool overright_set_value (const Set *s, Datum d, meosType basetype)
 Return true if a set does not extend to the left of a value. More...
 
bool overright_span_value (const Span *s, Datum d, meosType basetype)
 Return true if a span does not extend to the left of a value. More...
 
bool overright_spanset_value (const SpanSet *ss, Datum d, meosType basetype)
 Return true if a span set does not extend to the left of a value. More...
 
bool overright_tnumber_number (const Temporal *tnumber, Datum number, meosType basetype)
 
bool overright_value_set (Datum d, meosType basetype, const Set *s)
 Return true if a value does not extend to the the left of a set. More...
 
bool overright_value_span (Datum d, meosType basetype, const Span *s)
 Return true if a value does not extend to the left of a span. More...
 
bool overright_value_spanset (Datum d, meosType basetype, const SpanSet *ss)
 Return true if a value does not extend to the left of a span set. More...
 
void period_set_stbox (const Span *p, STBox *box)
 Set a spatiotemporal box from a period. More...
 
void period_set_tbox (const Span *p, TBox *box)
 Set a temporal box from a period. More...
 
void periodset_set_stbox (const SpanSet *ps, STBox *box)
 Set a spatiotemporal box from a period set. More...
 
void periodset_set_tbox (const SpanSet *ps, TBox *box)
 Set a temporal box from a period set. More...
 
bool right_number_tnumber (Datum number, meosType basetype, const Temporal *tnumber)
 
bool right_set_set (const Set *s1, const Set *s2)
 Return true if the first set is strictly to the right of the second one. More...
 
bool right_set_value (const Set *s, Datum d, meosType basetype)
 Return true if a set is strictly to the right of a value. More...
 
bool right_span_value (const Span *s, Datum d, meosType basetype)
 Return true if a span is strictly to the right of a value. More...
 
bool right_spanset_value (const SpanSet *ss, Datum d, meosType basetype)
 Return true if a span set is strictly to the right of a value. More...
 
bool right_tnumber_number (const Temporal *tnumber, Datum number, meosType basetype)
 
bool right_value_set (Datum d, meosType basetype, const Set *s)
 Return true if a value is strictly to the right of a set. More...
 
bool right_value_span (Datum d, meosType basetype, const Span *s)
 Return true if a value is strictly to the right of a span. More...
 
bool right_value_spanset (Datum d, meosType basetype, const SpanSet *ss)
 Return true if a value is strictly to the right of a span set. More...
 
bool same_number_tnumber (Datum number, meosType basetype, const Temporal *tnumber)
 
bool same_tnumber_number (const Temporal *tnumber, Datum number, meosType basetype)
 
Set * set_agg_transfn (Set *s, Datum d, meosType basetype)
 Transition function for set aggregate of values. More...
 
void * set_bbox_ptr (const Set *s)
 Return a pointer to the bounding box of a temporal sequence. More...
 
Set * set_copy (const Set *s)
 Return a copy of a set. More...
 
Datum set_end_value (const Set *s)
 Return the end value of a set. More...
 
void set_expand_bbox (Datum d, meosType basetype, void *box)
 Set a bounding box from an array of set values. More...
 
Set * set_in (const char *str, meosType basetype)
 Return a set from its Well-Known Text (WKT) representation. More...
 
Set * set_make (const Datum *values, int count, meosType basetype, bool ordered)
 Construct a set from an array of values. More...
 
Set * set_make_exp (const Datum *values, int count, int maxcount, meosType basetype, bool ordered)
 Construct a set from an array of values. More...
 
Set * set_make_free (Datum *values, int count, meosType basetype, bool ordered)
 Construct a set from the array of values and free the array after the creation. More...
 
size_t * set_offsets_ptr (const Set *s)
 Return a pointer to the offsets array of a set. More...
 
Datum set_start_value (const Set *s)
 Return the start value of a set. More...
 
Datum set_val_n (const Set *ts, int index)
 Return the n-th value of a set. More...
 
bool set_value_n (const Set *s, int n, Datum *result)
 Return the n-th value of a set. More...
 
Datum * set_values (const Set *s)
 Return the array of values of a set. More...
 
Span * span_in (const char *str, meosType spantype)
 Return a span from its Well-Known Text (WKT) representation. More...
 
Span * span_make (Datum lower, Datum upper, bool lower_inc, bool upper_inc, meosType basetype)
 Construct a span from the bounds. More...
 
void span_set (Datum lower, Datum upper, bool lower_inc, bool upper_inc, meosType basetype, Span *s)
 Set a span from the bounds. More...
 
void span_shift (Span *s, Datum value)
 Shift a span by a value. More...
 
Span * spanbase_extent_transfn (Span *s, Datum d, meosType basetype)
 Aggregate functions for span types. More...
 
SpanSet * spanset_in (const char *str, meosType spantype)
 Return a span set from its Well-Known Text (WKT) representation. More...
 
void spanset_shift (SpanSet *s, Datum value)
 Shift a span set by a value. More...
 
const Span * spanset_sp_n (const SpanSet *ss, int index)
 Return the n-th span of a span set. More...
 
void stbox_set_box3d (const STBox *box, BOX3D *box3d)
 Set a PostGIS BOX3D from a spatiotemporal box. More...
 
void stbox_set_gbox (const STBox *box, GBOX *gbox)
 Set a PostGIS GBOX from a spatiotemporal box. More...
 
char * tboolinst_as_mfjson (const TInstant *inst, bool with_bbox)
 Return the MF-JSON representation of a temporal instant boolean. More...
 
TInstant * tboolinst_from_mfjson (json_object *mfjson)
 Return a temporal instant boolean from its MF-JSON representation. More...
 
TInstant * tboolinst_in (const char *str)
 Return a temporal instant boolean from its Well-Known Text (WKT) representation. More...
 
char * tboolseq_as_mfjson (const TSequence *seq, bool with_bbox)
 Return the MF-JSON representation of a temporal sequence boolean. More...
 
TSequence * tboolseq_from_mfjson (json_object *mfjson)
 Return a temporal sequence boolean from its MF-JSON representation. More...
 
TSequence * tboolseq_in (const char *str, interpType interp)
 Return a temporal sequence boolean from its Well-Known Text (WKT) representation. More...
 
char * tboolseqset_as_mfjson (const TSequenceSet *ss, bool with_bbox)
 Return the MF-JSON representation of a temporal sequence set boolean. More...
 
TSequenceSet * tboolseqset_from_mfjson (json_object *mfjson)
 Return a temporal sequence set boolean from its MF-JSON representation. More...
 
TSequenceSet * tboolseqset_in (const char *str)
 Return a temporal sequence set boolean from its Well-Known Text (WKT) representation. More...
 
TSequence * tcontseq_at_period (const TSequence *seq, const Span *p)
 Restrict a continuous temporal sequence to a period. More...
 
TInstant * tcontseq_at_timestamp (const TSequence *seq, TimestampTz t)
 Restrict a temporal continuous sequence to a timestamp. More...
 
TSequence * tcontseq_at_timestampset (const TSequence *seq, const Set *ss)
 Restrict a temporal sequence to a timestamp set. More...
 
TSequence * tcontseq_delete_period (const TSequence *seq, const Span *p)
 Delete a period from a continuos temporal sequence. More...
 
TSequence * tcontseq_delete_periodset (const TSequence *seq, const SpanSet *ps)
 Delete a period set from a continuous temporal sequence. More...
 
TSequence * tcontseq_delete_timestamp (const TSequence *seq, TimestampTz t)
 Delete a timestamp from a continuous temporal sequence. More...
 
TSequence * tcontseq_delete_timestampset (const TSequence *seq, const Set *ts)
 Delete a timestamp from a continuous temporal sequence. More...
 
Temporal * tcontseq_insert (const TSequence *seq1, const TSequence *seq2)
 Insert the second temporal value into the first one. More...
 
TSequenceSet * tcontseq_minus_period (const TSequence *seq, const Span *p)
 Restrict a temporal sequence to the complement of a period. More...
 
TSequenceSet * tcontseq_minus_timestamp (const TSequence *seq, TimestampTz t)
 Restrict a temporal sequence to the complement of a timestamp. More...
 
TSequenceSet * tcontseq_minus_timestampset (const TSequence *seq, const Set *ss)
 Restrict a temporal sequence to the complement of a timestamp set. More...
 
TSequenceSet * tcontseq_restrict_minmax (const TSequence *seq, bool min, bool atfunc)
 Restrict a temporal sequence to (the complement of) its minimum/maximum base value. More...
 
TSequenceSet * tcontseq_restrict_periodset (const TSequence *seq, const SpanSet *ps, bool atfunc)
 Restrict a temporal sequence to (the complement of) a period set. More...
 
TSequenceSet * tcontseq_restrict_value (const TSequence *seq, Datum value, bool atfunc)
 Restrict a temporal sequence to (the complement of) a base value. More...
 
TSequenceSet * tcontseq_restrict_values (const TSequence *seq, const Set *set, bool atfunc)
 Restrict a temporal sequence to (the complement of) an array of base values. More...
 
TSequence * tdiscseq_at_period (const TSequence *seq, const Span *period)
 Restrict a temporal discrete sequence to (the complement of) a period. More...
 
TInstant * tdiscseq_at_timestamp (const TSequence *seq, TimestampTz t)
 Restrict a temporal discrete sequence to (the complement of) a timestamp. More...
 
int tdiscseq_cmp (const TSequence *is1, const TSequence *is2)
 
bool tdiscseq_eq (const TSequence *is1, const TSequence *is2)
 
TSequence * tdiscseq_from_base_time (Datum value, meosType temptype, const Set *ss)
 Construct a temporal discrete sequence from a base value and a timestamp set. More...
 
uint32 tdiscseq_hash (const TSequence *seq)
 
TSequence * tdiscseq_in (const char *str, meosType temptype)
 
Temporal * tdiscseq_merge (const TSequence *is1, const TSequence *is2)
 
Temporal * tdiscseq_merge_array (const TSequence **sequences, int count)
 Merge an array of temporal discrete sequences. More...
 
TSequence * tdiscseq_minus_period (const TSequence *seq, const Span *period)
 Restrict a temporal discrete sequence to (the complement of) a period. More...
 
TSequence * tdiscseq_minus_timestamp (const TSequence *seq, TimestampTz t)
 Restrict a temporal discrete sequence to (the complement of) a timestamp. More...
 
TSequence * tdiscseq_restrict_minmax (const TSequence *seq, bool min, bool atfunc)
 Restrict a temporal discrete sequence to (the complement of) its minimum/maximum base value. More...
 
TSequence * tdiscseq_restrict_periodset (const TSequence *seq, const SpanSet *ps, bool atfunc)
 Restrict a discrete temporal sequence to (the complement of) a period set. More...
 
TSequence * tdiscseq_restrict_timestampset (const TSequence *seq, const Set *ts, bool atfunc)
 Restrict a temporal discrete sequence to (the complement of) a timestamp set. More...
 
TSequence * tdiscseq_restrict_value (const TSequence *seq, Datum value, bool atfunc)
 Restrict a temporal discrete sequence to (the complement of) a base value. More...
 
TSequence * tdiscseq_restrict_values (const TSequence *seq, const Set *set, bool atfunc)
 Restrict a temporal discrete sequence to (the complement of) an array of base values. More...
 
TSequence * tdiscseq_to_tsequence (const TSequence *seq, interpType interp)
 
TSequenceSet * tdiscseq_to_tsequenceset (const TSequence *seq, interpType interp)
 Return a temporal discrete sequence transformed into a temporal sequence set. More...
 
bool tdiscseq_value_at_timestamp (const TSequence *seq, TimestampTz t, Datum *result)
 Return the base value of a temporal discrete sequence at a timestamp. More...
 
bool temporal_always_eq (const Temporal *temp, Datum value)
 Return true if a temporal value is always equal to a base value. More...
 
bool temporal_always_le (const Temporal *temp, Datum value)
 Return true if a temporal value is always less than or equal to a base value. More...
 
bool temporal_always_lt (const Temporal *temp, Datum value)
 Return true if a temporal value is always less than a base value. More...
 
Temporal * temporal_compact (const Temporal *temp)
 Compact the temporal value by removing extra storage space. More...
 
Datum temporal_end_value (const Temporal *temp)
 Return the end base value of a temporal value. More...
 
bool temporal_ever_eq (const Temporal *temp, Datum value)
 Return true if a temporal value is ever equal to a base value. More...
 
bool temporal_ever_le (const Temporal *temp, Datum value)
 Return true if a temporal value is ever less than or equal to a base value. More...
 
bool temporal_ever_lt (const Temporal *temp, Datum value)
 Return true if a temporal value is ever less than a base value. More...
 
Temporal * temporal_from_base (Datum value, meosType temptype, const Temporal *temp, interpType interp)
 Construct a temporal value from a base value and the time frame of another temporal value. More...
 
Temporal * temporal_in (const char *str, meosType temptype)
 Return a temporal value from its Well-Known Text (WKT) representation. More...
 
Datum temporal_max_value (const Temporal *temp)
 Return a copy of the maximum base value of a temporal value. More...
 
Datum temporal_min_value (const Temporal *temp)
 Return a copy of the minimum base value of a temporal value. More...
 
char * temporal_out (const Temporal *temp, int maxdd)
 Return the Well-Known Text (WKT) representation of a temporal value. More...
 
Temporal * temporal_restrict_period (const Temporal *temp, const Span *ps, bool atfunc)
 Restrict a temporal value to (the complement of) a period. More...
 
Temporal * temporal_restrict_periodset (const Temporal *temp, const SpanSet *ps, bool atfunc)
 Restrict a temporal value to (the complement of) a period set. More...
 
Temporal * temporal_restrict_timestamp (const Temporal *temp, TimestampTz t, bool atfunc)
 Restrict a temporal value to a timestamp. More...
 
Temporal * temporal_restrict_timestampset (const Temporal *temp, const Set *ss, bool atfunc)
 Restrict a temporal value to (the complement of) a timestamp set. More...
 
Temporal * temporal_restrict_value (const Temporal *temp, Datum value, bool atfunc)
 Restrict a temporal value to (the complement of) a base value. More...
 
Temporal * temporal_restrict_values (const Temporal *temp, const Set *set, bool atfunc)
 Restrict a temporal value to (the complement of) an array of base values. More...
 
void temporal_set_bbox (const Temporal *temp, void *box)
 Set the second argument to the bounding box of a temporal value. More...
 
void temporal_set_period (const Temporal *temp, Span *p)
 Set a period to the bounding period of a temporal value. More...
 
Datum temporal_start_value (const Temporal *temp)
 Return the start base value of a temporal value. More...
 
Temporal ** temporal_time_split1 (const Temporal *temp, TimestampTz start, TimestampTz end, int64 tunits, TimestampTz torigin, int count, TimestampTz **buckets, int *newcount)
 Split a temporal value into fragments with respect to period buckets. More...
 
bool temporal_value_at_timestamp (const Temporal *temp, TimestampTz t, bool strict, Datum *result)
 Return the base value of a temporal value at the timestamp. More...
 
Datum * temporal_values (const Temporal *temp, int *count)
 Return the array of base values of a temporal value. More...
 
char ** temporalarr_out (const Temporal **temparr, int count, int maxdd)
 Return the Well-Known Text (WKT) representation of an array of temporal values. More...
 
Temporal * teq_base_temporal (Datum base, meosType basetype, const Temporal *temp)
 
Temporal * teq_temporal_base (const Temporal *temp, Datum base, meosType basetype)
 
char * tfloatinst_as_mfjson (const TInstant *inst, bool with_bbox, int precision)
 Return the MF-JSON representation of a temporal instant float. More...
 
TInstant * tfloatinst_from_mfjson (json_object *mfjson)
 Return a temporal instant float from its MF-JSON representation. More...
 
TInstant * tfloatinst_in (const char *str)
 Return a temporal instant float from its Well-Known Text (WKT) representation. More...
 
SpanSet * tfloatinst_spanset (const TInstant *inst)
 Return the span set of a temporal instant float. More...
 
TInstant * tfloatinst_to_tintinst (const TInstant *inst)
 Cast a temporal instant float to a temporal instant integer. More...
 
char * tfloatseq_as_mfjson (const TSequence *seq, bool with_bbox, int precision)
 Return the MF-JSON representation of a temporal sequence float. More...
 
TSequence * tfloatseq_from_mfjson (json_object *mfjson, interpType interp)
 Return a temporal sequence float from its MF-JSON representation. More...
 
TSequence * tfloatseq_in (const char *str, interpType interp)
 Return a temporal sequence float from its Well-Known Text (WKT) representation. More...
 
Span * tfloatseq_span (const TSequence *seq)
 Return the float span of a temporal sequence float. More...
 
SpanSet * tfloatseq_spanset (const TSequence *seq)
 Return the array of spans of base values of a temporal float sequence. More...
 
TSequence * tfloatseq_to_tintseq (const TSequence *seq)
 Cast a temporal sequence float to a temporal sequence integer. More...
 
char * tfloatseqset_as_mfjson (const TSequenceSet *ss, bool with_bbox, int precision)
 Return the MF-JSON representation of a temporal sequence set float. More...
 
TSequenceSet * tfloatseqset_from_mfjson (json_object *mfjson, interpType interp)
 Return a temporal sequence set float from its MF-JSON representation. More...
 
TSequenceSet * tfloatseqset_in (const char *str)
 Return a temporal sequence set float from its Well-Known Text (WKT) representation. More...
 
Span * tfloatseqset_span (const TSequenceSet *ss)
 
SpanSet * tfloatseqset_spanset (const TSequenceSet *ss)
 Return the span set of a temporal float sequence set. More...
 
TSequenceSet * tfloatseqset_to_tintseqset (const TSequenceSet *ss)
 Cast a temporal sequence set float to a temporal sequence set integer. More...
 
Temporal * tge_base_temporal (Datum base, meosType basetype, const Temporal *temp)
 
Temporal * tge_temporal_base (const Temporal *temp, Datum base, meosType basetype)
 
char * tgeogpointinst_as_mfjson (const TInstant *inst, bool with_bbox, int precision, char *srs)
 Return the MF-JSON representation of a temporal instant geographic point. More...
 
TInstant * tgeogpointinst_from_mfjson (json_object *mfjson, int srid)
 Return a temporal instant geographic point from its MF-JSON representation. More...
 
TInstant * tgeogpointinst_in (const char *str)
 Return a temporal instant geographic point from its Well-Known Text (WKT) representation. More...
 
char * tgeogpointseq_as_mfjson (const TSequence *seq, bool with_bbox, int precision, char *srs)
 Return the MF-JSON representation of a temporal sequence geographic point. More...
 
TSequence * tgeogpointseq_from_mfjson (json_object *mfjson, int srid, interpType interp)
 Return a temporal sequence geographic point from its MF-JSON representation. More...
 
TSequence * tgeogpointseq_in (const char *str, interpType interp)
 Return a temporal sequence geographic point from its Well-Known Text (WKT) representation. More...
 
char * tgeogpointseqset_as_mfjson (const TSequenceSet *ss, bool with_bbox, int precision, char *srs)
 Return the MF-JSON representation of a temporal sequence set geographic point. More...
 
TSequenceSet * tgeogpointseqset_from_mfjson (json_object *mfjson, int srid, interpType interp)
 Return a temporal sequence set geographic point from its MF-JSON representation. More...
 
TSequenceSet * tgeogpointseqset_in (const char *str)
 Return a temporal sequence set geographic point from its Well-Known Text (WKT) representation. More...
 
char * tgeompointinst_as_mfjson (const TInstant *inst, bool with_bbox, int precision, char *srs)
 Return the MF-JSON representation of a temporal instant geometric point. More...
 
TInstant * tgeompointinst_from_mfjson (json_object *mfjson, int srid)
 Return a temporal instant geometric point from its MF-JSON representation. More...
 
TInstant * tgeompointinst_in (const char *str)
 Return a temporal instant geometric point from its Well-Known Text (WKT) representation. More...
 
TInstant * tgeompointinst_tgeogpointinst (const TInstant *inst, bool oper)
 Convert a temporal point from/to a geometry/geography point. More...
 
char * tgeompointseq_as_mfjson (const TSequence *seq, bool with_bbox, int precision, char *srs)
 Return the MF-JSON representation of a temporal sequence geometric point. More...
 
TSequence * tgeompointseq_from_mfjson (json_object *mfjson, int srid, interpType interp)
 Return a temporal sequence geometric point from its MF-JSON representation. More...
 
TSequence * tgeompointseq_in (const char *str, interpType interp)
 Return a temporal sequence geometric point from its Well-Known Text (WKT) representation. More...
 
TSequence * tgeompointseq_tgeogpointseq (const TSequence *seq, bool oper)
 Convert a temporal point from/to a geometry/geography point. More...
 
char * tgeompointseqset_as_mfjson (const TSequenceSet *ss, bool with_bbox, int precision, char *srs)
 Return the MF-JSON representation of a temporal sequence set geometric point. More...
 
TSequenceSet * tgeompointseqset_from_mfjson (json_object *mfjson, int srid, interpType interp)
 Return a temporal sequence set geometric point from its MF-JSON representation. More...
 
TSequenceSet * tgeompointseqset_in (const char *str)
 Return a temporal sequence set geometric point from its Well-Known Text (WKT) representation. More...
 
TSequenceSet * tgeompointseqset_tgeogpointseqset (const TSequenceSet *ss, bool oper)
 Convert a temporal point from/to a geometry/geography point. More...
 
Temporal * tgt_base_temporal (Datum base, meosType basetype, const Temporal *temp)
 
Temporal * tgt_temporal_base (const Temporal *temp, Datum base, meosType basetype)
 
void timestamp_set_stbox (TimestampTz t, STBox *box)
 Set a spatiotemporal box from a timestamp. More...
 
void timestamp_set_tbox (TimestampTz t, TBox *box)
 Set a temporal box from a timestamp. More...
 
bool tinstant_always_eq (const TInstant *inst, Datum value)
 Return true if a temporal instant is always equal to a base value. More...
 
bool tinstant_always_le (const TInstant *inst, Datum value)
 Return true if a temporal instant is always less than or equal to a base value. More...
 
bool tinstant_always_lt (const TInstant *inst, Datum value)
 Return true if a temporal instant is always less than a base value. More...
 
char * tinstant_as_mfjson (const TInstant *inst, int precision, bool with_bbox, char *srs)
 Return the MF-JSON representation of a temporal instant. More...
 
int tinstant_cmp (const TInstant *inst1, const TInstant *inst2)
 Return -1, 0, or 1 depending on whether the first temporal instant is less than, equal, or greater than the second one. More...
 
TInstant * tinstant_copy (const TInstant *inst)
 Return a copy of a temporal instant. More...
 
bool tinstant_eq (const TInstant *inst1, const TInstant *inst2)
 Return true if two temporal instants are equal. More...
 
bool tinstant_ever_eq (const TInstant *inst, Datum value)
 Return true if a temporal instant is ever equal to a base value. More...
 
bool tinstant_ever_le (const TInstant *inst, Datum value)
 Return true if a temporal instant is ever less than or equal to a base value. More...
 
bool tinstant_ever_lt (const TInstant *inst, Datum value)
 Return true if a temporal instant is ever less than a base value. More...
 
TInstant * tinstant_from_mfjson (json_object *mfjson, bool isgeo, int srid, meosType temptype)
 Return a temporal instant from its MF-JSON representation. More...
 
uint32 tinstant_hash (const TInstant *inst)
 Return the 32-bit hash value of a temporal instant. More...
 
TInstant * tinstant_in (const char *str, meosType temptype)
 Return a temporal instant from its Well-Known Text (WKT) representation. More...
 
const TInstant ** tinstant_instants (const TInstant *inst, int *count)
 Return the singleton array of instants of a temporal instant. More...
 
TInstant * tinstant_make (Datum value, meosType temptype, TimestampTz t)
 Construct a temporal instant from the arguments. More...
 
Temporal * tinstant_merge (const TInstant *inst1, const TInstant *inst2)
 Merge two temporal instants. More...
 
Temporal * tinstant_merge_array (const TInstant **instants, int count)
 Merge an array of temporal instants. More...
 
char * tinstant_out (const TInstant *inst, int maxdd)
 Return the Well-Known Text (WKT) representation of a temporal instant. More...
 
TInstant * tinstant_restrict_period (const TInstant *inst, const Span *period, bool atfunc)
 Restrict a temporal instant to (the complement of) a period. More...
 
TInstant * tinstant_restrict_periodset (const TInstant *inst, const SpanSet *ps, bool atfunc)
 Restrict a temporal instant to (the complement of) a period set. More...
 
TInstant * tinstant_restrict_timestamp (const TInstant *inst, TimestampTz t, bool atfunc)
 Restrict a temporal instant to (the complement of) a timestamp. More...
 
TInstant * tinstant_restrict_timestampset (const TInstant *inst, const Set *ss, bool atfunc)
 Restrict a temporal instant to (the complement of) a timestamp set. More...
 
TInstant * tinstant_restrict_value (const TInstant *inst, Datum value, bool atfunc)
 Restrict a temporal instant to (the complement of) a base value. More...
 
TInstant * tinstant_restrict_values (const TInstant *inst, const Set *set, bool atfunc)
 Restrict a temporal instant to an array of base values. More...
 
TSequence ** tinstant_sequences (const TInstant *inst, int *count)
 Return the singleton array of sequences of a temporal instant. More...
 
void tinstant_set_bbox (const TInstant *inst, void *box)
 Set the second argument to the bounding box of a temporal instant. More...
 
void tinstant_set_period (const TInstant *inst, Span *p)
 Return the bounding period of a temporal instant. More...
 
TInstant * tinstant_shift (const TInstant *inst, const Interval *interval)
 Return a temporal instant shifted by an interval. More...
 
SpanSet * tinstant_time (const TInstant *inst)
 Return the time frame of a temporal instant as a period set. More...
 
TimestampTz * tinstant_timestamps (const TInstant *inst, int *count)
 Return the singleton array of timestamps of a temporal instant. More...
 
TSequence * tinstant_to_tsequence (const TInstant *inst, interpType interp)
 Return a temporal instant transformed into a temporal sequence. More...
 
TSequenceSet * tinstant_to_tsequenceset (const TInstant *inst, interpType interp)
 Return a temporal instant transformed into a temporal sequence set. More...
 
Datum tinstant_value (const TInstant *inst)
 General functions for temporal instants. More...
 
bool tinstant_value_at_timestamp (const TInstant *inst, TimestampTz t, Datum *result)
 Return the base value of a temporal instant at a timestamp. More...
 
Datum tinstant_value_copy (const TInstant *inst)
 Return a copy of the base value of a temporal instant. More...
 
Datum * tinstant_values (const TInstant *inst, int *count)
 Return the singleton array of base values of a temporal instant. More...
 
char * tintinst_as_mfjson (const TInstant *inst, bool with_bbox)
 Return the MF-JSON representation of a temporal instant integer. More...
 
TInstant * tintinst_from_mfjson (json_object *mfjson)
 Return a temporal instant integer from its MF-JSON representation. More...
 
TInstant * tintinst_in (const char *str)
 Return a temporal instant integer from its Well-Known Text (WKT) representation. More...
 
TInstant * tintinst_to_tfloatinst (const TInstant *inst)
 Cast a temporal instant integer to a temporal instant float. More...
 
char * tintseq_as_mfjson (const TSequence *seq, bool with_bbox)
 Return the MF-JSON representation of a temporal sequence integer. More...
 
TSequence * tintseq_from_mfjson (json_object *mfjson)
 Return a temporal sequence integer from its MF-JSON representation. More...
 
TSequence * tintseq_in (const char *str, interpType interp)
 Return a temporal sequence integer from its Well-Known Text (WKT) representation. More...
 
TSequence * tintseq_to_tfloatseq (const TSequence *seq)
 Cast a temporal sequence integer to a temporal sequence float. More...
 
char * tintseqset_as_mfjson (const TSequenceSet *ss, bool with_bbox)
 Return the MF-JSON representation of a temporal sequence set integer. More...
 
TSequenceSet * tintseqset_from_mfjson (json_object *mfjson)
 Return a temporal sequence set integer from its MF-JSON representation. More...
 
TSequenceSet * tintseqset_in (const char *str)
 Return a temporal sequence set integer from its Well-Known Text (WKT) representation. More...
 
TSequenceSet * tintseqset_to_tfloatseqset (const TSequenceSet *ss)
 Cast a temporal sequence set integer to a temporal sequence set float. More...
 
Temporal * tle_base_temporal (Datum base, meosType basetype, const Temporal *temp)
 
Temporal * tle_temporal_base (const Temporal *temp, Datum base, meosType basetype)
 
Temporal * tlt_base_temporal (Datum base, meosType basetype, const Temporal *temp)
 
Temporal * tlt_temporal_base (const Temporal *temp, Datum base, meosType basetype)
 
Temporal * tne_base_temporal (Datum base, meosType basetype, const Temporal *temp)
 
Temporal * tne_temporal_base (const Temporal *temp, Datum base, meosType basetype)
 
Temporal * tnumber_restrict_span (const Temporal *temp, const Span *span, bool atfunc)
 Restrict a temporal value to (the complement of) a span of base values. More...
 
Temporal * tnumber_restrict_spanset (const Temporal *temp, const SpanSet *ss, bool atfunc)
 Restrict a temporal value to (the complement of) a span set. More...
 
void tnumber_set_span (const Temporal *temp, Span *span)
 Set a span with value span of a temporal number. More...
 
Temporal ** tnumber_value_split1 (const Temporal *temp, Datum start_bucket, Datum size, int count, Datum **buckets, int *newcount)
 Split a temporal number into an array of fragments according to value buckets. More...
 
TSequenceSet * tnumbercontseq_restrict_span (const TSequence *seq, const Span *span, bool atfunc)
 Restrict a temporal sequence number to (the complement of) a span. More...
 
TSequenceSet * tnumbercontseq_restrict_spanset (const TSequence *seq, const SpanSet *ss, bool atfunc)
 Restrict a temporal number to (the complement of) an array of spans. More...
 
double tnumbercontseq_twavg (const TSequence *seq)
 Return the time-weighted average of a temporal sequence number. More...
 
TSequence * tnumberdiscseq_restrict_span (const TSequence *seq, const Span *span, bool atfunc)
 Restrict a temporal discrete number sequence to (the complement of) a span of base values. More...
 
TSequence * tnumberdiscseq_restrict_spanset (const TSequence *seq, const SpanSet *ss, bool atfunc)
 Restrict a temporal discrete sequence number to (the complement of) an array of spans of base values. More...
 
double tnumberdiscseq_twavg (const TSequence *seq)
 Return the time-weighted average of a temporal discrete sequence number. More...
 
TInstant * tnumberinst_restrict_span (const TInstant *inst, const Span *span, bool atfunc)
 Restrict a temporal number instant to (the complement of) a span of base values. More...
 
TInstant * tnumberinst_restrict_spanset (const TInstant *inst, const SpanSet *ss, bool atfunc)
 Restrict a temporal number instant to (the complement of) a span set. More...
 
TSequence * tnumberseq_derivative (const TSequence *seq)
 
double tnumberseq_integral (const TSequence *seq)
 Return the integral (area under the curve) of a temporal sequence number. More...
 
double tnumberseq_twavg (const TSequence *seq)
 Return the time-weighted average of a temporal sequence number. More...
 
TSequenceSet * tnumberseqset_derivative (const TSequenceSet *ts)
 
double tnumberseqset_integral (const TSequenceSet *ss)
 Return the integral (area under the curve) of a temporal number. More...
 
TSequenceSet * tnumberseqset_restrict_span (const TSequenceSet *ss, const Span *span, bool atfunc)
 Restrict a temporal number to a span of base values. More...
 
TSequenceSet * tnumberseqset_restrict_spanset (const TSequenceSet *ss, const SpanSet *spanset, bool atfunc)
 Restrict a temporal number to (the complement of) an array of spans of base values. More...
 
double tnumberseqset_twavg (const TSequenceSet *ss)
 Return the time-weighted average of a temporal number. More...
 
bool tpoint_always_eq (const Temporal *temp, Datum value)
 Return true if a temporal point is always equal to a point. More...
 
bool tpoint_ever_eq (const Temporal *temp, Datum value)
 Return true if a temporal point is ever equal to a point. More...
 
Temporal * tpoint_restrict_geometry (const Temporal *temp, const GSERIALIZED *gs, bool atfunc)
 Restrict a temporal point to (the complement of) a geometry. More...
 
Temporal * tpoint_restrict_stbox (const Temporal *temp, const STBox *box, bool atfunc)
 Restrict a temporal point to (the complement of) a spatiotemporal box. More...
 
char ** tpointarr_as_text (const Temporal **temparr, int count, int maxdd, bool extended)
 Return the Well-Known Text (WKT) or the Extended Well-Known Text (EWKT) representation of a temporal point array. More...
 
GSERIALIZED * tpointcontseq_trajectory (const TSequence *seq)
 Return the trajectory of a temporal sequence point. More...
 
bool tpointdiscseq_is_simple (const TSequence *seq)
 
TSequence * tpointdiscseq_restrict_geometry (const TSequence *seq, const GSERIALIZED *gs, bool atfunc)
 Restrict a temporal point discrete sequence to (the complement of) a geometry. More...
 
GSERIALIZED * tpointdiscseq_trajectory (const TSequence *seq)
 Compute the trajectory of a temporal discrete sequence point. More...
 
bool tpointinst_always_eq (const TInstant *inst, Datum value)
 Return true if a temporal instant point is always equal to a point. More...
 
bool tpointinst_ever_eq (const TInstant *inst, Datum value)
 Return true if a temporal instant point is ever equal to a point. More...
 
TInstant * tpointinst_restrict_geometry (const TInstant *inst, const GSERIALIZED *gs, bool atfunc)
 Restrict a temporal point instant to (the complement of) a geometry. More...
 
TInstant * tpointinst_set_srid (const TInstant *inst, int32 srid)
 Set the SRID of a temporal instant point. More...
 
int tpointinst_srid (const TInstant *inst)
 Return the SRID of a temporal instant point. More...
 
bool tpointseq_always_eq (const TSequence *seq, Datum value)
 Return true if a temporal sequence point is always equal to a point. More...
 
TSequenceSet * tpointseq_azimuth (const TSequence *seq)
 Return the temporal azimuth of a temporal geometry point. More...
 
TSequence * tpointseq_cumulative_length (const TSequence *seq, double prevlength)
 Return the cumulative length traversed by a temporal point. More...
 
bool tpointseq_ever_eq (const TSequence *seq, Datum value)
 Return true if a temporal sequence point is ever equal to a point. More...
 
bool tpointseq_is_simple (const TSequence *seq)
 Return true if a temporal point does not self-intersect. More...
 
double tpointseq_length (const TSequence *seq)
 Return the length traversed by a temporal sequence point. More...
 
TSequence ** tpointseq_make_simple (const TSequence *seq, int *count)
 Split a temporal sequence point into an array of non self-intersecting fragments. More...
 
TSequenceSet * tpointseq_restrict_geometry (const TSequence *seq, const GSERIALIZED *gs, bool atfunc)
 Restrict a temporal point sequence to (the complement of a) geometry. More...
 
TSequence * tpointseq_set_srid (const TSequence *seq, int32 srid)
 Set the SRID of a temporal sequence point. More...
 
TSequence * tpointseq_speed (const TSequence *seq)
 Return the speed of a temporal point. More...
 
int tpointseq_srid (const TSequence *seq)
 Return the SRID of a temporal sequence point. More...
 
STBox * tpointseq_stboxes (const TSequence *seq, int *count)
 Return an array of spatiotemporal boxes from the segments of a temporal sequence point. More...
 
GSERIALIZED * tpointseq_twcentroid (const TSequence *seq)
 Return the time-weighed centroid of a temporal geometry point. More...
 
bool tpointseqset_always_eq (const TSequenceSet *ss, Datum value)
 Return true if a temporal sequence set point is always equal to a point. More...
 
TSequenceSet * tpointseqset_azimuth (const TSequenceSet *ss)
 Return the temporal azimuth of a temporal geometry point. More...
 
TSequenceSet * tpointseqset_cumulative_length (const TSequenceSet *ss)
 Return the cumulative length traversed by a temporal point. More...
 
bool tpointseqset_ever_eq (const TSequenceSet *ss, Datum value)
 Return true if a temporal sequence set point is ever equal to a point. More...
 
bool tpointseqset_is_simple (const TSequenceSet *ss)
 Return true if a temporal point does not self-intersect. More...
 
double tpointseqset_length (const TSequenceSet *ss)
 Return the length traversed by a temporal sequence set point. More...
 
TSequence ** tpointseqset_make_simple (const TSequenceSet *ss, int *count)
 Split a temporal sequence set point into an array of non self-intersecting fragments. More...
 
TSequenceSet * tpointseqset_restrict_geometry (const TSequenceSet *ss, const GSERIALIZED *gs, const STBox *box, bool atfunc)
 Restrict a temporal point sequence set to (the complement of) a geometry. More...
 
TSequenceSet * tpointseqset_set_srid (const TSequenceSet *ss, int32 srid)
 Set the SRID of a temporal sequence set point. More...
 
TSequenceSet * tpointseqset_speed (const TSequenceSet *ss)
 Return the speed of a temporal point. More...
 
int tpointseqset_srid (const TSequenceSet *ss)
 Return the SRID of a temporal sequence set point. More...
 
STBox * tpointseqset_stboxes (const TSequenceSet *ss, int *count)
 Return an array of spatiotemporal boxes from the segments of a temporal sequence set point. More...
 
GSERIALIZED * tpointseqset_trajectory (const TSequenceSet *ss)
 Return the trajectory of a temporal point with sequence set type. More...
 
GSERIALIZED * tpointseqset_twcentroid (const TSequenceSet *ss)
 Return the time-weighed centroid of a temporal geometry point. More...
 
bool tsequence_always_eq (const TSequence *seq, Datum value)
 Return true if a temporal sequence is always equal to a base value. More...
 
bool tsequence_always_le (const TSequence *seq, Datum value)
 Return true if a temporal sequence is always less than or equal to a base value. More...
 
bool tsequence_always_lt (const TSequence *seq, Datum value)
 Return true if a temporal sequence is always less than a base value. More...
 
Temporal * tsequence_append_tinstant (TSequence *seq, const TInstant *inst, bool expand)
 Append an instant to a temporal sequence. More...
 
Temporal * tsequence_append_tsequence (TSequence *seq1, const TSequence *seq2, bool expand)
 Append a sequence to a temporal sequence. More...
 
char * tsequence_as_mfjson (const TSequence *seq, int precision, bool with_bbox, char *srs)
 Return the MF-JSON representation of a temporal sequence. More...
 
TInstant * tsequence_at_timestamp (const TSequence *seq, TimestampTz t)
 Restrict a temporal sequence to a timestamp. More...
 
int tsequence_cmp (const TSequence *seq1, const TSequence *seq2)
 Return -1, 0, or 1 depending on whether the first temporal sequence is less than, equal, or greater than the second one. More...
 
TSequence * tsequence_compact (const TSequence *seq)
 Return a copy of a temporal sequence with no additional free space. More...
 
TSequence * tsequence_copy (const TSequence *seq)
 Return a copy of a temporal sequence. More...
 
Interval * tsequence_duration (const TSequence *seq)
 Return the duration of a temporal sequence. More...
 
TimestampTz tsequence_end_timestamp (const TSequence *seq)
 Return the end timestamp of a temporal sequence. More...
 
bool tsequence_eq (const TSequence *seq1, const TSequence *seq2)
 Return true if two temporal sequences are equal. More...
 
bool tsequence_ever_eq (const TSequence *seq, Datum value)
 Return true if a temporal sequence is ever equal to a base value. More...
 
bool tsequence_ever_le (const TSequence *seq, Datum value)
 Return true if a temporal sequence is ever less than or equal to a base value. More...
 
bool tsequence_ever_lt (const TSequence *seq, Datum value)
 Return true if a temporal sequence is ever less than a base value. More...
 
void tsequence_expand_bbox (TSequence *seq, const TInstant *inst)
 Expand the bounding box of a temporal sequence with an additional instant. More...
 
TSequence * tsequence_from_base (Datum value, meosType temptype, const TSequence *seq, interpType interp)
 Construct a temporal sequence from a base value and the time frame of another temporal sequence. More...
 
TSequence * tsequence_from_base_time (Datum value, meosType temptype, const Span *p, interpType interp)
 Construct a temporal sequence from a base value and a period. More...
 
TSequence * tsequence_from_mfjson (json_object *mfjson, bool isgeo, int srid, meosType temptype, interpType interp)
 Return a temporal sequence point from its MF-JSON representation. More...
 
uint32 tsequence_hash (const TSequence *seq)
 Return the 32-bit hash value of a temporal sequence. More...
 
TSequence * tsequence_in (const char *str, meosType temptype, interpType interp)
 Return a temporal sequence from its Well-Known Text (WKT) representation. More...
 
const TInstant * tsequence_inst_n (const TSequence *seq, int index)
 Return the n-th instant of a temporal sequence. More...
 
const TInstant ** tsequence_instants (const TSequence *seq, int *count)
 Return the array of distinct instants of a temporal sequence. More...
 
const TInstant * tsequence_max_instant (const TSequence *seq)
 Return a pointer to the instant with minimum base value of a temporal sequence. More...
 
Datum tsequence_max_value (const TSequence *seq)
 Return the maximum base value of a temporal sequence. More...
 
Temporal * tsequence_merge (const TSequence *seq1, const TSequence *seq2)
 Merge two temporal sequences. More...
 
Temporal * tsequence_merge_array (const TSequence **sequences, int count)
 Merge an array of temporal sequences. More...
 
const TInstant * tsequence_min_instant (const TSequence *seq)
 Return a pointer to the instant with minimum base value of a temporal sequence. More...
 
Datum tsequence_min_value (const TSequence *seq)
 Return the minimum base value of a temporal sequence. More...
 
size_t * tsequence_offsets_ptr (const TSequence *seq)
 Return a pointer to the offsets array of a temporal sequence. More...
 
char * tsequence_out (const TSequence *seq, int maxdd)
 Return the Well-Known Text (WKT) representation of a temporal sequence. More...
 
TSequence ** tsequence_segments (const TSequence *seq, int *count)
 Return the array of segments of a temporal sequence. More...
 
TSequence ** tsequence_sequences (const TSequence *seq, int *count)
 Return the singleton array of sequences of a temporal sequence. More...
 
void tsequence_set_bbox (const TSequence *seq, void *box)
 Set the second argument to the bounding box of a temporal sequence. More...
 
void tsequence_set_period (const TSequence *seq, Span *p)
 Return the bounding period of a temporal sequence. More...
 
TSequence * tsequence_shift_tscale (const TSequence *seq, const Interval *start, const Interval *duration)
 Return a temporal sequence shifted and/or scaled by the intervals. More...
 
TimestampTz tsequence_start_timestamp (const TSequence *seq)
 Return the start timestamp of a temporal sequence. More...
 
SpanSet * tsequence_time (const TSequence *seq)
 Return the time frame of a temporal sequence as a period set. More...
 
TimestampTz * tsequence_timestamps (const TSequence *seq, int *count)
 Return the array of timestamps of a temporal sequence. More...
 
TSequence * tsequence_to_tcontseq (const TSequence *seq)
 Return a temporal sequence transformed to continuous interpolation. More...
 
TSequence * tsequence_to_tdiscseq (const TSequence *seq)
 Return a temporal sequence transformed into discrete interpolation. More...
 
TInstant * tsequence_to_tinstant (const TSequence *seq)
 Return a temporal sequence transformed into a temporal instant. More...
 
TSequenceSet * tsequence_to_tsequenceset (const TSequence *seq)
 Return a temporal sequence transformed into a temporal sequence set. More...
 
bool tsequence_value_at_timestamp (const TSequence *seq, TimestampTz t, bool strict, Datum *result)
 Return the base value of a temporal sequence at a timestamp. More...
 
Datum * tsequence_values (const TSequence *seq, int *count)
 Return the array of base values of a temporal sequence with step interpolation. More...
 
bool tsequenceset_always_eq (const TSequenceSet *ss, Datum value)
 Return true if a temporal sequence set is always equal to a base value. More...
 
bool tsequenceset_always_le (const TSequenceSet *ss, Datum value)
 Return true if a temporal sequence set is always less than or equal to a base value. More...
 
bool tsequenceset_always_lt (const TSequenceSet *ss, Datum value)
 Return true if a temporal sequence set is always less than a base value. More...
 
TSequenceSet * tsequenceset_append_tinstant (TSequenceSet *ss, const TInstant *inst, bool expand)
 Append an instant to a temporal sequence set. More...
 
TSequenceSet * tsequenceset_append_tsequence (TSequenceSet *ss, const TSequence *seq, bool expand)
 Append a sequence to a temporal sequence set. More...
 
char * tsequenceset_as_mfjson (const TSequenceSet *ss, int precision, bool with_bbox, char *srs)
 Return the MF-JSON representation of a temporal sequence set. More...
 
int tsequenceset_cmp (const TSequenceSet *ss1, const TSequenceSet *ss2)
 Return -1, 0, or 1 depending on whether the first Temporal sequence set is less than, equal, or greater than the second one. More...
 
TSequenceSet * tsequenceset_compact (const TSequenceSet *ss)
 Return a copy of a temporal sequence set without any extra space. More...
 
TSequenceSet * tsequenceset_copy (const TSequenceSet *ss)
 Return a copy of a temporal sequence set. More...
 
TSequenceSet * tsequenceset_delete_period (const TSequenceSet *ss, const Span *p)
 Delete a period from a temporal sequence set. More...
 
TSequenceSet * tsequenceset_delete_periodset (const TSequenceSet *ss, const SpanSet *ps)
 Delete a period from a temporal sequence set. More...
 
TSequenceSet * tsequenceset_delete_timestamp (const TSequenceSet *ss, TimestampTz t)
 Delete a timestamp from a temporal sequence set. More...
 
TSequenceSet * tsequenceset_delete_timestampset (const TSequenceSet *ss, const Set *ts)
 Restrict a temporal sequence set to (the complement of) a timestamp set. More...
 
Interval * tsequenceset_duration (const TSequenceSet *ss, bool boundspan)
 Return the duration of a temporal sequence set. More...
 
TimestampTz tsequenceset_end_timestamp (const TSequenceSet *ss)
 Return the end timestamp of a temporal sequence set. More...
 
bool tsequenceset_eq (const TSequenceSet *ss1, const TSequenceSet *ss2)
 Return true if two temporal sequence sets are equal. More...
 
bool tsequenceset_ever_eq (const TSequenceSet *ss, Datum value)
 Return true if a temporal sequence set is ever equal to a base value. More...
 
bool tsequenceset_ever_le (const TSequenceSet *ss, Datum value)
 Return true if a temporal sequence set is ever less than or equal to a base value. More...
 
bool tsequenceset_ever_lt (const TSequenceSet *ss, Datum value)
 Return true if a temporal sequence set is ever less than a base value. More...
 
void tsequenceset_expand_bbox (TSequenceSet *ss, const TSequence *seq)
 Expand the bounding box of a temporal sequence set with an additional sequence. More...
 
TSequenceSet * tsequenceset_from_base (Datum value, meosType temptype, const TSequenceSet *ss, interpType interp)
 Construct a temporal sequence set from a base value and the time frame of another temporal sequence set. More...
 
TSequenceSet * tsequenceset_from_base_time (Datum value, meosType temptype, const SpanSet *ps, interpType interp)
 Construct a temporal sequence set from a base value and a period set. More...
 
TSequenceSet * tsequenceset_from_mfjson (json_object *mfjson, bool isgeo, int srid, meosType temptype, interpType interp)
 Return a temporal sequence set point from its MF-JSON representation. More...
 
uint32 tsequenceset_hash (const TSequenceSet *ss)
 Return the 32-bit hash value of a temporal sequence set. More...
 
TSequenceSet * tsequenceset_in (const char *str, meosType temptype, interpType interp)
 Return a temporal sequence set from its Well-Known Text (WKT) representation. More...
 
TSequenceSet * tsequenceset_insert (const TSequenceSet *ss1, const TSequenceSet *ss2)
 Insert the second temporal value into the first one. More...
 
const TInstant * tsequenceset_inst_n (const TSequenceSet *ss, int n)
 Return the n-th distinct instant of a temporal sequence set. More...
 
const TInstant ** tsequenceset_instants (const TSequenceSet *ss, int *count)
 Return the distinct instants of a temporal sequence set. More...
 
const TInstant * tsequenceset_max_instant (const TSequenceSet *ss)
 Return a pointer to the instant with maximum base value of a temporal sequence set. More...
 
Datum tsequenceset_max_value (const TSequenceSet *ss)
 Return the maximum base value of a temporal sequence set. More...
 
TSequenceSet * tsequenceset_merge (const TSequenceSet *ss1, const TSequenceSet *ss2)
 Merge two temporal sequence sets. More...
 
TSequenceSet * tsequenceset_merge_array (const TSequenceSet **seqsets, int count)
 Merge an array of temporal sequence sets. More...
 
const TInstant * tsequenceset_min_instant (const TSequenceSet *ss)
 Return a pointer to the instant with minimum base value of a temporal sequence set. More...
 
Datum tsequenceset_min_value (const TSequenceSet *ss)
 Return the minimum base value of a temporal sequence set. More...
 
int tsequenceset_num_instants (const TSequenceSet *ss)
 Return the number of distinct instants of a temporal sequence set. More...
 
int tsequenceset_num_timestamps (const TSequenceSet *ss)
 Return the number of distinct timestamps of a temporal sequence set. More...
 
char * tsequenceset_out (const TSequenceSet *ss, int maxdd)
 Return the Well-Known Text (WKT) representation of a temporal sequence set. More...
 
TSequenceSet * tsequenceset_restrict_minmax (const TSequenceSet *ss, bool min, bool atfunc)
 Restrict a temporal sequence set to (the complement of) its minimum/maximum base value. More...
 
TSequenceSet * tsequenceset_restrict_period (const TSequenceSet *ss, const Span *p, bool atfunc)
 Restrict a temporal sequence set to (the complement of) a period. More...
 
TSequenceSet * tsequenceset_restrict_periodset (const TSequenceSet *ss, const SpanSet *ps, bool atfunc)
 Restrict a temporal sequence set to (the complement of) a period set. More...
 
Temporal * tsequenceset_restrict_timestamp (const TSequenceSet *ss, TimestampTz t, bool atfunc)
 Restrict a temporal sequence set to (the complement of) a timestamp. More...
 
Temporal * tsequenceset_restrict_timestampset (const TSequenceSet *ss1, const Set *ss2, bool atfunc)
 Restrict a temporal sequence set to (the complement of) a timestamp set. More...
 
TSequenceSet * tsequenceset_restrict_value (const TSequenceSet *ss, Datum value, bool atfunc)
 Restrict a temporal sequence set to (the complement of) a base value. More...
 
TSequenceSet * tsequenceset_restrict_values (const TSequenceSet *ss, const Set *set, bool atfunc)
 Restrict a temporal sequence set to (the complement of) an array of base values. More...
 
TSequence ** tsequenceset_segments (const TSequenceSet *ss, int *count)
 Return the array of segments of a temporal sequence set. More...
 
const TSequence * tsequenceset_seq_n (const TSequenceSet *ss, int index)
 Return the n-th sequence of a temporal sequence set. More...
 
TSequence ** tsequenceset_sequences (const TSequenceSet *ss, int *count)
 Return the array of sequences of a temporal sequence set. More...
 
const TSequence ** tsequenceset_sequences_p (const TSequenceSet *ss)
 Return an array of pointers to the sequences of a temporal sequence set. More...
 
void tsequenceset_set_bbox (const TSequenceSet *ss, void *box)
 Set the second argument to the bounding box of a temporal sequence set. More...
 
void tsequenceset_set_period (const TSequenceSet *ss, Span *p)
 Return the bounding period of a temporal sequence set. More...
 
TSequenceSet * tsequenceset_shift_tscale (const TSequenceSet *ss, const Interval *start, const Interval *duration)
 Return a temporal sequence set shifted and/or scaled by the intervals. More...
 
TimestampTz tsequenceset_start_timestamp (const TSequenceSet *ss)
 Return the start timestamp of a temporal sequence set. More...
 
SpanSet * tsequenceset_time (const TSequenceSet *ss)
 Return the time frame a temporal sequence set as a period set. More...
 
Interval * tsequenceset_timespan (const TSequenceSet *ss)
 
bool tsequenceset_timestamp_n (const TSequenceSet *ss, int n, TimestampTz *result)
 Return the n-th distinct timestamp of a temporal sequence set. More...
 
TimestampTz * tsequenceset_timestamps (const TSequenceSet *ss, int *count)
 Return the array of distinct timestamps of a temporal sequence set. More...
 
TSequence * tsequenceset_to_tdiscseq (const TSequenceSet *ts)
 Return a temporal sequence set transformed into discrete interpolation. More...
 
TInstant * tsequenceset_to_tinstant (const TSequenceSet *ts)
 Return a temporal sequence set transformed into a temporal instant. More...
 
TSequence * tsequenceset_to_tsequence (const TSequenceSet *ss)
 Return a temporal sequence set transformed into a temporal sequence value. More...
 
bool tsequenceset_value_at_timestamp (const TSequenceSet *ss, TimestampTz t, bool strict, Datum *result)
 Return the base value of a temporal sequence set at a timestamp. More...
 
Datum * tsequenceset_values (const TSequenceSet *ss, int *count)
 Return the array of distinct base values of a temporal sequence set with step interpolation. More...
 
TSequenceSet * tstepseq_to_linear (const TSequence *seq)
 Return a temporal sequence with continuous base type transformed from step to linear interpolation. More...
 
int tstepseq_to_linear1 (const TSequence *seq, TSequence **result)
 Return a temporal sequence with continuous base type transformed from step to linear interpolation. More...
 
TSequenceSet * tstepseqset_to_linear (const TSequenceSet *ss)
 Return a temporal sequence set with continuous base type from step to linear interpolation. More...
 
void tstzset_set_period (const Set *ts, Span *p)
 
void tstzset_set_stbox (const Set *ts, STBox *box)
 Set a spatiotemporal box from a timestamp set. More...
 
void tstzset_set_tbox (const Set *ts, TBox *box)
 Set a temporal box from a timestamp set. More...
 
char * ttextinst_as_mfjson (const TInstant *inst, bool with_bbox)
 Return the MF-JSON representation of a temporal instant text. More...
 
TInstant * ttextinst_from_mfjson (json_object *mfjson)
 Return a temporal instant text from its MF-JSON representation. More...
 
TInstant * ttextinst_in (const char *str)
 Return a temporal instant text from its Well-Known Text (WKT) representation. More...
 
char * ttextseq_as_mfjson (const TSequence *seq, bool with_bbox)
 Return the MF-JSON representation of a temporal sequence text. More...
 
TSequence * ttextseq_from_mfjson (json_object *mfjson)
 Return a temporal sequence text from its MF-JSON representation. More...
 
TSequence * ttextseq_in (const char *str, interpType interp)
 Return a temporal sequence text from its Well-Known Text (WKT) representation. More...
 
char * ttextseqset_as_mfjson (const TSequenceSet *ss, bool with_bbox)
 Return the MF-JSON representation of a temporal sequence set text. More...
 
TSequenceSet * ttextseqset_from_mfjson (json_object *mfjson)
 Return a temporal sequence set text from its MF-JSON representation. More...
 
TSequenceSet * ttextseqset_in (const char *str)
 Return a temporal sequence set text from its Well-Known Text (WKT) representation. More...
 
Set * union_set_value (const Set *s, const Datum d, meosType basetype)
 Return the union of a value and a set. More...
 
SpanSet * union_span_value (const Span *s, Datum v, meosType basetype)
 Return the union of a span and a value. More...
 
SpanSet * union_spanset_value (const SpanSet *ss, Datum d, meosType basetype)
 Return the union of a span set and a value. More...
 
Set * union_value_value (Datum d1, Datum d2, meosType basetype)
 
void value_set_span (Datum d, meosType basetype, Span *s)
 Cast a value as a span. More...
 
Set * value_to_set (Datum d, meosType basetype)
 Cast a value as a set. More...
 
Span * value_to_span (Datum d, meosType basetype)
 Cast a value as a span. More...
 
SpanSet * value_to_spanset (Datum d, meosType basetype)
 Cast an element as a span set. More...