![]() |
MobilityDB 1.3
|
Restriction functions for temporal values. More...
#include "temporal/temporal_restrict.h"
#include <assert.h>
#include <math.h>
#include <postgres.h>
#include <utils/float.h>
#include <utils/timestamp.h>
#include <common/hashfn.h>
#include <meos.h>
#include <meos_internal.h>
#include <meos_internal_geo.h>
#include "temporal/doublen.h"
#include "temporal/set.h"
#include "temporal/span.h"
#include "temporal/spanset.h"
#include "temporal/tinstant.h"
#include "temporal/temporal_boxops.h"
#include "temporal/tsequence.h"
#include "temporal/tsequenceset.h"
#include "temporal/type_util.h"
#include "temporal/type_parser.h"
#include "geo/tgeo_spatialfuncs.h"
#include "geo/tspatial_parser.h"
Functions | |
TInstant * | tcontseq_at_timestamptz (const TSequence *seq, TimestampTz t) |
Restrict a temporal continuous sequence to a timestamptz. More... | |
TSequence * | tcontseq_at_tstzset (const TSequence *seq, const Set *s) |
Restrict a temporal sequence to a timestamptz set. More... | |
TSequence * | tcontseq_at_tstzspan (const TSequence *seq, const Span *s) |
Restrict a continuous temporal sequence to a timestamptz span. More... | |
int | tcontseq_at_tstzspanset1 (const TSequence *seq, const SpanSet *ss, TSequence **result) |
Restrict a temporal sequence to a timestamptz span set. More... | |
int | tcontseq_minus_timestamp_iter (const TSequence *seq, TimestampTz t, TSequence **result) |
Restrict a temporal sequence to the complement of a timestamptz (iterator function) More... | |
TSequenceSet * | tcontseq_minus_timestamptz (const TSequence *seq, TimestampTz t) |
Restrict a temporal sequence to the complement of a timestamptz. More... | |
TSequenceSet * | tcontseq_minus_tstzset (const TSequence *seq, const Set *s) |
Restrict a temporal sequence to the complement of a timestamptz set. More... | |
int | tcontseq_minus_tstzset_iter (const TSequence *seq, const Set *s, TSequence **result) |
Restrict a temporal sequence to the complement of a timestamptz set (iterator function) More... | |
TSequenceSet * | tcontseq_minus_tstzspan (const TSequence *seq, const Span *s) |
Restrict a temporal sequence to the complement of a timestamptz span. More... | |
int | tcontseq_minus_tstzspan_iter (const TSequence *seq, const Span *s, TSequence **result) |
Restrict a temporal sequence to the complement of a timestamptz span (iterator function) More... | |
int | tcontseq_minus_tstzspanset_iter (const TSequence *seq, const SpanSet *ss, TSequence **result) |
Restrict a temporal sequence to the complement of a timestamptz span set (iterator function) More... | |
TSequenceSet * | tcontseq_restrict_minmax (const TSequence *seq, bool min, bool atfunc) |
Restrict a temporal continuous sequence to (the complement of) its minimum/maximum base value. More... | |
TSequenceSet * | tcontseq_restrict_tstzspanset (const TSequence *seq, const SpanSet *ss, bool atfunc) |
Restrict a temporal sequence to (the complement of) a timestamptz span set. More... | |
TSequenceSet * | tcontseq_restrict_value (const TSequence *seq, Datum value, bool atfunc) |
Restrict a temporal sequence to (the complement of) a base value. More... | |
int | tcontseq_restrict_value_iter (const TSequence *seq, Datum value, bool atfunc, TSequence **result) |
Restrict a temporal sequence to (the complement of) a base value (iterator function) More... | |
TSequenceSet * | tcontseq_restrict_values (const TSequence *seq, const Set *s, bool atfunc) |
Restrict a temporal sequence to (the complement of) a set of base values. More... | |
TInstant * | tdiscseq_at_timestamptz (const TSequence *seq, TimestampTz t) |
Restrict a temporal discrete sequence to (the complement of) a timestamptz. More... | |
TSequence * | tdiscseq_minus_timestamptz (const TSequence *seq, TimestampTz t) |
Restrict a temporal discrete sequence to (the complement of) a timestamptz. More... | |
TSequence * | tdiscseq_restrict_minmax (const TSequence *seq, bool min, bool atfunc) |
Restrict a temporal discrete sequence to (the complement of) its minimum/maximum base value. More... | |
TSequence * | tdiscseq_restrict_tstzset (const TSequence *seq, const Set *s, bool atfunc) |
Restrict a temporal discrete sequence to (the complement of) a timestamptz set. More... | |
TSequence * | tdiscseq_restrict_tstzspan (const TSequence *seq, const Span *s, bool atfunc) |
Restrict a temporal discrete sequence to (the complement of) a timestamptz span. More... | |
TSequence * | tdiscseq_restrict_tstzspanset (const TSequence *seq, const SpanSet *ss, bool atfunc) |
Restrict a discrete temporal sequence to (the complement of) a timestamptz span set. More... | |
TSequence * | tdiscseq_restrict_value (const TSequence *seq, Datum value, bool atfunc) |
Restrict a temporal discrete sequence to (the complement of) a base value. More... | |
TSequence * | tdiscseq_restrict_values (const TSequence *seq, const Set *s, bool atfunc) |
Restrict a temporal discrete sequence to (the complement of) an array of base values. More... | |
bool | tdiscseq_value_at_timestamptz (const TSequence *seq, TimestampTz t, Datum *result) |
Return in the last argument the value of a temporal discrete sequence at a timestamptz. More... | |
bool | temporal_bbox_restrict_set (const Temporal *temp, const Set *s) |
Return true if the bounding boxes of a temporal value and a set overlap. More... | |
bool | temporal_bbox_restrict_value (const Temporal *temp, Datum value) |
Return true if the bounding box of a temporal value contains a base value. More... | |
Temporal * | temporal_restrict_minmax (const Temporal *temp, bool min, bool atfunc) |
Restrict a temporal value to (the complement of) a minimum base value. More... | |
Temporal * | temporal_restrict_timestamptz (const Temporal *temp, TimestampTz t, bool atfunc) |
Restrict a temporal value to a timestamp. More... | |
Temporal * | temporal_restrict_tstzset (const Temporal *temp, const Set *s, bool atfunc) |
Restrict a temporal value to (the complement of) a timestamp set. More... | |
Temporal * | temporal_restrict_tstzspan (const Temporal *temp, const Span *s, bool atfunc) |
Restrict a temporal value to (the complement of) a timestamptz span. More... | |
Temporal * | temporal_restrict_tstzspanset (const Temporal *temp, const SpanSet *ss, bool atfunc) |
Restrict a temporal value to (the complement of) a span set. More... | |
Temporal * | temporal_restrict_value (const Temporal *temp, Datum value, bool atfunc) |
Restrict a temporal value to (the complement of) a base value. More... | |
Temporal * | temporal_restrict_values (const Temporal *temp, const Set *s, bool atfunc) |
Restrict a temporal value to (the complement of) a set of base values. More... | |
bool | temporal_value_at_timestamptz (const Temporal *temp, TimestampTz t, bool strict, Datum *result) |
Return in the last argument a copy of the value of a temporal value at a timestamptz. More... | |
TInstant * | tinstant_restrict_timestamptz (const TInstant *inst, TimestampTz t, bool atfunc) |
Restrict a temporal instant to (the complement of) a timestamptz. More... | |
TInstant * | tinstant_restrict_tstzset (const TInstant *inst, const Set *s, bool atfunc) |
Restrict a temporal instant to (the complement of) a timestamptz set. More... | |
bool | tinstant_restrict_tstzset_test (const TInstant *inst, const Set *s, bool atfunc) |
Return true if a temporal instant satisfies the restriction to (the complement of) a timestamptz set. More... | |
TInstant * | tinstant_restrict_tstzspan (const TInstant *inst, const Span *s, bool atfunc) |
Restrict a temporal instant to (the complement of) a timestamptz span. More... | |
TInstant * | tinstant_restrict_tstzspanset (const TInstant *inst, const SpanSet *ss, bool atfunc) |
Restrict a temporal instant to (the complement of) a span set. More... | |
bool | tinstant_restrict_tstzspanset_test (const TInstant *inst, const SpanSet *ss, bool atfunc) |
Return true if a temporal instant satisfies the restriction to (the complement of) a timestamptz set. More... | |
TInstant * | tinstant_restrict_value (const TInstant *inst, Datum value, bool atfunc) |
Restrict a temporal instant to (the complement of) a base value. More... | |
TInstant * | tinstant_restrict_values (const TInstant *inst, const Set *s, bool atfunc) |
Restrict a temporal instant to a set of base values. More... | |
bool | tinstant_restrict_values_test (const TInstant *inst, const Set *s, bool atfunc) |
Return true if a temporal instant satisfies the restriction to (the complement of) a set of base values. More... | |
Temporal * | tnumber_at_tbox (const Temporal *temp, const TBox *box) |
Return a temporal number restricted to a temporal box. More... | |
bool | tnumber_bbox_restrict_span (const Temporal *temp, const Span *s) |
Return true if the bounding box of the temporal number overlaps the span of base values. More... | |
Temporal * | tnumber_minus_tbox (const Temporal *temp, const TBox *box) |
Return a temporal number restricted to the complement of a temporal box. More... | |
Temporal * | tnumber_restrict_span (const Temporal *temp, const Span *s, bool atfunc) |
Restrict a temporal value to (the complement of) a span of base values. More... | |
Temporal * | tnumber_restrict_spanset (const Temporal *temp, const SpanSet *ss, bool atfunc) |
Restrict a temporal value to (the complement of) a span set. More... | |
TInstant * | tnumberinst_restrict_span (const TInstant *inst, const Span *s, bool atfunc) |
Restrict a temporal number instant to (the complement of) a span of base values. More... | |
bool | tnumberinst_restrict_span_test (const TInstant *inst, const Span *s, bool atfunc) |
Return true if a temporal number instant satisfies the restriction to (the complement of) a span of base values. More... | |
TInstant * | tnumberinst_restrict_spanset (const TInstant *inst, const SpanSet *ss, bool atfunc) |
Restrict a temporal number instant to (the complement of) a span set. More... | |
bool | tnumberinst_restrict_spanset_test (const TInstant *inst, const SpanSet *ss, bool atfunc) |
Return true if a temporal number satisfies the restriction to (the complement of) an array of spans of base values. More... | |
static int | tnumbersegm_restrict_span (const TInstant *inst1, const TInstant *inst2, interpType interp, bool lower_inc, bool upper_inc, const Span *s, bool atfunc, TSequence **result) |
Restrict a segment of a temporal number to (the complement of) a span. More... | |
TSequenceSet * | tnumberseq_cont_restrict_span (const TSequence *seq, const Span *s, bool atfunc) |
Restrict a temporal sequence number to (the complement of) a span. More... | |
int | tnumberseq_cont_restrict_span_iter (const TSequence *seq, const Span *s, bool atfunc, TSequence **result) |
Restrict a temporal number to (the complement of) a span (iterator function) More... | |
TSequenceSet * | tnumberseq_cont_restrict_spanset (const TSequence *seq, const SpanSet *ss, bool atfunc) |
Restrict a temporal number to (the complement of) an array of spans. More... | |
int | tnumberseq_cont_restrict_spanset_iter (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 (iterator function) More... | |
TSequence * | tnumberseq_disc_restrict_span (const TSequence *seq, const Span *s, bool atfunc) |
Restrict a temporal discrete number sequence to (the complement of) a span of base values. More... | |
TSequence * | tnumberseq_disc_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... | |
TSequenceSet * | tnumberseqset_restrict_span (const TSequenceSet *ss, const Span *s, bool atfunc) |
Restrict a temporal number to a span of base values. More... | |
TSequenceSet * | tnumberseqset_restrict_spanset (const TSequenceSet *ss, const SpanSet *sps, bool atfunc) |
Restrict a temporal number to (the complement of) an array of spans of base values. More... | |
TInstant * | tsegment_at_timestamptz (const TInstant *inst1, const TInstant *inst2, interpType interp, TimestampTz t) |
Restrict the segment of a temporal sequence to a timestamptz. 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... | |
TInstant * | tsequence_at_timestamptz (const TSequence *seq, TimestampTz t) |
Restrict a temporal sequence to a timestamptz. More... | |
int | tsequence_at_values_iter (const TSequence *seq, const Set *set, TSequence **result) |
Restrict a temporal sequence to a set of base values (iterator function) More... | |
Temporal * | tsequence_restrict_tstzspan (const TSequence *seq, const Span *s, bool atfunc) |
Restrict a temporal value to (the complement of) a timestamptz span. More... | |
Temporal * | tsequence_restrict_tstzspanset (const TSequence *seq, const SpanSet *ss, bool atfunc) |
Restrict a temporal sequence to (the complement of) a timestamptz span set. More... | |
TSequenceSet * | tsequenceset_restrict_minmax (const TSequenceSet *ss, bool min, bool atfunc) |
Restrict a temporal sequence set to (the complement of) its minimum/maximum base value. More... | |
Temporal * | tsequenceset_restrict_timestamptz (const TSequenceSet *ss, TimestampTz t, bool atfunc) |
Restrict a temporal sequence set to (the complement of) a timestamptz. More... | |
Temporal * | tsequenceset_restrict_tstzset (const TSequenceSet *ss, const Set *s, bool atfunc) |
Restrict a temporal sequence set to (the complement of) a timestamptz set. More... | |
TSequenceSet * | tsequenceset_restrict_tstzspan (const TSequenceSet *ss, const Span *s, bool atfunc) |
Restrict a temporal sequence set to (the complement of) a timestamptz span. More... | |
TSequenceSet * | tsequenceset_restrict_tstzspanset (const TSequenceSet *ss, const SpanSet *ps, bool atfunc) |
Restrict a temporal sequence set to (the complement of) a timestamptz span set. More... | |
TSequenceSet * | tsequenceset_restrict_value (const TSequenceSet *ss, Datum value, bool atfunc) |
Restrict a temporal sequence set to (the complement of) a base value. More... | |
TSequenceSet * | tsequenceset_restrict_values (const TSequenceSet *ss, const Set *s, bool atfunc) |
Restrict a temporal sequence set to (the complement of) an array of base values. More... | |
Restriction functions for temporal values.