MobilityDB 1.1
|
#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"
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 [] |