PostGIS  3.4.0dev-r@@SVN_REVISION@@
gserialized_supportfn.c File Reference
#include "../postgis_config.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 "liblwgeom.h"
#include "lwgeom_pg.h"
Include dependency graph for gserialized_supportfn.c:

Go to the source code of this file.

Data Structures

struct  IndexableFunction
 
struct  OpFamilyDim
 

Enumerations

enum  ST_FUNCTION_IDX {
  ST_INTERSECTS_IDX = 0 , ST_DWITHIN_IDX = 1 , ST_CONTAINS_IDX = 2 , ST_WITHIN_IDX = 3 ,
  ST_TOUCHES_IDX = 4 , ST_3DINTERSECTS_IDX = 5 , ST_CONTAINSPROPERLY_IDX = 6 , ST_COVEREDBY_IDX = 7 ,
  ST_OVERLAPS_IDX = 8 , ST_COVERS_IDX = 9 , ST_CROSSES_IDX = 10 , ST_DFULLYWITHIN_IDX = 11 ,
  ST_3DDWITHIN_IDX = 12 , ST_3DDFULLYWITHIN_IDX = 13 , ST_LINECROSSINGDIRECTION_IDX = 14 , ST_ORDERINGEQUALS_IDX = 15 ,
  ST_EQUALS_IDX = 16
}
 

Functions

Datum postgis_index_supportfn (PG_FUNCTION_ARGS)
 
float8 gserialized_joinsel_internal (PlannerInfo *root, List *args, JoinType jointype, int mode)
 
float8 gserialized_sel_internal (PlannerInfo *root, List *args, int varRelid, int mode)
 This function should return an estimation of the number of rows returned by a query involving an overlap check ( it's the restrict function for the && operator ) More...
 
static int16 get_strategy_by_type (Oid first_type, uint16_t index)
 
static bool needsSpatialIndex (Oid funcid, IndexableFunction *idxfn)
 
static uint8_t opFamilyDim (const char *opfamily)
 
static Oid opFamilyAmOid (Oid opfamilyoid, uint8_t *dims)
 
static Oid expandFunctionOid (Oid geotype, Oid callingfunc)
 
 PG_FUNCTION_INFO_V1 (postgis_index_supportfn)
 

Variables

static const int16 GeometryStrategies []
 
static const int16 GeographyStrategies []
 
static const IndexableFunction IndexableFunctions []
 
static const OpFamilyDim OpFamilyDims []