|
MobilityDB 1.3
|
Index support functions for temporal types. More...
#include <assert.h>#include <postgres.h>#include <catalog/pg_opfamily.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/syscache.h>#include <meos.h>#include "temporal/temporal_boxops.h"#include "pg_temporal/meos_catalog.h"#include "pg_temporal/temporal_selfuncs.h"Data Structures | |
| struct | IndexableFunction |
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 , ACONTAINS_IDX = 8 , ADISJOINT_IDX = 9 , AINTERSECTS_IDX = 10 , ATOUCHES_IDX = 11 , ADWITHIN_IDX = 12 } |
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 * | makeBboxExpr (Node *arg, Oid argoid, Oid retoid, Oid callingfunc) |
| To apply the "bunding box search" pattern we need access to the corresponding bbox function, so lookup the function Oid using the function name and type number. 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... | |
| static 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) |
| static Datum | Temporal_supportfn (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... | |
| Datum | Tnumber_supportfn (PG_FUNCTION_ARGS) |
| Support function for temporal number types. More... | |
| Datum | Tspatial_supportfn (PG_FUNCTION_ARGS) |
| Support function for temporal number types. More... | |
| static MeosType | type_to_bbox (MeosType type) |
| Transform the constant into a bounding box. More... | |
Variables | |
| static const IndexableFunction | TemporalIndexableFunctions [] |
| static const IndexableFunction | TNumberIndexableFunctions [] |
| static const int16 | TNumberStrategies [] |
| static const IndexableFunction | TSpatialIndexableFunctions [] |
| static const int16 | TSpatialStrategies [] |
Index support functions for temporal types.