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

Operators for span types. More...

#include <assert.h>
#include <float.h>
#include <math.h>
#include <postgres.h>
#include <utils/timestamp.h>
#include <meos.h>
#include <meos_internal.h>
#include "temporal/span.h"
#include "temporal/temporal.h"
#include "temporal/type_util.h"

Functions

bool adjacent_span_span (const Span *s1, const Span *s2)
 Return true if two spans are adjacent. More...
 
bool adjacent_span_value (const Span *s, Datum value)
 Return true if a span and a value are adjacent. More...
 
void bbox_union_span_span (const Span *s1, const Span *s2, Span *result)
 Return in the last argument the bounding box union of two spans. More...
 
bool contained_span_span (const Span *s1, const Span *s2)
 Return true if the first span is contained in the second one. More...
 
bool contained_value_span (Datum value, const Span *s)
 Return true if a value is contained in a span. More...
 
bool contains_span_span (const Span *s1, const Span *s2)
 Return true if the first span contains the second one. More...
 
bool contains_span_timestamptz (const Span *s, TimestampTz t)
 Return true if a span contains a timestamptz. More...
 
bool contains_span_value (const Span *s, Datum value)
 Return true if a span contains a value. More...
 
double dist_double_value_value (Datum l, Datum r, meosType type)
 Return the distance between two values as a double for the indexes. More...
 
Datum distance_span_span (const Span *s1, const Span *s2)
 Return the distance between two spans as a double. More...
 
Datum distance_span_value (const Span *s, Datum value)
 Return the distance between a span and a value as a double. More...
 
Datum distance_value_value (Datum l, Datum r, meosType type)
 Return the distance between two values. More...
 
bool inter_span_span (const Span *s1, const Span *s2, Span *result)
 Return in the last argument the intersection of two spans. More...
 
Spanintersection_span_span (const Span *s1, const Span *s2)
 Return the intersection of two spans. More...
 
Spanintersection_span_value (const Span *s, Datum value)
 Return the intersection of a span and a value. More...
 
Spanintersection_value_span (Datum value, const Span *s)
 Return the union of a value and a span. More...
 
bool left_span_span (const Span *s1, const Span *s2)
 Return true if the first span is to the left of the second one. More...
 
bool left_span_value (const Span *s, Datum value)
 Return true if a span is to the left of a value. More...
 
bool left_value_span (Datum value, const Span *s)
 Return true if a value is to the left of a span. More...
 
bool lfnadj_span_span (const Span *s1, const Span *s2)
 Return true if the first span is to the left and not adjacent to the second one. More...
 
int mi_span_span (const Span *s1, const Span *s2, Span *result)
 Return in the last argument the difference of two spans. More...
 
int mi_span_value (const Span *s, Datum value, Span *result)
 Return in the last argument the difference of a span and a value. More...
 
SpanSetminus_span_span (const Span *s1, const Span *s2)
 Return the difference of two spans. More...
 
SpanSetminus_span_value (const Span *s, Datum value)
 Return the difference of a span and a value. More...
 
SpanSetminus_value_span (Datum value, const Span *s)
 Return the difference of a value and a span. More...
 
bool ovadj_span_span (const Span *s1, const Span *s2)
 Return true if two spans overlap or are adjacent. More...
 
bool overlaps_span_span (const Span *s1, const Span *s2)
 Return true if two spans overlap. More...
 
bool overleft_span_span (const Span *s1, const Span *s2)
 Return true if the first span does not extend to the right of the second one. More...
 
bool overleft_span_value (const Span *s, Datum value)
 Return true if a span does not extend to the right of a value. More...
 
bool overleft_value_span (Datum value, const Span *s)
 Return true if a value does not extend to the right of a span. More...
 
bool overright_span_span (const Span *s1, const Span *s2)
 Return true if the first span does not extend to the left of the second one. More...
 
bool overright_span_value (const Span *s, Datum value)
 Return true if a span does not extend to the left of a value. More...
 
bool overright_value_span (Datum value, const Span *s)
 Return true if a value does not extend to the left of a span. More...
 
bool right_span_span (const Span *s1, const Span *s2)
 Return true if the first span is to right the of the second one. More...
 
bool right_span_value (const Span *s, Datum value)
 Return true if a span is to the right of a value. More...
 
bool right_value_span (Datum value, const Span *s)
 Return true if a value is to the right of a span. More...
 
Datum span_max_value (Datum l, Datum r, meosType type)
 Return the maximum value of two span base values. More...
 
Datum span_min_value (Datum l, Datum r, meosType type)
 Return the minimum value of two span base values. More...
 
Spansuper_union_span_span (const Span *s1, const Span *s2)
 Return the bounding union of two spans. More...
 
SpanSetunion_span_span (const Span *s1, const Span *s2)
 Return the union of two spans. More...
 
SpanSetunion_span_value (const Span *s, Datum value)
 Return the union of a span and a value. More...
 
SpanSetunion_value_span (Datum value, const Span *s)
 Return the union of a value and a span. More...
 

Detailed Description

Operators for span types.