MobilityDB 1.1
Functions
tsequence.c File Reference
#include "general/tsequence.h"
#include <assert.h>
#include <float.h>
#include <math.h>
#include <postgres.h>
#include <utils/timestamp.h>
#include <access/hash.h>
#include <meos.h>
#include <meos_internal.h>
#include "general/doublen.h"
#include "general/pg_types.h"
#include "general/set.h"
#include "general/spanset.h"
#include "general/temporaltypes.h"
#include "general/temporal_boxops.h"
#include "general/type_parser.h"
#include "point/tpoint_boxops.h"
#include "point/tpoint_parser.h"
#include "point/tpoint_spatialfuncs.h"
Include dependency graph for tsequence.c:

Functions

static bool datum_collinear (Datum value1, Datum value2, Datum value3, meosType basetype, TimestampTz t1, TimestampTz t2, TimestampTz t3)
 Return true if the three values are collinear. More...
 
static bool double2_collinear (const double2 *x1, const double2 *x2, const double2 *x3, double ratio)
 Return true if the three double2 values are collinear. More...
 
static bool double3_collinear (const double3 *x1, const double3 *x2, const double3 *x3, double ratio)
 Return true if the three values are collinear. More...
 
static bool double4_collinear (const double4 *x1, const double4 *x2, const double4 *x3, double ratio)
 Return true if the three values are collinear. More...
 
static bool float_collinear (double x1, double x2, double x3, double ratio)
 General functions for temporal sequences. More...
 
bool intersection_tcontseq_tdiscseq (const TSequence *seq1, const TSequence *seq2, TSequence **inter1, TSequence **inter2)
 Temporally intersect two temporal sequences. More...
 
bool intersection_tdiscseq_tcontseq (const TSequence *seq1, const TSequence *seq2, TSequence **inter1, TSequence **inter2)
 Temporally intersect two temporal values. More...
 
bool intersection_tdiscseq_tdiscseq (const TSequence *seq1, const TSequence *seq2, TSequence **inter1, TSequence **inter2)
 Temporally intersect two temporal discrete sequences. More...
 
bool intersection_tinstant_tsequence (const TInstant *inst, const TSequence *seq, TInstant **inter1, TInstant **inter2)
 Temporally intersect two temporal values. More...
 
bool intersection_tsequence_tinstant (const TSequence *seq, const TInstant *inst, TInstant **inter1, TInstant **inter2)
 Temporally intersect two temporal sequences. More...
 
bool synchronize_tsequence_tsequence (const TSequence *seq1, const TSequence *seq2, TSequence **sync1, TSequence **sync2, bool crossings)
 Synchronize two temporal sequences. More...
 
TSequencetbooldiscseq_from_base_time (bool b, const Set *ts)
 Construct a temporal boolean discrete sequence from a boolean and a timestamp set. More...
 
TSequencetboolseq_from_base (bool b, const TSequence *seq)
 Construct a temporal boolean sequence from a boolean and the time frame of another temporal sequence. More...
 
TSequencetboolseq_from_base_time (bool b, const Span *p)
 Construct a temporal boolean sequence from a boolean and a period. More...
 
TSequencetboolseq_in (const char *str, interpType interp)
 Return a temporal sequence boolean from its Well-Known Text (WKT) representation. More...
 
TSequencetcontseq_at_period (const TSequence *seq, const Span *p)
 Restrict a continuous temporal sequence to a period. More...
 
int tcontseq_at_periodset1 (const TSequence *seq, const SpanSet *ps, TSequence **result)
 Restrict a temporal sequence to a period set. More...
 
TInstanttcontseq_at_timestamp (const TSequence *seq, TimestampTz t)
 Restrict a temporal continuous sequence to a timestamp. More...
 
TSequencetcontseq_at_timestampset (const TSequence *seq, const Set *ts)
 Restrict a temporal sequence to a timestamp set. More...
 
TSequencetcontseq_delete_period (const TSequence *seq, const Span *p)
 Delete a period from a continuos temporal sequence. More...
 
TSequencetcontseq_delete_periodset (const TSequence *seq, const SpanSet *ps)
 Delete a period set from a continuous temporal sequence. More...
 
TSequencetcontseq_delete_timestamp (const TSequence *seq, TimestampTz t)
 Delete a timestamp from a continuous temporal sequence. More...
 
TSequencetcontseq_delete_timestampset (const TSequence *seq, const Set *ts)
 Delete a timestamp from a continuous temporal sequence. More...
 
int tcontseq_find_timestamp (const TSequence *seq, TimestampTz t)
 Return the index of the segment of a temporal continuous sequence containing a timestamp using binary search. More...
 
