MobilityDB 1.3
Loading...
Searching...
No Matches
Functions
temporal_modif.c File Reference

Modification functions for temporal values. More...

#include <assert.h>
#include <postgres.h>
#include <utils/timestamp.h>
#include <meos.h>
#include <meos_internal.h>
#include <meos_internal_geo.h>
#include "temporal/postgres_types.h"
#include "temporal/set.h"
#include "temporal/span.h"
#include "temporal/spanset.h"
#include "temporal/temporal_boxops.h"
#include "temporal/temporal_restrict.h"
#include "temporal/tsequence.h"
#include "temporal/tsequenceset.h"
#include "temporal/type_parser.h"
#include "temporal/type_util.h"
#include "geo/tgeo_spatialfuncs.h"
#include "geo/tspatial_parser.h"

Functions

GSERIALIZEDgeoarr_merge (GSERIALIZED **gsarr, int count)
 Merge two temporal instants. More...
 
TSequencetcontseq_delete_timestamptz (const TSequence *seq, TimestampTz t)
 Delete a timestamp from a continuous temporal sequence. More...
 
TSequencetcontseq_delete_tstzset (const TSequence *seq, const Set *s)
 Delete a timestamptz from a continuous temporal sequence. More...
 
TSequencetcontseq_delete_tstzspan (const TSequence *seq, const Span *s)
 Delete a timestamptz span from a continuous temporal sequence. More...
 
TSequencetcontseq_delete_tstzspanset (const TSequence *seq, const SpanSet *ss)
 Delete a timestamptz span set from a continuous temporal sequence. More...
 
Temporaltcontseq_insert (const TSequence *seq1, const TSequence *seq2)
 Insert the second temporal value into the first one. More...
 
static TSequence ** tcontseq_merge_array_iter (const TSequence **sequences, int count, int *totalcount)
 Merge an array of temporal sequences. More...
 
Temporaltdiscseq_merge_array (const TSequence **sequences, int count)
 Merge an array of temporal discrete sequences. More...
 
Temporaltemporal_append_tinstant (Temporal *temp, const TInstant *inst, interpType interp, double maxdist, const Interval *maxt, bool expand)
 Append an instant to a temporal value. More...
 
Temporaltemporal_append_tsequence (Temporal *temp, const TSequence *seq, bool expand)
 Append a sequence to a temporal value. More...
 
static void temporal_convert_same_subtype (const Temporal *temp1, const Temporal *temp2, Temporal **out1, Temporal **out2)
 Return two temporal values transformed into a common subtype. More...
 
Temporaltemporal_delete_timestamptz (const Temporal *temp, TimestampTz t, bool connect)
 Delete a timestamp from a temporal value. More...
 
Temporaltemporal_delete_tstzset (const Temporal *temp, const Set *s, bool connect)
 Delete a timestamp set from a temporal value connecting the instants before and after the given timestamp, if any. More...
 
Temporaltemporal_delete_tstzspan (const Temporal *temp, const Span *s, bool connect)
 Delete a timestamptz span from a temporal value. More...
 
Temporaltemporal_delete_tstzspanset (const Temporal *temp, const SpanSet *ss, bool connect)
 Delete a timestamptz span set from a temporal value. More...
 
Temporaltemporal_insert (const Temporal *temp1, const Temporal *temp2, bool connect)
 Insert the second temporal value into the first one. More...
 
Temporaltemporal_merge (const Temporal *temp1, const Temporal *temp2)
 Merge two temporal values. More...
 
Temporaltemporal_merge_array (const Temporal **temparr, int count)
 Merge an array of temporal values. More...
 
Temporaltemporal_update (const Temporal *temp1, const Temporal *temp2, bool connect)
 Update the first temporal value with the second one. More...
 
static Temporal ** temporalarr_convert_subtype (const Temporal **temparr, int count, uint8 subtype, interpType interp)
 Return an array of temporal values transformed into a common subtype. More...
 
TInstant ** tgeoinst_merge_array_iter (const TInstant **instants, int count, int *newcount)
 Merge an array of temporal geo instants performing a spatial union of the values that have the same timestamp (iterator function) More...
 
static TSequence ** tgeoseq_merge_array_iter (const TSequence **sequences, int count, int *totalcount)
 Merge an array of temporal geo sequences (iterator function) More...
 
Temporaltinstant_merge (const TInstant *inst1, const TInstant *inst2)
 Merge two temporal instants. More...
 
Temporaltinstant_merge_array (const TInstant **instants, int count)
 Merge an array of temporal instants. More...
 
TInstant ** tinstant_merge_array_iter (const TInstant **instants, int count, int *newcount)
 Merge an array of temporal instants (iterator function) More...
 
Temporaltsequence_append_tinstant (TSequence *seq, const TInstant *inst, double maxdist, const Interval *maxt, bool expand)
 Append an instant to a temporal sequence accounting for potential gaps. More...
 
Temporaltsequence_append_tsequence (const TSequence *seq1, const TSequence *seq2, bool expand UNUSED)
 Append a sequence to a temporal sequence. More...
 
Temporaltsequence_delete_timestamptz (const TSequence *seq, TimestampTz t, bool connect)
 Delete a timestamptz from a temporal value. More...
 
Temporaltsequence_delete_tstzset (const TSequence *seq, const Set *s, bool connect)
 Delete a timestamptz set from a temporal value. More...
 
Temporaltsequence_delete_tstzspan (const TSequence *seq, const Span *s, bool connect)
 Delete a timestamptz span from a temporal sequence. More...
 
Temporaltsequence_delete_tstzspanset (const TSequence *seq, const SpanSet *ss, bool connect)
 Delete a timestamptz span set from a temporal value. More...
 
Temporaltsequence_insert (const TSequence *seq1, const TSequence *seq2, bool connect)
 Insert the second temporal value into the first one. 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...
 
TSequenceSettsequenceset_append_tinstant (TSequenceSet *ss, const TInstant *inst, double maxdist, const Interval *maxt, bool expand)
 Append an instant to a temporal sequence set. More...
 
TSequenceSettsequenceset_append_tsequence (TSequenceSet *ss, const TSequence *seq, bool expand)
 Append a sequence to a temporal sequence set. More...
 
TSequenceSettsequenceset_delete_timestamptz (const TSequenceSet *ss, TimestampTz t)
 Delete a timestamptz from a temporal sequence set. More...
 
TSequenceSettsequenceset_delete_tstzset (const TSequenceSet *ss, const Set *s)
 Delete a timestamptz span from a temporal sequence set. More...
 
TSequenceSettsequenceset_delete_tstzspan (const TSequenceSet *ss, const Span *s)
 Delete a timestamptz span from a temporal sequence set. More...
 
TSequenceSettsequenceset_delete_tstzspanset (const TSequenceSet *ss, const SpanSet *ps)
 Delete a timestamptz span from a temporal sequence set. More...
 
TSequenceSettsequenceset_insert (const TSequenceSet *ss1, const TSequenceSet *ss2)
 Insert the second temporal value into the first one. More...
 
TSequenceSettsequenceset_merge (const TSequenceSet *ss1, const TSequenceSet *ss2)
 Merge two temporal sequence sets. More...
 
TSequenceSettsequenceset_merge_array (const TSequenceSet **seqsets, int count)
 Merge an array of temporal sequence sets. More...
 

Detailed Description

Modification functions for temporal values.