MobilityDB 1.3
Loading...
Searching...
No Matches
Functions
span_ops_meos.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_bigint (const Span *s, int64 i)
 Return true if a span and a big integer are adjacent. More...
 
bool adjacent_span_date (const Span *s, DateADT d)
 Return true if a span and a date are adjacent. More...
 
bool adjacent_span_float (const Span *s, double d)
 Return true if a span and a float are adjacent. More...
 
bool adjacent_span_int (const Span *s, int i)
 Return true if a span and an integer are adjacent. More...
 
bool adjacent_span_timestamptz (const Span *s, TimestampTz t)
 Return true if a span and a timestamptz are adjacent. More...
 
bool after_date_span (DateADT d, const Span *s)
 Return true if a date is after a span. More...
 
bool after_span_date (const Span *s, DateADT d)
 Return true if a span is after a date. More...
 
bool after_span_timestamptz (const Span *s, TimestampTz t)
 Return true if a span is after a timestamptz. More...
 
bool after_timestamptz_span (TimestampTz t, const Span *s)
 Return true if a timestamptz is after a span. More...
 
bool before_date_span (DateADT d, const Span *s)
 Return true if a date is before a span. More...
 
bool before_span_date (const Span *s, DateADT d)
 Return true if a span is before a date. More...
 
bool before_span_timestamptz (const Span *s, TimestampTz t)
 Return true if a span is before a timestamptz. More...
 
bool before_timestamptz_span (TimestampTz t, const Span *s)
 Return true if a timestamptz is before a span. More...
 
bool contained_bigint_span (int64 i, const Span *s)
 Return true if a big integer is contained in a span. More...
 
bool contained_date_span (DateADT d, const Span *s)
 Return true if a date is contained in a span. More...
 
bool contained_float_span (double d, const Span *s)
 Return true if a float is contained in a span. More...
 
bool contained_int_span (int i, const Span *s)
 Return true if an integer is contained in a span. More...
 
bool contained_timestamptz_span (TimestampTz t, const Span *s)
 Return true if a timestamp is contained in a span. More...
 
bool contains_span_bigint (const Span *s, int64 i)
 Return true if a span contains a big integer. More...
 
bool contains_span_date (const Span *s, DateADT d)
 Return true if a span contains a date. More...
 
bool contains_span_float (const Span *s, double d)
 Return true if a span contains a float. More...
 
bool contains_span_int (const Span *s, int i)
 Return true if a span contains an integer. More...
 
int64 distance_bigintspan_bigintspan (const Span *s1, const Span *s2)
 Return the distance between two big integer spans. More...
 
int distance_datespan_datespan (const Span *s1, const Span *s2)
 Return the distance between two date spans. More...
 
double distance_floatspan_floatspan (const Span *s1, const Span *s2)
 Return the distance between two float spans. More...
 
int distance_intspan_intspan (const Span *s1, const Span *s2)
 Return the distance between two integer spans. More...
 
int64 distance_span_bigint (const Span *s, int64 i)
 Return the distance between a span and a big integer as a double. More...
 
int distance_span_date (const Span *s, DateADT d)
 Return the distance in days between a span and a date as a double. More...
 
double distance_span_float (const Span *s, double d)
 Return the distance between a span and a float. More...
 
int distance_span_int (const Span *s, int i)
 Return the distance between a span and an integer as a double. More...
 
double distance_span_timestamptz (const Span *s, TimestampTz t)
 Return the distance in seconds between a span and a timestamptz as a double. More...
 
double distance_tstzspan_tstzspan (const Span *s1, const Span *s2)
 Return the distance in seconds between two timestamptz spans. More...
 
Spanintersection_span_bigint (const Span *s, int64 i)
 Return the intersection of a span and a big integer. More...
 
Spanintersection_span_date (const Span *s, DateADT d)
 Return the intersection of a span and a date. More...
 
Spanintersection_span_float (const Span *s, double d)
 Return the intersection of a span and a float. More...
 
Spanintersection_span_int (const Span *s, int i)
 Return the intersection of a span and an integer. More...
 
Spanintersection_span_timestamptz (const Span *s, TimestampTz t)
 Return the intersection of a span and a timestamptz. More...
 
bool left_bigint_span (int64 i, const Span *s)
 Return true if a big integer is to the left of a span. More...
 
bool left_float_span (double d, const Span *s)
 Return true if a float is to the left of a span. More...
 
bool left_int_span (int i, const Span *s)
 Return true if an integer is to the left of a span. More...
 
bool left_span_bigint (const Span *s, int64 i)
 Return true if a span is to the left of a big integer. More...
 
bool left_span_float (const Span *s, double d)
 Return true if a span is to the left of a float. More...
 
bool left_span_int (const Span *s, int i)
 Return true if a span is to the left of an integer. More...
 
SpanSetminus_bigint_span (int64 i, const Span *s)
 Return the difference of a big integer and a span. More...
 
SpanSetminus_date_span (DateADT d, const Span *s)
 Return the difference of a date and a span. More...
 