Temporaltcontseq_insert (const TSequence *seq1, const TSequence *seq2)
 Insert the second temporal value into the first one. More...
 
TSequenceSettcontseq_minus_period (const TSequence *seq, const Span *p)
 Restrict a temporal sequence to the complement of a period. More...
 
int tcontseq_minus_period1 (const TSequence *seq, const Span *p, TSequence **result)
 Restrict a temporal sequence to the complement of a period. More...
 
int tcontseq_minus_periodset1 (const TSequence *seq, const SpanSet *ps, int from, TSequence **result)
 Restrict a temporal sequence to the complement of a period set. More...
 
TSequenceSettcontseq_minus_timestamp (const TSequence *seq, TimestampTz t)
 Restrict a temporal sequence to the complement of a timestamp. More...
 
int tcontseq_minus_timestamp1 (const TSequence *seq, TimestampTz t, TSequence **result)
 Restrict a temporal sequence to the complement of a timestamp. More...
 
TSequenceSettcontseq_minus_timestampset (const TSequence *seq, const Set *ts)
 Restrict a temporal sequence to the complement of a timestamp set. More...
 
int tcontseq_minus_timestampset1 (const TSequence *seq, const Set *ts, TSequence **result)
 Restrict a temporal sequence to the complement of a timestamp set. More...
 
TSequenceSettcontseq_restrict_minmax (const TSequence *seq, bool min, bool atfunc)
 Restrict a temporal sequence to (the complement of) its minimum/maximum base value. More...
 
TSequenceSettcontseq_restrict_periodset (const TSequence *seq, const SpanSet *ps, bool atfunc)
 Restrict a temporal sequence to (the complement of) a period set. More...
 
TSequenceSettcontseq_restrict_value (const TSequence *seq, Datum value, bool atfunc)
 Restrict a temporal sequence to (the complement of) a base value. More...
 
int tcontseq_restrict_value1 (const TSequence *seq, Datum value, bool atfunc, TSequence **result)
 Restrict a temporal sequence to (the complement of) a base value. More...
 
TSequenceSettcontseq_restrict_values (const TSequence *seq, const Set *set, bool atfunc)
 Restrict a temporal sequence to (the complement of) an array of base values. More...
 
TSequencetdiscseq_at_period (const TSequence *seq, const Span *period)
 Restrict a temporal discrete sequence to (the complement of) a period. More...
 
TInstanttdiscseq_at_timestamp (const TSequence *seq, TimestampTz t)
 Restrict a temporal discrete sequence to (the complement of) a timestamp. More...
 
int tdiscseq_find_timestamp (const TSequence *seq, TimestampTz t)
 Return the index of a timestamp in a temporal discrete sequence value using binary search. More...
 
TSequencetdiscseq_from_base (Datum value, meosType temptype, const TSequence *seq)
 Construct a temporal discrete sequence from a base value and a timestamp set. More...
 
TSequencetdiscseq_from_base_time (Datum value, meosType temptype, const Set *ts)
 Construct a temporal discrete sequence from a base value and a timestamp set. More...
 
Temporaltdiscseq_merge_array (const TSequence **sequences, int count)
 Merge an array of temporal discrete sequences. More...
 
TSequencetdiscseq_minus_period (const TSequence *seq, const Span *period)
 Restrict a temporal discrete sequence to (the complement of) a period. More...
 
TSequencetdiscseq_minus_timestamp (const TSequence *seq, TimestampTz t)
 Restrict a temporal discrete sequence to (the complement of) a timestamp. More...
 
TSequencetdiscseq_restrict_minmax (const TSequence *seq, bool min, bool atfunc)
 Restrict a temporal discrete sequence to (the complement of) its minimum/maximum base value. More...
 
TSequencetdiscseq_restrict_periodset (const TSequence *seq, const SpanSet *ps, bool atfunc)
 Restrict a discrete temporal sequence to (the complement of) a period set. More...
 
TSequencetdiscseq_restrict_timestampset (const TSequence *seq, const Set *ts, bool atfunc)
 Restrict a temporal discrete sequence to (the complement of) a timestamp set. More...
 
TSequencetdiscseq_restrict_value (const TSequence *seq, Datum value, bool atfunc)
 Restrict a temporal discrete sequence to (the complement of) a base value. More...
 
TSequencetdiscseq_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...
 
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...
 
TSequencetfloatdiscseq_from_base_time (double d, const Set *ts)
 Construct a temporal float discrete sequence from a float and a timestamp set. More...
 
