MobilityDB 1.1
Enumerations | Functions | Variables
temporal_supportfn.c File Reference
#include "pg_general/temporal_supportfn.h"
#include <assert.h>
#include <postgres.h>
#include <funcapi.h>
#include <access/htup_details.h>
#include <access/stratnum.h>
#include <catalog/namespace.h>
#include <catalog/pg_opfamily.h>
#include <catalog/pg_type_d.h>
#include <catalog/pg_am_d.h>
#include <nodes/supportnodes.h>
#include <nodes/nodeFuncs.h>
#include <nodes/makefuncs.h>
#include <optimizer/optimizer.h>
#include <parser/parse_func.h>
#include <utils/array.h>
#include <utils/builtins.h>
#include <utils/lsyscache.h>
#include <utils/numeric.h>
#include <utils/syscache.h>
#include "general/meos_catalog.h"
#include "pg_general/meos_catalog.h"
#include "pg_general/temporal_selfuncs.h"
#include "pg_point/tpoint_selfuncs.h"
Include dependency graph for temporal_supportfn.c:

Enumerations

enum  TEMPORAL_FUNCTION_IDX {
  EVER_EQ_IDX = 1 , ALWAYS_EQ_IDX = 2 , ECONTAINS_IDX = 3 , EDISJOINT_IDX = 4 ,
  EINTERSECTS_IDX = 5 , ETOUCHES_IDX = 6 , EDWITHIN_IDX = 7
}
 Index support functions for temporal types. More...
 

Functions

bool func_needs_index (Oid funcid, const IndexableFunction *idxfns, IndexableFunction *result)
 Is the function calling the support function one of those we will enhance with index ops? If so, copy the metadata for the function into idxfn and return true. More...
 
static FuncExpr * makeExpandExpr (Node *arg, Node *radiusarg, Oid argoid, Oid retoid, Oid callingfunc)
 To apply the "expand for radius search" pattern we need access to the expand function, so lookup the function Oid using the function name and type number. More...
 
Oid opFamilyAmOid (Oid opfamilyoid)
 We only add index enhancements for indexes that support range-based searches like the && operator), so only implementations based on GIST and SPGIST. More...
 
static int16 temporal_get_strategy_by_type (meosType temptype, uint16_t index)
 
PGDLLEXPORT Datum Temporal_supportfn (PG_FUNCTION_ARGS)
 Support function for temporal types. More...
 
Datum temporal_supportfn_ext (FunctionCallInfo fcinfo, TemporalFamily tempfamily)
 For functions that we want enhanced with spatial index lookups, add this support function to the SQL function definition, for example: More...
 
PGDLLEXPORT Datum Tnumber_supportfn (PG_FUNCTION_ARGS)
 Support function for temporal number types. More...
 
PGDLLEXPORT Datum Tpoint_supportfn (PG_FUNCTION_ARGS)
 Support function for temporal number types. More...
 
static meosType type_to_bbox (meosType type)
 Transform the constant into a period. More...
 

Variables

static const IndexableFunction TemporalIndexableFunctions []
 
static const int16 TemporalStrategies []
 
static const IndexableFunction TNumberIndexableFunctions []
 
static const int16 TNumberStrategies []
 
static const IndexableFunction TPointIndexableFunctions []
 
static const int16 TPointStrategies []