SpanSetminus_float_span (double d, const Span *s)
 Return the difference of a float and a span. More...
 
SpanSetminus_int_span (int i, const Span *s)
 Return the difference of an integer and a span. More...
 
SpanSetminus_span_bigint (const Span *s, int64 i)
 Return the difference of a span and a big integer. More...
 
SpanSetminus_span_date (const Span *s, DateADT d)
 Return the difference of a span and a date. More...
 
SpanSetminus_span_float (const Span *s, double d)
 Return the difference of a span and a float. More...
 
SpanSetminus_span_int (const Span *s, int i)
 Return the difference of a span and an integer. More...
 
SpanSetminus_span_timestamptz (const Span *s, TimestampTz t)
 Return the difference of a span and a timestamptz. More...
 
SpanSetminus_timestamptz_span (TimestampTz t, const Span *s)
 Return the difference of a timestamptz and a span. More...
 
bool overafter_date_span (DateADT d, const Span *s)
 Return true if a date is not before a span. More...
 
bool overafter_span_date (const Span *s, DateADT d)
 Return true if a span is not before a date. More...
 
bool overafter_span_timestamptz (const Span *s, TimestampTz t)
 Return true if a span is not before a timestamptz. More...
 
bool overafter_timestamptz_span (TimestampTz t, const Span *s)
 Return true if a timestamptz is not before a span. More...
 
bool overbefore_date_span (DateADT d, const Span *s)
 Return true if a date is not after a span. More...
 
bool overbefore_span_date (const Span *s, DateADT d)
 Return true if a span is not after a date. More...
 
bool overbefore_span_timestamptz (const Span *s, TimestampTz t)
 Return true if a span is not after a timestamptz. More...
 
bool overbefore_timestamptz_span (TimestampTz t, const Span *s)
 Return true if a timestamptz is not after a span. More...
 
bool overleft_bigint_span (int64 i, const Span *s)
 Return true if a big integer does not extend to the right of a span. More...
 
bool overleft_float_span (double d, const Span *s)
 Return true if a float does not extend to the right of a span. More...
 
bool overleft_int_span (int i, const Span *s)
 Return true if an integer does not extend to the right of a span. More...
 
bool overleft_span_bigint (const Span *s, int64 i)
 Return true if a span does not extend to the right of a big integer. More...
 
bool overleft_span_float (const Span *s, double d)
 Return true if a span does not extend to the right of a float. More...
 
bool overleft_span_int (const Span *s, int i)
 Return true if a span does not extend to the right of an integer. More...
 
bool overright_bigint_span (int64 i, const Span *s)
 Return true if a big integer does not extend to the left of a span. More...
 
bool overright_float_span (double d, const Span *s)
 Return true if a float does not extend to the left of a span. More...
 
bool overright_int_span (int i, const Span *s)
 Return true if an integer does not extend to the left of a span. More...
 
bool overright_span_bigint (const Span *s, int64 i)
 Return true if a span does not extend to the left of a big integer. More...
 
bool overright_span_float (const Span *s, double d)
 Return true if a span does not extend to the left of a float. More...
 
bool overright_span_int (const Span *s, int i)
 Return true if a span does not extend to the left of an integer. More...
 
bool right_bigint_span (int64 i, const Span *s)
 Return true if a big integer is to the right of a span. More...
 
bool right_float_span (double d, const Span *s)
 Return true if a float is to the right of a span. More...
 
bool right_int_span (int i, const Span *s)
 Return true if an integer is to the right of a span. More...
 
bool right_span_bigint (const Span *s, int64 i)
 Return true if a span is to the right of a big integer. More...
 
bool right_span_float (const Span *s, double d)
 Return true if a span is to the right of a float. More...
 
bool right_span_int (const Span *s, int i)
 Return true if a span is to the right of an integer. More...
 
SpanSetunion_bigint_span (const Span *s, int64 i)
 Return the union of a big integer and a span. More...
 
SpanSetunion_date_span (const Span *s, DateADT d)
 Return the union of a date and a span. More...
 
SpanSetunion_float_span (const Span *s, double d)
 Return the union of a float and a span. More...
 
SpanSetunion_int_span (int i, const Span *s)
 Return the union of an integer and a span. More...
 
SpanSetunion_span_bigint (const Span *s, int64 i)
 Return the union of a span and a big integer. More...
 
SpanSetunion_span_date (const Span *s, DateADT d)
 Return the union of a span and a date. More...
 
SpanSetunion_span_float (const Span *s, double d)
 Return the union of a span and a float. More...
 
SpanSetunion_span_int (const Span *s, int i)
 Return the union of a span and an integer. More...
 
SpanSetunion_span_timestamptz (const Span *s, TimestampTz t)
 Return the union of a span and a timestamptz. More...
 
SpanSetunion_timestamptz_span (TimestampTz t, const Span *s)
 Return the union of a timestamptz and a span. More...
 

Detailed Description

Operators for span types.