MobilityDB 1.3
Loading...
Searching...
No Matches
Data Structures | Macros | Functions
span_gist.c File Reference

R-tree GiST index for span and span set types. More...

#include <assert.h>
#include <float.h>
#include <postgres.h>
#include <fmgr.h>
#include <access/gist.h>
#include <meos.h>
#include <meos_internal.h>
#include "temporal/set.h"
#include "temporal/span.h"
#include "temporal/span_index.h"
#include "temporal/temporal.h"
#include "pg_temporal/meos_catalog.h"
#include "pg_temporal/spanset.h"
#include "pg_temporal/temporal.h"

Data Structures

struct  ConsiderSplitContext
 R-tree GiST index for temporal integers and temporal floats. More...
 
struct  SpanBounds
 Structure keeping the bounds extracted from a span, for use in the function span_gist_double_sorting_split. More...
 

Macros

#define PLACE_LEFT(span, off)
 
#define PLACE_RIGHT(span, off)
 

Functions

int common_entry_cmp (const void *i1, const void *i2)
 Compare common entries by their deltas. More...
 
Datum Set_gist_compress (PG_FUNCTION_ARGS)
 GiST compress method for timestamp sets. More...
 
static void span_gist_consider_split (ConsiderSplitContext *context, SpanBound *right_lower, int min_left_count, SpanBound *left_upper, int max_left_count)
 Consider replacement of currently selected split with a better one during span_gist_double_sorting_split. More...
 
Datum Span_gist_consistent (PG_FUNCTION_ARGS)
 GiST consistent method for span types. More...
 
Datum Span_gist_distance (PG_FUNCTION_ARGS)
 GiST distance method for span types. More...
 
static void span_gist_double_sorting_split (GistEntryVector *entryvec, GIST_SPLITVEC *v)
 Double sorting split algorithm. More...
 
static void span_gist_fallback_split (GistEntryVector *entryvec, GIST_SPLITVEC *v)
 Trivial split: half of entries will be placed on one page and the other half on the other page. More...
 
Datum Span_gist_fetch (PG_FUNCTION_ARGS)
 GiST fetch method for span types, which result in a span. More...
 
bool span_gist_get_span (FunctionCallInfo fcinfo, Span *result, Oid typid)
 Transform the query argument into a span. More...
 
Datum Span_gist_penalty (PG_FUNCTION_ARGS)
 GiST page split penalty function for spans. More...
 
Datum Span_gist_picksplit (PG_FUNCTION_ARGS)
 GiST picksplit method for span types. More...
 
Datum Span_gist_same (PG_FUNCTION_ARGS)
 GiST same method for span types. More...
 
Datum Span_gist_union (PG_FUNCTION_ARGS)
 GiST union method for span types. More...
 
static int spanbounds_cmp_lower (const void *a, const void *b)
 Compare span bounds by lower bound. More...
 
static int spanbounds_cmp_upper (const void *a, const void *b)
 Compare span bounds by upper bound. More...
 
Datum Spanset_gist_compress (PG_FUNCTION_ARGS)
 GiST compress method for span sets. More...
 

Detailed Description

R-tree GiST index for span and span set types.

Note
These functions are based on those in the file rangetypes_gist.c