static bool tfloatsegm_intersection_value (const TInstant *inst1, const TInstant *inst2, Datum value, meosType basetype, TimestampTz *t)
 Compute the intersection, if any, of a segment of a temporal sequence and a value. More...
 
TSequencetfloatseq_from_base (double d, const TSequence *seq, interpType interp)
 Construct a temporal float sequence from a float and the time frame of another temporal sequence. More...
 
TSequencetfloatseq_from_base_time (double d, const Span *p, interpType interp)
 Construct a temporal float sequence from a float and a period. More...
 
TSequencetfloatseq_in (const char *str, interpType interp)
 Return a temporal sequence float from its Well-Known Text (WKT) representation. More...
 
Spantfloatseq_span (const TSequence *seq)
 Return the float span of a temporal sequence float. More...
 
int tfloatseq_spans (const TSequence *seq, Span **result)
 Return the float spans of a temporal float. More...
 
SpanSettfloatseq_spanset (const TSequence *seq)
 Return the array of spans of base values of a temporal float sequence. More...
 
TSequencetfloatseq_to_tintseq (const TSequence *seq)
 Cast a temporal sequence float to a temporal sequence integer. More...
 
TSequencetgeogpointdiscseq_from_base_time (const GSERIALIZED *gs, const Set *ts)
 Construct a temporal geographic point discrete sequence from a point and a timestamp set. More...
 
TSequencetgeogpointseq_from_base (const GSERIALIZED *gs, const TSequence *seq, interpType interp)
 Construct a temporal geographic point sequence from a point and the time frame of another temporal sequence. More...
 
TSequencetgeogpointseq_from_base_time (const GSERIALIZED *gs, const Span *p, interpType interp)
 Construct a temporal geographic point sequence from a point and a period. More...
 
TSequencetgeogpointseq_in (const char *str, interpType interp)
 Return a temporal sequence geographic point from its Well-Known Text (WKT) representation. More...
 
TSequencetgeompointdiscseq_from_base_time (const GSERIALIZED *gs, const Set *ts)
 Construct a temporal geometric point discrete sequence from a point and a timestamp set. More...
 
TSequencetgeompointseq_from_base (const GSERIALIZED *gs, const TSequence *seq, interpType interp)
 Construct a temporal geometric point sequence from a point and the time frame of another temporal sequence. More...
 
TSequencetgeompointseq_from_base_time (const GSERIALIZED *gs, const Span *p, interpType interp)
 Construct a temporal geometric point sequence from a point and a period. More...
 
TSequencetgeompointseq_in (const char *str, interpType interp)
 Return a temporal sequence geometric point from its Well-Known Text (WKT) representation. More...
 
TSequencetinstant_to_tsequence (const TInstant *inst, interpType interp)
 Return a temporal instant transformed into a temporal sequence. More...
 
static TInstant ** tinstarr_normalize (const TInstant **instants, interpType interp, int count, int *newcount)
 Normalize the array of temporal instants. More...
 
TSequencetintdiscseq_from_base_time (int i, const Set *ts)
 Construct a temporal integer discrete sequence from an integer and a timestamp set. More...
 
TSequencetintseq_from_base (int i, const TSequence *seq)
 Construct a temporal integer sequence from an integer and the time frame of another temporal sequence. More...
 
TSequencetintseq_from_base_time (int i, const Span *p)
 Construct a temporal integer sequence from an integer and a period. More...
 
TSequencetintseq_in (const char *str, interpType interp)
 Return a temporal sequence integer from its Well-Known Text (WKT) representation. More...
 
TSequencetintseq_to_tfloatseq (const TSequence *seq)
 Cast a temporal sequence integer to a temporal sequence float. More...
 
bool tlinearsegm_intersection_value (const TInstant *inst1, const TInstant *inst2, Datum value, meosType basetype, Datum *inter, TimestampTz *t)
 Return true if the segment of a temporal sequence intersects the base value at the timestamp. More...
 
static bool tlinearseq_always_lt1 (Datum value1, Datum value2, meosType basetype, bool lower_inc, bool upper_inc, Datum value)
 Return true if the segment of a temporal sequence with linear interpolation is always less than a base value. More...
 
static bool tlinearseq_ever_le1 (Datum value1, Datum value2, meosType basetype, bool lower_inc, bool upper_inc, Datum value)
 Return true if the segment of a temporal sequence with linear interpolation is ever less than or equal to a base value. More...
 
TSequenceSettnumbercontseq_restrict_span (const TSequence *seq, const Span *span, bool atfunc)
 Restrict a temporal sequence number to (the complement of) a span. More...
 
