MobilityDB 1.1
Functions
span.c File Reference
#include "general/span.h"
#include <assert.h>
#include <access/hash.h>
#include <meos.h>
#include <meos_internal.h>
#include "general/pg_types.h"
#include "general/tnumber_mathfuncs.h"
#include "general/type_parser.h"
#include "general/type_util.h"
Include dependency graph for span.c:

Functions

Spanbigint_to_bigintspan (int i)
 Cast a value as a span. More...
 
Spanbigintspan_in (const char *str)
 Return an integer span from its Well-Known Text (WKT) representation. More...
 
int bigintspan_lower (const Span *s)
 Return the lower bound of an integer span. More...
 
Spanbigintspan_make (int64 lower, int64 upper, bool lower_inc, bool upper_inc)
 Construct an integer span from the bounds. More...
 
char * bigintspan_out (const Span *s)
 Return the Well-Known Text (WKT) representation of a span. More...
 
int bigintspan_upper (const Span *s)
 Return the upper bound of an integer span. More...
 
Spanfloat_to_floaspan (double d)
 Cast a value as a span. More...
 
Spanfloatspan_in (const char *str)
 Return a float span from its Well-Known Text (WKT) representation. More...
 
double floatspan_lower (const Span *s)
 Return the lower bound of a float span. More...
 
Spanfloatspan_make (double lower, double upper, bool lower_inc, bool upper_inc)
 Construct a span from the bounds. More...
 
char * floatspan_out (const Span *s, int maxdd)
 Return the Well-Known Text (WKT) representation of a span. More...
 
void floatspan_set_intspan (const Span *s1, Span *s2)
 Set the second span with the first one transformed to intspan. More...
 
void floatspan_set_numspan (const Span *s1, Span *s2, meosType basetype)
 Set the second span with the first one transformed to intspan. More...
 
double floatspan_upper (const Span *s)
 Return the upper bound of a float span. More...
 
Spanint_to_intspan (int i)
 Cast a value as a span. More...
 
Spanintspan_in (const char *str)
 Return an integer span from its Well-Known Text (WKT) representation. More...
 
int intspan_lower (const Span *s)
 Return the lower bound of an integer span. More...
 
Spanintspan_make (int lower, int upper, bool lower_inc, bool upper_inc)
 Construct an integer span from the bounds. More...
 
char * intspan_out (const Span *s)
 Return the Well-Known Text (WKT) representation of a span. More...
 
void intspan_set_floatspan (const Span *s1, Span *s2)
 Set the second span with the first one transformed to floatspan. More...
 
int intspan_upper (const Span *s)
 Return the upper bound of an integer span. More...
 
void lower_upper_shift_tscale (TimestampTz *lower, TimestampTz *upper, const Interval *shift, const Interval *duration)
 Shift and/or scale period bounds by the intervals. More...
 
void numspan_set_floatspan (const Span *s1, Span *s2)
 Set the second span with the first one transformed to floatspan. More...
 
Intervalperiod_duration (const Span *s)
 Return the duration of a period as an interval. More...
 
Spanperiod_in (const char *str)
 Return a period from its Well-Known Text (WKT) representation. More...
 
TimestampTz period_lower (const Span *p)
 Return the lower bound of a period. More...
 
Spanperiod_make (TimestampTz lower, TimestampTz upper, bool lower_inc, bool upper_inc)
 Construct a period from the bounds. More...
 
char * period_out (const Span *s)
 Return the Well-Known Text (WKT) representation of a span. More...
 
void period_shift_tscale (Span *p, const Interval *shift, const Interval *duration)
 Shift and/or scale a period by the intervals. More...
 
TimestampTz period_upper (const Span *p)
 Return the upper bound of a period. More...
 
int span_bound_cmp (const SpanBound *b1, const SpanBound *b2)
 Compare two span boundary points, returning <0, 0, or >0 according to whether the first one is less than, equal to, or greater than the second one. More...
 
int span_bound_qsort_cmp (const void *a1, const void *a2)
 Comparison function for sorting span bounds. More...
 
int span_cmp (const Span *s1, const Span *s2)
 Return -1, 0, or 1 depending on whether the first span is less than, equal, or greater than the second one. More...
 
Spanspan_copy (const Span *s)
 Return a copy of a span. More...
 
void span_deserialize (const Span *s, SpanBound *lower, SpanBound *upper)
 General functions for spans (a.k.a. More...
 
bool span_eq (const Span *s1, const Span *s2)
 Return true if the first span is equal to the second one. More...
 
void span_expand (const Span *s1, Span *s2)
 Expand the second span with the first one. More...
 
bool span_ge (const Span *s1, const Span *s2)
 Return true if the first span is greater than or equal to the second one. More...
 
bool span_gt (const Span *s1, const Span *s2)
 Return true if the first span is greater than the second one. More...
 
uint32 span_hash (const Span *s)
 Return the 32-bit hash of a span. More...
 
uint64 span_hash_extended (const Span *s, Datum seed)
 Return the 64-bit hash of a span using a seed. More...
 
Spanspan_in (const char *str, meosType spantype)
 Return a span from its Well-Known Text (WKT) representation. More...
 
bool span_le (const Span *s1, const Span *s2)
 Return true if the first span is less than or equal to the second one. More...
 
int span_lower_cmp (const Span *a, const Span *b)
 Compare the lower bounds of two spans, returning <0, 0, or >0 according to whether the first bound is less than, equal to, or greater than the second one. More...
 
bool span_lower_inc (const Span *s)
 Return true if the lower bound of a span is inclusive. More...
 
bool span_lt (const Span *s1, const Span *s2)
 Return true if the first span is less than the second one. More...
 
Spanspan_make (Datum lower, Datum upper, bool lower_inc, bool upper_inc, meosType basetype)
 Construct a span from the bounds. More...
 
bool span_ne (const Span *s1, const Span *s2)
 Return true if the first span is different from the second one. More...
 
char * span_out (const Span *s, int maxdd)
 Return the Well-Known Text (WKT) representation of a span. More...
 
void span_set (Datum lower, Datum upper, bool lower_inc, bool upper_inc, meosType basetype, Span *s)
 Set a span from the bounds. More...
 
void span_shift (Span *s, Datum shift)
 Shift a span by a value. More...
 
int span_upper_cmp (const Span *a, const Span *b)
 Compare the upper bounds of two spans, returning <0, 0, or >0 according to whether the first bound is less than, equal to, or greater than the second one. More...
 
bool span_upper_inc (const Span *s)
 Return true if the upper bound of a span is inclusive. More...
 
double span_width (const Span *s)
 Return the width of a span as a double. More...
 
Span ** spanarr_normalize (Span **spans, int count, bool sort, int *newcount)
 Normalize an array of spans. More...
 
Spantimestamp_to_period (TimestampTz t)
 Cast a timestamp as a period. More...
 
static char * unquote (char *str)
 Remove the quotes from the Well-Known Text (WKT) representation of a span. More...
 
void value_set_span (Datum d, meosType basetype, Span *s)
 Cast a value as a span. More...
 
Spanvalue_to_span (Datum d, meosType basetype)
 Cast a value as a span. More...