34#ifndef __MEOS_INTERNAL_H__
35#define __MEOS_INTERNAL_H__
38#include <json-c/json.h>
41#include "meos_catalog.h"
47#define TimestampTzGetDatum(X) Int64GetDatum(X)
48#define DatumGetTimestampTz(X)((TimestampTz) DatumGetInt64(X))
766 Datum size,
int count,
Datum **buckets,
int *newcount);
TBox * number_timestamp_to_tbox(Datum d, meosType basetype, TimestampTz t)
Return a temporal box from an integer and a timestamp.
Definition: tbox.c:475
TBox * number_period_to_tbox(Datum d, meosType basetype, const Span *p)
Return a temporal box from an integer and a period.
Definition: tbox.c:525
void int_set_tbox(int i, TBox *box)
Set a temporal box from an integer.
Definition: tbox.c:218
void period_set_tbox(const Span *p, TBox *box)
Set a temporal box from a period.
Definition: tbox.c:390
bool geo_set_stbox(const GSERIALIZED *gs, STBox *box)
Set a spatiotemporal box from a geometry/geography.
Definition: stbox.c:420
void number_set_tbox(Datum d, meosType basetype, TBox *box)
Set a temporal box from a number.
Definition: tbox.c:200
void numset_set_tbox(const Set *s, TBox *box)
Set a temporal box from a number set.
Definition: tbox.c:311
void timestamp_set_tbox(TimestampTz t, TBox *box)
Set a temporal box from a timestamp.
Definition: tbox.c:279
void numspan_set_tbox(const Span *span, TBox *box)
Set a temporal box from a number span.
Definition: tbox.c:359
void tstzset_set_stbox(const Set *ts, STBox *box)
Set a spatiotemporal box from a timestamp set.
Definition: stbox.c:559
void stbox_set_box3d(const STBox *box, BOX3D *box3d)
Set a PostGIS BOX3D from a spatiotemporal box.
Definition: stbox.c:348
void numspanset_set_tbox(const SpanSet *ss, TBox *box)
Set a temporal box from a span set.
Definition: tbox.c:420
void periodset_set_tbox(const SpanSet *ps, TBox *box)
Set a temporal box from a period set.
Definition: tbox.c:446
void timestamp_set_stbox(TimestampTz t, STBox *box)
Set a spatiotemporal box from a timestamp.
Definition: stbox.c:526
void float_set_tbox(double d, TBox *box)
Set a temporal box from a float.
Definition: tbox.c:248
void tstzset_set_tbox(const Set *ts, TBox *box)
Set a temporal box from a timestamp set.
Definition: tbox.c:344
void period_set_stbox(const Span *p, STBox *box)
Set a spatiotemporal box from a period.
Definition: stbox.c:589
void stbox_set_gbox(const STBox *box, GBOX *gbox)
Set a PostGIS GBOX from a spatiotemporal box.
Definition: stbox.c:321
void periodset_set_stbox(const SpanSet *ps, STBox *box)
Set a spatiotemporal box from a period set.
Definition: stbox.c:619
Datum set_val_n(const Set *ts, int index)
Return the n-th value of a set.
Definition: set.c:361
const Span * spanset_sp_n(const SpanSet *ss, int index)
Return the n-th span of a span set.
Definition: spanset.c:241
uint64 datum_hash_extended(Datum d, meosType basetype, uint64 seed)
Return the 64-bit hash of a value using a seed.
Definition: type_util.c:513
uint32 datum_hash(Datum d, meosType basetype)
Return the 32-bit hash of a value.
Definition: type_util.c:483
Set * set_agg_transfn(Set *s, Datum d, meosType basetype)
Transition function for set aggregate of values.
Definition: set_aggfuncs.c:140
Set * value_to_set(Datum d, meosType basetype)
Cast a value as a set.
Definition: set.c:606
Span * value_to_span(Datum d, meosType basetype)
Cast a value as a span.
Definition: span.c:560
void value_set_span(Datum d, meosType basetype, Span *s)
Cast a value as a span.
Definition: span.c:548
SpanSet * value_to_spanset(Datum d, meosType basetype)
Cast an element as a span set.
Definition: spanset.c:354
void span_set(Datum lower, Datum upper, bool lower_inc, bool upper_inc, meosType basetype, Span *s)
Set a span from the bounds.
Definition: span.c:474
Set * set_make(const Datum *values, int count, meosType basetype, bool ordered)
Construct a set from an array of values.
Definition: set.c:557
Span * span_make(Datum lower, Datum upper, bool lower_inc, bool upper_inc, meosType basetype)
Construct a span from the bounds.
Definition: span.c:396
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.
Definition: set.c:572
double distance_spanset_value(const SpanSet *ss, Datum d, meosType basetype)
Return the distance between a timestamp and a span set.
Definition: spanset_ops.c:1760
double distance_value_value(Datum l, Datum r, meosType typel, meosType typer)
Return the distance between the values.
Definition: span_ops.c:1386
double distance_span_value(const Span *s, Datum d, meosType basetype)
Return the distance between a span and a value.
Definition: span_ops.c:1415
double distance_set_value(const Set *s, Datum d, meosType basetype)
Return the distance between a set and a value.
Definition: set_ops.c:1406
SpanSet * spanset_in(const char *str, meosType spantype)
Return a span set from its Well-Known Text (WKT) representation.
Definition: spanset.c:120
Set * set_in(const char *str, meosType basetype)
Return a set from its Well-Known Text (WKT) representation.
Definition: set.c:145
Span * span_in(const char *str, meosType spantype)
Return a span from its Well-Known Text (WKT) representation.
Definition: span.c:260
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.
Definition: span_ops.c:812
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.
Definition: spanset_ops.c:747
bool right_span_value(const Span *s, Datum d, meosType basetype)
Return true if a span is strictly to the right of a value.
Definition: span_ops.c:550
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.
Definition: spanset_ops.c:525
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.
Definition: set_ops.c:916
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.
Definition: spanset_ops.c:985
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.
Definition: spanset_ops.c:829
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.
Definition: set_ops.c:704
bool left_value_span(Datum d, meosType basetype, const Span *s)
Return true if a value is strictly to the left of a span.
Definition: span_ops.c:362
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.
Definition: spanset_ops.c:1054
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.
Definition: span_ops.c:678
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.
Definition: spanset_ops.c:680
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.
Definition: set_ops.c:859
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.
Definition: spanset_ops.c:886
bool left_span_value(const Span *s, Datum d, meosType basetype)
Return true if a span is strictly to the left of a value.
Definition: span_ops.c:419
bool left_value_set(Datum d, meosType basetype, const Set *s)
Return true if a value is strictly to the left of a set.
Definition: set_ops.c:399
bool right_value_span(Datum d, meosType basetype, const Span *s)
Return true if a value is strictly to the right of a span.
Definition: span_ops.c:494
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.
Definition: span_ops.c:621
bool right_set_value(const Set *s, Datum d, meosType basetype)
Return true if a set is strictly to the right of a value.
Definition: set_ops.c:621
bool right_value_set(Datum d, meosType basetype, const Set *s)
Return true if a value is strictly to the right of a set.
Definition: set_ops.c:553
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.
Definition: spanset_ops.c:594
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.
Definition: span_ops.c:755
bool left_set_value(const Set *s, Datum d, meosType basetype)
Return true if a set is strictly to the left of a value.
Definition: set_ops.c:467
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.
Definition: set_ops.c:773
bool intersection_span_value(const Span *s, Datum d, meosType basetype, Datum *result)
Return the intersection of a span and a value.
Definition: span_ops.c:995
bool minus_value_set(Datum d, meosType basetype, const Set *s, Datum *result)
Return the difference of a value and a set.
Definition: set_ops.c:1223
SpanSet * minus_spanset_value(const SpanSet *ss, Datum d, meosType basetype)
Return the difference of a span set and a value.
Definition: spanset_ops.c:1610
bool minus_value_span(Datum d, meosType basetype, const Span *s, Datum *result)
Return the difference of a value and a span.
Definition: span_ops.c:1114
SpanSet * minus_span_value(const Span *s, Datum d, meosType basetype)
Return the difference of a span and a value.
Definition: span_ops.c:1232
SpanSet * union_span_value(const Span *s, Datum v, meosType basetype)
Return the union of a span and a value.
Definition: span_ops.c:897
bool minus_value_spanset(Datum d, meosType basetype, const SpanSet *ss, Datum *result)
Return the difference of a value and a span set.
Definition: spanset_ops.c:1475
Set * minus_set_value(const Set *s, Datum d, meosType basetype)
Return the difference of a set and a value.
Definition: set_ops.c:1295
SpanSet * union_spanset_value(const SpanSet *ss, Datum d, meosType basetype)
Return the union of a span set and a value.
Definition: spanset_ops.c:1141
bool inter_span_span(const Span *s1, const Span *s2, Span *result)
Set a span with the result of the intersection of two spans.
Definition: span_ops.c:1070
Set * union_set_value(const Set *s, const Datum d, meosType basetype)
Return the union of a value and a set.
Definition: set_ops.c:1002
bool intersection_spanset_value(const SpanSet *ss, Datum d, meosType basetype, Datum *result)
Return the intersection of a span set and a value.
Definition: spanset_ops.c:1323
bool intersection_set_value(const Set *s, Datum d, meosType basetype, Datum *result)
Return the intersection of a set and a value.
Definition: set_ops.c:1117
bool contained_value_spanset(Datum d, meosType basetype, const SpanSet *ss)
Return true if a value is contained by a span.
Definition: spanset_ops.c:276
bool contained_value_span(Datum d, meosType basetype, const Span *s)
Return true if a value is contained by a span.
Definition: span_ops.c:182
bool contains_set_value(const Set *s, Datum d, meosType basetype)
Return true if a set contains a value.
Definition: set_ops.c:179
bool contained_value_set(Datum d, meosType basetype, const Set *s)
Return true if a value is contained by a set.
Definition: set_ops.c:284
bool adjacent_spanset_value(const SpanSet *ss, Datum d, meosType basetype)
Return true if a span set and a value are adjacent.
Definition: spanset_ops.c:420
bool contains_spanset_value(const SpanSet *ss, Datum d, meosType basetype)
Return true if a span set contains a value.
Definition: spanset_ops.c:138
bool contains_span_value(const Span *s, Datum d, meosType basetype)
Return true if a span contains a value.
Definition: span_ops.c:94
bool adjacent_span_value(const Span *s, Datum d, meosType basetype)
Return true if a span and a value are adjacent.
Definition: span_ops.c:277
void spanset_shift(SpanSet *s, Datum value)
Shift a span set by a value.
Definition: spanset.c:468
void span_shift(Span *s, Datum value)
Shift a span by a value.
Definition: span.c:886
void lower_upper_shift_tscale(TimestampTz *lower, TimestampTz *upper, const Interval *shift, const Interval *duration)
Shift and/or scale period bounds by the intervals.
Definition: span.c:857
const TInstant ** tsequenceset_instants(const TSequenceSet *ss, int *count)
Return the distinct instants of a temporal sequence set.
Definition: tsequenceset.c:1012
TimestampTz tsequenceset_end_timestamp(const TSequenceSet *ss)
Return the end timestamp of a temporal sequence set.
Definition: tsequenceset.c:1044
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.
Definition: tsequenceset.c:1161
int tsequenceset_num_instants(const TSequenceSet *ss)
Return the number of distinct instants of a temporal sequence set.
Definition: tsequenceset.c:942
const TInstant * tsequenceset_inst_n(const TSequenceSet *ss, int n)
Return the n-th distinct instant of a temporal sequence set.
Definition: tsequenceset.c:968
Datum tinstant_value_copy(const TInstant *inst)
Return a copy of the base value of a temporal instant.
Definition: tinstant.c:84
const TSequence ** tsequenceset_sequences_p(const TSequenceSet *ss)
Return an array of pointers to the sequences of a temporal sequence set.
Definition: tsequenceset.c:892
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.
Definition: tsequence.c:2541
void tsequenceset_set_bbox(const TSequenceSet *ss, void *box)
Set the second argument to the bounding box of a temporal sequence set.
Definition: tsequenceset.c:136
const TInstant ** tsequence_instants(const TSequence *seq, int *count)
Return the array of distinct instants of a temporal sequence.
Definition: tsequence.c:2381
SpanSet * tfloatinst_spanset(const TInstant *inst)
Return the span set of a temporal instant float.
Definition: tinstant.c:429
TSequence ** tsequence_segments(const TSequence *seq, int *count)
Return the array of segments of a temporal sequence.
Definition: tsequence.c:2360
Datum tsequence_min_value(const TSequence *seq)
Return the minimum base value of a temporal sequence.
Definition: tsequence.c:2199
TSequence ** tsequenceset_segments(const TSequenceSet *ss, int *count)
Return the array of segments of a temporal sequence set.
Definition: tsequenceset.c:923
void tinstant_set_bbox(const TInstant *inst, void *box)
Set the second argument to the bounding box of a temporal instant.
Definition: temporal_boxops.c:227
Datum * temporal_values(const Temporal *temp, int *count)
Return the array of base values of a temporal value.
Definition: temporal.c:1839
int tsequenceset_num_timestamps(const TSequenceSet *ss)
Return the number of distinct timestamps of a temporal sequence set.
Definition: tsequenceset.c:1056
Datum temporal_max_value(const Temporal *temp)
Return a copy of the maximum base value of a temporal value.
Definition: temporal.c:2213
bool tdiscseq_value_at_timestamp(const TSequence *seq, TimestampTz t, Datum *result)
Return the base value of a temporal discrete sequence at a timestamp.
Definition: tsequence.c:4351
Interval * tsequence_duration(const TSequence *seq)
Return the duration of a temporal sequence.
Definition: tsequence.c:2256
bool tinstant_value_at_timestamp(const TInstant *inst, TimestampTz t, Datum *result)
Return the base value of a temporal instant at a timestamp.
Definition: tinstant.c:518
Datum tinstant_value(const TInstant *inst)
General functions for temporal instants.
Definition: tinstant.c:70
const TInstant * tsequence_inst_n(const TSequence *seq, int index)
Return the n-th instant of a temporal sequence.
Definition: tsequence.c:777
TSequence ** tsequenceset_sequences(const TSequenceSet *ss, int *count)
Return the array of sequences of a temporal sequence set.
Definition: tsequenceset.c:908
const TSequence * tsequenceset_seq_n(const TSequenceSet *ss, int index)
Return the n-th sequence of a temporal sequence set.
Definition: tsequenceset.c:161
bool tsequenceset_timestamp_n(const TSequenceSet *ss, int n, TimestampTz *result)
Return the n-th distinct timestamp of a temporal sequence set.
Definition: tsequenceset.c:1082
uint32 tinstant_hash(const TInstant *inst)
Return the 32-bit hash value of a temporal instant.
Definition: tinstant.c:1044
TimestampTz * tsequence_timestamps(const TSequence *seq, int *count)
Return the array of timestamps of a temporal sequence.
Definition: tsequence.c:2434
TimestampTz tsequence_start_timestamp(const TSequence *seq)
Return the start timestamp of a temporal sequence.
Definition: tsequence.c:2396
Datum * tinstant_values(const TInstant *inst, int *count)
Return the singleton array of base values of a temporal instant.
Definition: tinstant.c:415
const TInstant * tsequenceset_min_instant(const TSequenceSet *ss)
Return a pointer to the instant with minimum base value of a temporal sequence set.
Definition: tsequenceset.c:713
SpanSet * tinstant_time(const TInstant *inst)
Return the time frame of a temporal instant as a period set.
Definition: tinstant.c:443
Datum * tsequenceset_values(const TSequenceSet *ss, int *count)
Return the array of distinct base values of a temporal sequence set with step interpolation.
Definition: tsequenceset.c:659
TimestampTz tsequence_end_timestamp(const TSequence *seq)
Return the end timestamp of a temporal sequence.
Definition: tsequence.c:2407
Datum temporal_start_value(const Temporal *temp)
Return the start base value of a temporal value.
Definition: temporal.c:1986
TimestampTz tsequenceset_start_timestamp(const TSequenceSet *ss)
Return the start timestamp of a temporal sequence set.
Definition: tsequenceset.c:1032
const TInstant * tsequenceset_max_instant(const TSequenceSet *ss)
Return a pointer to the instant with maximum base value of a temporal sequence set.
Definition: tsequenceset.c:746
Datum temporal_min_value(const Temporal *temp)
Return a copy of the minimum base value of a temporal value.
Definition: temporal.c:2154
const TInstant * tsequence_max_instant(const TSequence *seq)
Return a pointer to the instant with minimum base value of a temporal sequence.
Definition: tsequence.c:2176
Datum tsequenceset_max_value(const TSequenceSet *ss)
Return the maximum base value of a temporal sequence set.
Definition: tsequenceset.c:803
const TInstant * tsequence_min_instant(const TSequence *seq)
Return a pointer to the instant with minimum base value of a temporal sequence.
Definition: tsequence.c:2149
Interval * tsequenceset_duration(const TSequenceSet *ss, bool boundspan)
Return the duration of a temporal sequence set.
Definition: tsequenceset.c:851
SpanSet * tsequenceset_time(const TSequenceSet *ss)
Return the time frame a temporal sequence set as a period set.
Definition: tsequenceset.c:832
uint32 tsequence_hash(const TSequence *seq)
Return the 32-bit hash value of a temporal sequence.
Definition: tsequence.c:5762
const TInstant ** tinstant_instants(const TInstant *inst, int *count)
Return the singleton array of instants of a temporal instant.
Definition: tinstant.c:500
Datum tsequenceset_min_value(const TSequenceSet *ss)
Return the minimum base value of a temporal sequence set.
Definition: tsequenceset.c:775
Datum * tsequence_values(const TSequence *seq, int *count)
Return the array of base values of a temporal sequence with step interpolation.
Definition: tsequence.c:2001
void tsequence_set_bbox(const TSequence *seq, void *box)
Set the second argument to the bounding box of a temporal sequence.
Definition: tsequence.c:753
Span * tfloatseq_span(const TSequence *seq)
Return the float span of a temporal sequence float.
Definition: tsequence.c:2023
TimestampTz * tsequenceset_timestamps(const TSequenceSet *ss, int *count)
Return the array of distinct timestamps of a temporal sequence set.
Definition: tsequenceset.c:1130
SpanSet * tfloatseqset_spanset(const TSequenceSet *ss)
Return the span set of a temporal float sequence set.
Definition: tsequenceset.c:685
SpanSet * tfloatseq_spanset(const TSequence *seq)
Return the array of spans of base values of a temporal float sequence.
Definition: tsequence.c:2106
TSequence ** tinstant_sequences(const TInstant *inst, int *count)
Return the singleton array of sequences of a temporal instant.
Definition: tinstant.c:469
void temporal_set_bbox(const Temporal *temp, void *box)
Set the second argument to the bounding box of a temporal value.
Definition: temporal.c:1821
Datum temporal_end_value(const Temporal *temp)
Return the end base value of a temporal value.
Definition: temporal.c:2069
TimestampTz * tinstant_timestamps(const TInstant *inst, int *count)
Return the singleton array of timestamps of a temporal instant.
Definition: tinstant.c:485
TSequence ** tsequence_sequences(const TSequence *seq, int *count)
Return the singleton array of sequences of a temporal sequence.
Definition: tsequence.c:2281
SpanSet * tsequence_time(const TSequence *seq)
Return the time frame of a temporal sequence as a period set.
Definition: tsequence.c:2120
uint32 tsequenceset_hash(const TSequenceSet *ss)
Return the 32-bit hash value of a temporal sequence set.
Definition: tsequenceset.c:3212
Datum tsequence_max_value(const TSequence *seq)
Return the maximum base value of a temporal sequence.
Definition: tsequence.c:2227
double tnumberseqset_twavg(const TSequenceSet *ss)
Return the time-weighted average of a temporal number.
Definition: tsequenceset.c:3113
double tnumberseq_integral(const TSequence *seq)
Return the integral (area under the curve) of a temporal sequence number.
Definition: tsequence.c:5594
GSERIALIZED * tpointseqset_twcentroid(const TSequenceSet *ss)
Return the time-weighed centroid of a temporal geometry point.
Definition: tpoint_spatialfuncs.c:2484
double tnumberseqset_integral(const TSequenceSet *ss)
Return the integral (area under the curve) of a temporal number.
Definition: tsequenceset.c:3084
double tnumberseq_twavg(const TSequence *seq)
Return the time-weighted average of a temporal sequence number.
Definition: tsequence.c:5666
double tnumberdiscseq_twavg(const TSequence *seq)
Return the time-weighted average of a temporal discrete sequence number.
Definition: tsequence.c:5629
GSERIALIZED * tpointseq_twcentroid(const TSequence *seq)
Return the time-weighed centroid of a temporal geometry point.
Definition: tpoint_spatialfuncs.c:2461
double tnumbercontseq_twavg(const TSequence *seq)
Return the time-weighted average of a temporal sequence number.
Definition: tsequence.c:5647
TSequenceSet * tfloatseqset_to_tintseqset(const TSequenceSet *ss)
Cast a temporal sequence set float to a temporal sequence set integer.
Definition: tsequenceset.c:1238
void tinstant_set_period(const TInstant *inst, Span *p)
Return the bounding period of a temporal instant.
Definition: tinstant.c:456
void temporal_set_period(const Temporal *temp, Span *p)
Set a period to the bounding period of a temporal value.
Definition: temporal.c:1176
TSequence * tfloatseq_to_tintseq(const TSequence *seq)
Cast a temporal sequence float to a temporal sequence integer.
Definition: tsequence.c:1745
TSequence * tintseq_to_tfloatseq(const TSequence *seq)
Cast a temporal sequence integer to a temporal sequence float.
Definition: tsequence.c:1724
TInstant * tintinst_to_tfloatinst(const TInstant *inst)
Cast a temporal instant integer to a temporal instant float.
Definition: tinstant.c:536
void tsequence_set_period(const TSequence *seq, Span *p)
Return the bounding period of a temporal sequence.
Definition: tsequence.c:2268
TInstant * tfloatinst_to_tintinst(const TInstant *inst)
Cast a temporal instant float to a temporal instant integer.
Definition: tinstant.c:551
TSequenceSet * tintseqset_to_tfloatseqset(const TSequenceSet *ss)
Cast a temporal sequence set integer to a temporal sequence set float.
Definition: tsequenceset.c:1212
void tsequenceset_set_period(const TSequenceSet *ss, Span *p)
Return the bounding period of a temporal sequence set.
Definition: tsequenceset.c:877
bool tinstant_eq(const TInstant *inst1, const TInstant *inst2)
Return true if two temporal instants are equal.
Definition: tinstant.c:988
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,...
Definition: tsequence.c:5721
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,...
Definition: tsequenceset.c:3176
bool tsequenceset_eq(const TSequenceSet *ss1, const TSequenceSet *ss2)
Return true if two temporal sequence sets are equal.
Definition: tsequenceset.c:3142
bool tsequence_eq(const TSequence *seq1, const TSequence *seq2)
Return true if two temporal sequences are equal.
Definition: tsequence.c:5686
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,...
Definition: tinstant.c:1012
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.
Definition: tsequenceset.c:562
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.
Definition: temporal.c:743
TSequenceSet * tsequenceset_copy(const TSequenceSet *ss)
Return a copy of a temporal sequence set.
Definition: tsequenceset.c:447
TInstant * tinstant_copy(const TInstant *inst)
Return a copy of a temporal instant.
Definition: tinstant.c:397
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.
Definition: tsequence.c:1158
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.
Definition: tsequence.c:1067
TSequence * tsequence_copy(const TSequence *seq)
Return a copy of a temporal sequence.
Definition: tsequence.c:1033
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.
Definition: tsequence.c:1248
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 s...
Definition: tsequenceset.c:467
TSequenceSet * tsequenceset_compact(const TSequenceSet *ss)
Return a copy of a temporal sequence set without any extra space.
Definition: tsequenceset.c:1271
TInstant * tinstant_make(Datum value, meosType temptype, TimestampTz t)
Construct a temporal instant from the arguments.
Definition: tinstant.c:276
double nad_tnumber_number(const Temporal *temp, Datum value, meosType basetype)
Return the nearest approach distance between a temporal number and a number.
Definition: tnumber_distance.c:208
Temporal * distance_tnumber_number(const Temporal *temp, Datum value, meosType valuetype, meosType restype)
Return the temporal distance between a temporal number and a number.
Definition: tnumber_distance.c:86
bool tinstant_ever_eq(const TInstant *inst, Datum value)
Return true if a temporal instant is ever equal to a base value.
Definition: tinstant.c:616
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.
Definition: tsequence.c:3252
bool tsequence_ever_eq(const TSequence *seq, Datum value)
Return true if a temporal sequence is ever equal to a base value.
Definition: tsequence.c:3087
bool tsequence_ever_lt(const TSequence *seq, Datum value)
Return true if a temporal sequence is ever less than a base value.
Definition: tsequence.c:3229
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.
Definition: tinstant.c:679
bool temporal_always_lt(const Temporal *temp, Datum value)
Return true if a temporal value is always less than a base value.
Definition: temporal.c:2932
bool tsequence_always_lt(const TSequence *seq, Datum value)
Return true if a temporal sequence is always less than a base value.
Definition: tsequence.c:3296
bool tsequenceset_ever_lt(const TSequenceSet *ss, Datum value)
Return true if a temporal sequence set is ever less than a base value.
Definition: tsequenceset.c:1509
bool tpointseqset_ever_eq(const TSequenceSet *ss, Datum value)
Return true if a temporal sequence set point is ever equal to a point.
Definition: tpoint_spatialfuncs.c:762
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.
Definition: tsequenceset.c:1574
bool temporal_ever_eq(const Temporal *temp, Datum value)
Return true if a temporal value is ever equal to a base value.
Definition: temporal.c:2762
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.
Definition: tsequence.c:3341
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.
Definition: tsequenceset.c:1531
bool tinstant_always_lt(const TInstant *inst, Datum value)
Return true if a temporal instant is always less than a base value.
Definition: tinstant.c:666
bool tpointseq_ever_eq(const TSequence *seq, Datum value)
Return true if a temporal sequence point is ever equal to a point.
Definition: tpoint_spatialfuncs.c:704
bool tsequenceset_always_lt(const TSequenceSet *ss, Datum value)
Return true if a temporal sequence set is always less than a base value.
Definition: tsequenceset.c:1552
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.
Definition: temporal.c:3035
bool tpointseqset_always_eq(const TSequenceSet *ss, Datum value)
Return true if a temporal sequence set point is always equal to a point.
Definition: tpoint_spatialfuncs.c:867
bool temporal_ever_lt(const Temporal *temp, Datum value)
Return true if a temporal value is ever less than a base value.
Definition: temporal.c:2882
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.
Definition: tinstant.c:654
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.
Definition: temporal.c:2983
bool tpointinst_always_eq(const TInstant *inst, Datum value)
Return true if a temporal instant point is always equal to a point.
Definition: tpoint_spatialfuncs.c:837
bool tinstant_always_eq(const TInstant *inst, Datum value)
Return true if a temporal instant is always equal to a base value.
Definition: tinstant.c:628
bool tsequenceset_always_eq(const TSequenceSet *ss, Datum value)
Return true if a temporal sequence set is always equal to a base value.
Definition: tsequenceset.c:1484
bool tsequence_always_eq(const TSequence *seq, Datum value)
Return true if a temporal sequence is always equal to a base value.
Definition: tsequence.c:3148
bool tsequenceset_ever_eq(const TSequenceSet *ss, Datum value)
Return true if a temporal sequence set is ever equal to a base value.
Definition: tsequenceset.c:1466
bool tpointseq_always_eq(const TSequence *seq, Datum value)
Return true if a temporal sequence point is always equal to a point.
Definition: tpoint_spatialfuncs.c:849
bool tinstant_ever_lt(const TInstant *inst, Datum value)
Return true if a temporal instant is ever less than a base value.
Definition: tinstant.c:641
bool tpointinst_ever_eq(const TInstant *inst, Datum value)
Return true if a temporal instant point is ever equal to a point.
Definition: tpoint_spatialfuncs.c:691
bool tpoint_ever_eq(const Temporal *temp, Datum value)
Return true if a temporal point is ever equal to a point.
Definition: tpoint_spatialfuncs.c:785
bool temporal_always_eq(const Temporal *temp, Datum value)
Return true if a temporal value is always equal to a base value.
Definition: temporal.c:2822
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.
Definition: type_out.c:642
Temporal * temporal_in(const char *str, meosType temptype)
Return a temporal value from its Well-Known Text (WKT) representation.
Definition: temporal.c:578
char * tinstant_as_mfjson(const TInstant *inst, int precision, bool with_bbox, char *srs)
Return the MF-JSON representation of a temporal instant.
Definition: type_out.c:559
TSequenceSet * tintseqset_from_mfjson(json_object *mfjson)
Return a temporal sequence set integer from its MF-JSON representation.
Definition: type_in.c:625
TInstant * tgeogpointinst_in(const char *str)
Return a temporal instant geographic point from its Well-Known Text (WKT) representation.
Definition: tinstant.c:210
TSequence * tgeogpointseq_in(const char *str, interpType interp)
Return a temporal sequence geographic point from its Well-Known Text (WKT) representation.
Definition: tsequence.c:646
TSequence * tgeompointseq_from_mfjson(json_object *mfjson, int srid, interpType interp)
Return a temporal sequence geometric point from its MF-JSON representation.
Definition: type_in.c:558
TSequenceSet * tboolseqset_from_mfjson(json_object *mfjson)
Return a temporal sequence set boolean from its MF-JSON representation.
Definition: type_in.c:614
TInstant * ttextinst_from_mfjson(json_object *mfjson)
Return a temporal instant text from its MF-JSON representation.
Definition: type_in.c:408
TSequence * tfloatseq_in(const char *str, interpType interp)
Return a temporal sequence float from its Well-Known Text (WKT) representation.
Definition: tsequence.c:604
char * ttextinst_as_mfjson(const TInstant *inst, bool with_bbox)
Return the MF-JSON representation of a temporal instant text.
Definition: type_out.c:617
char * tsequenceset_out(const TSequenceSet *ss, int maxdd)
Return the Well-Known Text (WKT) representation of a temporal sequence set.
Definition: tsequenceset.c:2707
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.
Definition: type_in.c:581
TInstant * tintinst_in(const char *str)
Return a temporal instant integer from its Well-Known Text (WKT) representation.
Definition: tinstant.c:163
char * tsequence_as_mfjson(const TSequence *seq, int precision, bool with_bbox, char *srs)
Return the MF-JSON representation of a temporal sequence.
Definition: type_out.c:720
TInstant * tintinst_from_mfjson(json_object *mfjson)
Return a temporal instant integer from its MF-JSON representation.
Definition: type_in.c:386
TSequence * ttextseq_from_mfjson(json_object *mfjson)
Return a temporal sequence text from its MF-JSON representation.
Definition: type_in.c:546
char * tintseqset_as_mfjson(const TSequenceSet *ss, bool with_bbox)
Return the MF-JSON representation of a temporal sequence set integer.
Definition: type_out.c:931
TSequenceSet * tfloatseqset_in(const char *str)
Return a temporal sequence set float from its Well-Known Text (WKT) representation.
Definition: tsequenceset.c:2625
TSequenceSet * tsequenceset_in(const char *str, meosType temptype, interpType interp)
Return a temporal sequence set from its Well-Known Text (WKT) representation.
Definition: tsequenceset.c:2593
TSequenceSet * tboolseqset_in(const char *str)
Return a temporal sequence set boolean from its Well-Known Text (WKT) representation.
Definition: tsequenceset.c:2603
TSequenceSet * tgeompointseqset_from_mfjson(json_object *mfjson, int srid, interpType interp)
Return a temporal sequence set geometric point from its MF-JSON representation.
Definition: type_in.c:659
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/...
Definition: tpoint_out.c:147
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.
Definition: type_out.c:978
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.
Definition: type_out.c:629
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.
Definition: type_out.c:965
TSequenceSet * ttextseqset_from_mfjson(json_object *mfjson)
Return a temporal sequence set text from its MF-JSON representation.
Definition: type_in.c:647
TInstant * tgeompointinst_in(const char *str)
Return a temporal instant geometric point from its Well-Known Text (WKT) representation.
Definition: tinstant.c:196
TSequence * tboolseq_in(const char *str, interpType interp)
Return a temporal sequence boolean from its Well-Known Text (WKT) representation.
Definition: tsequence.c:576
TSequenceSet * tintseqset_in(const char *str)
Return a temporal sequence set integer from its Well-Known Text (WKT) representation.
Definition: tsequenceset.c:2614
TSequence * tfloatseq_from_mfjson(json_object *mfjson, interpType interp)
Return a temporal sequence float from its MF-JSON representation.
Definition: type_in.c:535
TInstant * tgeompointinst_from_mfjson(json_object *mfjson, int srid)
Return a temporal instant geometric point from its MF-JSON representation.
Definition: type_in.c:420
TSequence * tintseq_from_mfjson(json_object *mfjson)
Return a temporal sequence integer from its MF-JSON representation.
Definition: type_in.c:524
char * ttextseq_as_mfjson(const TSequence *seq, bool with_bbox)
Return the MF-JSON representation of a temporal sequence text.
Definition: type_out.c:778
TInstant * tboolinst_from_mfjson(json_object *mfjson)
Return a temporal instant boolean from its MF-JSON representation.
Definition: type_in.c:375
char * ttextseqset_as_mfjson(const TSequenceSet *ss, bool with_bbox)
Return the MF-JSON representation of a temporal sequence set text.
Definition: type_out.c:953
char * tsequenceset_as_mfjson(const TSequenceSet *ss, int precision, bool with_bbox, char *srs)
Return the MF-JSON representation of a temporal sequence set.
Definition: type_out.c:894
TSequence * ttextseq_in(const char *str, interpType interp)
Return a temporal sequence text from its Well-Known Text (WKT) representation.
Definition: tsequence.c:618
char * tfloatseqset_as_mfjson(const TSequenceSet *ss, bool with_bbox, int precision)
Return the MF-JSON representation of a temporal sequence set float.
Definition: type_out.c:942
TInstant * tfloatinst_from_mfjson(json_object *mfjson)
Return a temporal instant float from its MF-JSON representation.
Definition: type_in.c:397
char * tsequence_out(const TSequence *seq, int maxdd)
Return the Well-Known Text (WKT) representation of a temporal sequence.
Definition: tsequence.c:705
char * tinstant_out(const TInstant *inst, int maxdd)
Return the Well-Known Text (WKT) representation of a temporal instant.
Definition: tinstant.c:246
char * tboolseqset_as_mfjson(const TSequenceSet *ss, bool with_bbox)
Return the MF-JSON representation of a temporal sequence set boolean.
Definition: type_out.c:920
char * tboolseq_as_mfjson(const TSequence *seq, bool with_bbox)
Return the MF-JSON representation of a temporal sequence boolean.
Definition: type_out.c:745
TInstant * tinstant_from_mfjson(json_object *mfjson, bool isgeo, int srid, meosType temptype)
Return a temporal instant from its MF-JSON representation.
Definition: type_in.c:295
char * tfloatseq_as_mfjson(const TSequence *seq, bool with_bbox, int precision)
Return the MF-JSON representation of a temporal sequence float.
Definition: type_out.c:767
TSequence * tgeogpointseq_from_mfjson(json_object *mfjson, int srid, interpType interp)
Return a temporal sequence geographic point from its MF-JSON representation.
Definition: type_in.c:570
TSequence * tsequence_in(const char *str, meosType temptype, interpType interp)
Return a temporal sequence from its Well-Known Text (WKT) representation.
Definition: tsequence.c:562
char * tintinst_as_mfjson(const TInstant *inst, bool with_bbox)
Return the MF-JSON representation of a temporal instant integer.
Definition: type_out.c:595
char * temporal_out(const Temporal *temp, int maxdd)
Return the Well-Known Text (WKT) representation of a temporal value.
Definition: temporal.c:653
char * tboolinst_as_mfjson(const TInstant *inst, bool with_bbox)
Return the MF-JSON representation of a temporal instant boolean.
Definition: type_out.c:584
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.
Definition: type_out.c:790
TSequence * tgeompointseq_in(const char *str, interpType interp)
Return a temporal sequence geometric point from its Well-Known Text (WKT) representation.
Definition: tsequence.c:632
TSequenceSet * ttextseqset_in(const char *str)
Return a temporal sequence set text from its Well-Known Text (WKT) representation.
Definition: tsequenceset.c:2639
TSequenceSet * tgeogpointseqset_from_mfjson(json_object *mfjson, int srid, interpType interp)
Return a temporal sequence set geographic point from its MF-JSON representation.
Definition: type_in.c:671
TInstant * ttextinst_in(const char *str)
Return a temporal instant text from its Well-Known Text (WKT) representation.
Definition: tinstant.c:185
TSequence * tboolseq_from_mfjson(json_object *mfjson)
Return a temporal sequence boolean from its MF-JSON representation.
Definition: type_in.c:513
TInstant * tboolinst_in(const char *str)
Return a temporal instant boolean from its Well-Known Text (WKT) representation.
Definition: tinstant.c:152
TInstant * tfloatinst_in(const char *str)
Return a temporal instant float from its Well-Known Text (WKT) representation.
Definition: tinstant.c:174
char * tintseq_as_mfjson(const TSequence *seq, bool with_bbox)
Return the MF-JSON representation of a temporal sequence integer.
Definition: type_out.c:756
TSequence * tintseq_in(const char *str, interpType interp)
Return a temporal sequence integer from its Well-Known Text (WKT) representation.
Definition: tsequence.c:590
TSequenceSet * tgeogpointseqset_in(const char *str)
Return a temporal sequence set geographic point from its Well-Known Text (WKT) representation.
Definition: tsequenceset.c:2664
TSequenceSet * tgeompointseqset_in(const char *str)
Return a temporal sequence set geometric point from its Well-Known Text (WKT) representation.
Definition: tsequenceset.c:2650
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.
Definition: type_in.c:479
char * tfloatinst_as_mfjson(const TInstant *inst, bool with_bbox, int precision)
Return the MF-JSON representation of a temporal instant float.
Definition: type_out.c:606
TSequenceSet * tfloatseqset_from_mfjson(json_object *mfjson, interpType interp)
Return a temporal sequence set float from its MF-JSON representation.
Definition: type_in.c:636
TInstant * tgeogpointinst_from_mfjson(json_object *mfjson, int srid)
Return a temporal instant geographic point from its MF-JSON representation.
Definition: type_in.c:432
TInstant * tinstant_in(const char *str, meosType temptype)
Return a temporal instant from its Well-Known Text (WKT) representation.
Definition: tinstant.c:141
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 ...
Definition: tpoint_out.c:164
char ** temporalarr_out(const Temporal **temparr, int count, int maxdd)
Return the Well-Known Text (WKT) representation of an array of temporal values.
Definition: type_out.c:1027
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.
Definition: type_out.c:803
TSequenceSet * tsequenceset_restrict_value(const TSequenceSet *ss, Datum value, bool atfunc)
Restrict a temporal sequence set to (the complement of) a base value.
Definition: tsequenceset.c:1607
TInstant * tdiscseq_at_timestamp(const TSequence *seq, TimestampTz t)
Restrict a temporal discrete sequence to (the complement of) a timestamp.
Definition: tsequence.c:4372
TInstant * tsequence_at_timestamp(const TSequence *seq, TimestampTz t)
Restrict a temporal sequence to a timestamp.
Definition: tsequence.c:4668
TInstant * tpointinst_restrict_geometry(const TInstant *inst, const GSERIALIZED *gs, bool atfunc)
Restrict a temporal point instant to (the complement of) a geometry.
Definition: tpoint_spatialfuncs.c:3562
Temporal * tpoint_restrict_stbox(const Temporal *temp, const STBox *box, bool atfunc)
Restrict a temporal point to (the complement of) a spatiotemporal box.
Definition: tpoint_spatialfuncs.c:4459
TSequence * tdiscseq_minus_timestamp(const TSequence *seq, TimestampTz t)
Restrict a temporal discrete sequence to (the complement of) a timestamp.
Definition: tsequence.c:4401
TInstant * tinstant_restrict_period(const TInstant *inst, const Span *period, bool atfunc)
Restrict a temporal instant to (the complement of) a period.
Definition: tinstant.c:867
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.
Definition: tsequenceset.c:1724
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.
Definition: tsequence.c:3425
Temporal * temporal_restrict_timestampset(const Temporal *temp, const Set *ss, bool atfunc)
Restrict a temporal value to (the complement of) a timestamp set.
Definition: temporal.c:3417
Temporal * temporal_restrict_value(const Temporal *temp, Datum value, bool atfunc)
Restrict a temporal value to (the complement of) a base value.
Definition: temporal.c:3147
Temporal * temporal_restrict_periodset(const Temporal *temp, const SpanSet *ps, bool atfunc)
Restrict a temporal value to (the complement of) a period set.
Definition: temporal.c:3480
TInstant * tinstant_restrict_periodset(const TInstant *inst, const SpanSet *ps, bool atfunc)
Restrict a temporal instant to (the complement of) a period set.
Definition: tinstant.c:898
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.
Definition: temporal.c:3254
TSequenceSet * tcontseq_restrict_periodset(const TSequence *seq, const SpanSet *ps, bool atfunc)
Restrict a temporal sequence to (the complement of) a period set.
Definition: tsequence.c:5243
TInstant * tinstant_restrict_value(const TInstant *inst, Datum value, bool atfunc)
Restrict a temporal instant to (the complement of) a base value.
Definition: tinstant.c:695
TSequenceSet * tsequenceset_restrict_periodset(const TSequenceSet *ss, const SpanSet *ps, bool atfunc)
Restrict a temporal sequence set to (the complement of) a period set.
Definition: tsequenceset.c:1990
TInstant * tnumberinst_restrict_spanset(const TInstant *inst, const SpanSet *ss, bool atfunc)
Restrict a temporal number instant to (the complement of) a span set.
Definition: tinstant.c:806
TSequenceSet * tsequenceset_restrict_period(const TSequenceSet *ss, const Span *p, bool atfunc)
Restrict a temporal sequence set to (the complement of) a period.
Definition: tsequenceset.c:1906
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.
Definition: tsequence.c:3788
Temporal * temporal_restrict_timestamp(const Temporal *temp, TimestampTz t, bool atfunc)
Restrict a temporal value to a timestamp.
Definition: temporal.c:3360
Temporal * temporal_restrict_period(const Temporal *temp, const Span *ps, bool atfunc)
Restrict a temporal value to (the complement of) a period.
Definition: temporal.c:3448
TSequenceSet * tcontseq_restrict_value(const TSequence *seq, Datum value, bool atfunc)
Restrict a temporal sequence to (the complement of) a base value.
Definition: tsequence.c:3663
TSequenceSet * tcontseq_minus_timestampset(const TSequence *seq, const Set *ss)
Restrict a temporal sequence to the complement of a timestamp set.
Definition: tsequence.c:4972
TSequence * tdiscseq_minus_period(const TSequence *seq, const Span *period)
Restrict a temporal discrete sequence to (the complement of) a period.
Definition: tsequence.c:4542
TSequence * tdiscseq_at_period(const TSequence *seq, const Span *period)
Restrict a temporal discrete sequence to (the complement of) a period.
Definition: tsequence.c:4511
TInstant * tinstant_restrict_timestampset(const TInstant *inst, const Set *ss, bool atfunc)
Restrict a temporal instant to (the complement of) a timestamp set.
Definition: tinstant.c:853
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.
Definition: tsequence.c:3822
Temporal * tsequenceset_restrict_timestampset(const TSequenceSet *ss1, const Set *ss2, bool atfunc)
Restrict a temporal sequence set to (the complement of) a timestamp set.
Definition: tsequenceset.c:1826
TSequence * tdiscseq_restrict_periodset(const TSequence *seq, const SpanSet *ps, bool atfunc)
Restrict a discrete temporal sequence to (the complement of) a period set.
Definition: tsequence.c:4573
TSequence * tcontseq_at_timestampset(const TSequence *seq, const Set *ss)
Restrict a temporal sequence to a timestamp set.
Definition: tsequence.c:4792
TSequenceSet * tpointseq_restrict_geometry(const TSequence *seq, const GSERIALIZED *gs, bool atfunc)
Restrict a temporal point sequence to (the complement of a) geometry.
Definition: tpoint_spatialfuncs.c:4100
TSequenceSet * tnumbercontseq_restrict_span(const TSequence *seq, const Span *span, bool atfunc)
Restrict a temporal sequence number to (the complement of) a span.
Definition: tsequence.c:4177
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.
Definition: tsequenceset.c:1640
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.
Definition: tsequence.c:3745
Temporal * tpoint_restrict_geometry(const Temporal *temp, const GSERIALIZED *gs, bool atfunc)
Restrict a temporal point to (the complement of) a geometry.
Definition: tpoint_spatialfuncs.c:4187
TSequenceSet * tcontseq_minus_timestamp(const TSequence *seq, TimestampTz t)
Restrict a temporal sequence to the complement of a timestamp.
Definition: tsequence.c:4771
TSequence * tdiscseq_restrict_timestampset(const TSequence *seq, const Set *ts, bool atfunc)
Restrict a temporal discrete sequence to (the complement of) a timestamp set.
Definition: tsequence.c:4432
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.
Definition: tpoint_spatialfuncs.c:4127
TSequenceSet * tnumbercontseq_restrict_spanset(const TSequence *seq, const SpanSet *ss, bool atfunc)
Restrict a temporal number to (the complement of) an array of spans.
Definition: tsequence.c:4288
TSequenceSet * tcontseq_restrict_minmax(const TSequence *seq, bool min, bool atfunc)
Restrict a temporal sequence to (the complement of) its minimum/maximum base value.
Definition: tsequence.c:4333
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.
Definition: tsequence.c:4315
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.
Definition: temporal.c:3392
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.
Definition: tsequenceset.c:1760
TInstant * tinstant_restrict_values(const TInstant *inst, const Set *set, bool atfunc)
Restrict a temporal instant to an array of base values.
Definition: tinstant.c:731
TSequenceSet * tcontseq_minus_period(const TSequence *seq, const Span *p)
Restrict a temporal sequence to the complement of a period.
Definition: tsequence.c:5109
TSequence * tdiscseq_restrict_value(const TSequence *seq, Datum value, bool atfunc)
Restrict a temporal discrete sequence to (the complement of) a base value.
Definition: tsequence.c:3383
Temporal * tnumber_restrict_spanset(const Temporal *temp, const SpanSet *ss, bool atfunc)
Restrict a temporal value to (the complement of) a span set.
Definition: temporal.c:3293
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.
Definition: temporal.c:3210
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.
Definition: tinstant.c:771
Temporal * tsequenceset_restrict_timestamp(const TSequenceSet *ss, TimestampTz t, bool atfunc)
Restrict a temporal sequence set to (the complement of) a timestamp.
Definition: tsequenceset.c:1772
TInstant * tinstant_restrict_timestamp(const TInstant *inst, TimestampTz t, bool atfunc)
Restrict a temporal instant to (the complement of) a timestamp.
Definition: tinstant.c:823
TSequenceSet * tnumberseqset_restrict_span(const TSequenceSet *ss, const Span *span, bool atfunc)
Restrict a temporal number to a span of base values.
Definition: tsequenceset.c:1690
TSequence * tpointdiscseq_restrict_geometry(const TSequence *seq, const GSERIALIZED *gs, bool atfunc)
Restrict a temporal point discrete sequence to (the complement of) a geometry.
Definition: tpoint_spatialfuncs.c:3584
TSequence * tpointseq_cumulative_length(const TSequence *seq, double prevlength)
Return the cumulative length traversed by a temporal point.
Definition: tpoint_spatialfuncs.c:2257
STBox * tpointseq_stboxes(const TSequence *seq, int *count)
Return an array of spatiotemporal boxes from the segments of a temporal sequence point.
Definition: tpoint_boxops.c:337
GSERIALIZED * tpointseqset_trajectory(const TSequenceSet *ss)
Return the trajectory of a temporal point with sequence set type.
Definition: tpoint_spatialfuncs.c:1708
double tpointseq_length(const TSequence *seq)
Return the length traversed by a temporal sequence point.
Definition: tpoint_spatialfuncs.c:2193
int tpointseqset_srid(const TSequenceSet *ss)
Return the SRID of a temporal sequence set point.
Definition: tpoint_spatialfuncs.c:1831
TSequenceSet * tpointseqset_cumulative_length(const TSequenceSet *ss)
Return the cumulative length traversed by a temporal point.
Definition: tpoint_spatialfuncs.c:2299
GSERIALIZED * tpointcontseq_trajectory(const TSequence *seq)
Return the trajectory of a temporal sequence point.
Definition: tpoint_spatialfuncs.c:1671
TSequenceSet * tpointseqset_speed(const TSequenceSet *ss)
Return the speed of a temporal point.
Definition: tpoint_spatialfuncs.c:2385
TSequenceSet * tpointseq_azimuth(const TSequence *seq)
Return the temporal azimuth of a temporal geometry point.
Definition: tpoint_spatialfuncs.c:2639
int tpointinst_srid(const TInstant *inst)
Return the SRID of a temporal instant point.
Definition: tpoint_spatialfuncs.c:1807
double tpointseqset_length(const TSequenceSet *ss)
Return the length traversed by a temporal sequence set point.
Definition: tpoint_spatialfuncs.c:2220
GSERIALIZED * tpointdiscseq_trajectory(const TSequence *seq)
Compute the trajectory of a temporal discrete sequence point.
Definition: tpoint_spatialfuncs.c:1639
bool tpointseq_is_simple(const TSequence *seq)
Return true if a temporal point does not self-intersect.
Definition: tpoint_spatialfuncs.c:3290
bool tpointseqset_is_simple(const TSequenceSet *ss)
Return true if a temporal point does not self-intersect.
Definition: tpoint_spatialfuncs.c:3311
int tpointseq_srid(const TSequence *seq)
Return the SRID of a temporal sequence point.
Definition: tpoint_spatialfuncs.c:1819
TSequenceSet * tpointseqset_azimuth(const TSequenceSet *ss)
Return the temporal azimuth of a temporal geometry point.
Definition: tpoint_spatialfuncs.c:2653
TSequence * tpointseq_speed(const TSequence *seq)
Return the speed of a temporal point.
Definition: tpoint_spatialfuncs.c:2345
STBox * tpointseqset_stboxes(const TSequenceSet *ss, int *count)
Return an array of spatiotemporal boxes from the segments of a temporal sequence set point.
Definition: tpoint_boxops.c:355
TSequence * tpointseq_set_srid(const TSequence *seq, int32 srid)
Set the SRID of a temporal sequence point.
Definition: tpoint_spatialfuncs.c:1878
TInstant * tpointinst_set_srid(const TInstant *inst, int32 srid)
Set the SRID of a temporal instant point.
Definition: tpoint_spatialfuncs.c:1864
TSequenceSet * tgeompointseqset_tgeogpointseqset(const TSequenceSet *ss, bool oper)
Convert a temporal point from/to a geometry/geography point.
Definition: tpoint_spatialfuncs.c:2031
TSequenceSet * tpointseqset_set_srid(const TSequenceSet *ss, int32 srid)
Set the SRID of a temporal sequence set point.
Definition: tpoint_spatialfuncs.c:1900
TInstant * tgeompointinst_tgeogpointinst(const TInstant *inst, bool oper)
Convert a temporal point from/to a geometry/geography point.
Definition: tpoint_spatialfuncs.c:1963
TSequence * tgeompointseq_tgeogpointseq(const TSequence *seq, bool oper)
Convert a temporal point from/to a geometry/geography point.
Definition: tpoint_spatialfuncs.c:1984
TSequence ** tpointseq_make_simple(const TSequence *seq, int *count)
Split a temporal sequence point into an array of non self-intersecting fragments.
Definition: tpoint_spatialfuncs.c:3452
TSequence ** tpointseqset_make_simple(const TSequenceSet *ss, int *count)
Split a temporal sequence set point into an array of non self-intersecting fragments.
Definition: tpoint_spatialfuncs.c:3496
Temporal * tsequence_merge_array(const TSequence **sequences, int count)
Merge an array of temporal sequences.
Definition: tsequence.c:1692
TSequenceSet * tdiscseq_to_tsequenceset(const TSequence *seq, interpType interp)
Return a temporal discrete sequence transformed into a temporal sequence set.
Definition: tsequenceset.c:1304
TSequenceSet * tsequenceset_delete_timestamp(const TSequenceSet *ss, TimestampTz t)
Delete a timestamp from a temporal sequence set.
Definition: tsequenceset.c:2899
Temporal * tsequence_merge(const TSequence *seq1, const TSequence *seq2)
Merge two temporal sequences.
Definition: tsequence.c:1546
TSequenceSet * tsequenceset_append_tinstant(TSequenceSet *ss, const TInstant *inst, bool expand)
Append an instant to a temporal sequence set.
Definition: tsequenceset.c:2087
TSequenceSet * tsequenceset_append_tsequence(TSequenceSet *ss, const TSequence *seq, bool expand)
Append a sequence to a temporal sequence set.
Definition: tsequenceset.c:2187
TSequenceSet * tsequenceset_merge(const TSequenceSet *ss1, const TSequenceSet *ss2)
Merge two temporal sequence sets.
Definition: tsequenceset.c:2304
TSequence * tsequence_to_tdiscseq(const TSequence *seq)
Return a temporal sequence transformed into discrete interpolation.
Definition: tsequence.c:1815
TSequence * tsequence_to_tcontseq(const TSequence *seq)
Return a temporal sequence transformed to continuous interpolation.
Definition: tsequence.c:1835
TSequenceSet * tsequenceset_delete_periodset(const TSequenceSet *ss, const SpanSet *ps)
Delete a period from a temporal sequence set.
Definition: tsequenceset.c:3001
TSequenceSet * tsequenceset_merge_array(const TSequenceSet **seqsets, int count)
Merge an array of temporal sequence sets.
Definition: tsequenceset.c:2320
TSequence * tcontseq_delete_period(const TSequence *seq, const Span *p)
Delete a period from a continuos temporal sequence.
Definition: tsequence.c:5487
TInstant * tsequence_to_tinstant(const TSequence *seq)
Return a temporal sequence transformed into a temporal instant.
Definition: tinstant.c:570
TInstant * tinstant_shift(const TInstant *inst, const Interval *interval)
Return a temporal instant shifted by an interval.
Definition: tinstant.c:599
Temporal * tsequence_append_tinstant(TSequence *seq, const TInstant *inst, bool expand)
Append an instant to a temporal sequence.
Definition: tsequence.c:1349
Temporal * tinstant_merge_array(const TInstant **instants, int count)
Merge an array of temporal instants.
Definition: tinstant.c:930
TSequence * tinstant_to_tsequence(const TInstant *inst, interpType interp)
Return a temporal instant transformed into a temporal sequence.
Definition: tsequence.c:1802
TSequenceSet * tstepseqset_to_linear(const TSequenceSet *ss)
Return a temporal sequence set with continuous base type from step to linear interpolation.
Definition: tsequenceset.c:1374
TSequenceSet * tstepseq_to_linear(const TSequence *seq)
Return a temporal sequence with continuous base type transformed from step to linear interpolation.
Definition: tsequence.c:1925
TInstant * tsequenceset_to_tinstant(const TSequenceSet *ts)
Return a temporal sequence set transformed into a temporal instant.
Definition: tinstant.c:584
Temporal * tdiscseq_merge_array(const TSequence **sequences, int count)
Merge an array of temporal discrete sequences.
Definition: tsequence.c:1567
TSequenceSet * tinstant_to_tsequenceset(const TInstant *inst, interpType interp)
Return a temporal instant transformed into a temporal sequence set.
Definition: tsequenceset.c:1288
TSequence * tcontseq_delete_timestamp(const TSequence *seq, TimestampTz t)
Delete a timestamp from a continuous temporal sequence.
Definition: tsequence.c:5350
TSequence * tcontseq_delete_timestampset(const TSequence *seq, const Set *ts)
Delete a timestamp from a continuous temporal sequence.
Definition: tsequence.c:5404
TSequenceSet * tsequenceset_delete_period(const TSequenceSet *ss, const Span *p)
Delete a period from a temporal sequence set.
Definition: tsequenceset.c:2987
Temporal * tinstant_merge(const TInstant *inst1, const TInstant *inst2)
Merge two temporal instants.
Definition: tinstant.c:915
TSequenceSet * tsequenceset_delete_timestampset(const TSequenceSet *ss, const Set *ts)
Restrict a temporal sequence set to (the complement of) a timestamp set.
Definition: tsequenceset.c:2939
TSequence * tsequenceset_to_tsequence(const TSequenceSet *ss)
Return a temporal sequence set transformed into a temporal sequence value.
Definition: tsequence.c:1856
TSequence * tsequence_compact(const TSequence *seq)
Return a copy of a temporal sequence with no additional free space.
Definition: tsequence.c:1773
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.
Definition: tsequenceset.c:1398
Temporal * tsequence_append_tsequence(TSequence *seq1, const TSequence *seq2, bool expand)
Append a sequence to a temporal sequence.
Definition: tsequence.c:1479
TSequence * tsequence_shift_tscale(const TSequence *seq, const Interval *start, const Interval *duration)
Return a temporal sequence shifted and/or scaled by the intervals.
Definition: tsequence.c:1939
TSequence * tsequenceset_to_tdiscseq(const TSequenceSet *ts)
Return a temporal sequence set transformed into discrete interpolation.
Definition: tsequenceset.c:1328
TSequenceSet * tsequence_to_tsequenceset(const TSequence *seq)
Return a temporal sequence transformed into a temporal sequence set.
Definition: tsequenceset.c:1356
Datum * set_values(const Set *s)
Return the array of values of a set.
Definition: set.c:988
bool set_value_n(const Set *s, int n, Datum *result)
Return the n-th value of a set.
Definition: set.c:891
Datum set_start_value(const Set *s)
Return the start value of a set.
Definition: set.c:754
Datum set_end_value(const Set *s)
Return the end value of a set.
Definition: set.c:820
Set * set_copy(const Set *s)
Return a copy of a set.
Definition: set.c:589
double distance_set_set(const Set *s1, const Set *s2)
Return the distance between two sets.
Definition: set_ops.c:1474
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.
Definition: set_ops.c:690
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.
Definition: set_ops.c:986
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.
Definition: set_ops.c:537
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.
Definition: set_ops.c:843
bool overlaps_set_set(const Set *s1, const Set *s2)
Return true if the sets overlap.
Definition: set_ops.c:368
bool contains_set_set(const Set *s1, const Set *s2)
Return true if the first set contains the second one.
Definition: set_ops.c:251
bool contained_set_set(const Set *s1, const Set *s2)
Return true if a set is contained by the second one.
Definition: set_ops.c:352
bool tpoint_always_eq(const Temporal *temp, Datum value)
Return true if a temporal point is always equal to a point.
Definition: tpoint_spatialfuncs.c:887
meosType
Enumeration that defines the built-in and temporal types used in MobilityDB.
Definition: meos_catalog.h:53
interpType
Enumeration that defines the interpolation types used in MobilityDB.
Definition: meos.h:124
TSequence * tdiscseq_to_tsequence(const TSequence *seq, interpType interp)
Temporal * tgt_temporal_base(const Temporal *temp, Datum base, meosType basetype)
Temporal * tdiscseq_merge(const TSequence *is1, const TSequence *is2)
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.
Definition: temporal_tile.c:874
bool intersection_value_value(Datum d1, Datum d2, meosType basetype, Datum *result)
bool overright_number_tnumber(Datum number, meosType basetype, const Temporal *tnumber)
bool overlaps_number_tnumber(Datum number, meosType basetype, const Temporal *tnumber)
int tdiscseq_cmp(const TSequence *is1, const TSequence *is2)
bool adjacent_number_tnumber(Datum number, meosType basetype, const Temporal *tnumber)
bool tdiscseq_eq(const TSequence *is1, const TSequence *is2)
TSequence * tcontseq_at_period(const TSequence *seq, const Span *p)
Restrict a continuous temporal sequence to a period.
Definition: tsequence.c:4985
bool tpointdiscseq_is_simple(const TSequence *seq)
double distance_value_set(Datum d, meosType basetype, const Set *s)
void tsequence_expand_bbox(TSequence *seq, const TInstant *inst)
Expand the bounding box of a temporal sequence with an additional instant.
Definition: temporal_boxops.c:341
bool left_tnumber_number(const Temporal *tnumber, Datum number, meosType basetype)
void tstzset_set_period(const Set *ts, Span *p)
Temporal * tne_base_temporal(Datum base, meosType basetype, const Temporal *temp)
bool left_number_tnumber(Datum number, meosType basetype, const Temporal *tnumber)
size_t * tsequence_offsets_ptr(const TSequence *seq)
Return a pointer to the offsets array of a temporal sequence.
Definition: tsequence.c:764
bool right_number_tnumber(Datum number, meosType basetype, const Temporal *tnumber)
size_t * set_offsets_ptr(const Set *s)
Return a pointer to the offsets array of a set.
Definition: set.c:349
Set * union_value_value(Datum d1, Datum d2, meosType basetype)
uint32 tdiscseq_hash(const TSequence *seq)
bool right_tnumber_number(const Temporal *tnumber, Datum number, meosType basetype)
Temporal * tge_temporal_base(const Temporal *temp, Datum base, meosType basetype)
bool minus_value_value(Datum d1, Datum d2, meosType basetype, Datum *result)
Temporal * tle_base_temporal(Datum base, meosType basetype, const Temporal *temp)
TSequence * tnumberseq_derivative(const TSequence *seq)
Temporal * teq_base_temporal(Datum base, meosType basetype, const Temporal *temp)
bool overlaps_value_spanset(Datum d, meosType basetype, const SpanSet *ss)
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.
Definition: temporal_tile.c:1383
TSequence * tdiscseq_in(const char *str, meosType temptype)
bool contains_number_tnumber(Datum number, meosType basetype, const Temporal *tnumber)
bool overright_tnumber_number(const Temporal *tnumber, Datum number, meosType basetype)
void geoarr_set_stbox(const Datum *values, int count, STBox *box)
Set the spatiotemporal box from an array of geometries/geographies.
Definition: stbox.c:509
bool overleft_number_tnumber(Datum number, meosType basetype, const Temporal *tnumber)
void set_expand_bbox(Datum d, meosType basetype, void *box)
Set a bounding box from an array of set values.
Definition: set.c:311
bool overlaps_value_span(Datum d, meosType basetype, const Span *s)
bool adjacent_tnumber_number(const Temporal *tnumber, Datum number, meosType basetype)
Temporal * teq_temporal_base(const Temporal *temp, Datum base, meosType basetype)
void * set_bbox_ptr(const Set *s)
Return a pointer to the bounding box of a temporal sequence.
Definition: set.c:340
bool contained_number_tnumber(Datum number, meosType basetype, const Temporal *tnumber)
Temporal * tne_temporal_base(const Temporal *temp, Datum base, meosType basetype)
int tstepseq_to_linear1(const TSequence *seq, TSequence **result)
Return a temporal sequence with continuous base type transformed from step to linear interpolation.
Definition: tsequence.c:1873
bool same_number_tnumber(Datum number, meosType basetype, const Temporal *tnumber)
bool contains_tnumber_number(const Temporal *tnumber, Datum number, meosType basetype)
bool same_tnumber_number(const Temporal *tnumber, Datum number, meosType basetype)
TSequence * tcontseq_delete_periodset(const TSequence *seq, const SpanSet *ps)
Delete a period set from a continuous temporal sequence.
Definition: tsequence.c:5536
TSequenceSet * tnumberseqset_derivative(const TSequenceSet *ts)
bool overlaps_span_value(const Span *s, Datum d, meosType basetype)
Temporal * tge_base_temporal(Datum base, meosType basetype, const Temporal *temp)
bool contained_tnumber_number(const Temporal *tnumber, Datum number, meosType basetype)
Temporal * tgt_base_temporal(Datum base, meosType basetype, const Temporal *temp)
Interval * tsequenceset_timespan(const TSequenceSet *ss)
Span * tfloatseqset_span(const TSequenceSet *ss)
void tsequenceset_expand_bbox(TSequenceSet *ss, const TSequence *seq)
Expand the bounding box of a temporal sequence set with an additional sequence.
Definition: temporal_boxops.c:371
int minus_span_span1(const Span *s1, const Span *s2, Span **result)
Return the difference of the two spans.
Definition: span_ops.c:1297
bool overleft_tnumber_number(const Temporal *tnumber, Datum number, meosType basetype)
bool overlaps_tnumber_number(const Temporal *tnumber, Datum number, meosType basetype)
Temporal * tcontseq_insert(const TSequence *seq1, const TSequence *seq2)
Insert the second temporal value into the first one.
Definition: tsequence.c:5276
Temporal * tle_temporal_base(const Temporal *temp, Datum base, meosType basetype)
bool overlaps_spanset_value(const SpanSet *ss, Datum d, meosType basetype)
TSequenceSet * tsequenceset_insert(const TSequenceSet *ss1, const TSequenceSet *ss2)
Insert the second temporal value into the first one.
Definition: tsequenceset.c:2721
int minus_span_value1(const Span *s, Datum d, meosType basetype, Span **result)
Return the difference of a span and a value.
Definition: span_ops.c:1185
Temporal * tlt_temporal_base(const Temporal *temp, Datum base, meosType basetype)
Temporal * tlt_base_temporal(Datum base, meosType basetype, const Temporal *temp)
TInstant * tcontseq_at_timestamp(const TSequence *seq, TimestampTz t)
Restrict a temporal continuous sequence to a timestamp.
Definition: tsequence.c:4639
set(MOBILITYDB_MODULE_PATHNAME "$libdir/lib${MOBILITYDB_LIB_NAME}") set(extschema "@extschema@") configure_file(mobilitydb.control $
Definition: CMakeLists.txt:1
int64 TimestampTz
Definition: pg_ext_defs.in.h:19
unsigned int uint32
Definition: pg_ext_defs.in.h:13
uintptr_t Datum
Definition: pg_ext_defs.in.h:4
signed int int32
Definition: pg_ext_defs.in.h:8
unsigned long int uint64
Definition: pg_ext_defs.in.h:14
long int int64
Definition: pg_ext_defs.in.h:9
Definition: postgis_ext_defs.in.h:34
Definition: postgis_ext_defs.in.h:48
Definition: postgis_ext_defs.in.h:139
Definition: pg_ext_defs.in.h:24
Structure to represent spatiotemporal boxes.
Definition: meos.h:107
API of the Mobility Engine Open Source (MEOS) library.
Definition: meos.h:56
Structure to represent span sets.
Definition: meos.h:83
Structure to represent spans (a.k.a.
Definition: meos.h:70
Structure to represent temporal boxes.
Definition: meos.h:97
Structure to represent temporal values of instant subtype.
Definition: meos.h:148
Structure to represent temporal values of sequence set subtype.
Definition: meos.h:186
Structure to represent temporal values of instant set or sequence subtype.
Definition: meos.h:165
Structure to represent the common structure of temporal values of any temporal subtype.
Definition: meos.h:136