int tnumbercontseq_restrict_span2 (const TSequence *seq, const Span *span, bool atfunc, TSequence **result)
 Restrict a temporal number to (the complement of) a span. More...
 
TSequenceSettnumbercontseq_restrict_spanset (const TSequence *seq, const SpanSet *ss, bool atfunc)
 Restrict a temporal number to (the complement of) an array of spans. More...
 
int tnumbercontseq_restrict_spanset1 (const TSequence *seq, const SpanSet *ss, bool atfunc, TSequence **result)
 Restrict a temporal number to (the complement of) an array of spans of base values. More...
 
double tnumbercontseq_twavg (const TSequence *seq)
 Return the time-weighted average of a temporal sequence number. More...
 
TSequencetnumberdiscseq_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...
 
TSequencetnumberdiscseq_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...
 
static bool tnumbersegm_intersection (const TInstant *start1, const TInstant *end1, const TInstant *start2, const TInstant *end2, TimestampTz *t)
 Compute the intersection, if any, of two segments of temporal sequences. More...
 
static int tnumbersegm_restrict_span (const TInstant *inst1, const TInstant *inst2, bool linear, bool lower_inclu, bool upper_inclu, const Span *span, bool atfunc, TSequence **result)
 Restrict a segment of a temporal number to (the complement of) a span. More...
 
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...
 
TSequencetpointseq_make_coords (const double *xcoords, const double *ycoords, const double *zcoords, const TimestampTz *times, int count, int32 srid, bool geodetic, bool lower_inc, bool upper_inc, interpType interp, bool normalize)
 Construct a temporal sequence from arrays of coordinates, one per dimension, and timestamps. More...
 
TInstanttsegment_at_timestamp (const TInstant *inst1, const TInstant *inst2, bool linear, TimestampTz t)
 Restrict the segment of a temporal sequence to a timestamp. More...
 
bool tsegment_intersection (const TInstant *start1, const TInstant *end1, bool linear1, const TInstant *start2, const TInstant *end2, bool linear2, Datum *inter1, Datum *inter2, TimestampTz *t)
 Return true if two segments of a temporal sequence intersect at a timestamp. More...
 
static int tsegment_restrict_value (const TInstant *inst1, const TInstant *inst2, interpType interp, bool lower_inc, bool upper_inc, Datum value, bool atfunc, TSequence **result)
 Restrict a segment of a temporal sequence to (the complement of) a base value. More...
 
Datum tsegment_value_at_timestamp (const TInstant *inst1, const TInstant *inst2, bool linear, TimestampTz t)
 Return the base value of the segment of a temporal sequence at a timestamp. More...
 
TSequence ** tseqarr2_to_tseqarr (TSequence ***sequences, int *countseqs, int count, int totalseqs)
 Convert an array of arrays of temporal sequences into an array of temporal sequences. More...
 
TSequence ** tseqarr_normalize (const TSequence **sequences, int count, int *newcount)
 Normalize the array of temporal sequences. 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...
 
Temporaltsequence_append_tinstant (TSequence *seq, const TInstant *inst, bool expand)
 Append an instant to a temporal sequence. More...
 
Temporaltsequence_append_tsequence (TSequence *seq1, const TSequence *seq2, bool expand)
 Append a sequence to a temporal sequence. More...
 
TSequencetsequence_at_period (const TSequence *seq, const Span *p)
 Restrict a temporal sequence to a period. More...
 
TInstanttsequence_at_timestamp (const TSequence *seq, TimestampTz t)
 Restrict a temporal sequence to a timestamp. More...
 
int tsequence_at_values1 (const TSequence *seq, const Set *set, TSequence **result)
 Restrict a temporal sequence to an array of base values. 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...
 
TSequencetsequence_compact (const TSequence *seq)
 Return a copy of a temporal sequence with no additional free space. More...
 
TSequencetsequence_copy (const TSequence *seq)
 Return a copy of a temporal sequence. More...
 
Intervaltsequence_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...
 
TSequencetsequence_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...
 
TSequencetsequence_from_base_time (Datum value, meosType temptype, const Span *p, interpType interp)
 Construct a temporal sequence from a base value and a period. More...
 
uint32 tsequence_hash (const TSequence *seq)
 Return the 32-bit hash value of a temporal sequence. More...
 
TSequencetsequence_in (const char *str, meosType temptype, interpType interp)
 Return a temporal sequence from its Well-Known Text (WKT) representation. More...
 
const TInstanttsequence_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...
 
TSequencetsequence_join (const TSequence *seq1, const TSequence *seq2, bool removelast, bool removefirst)
 Join two temporal sequences. More...
 
bool tsequence_join_test (const TSequence *seq1, const TSequence *seq2, bool *removelast, bool *removefirst)
 Test whether two sequences can be joined during normalization. More...
 
TSequencetsequence_make (const TInstant **instants, int count, bool lower_inc, bool upper_inc, interpType interp, bool normalize)
 Construct a temporal sequence from an array of temporal instants. More...
 
TSequencetsequence_make1 (const TInstant **instants, int count, bool lower_inc, bool upper_inc, interpType interp, bool normalize)
 Construct a temporal sequence from an array of temporal instants. More...
 
TSequencetsequence_make1_exp (const TInstant **instants, int count, int maxcount, bool lower_inc, bool upper_inc, interpType interp, bool normalize)
 Construct a temporal sequence from an array of temporal instants. More...
 
TSequencetsequence_make_exp (const TInstant **instants, int count, int maxcount, bool lower_inc, bool upper_inc, interpType interp, bool normalize)
 Construct a temporal sequence from an array of temporal instants. More...
 
TSequencetsequence_make_free (TInstant **instants, int count, bool lower_inc, bool upper_inc, interpType interp, bool normalize)
 Construct a temporal sequence from an array of temporal instants and free the array and the instants after the creation. More...
 
TSequencetsequence_make_free_exp (TInstant **instants, int count, int maxcount, bool lower_inc, bool upper_inc, interpType interp, bool normalize)
 Construct a temporal sequence from an array of temporal instants and free the array and the instants after the creation. More...
 
static void tsequence_make_valid (const TInstant **instants, int count, bool lower_inc, bool upper_inc, interpType interp)
 Ensure the validity of the arguments when creating a temporal sequence. More...
 
void tsequence_make_valid1 (const TInstant **instants, int count, bool lower_inc, bool upper_inc, interpType interp)
 Ensure the validity of the arguments when creating a temporal sequence. More...
 
const TInstanttsequence_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...
 
Temporaltsequence_merge (const TSequence *seq1, const TSequence *seq2)
 Merge two temporal sequences. More...
 
Temporaltsequence_merge_array (const TSequence **sequences, int count)
 Merge an array of temporal sequences. More...
 
TSequence ** tsequence_merge_array1 (const TSequence **sequences, int count, int *totalcount)
 Merge an array of temporal sequences. More...
 
const TInstanttsequence_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...
 
bool tsequence_norm_test (Datum value1, Datum value2, Datum value3, meosType basetype, interpType interp, TimestampTz t1, TimestampTz t2, TimestampTz t3)
 Test whether we can remove the middle instant among 3 consecutive ones during normalization. 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...
 
int tsequence_segments1 (const TSequence *seq, TSequence **result)
 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...
 
TSequencetsequence_shift_tscale (const TSequence *seq, const Interval *shift, 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...
 
SpanSettsequence_time (const TSequence *seq)
 Return the time frame of a temporal sequence as a period set. More...
 
TimestampTztsequence_timestamps (const TSequence *seq, int *count)
 Return the array of timestamps of a temporal sequence. More...
 
int tsequence_timestamps1 (const TSequence *seq, TimestampTz *times)
 Return the array of timestamps of a temporal sequence. More...
 
char * tsequence_to_string (const TSequence *seq, int maxdd, bool component, outfunc value_out)
 Return the Well-Known Text (WKT) representation of a temporal sequence. More...
 
TSequencetsequence_to_tcontseq (const TSequence *seq)
 Return a temporal sequence transformed to continuous interpolation. More...
 
TSequencetsequence_to_tdiscseq (const TSequence *seq)
 Return a temporal sequence transformed into discrete interpolation. 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...
 
Datumtsequence_values (const TSequence *seq, int *count)
 Return the array of base values of a temporal sequence with step interpolation. More...
 
TSequencetsequenceset_to_tsequence (const TSequenceSet *ss)
 Return a temporal sequence set transformed into a temporal sequence value. More...
 
TSequenceSettstepseq_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...
 
TSequencettextdiscseq_from_base_time (const text *txt, const Set *ts)
 Construct a temporal text discrete sequence from a text and a timestamp set. More...
 
TSequencettextseq_from_base (const text *txt, const TSequence *seq)
 Construct a temporal text sequence from a text and the time frame of another temporal sequence. More...
 
TSequencettextseq_from_base_time (const text *txt, const Span *p)
 Construct a temporal text sequence from a text and a period. More...
 
TSequencettextseq_in (const char *str, interpType interp)
 Return a temporal sequence text from its Well-Known Text (WKT) representation. More...