PostGIS  2.3.8dev-r@@SVN_REVISION@@
lwgeom_geos_prepared.c File Reference
#include <assert.h>
#include "../postgis_config.h"
#include "lwgeom_geos_prepared.h"
#include "lwgeom_cache.h"
Include dependency graph for lwgeom_geos_prepared.c:

Go to the source code of this file.

Data Structures

struct  PrepGeomHashEntry
 

Macros

#define PREPARED_BACKEND_HASH_SIZE   32
 

Functions

uint32 mcxt_ptr_hasha (const void *key, Size keysize)
 
static void CreatePrepGeomHash (void)
 
static void AddPrepGeomHashEntry (PrepGeomHashEntry pghe)
 
static PrepGeomHashEntryGetPrepGeomHashEntry (MemoryContext mcxt)
 
static void DeletePrepGeomHashEntry (MemoryContext mcxt)
 
static void PreparedCacheInit (MemoryContext context)
 
static void PreparedCacheReset (MemoryContext context)
 
static void PreparedCacheDelete (MemoryContext context)
 
static bool PreparedCacheIsEmpty (MemoryContext context)
 
static void PreparedCacheStats (MemoryContext context, int level)
 
static int PrepGeomCacheBuilder (const LWGEOM *lwgeom, GeomCache *cache)
 Given a generic GeomCache, and a geometry to prepare, prepare a PrepGeomCache and stick it into the GeomCache->index slot. More...
 
static int PrepGeomCacheCleaner (GeomCache *cache)
 This function is passed into the generic GetGeomCache function in the case of a cache miss, so that it can free the particular indexed structure being managed. More...
 
static GeomCache * PrepGeomCacheAllocator ()
 
PrepGeomCacheGetPrepGeomCache (FunctionCallInfoData *fcinfo, GSERIALIZED *g1, GSERIALIZED *g2)
 Given a couple potential geometries and a function call context, return a prepared structure for one of them, if such a structure doesn't already exist. More...
 

Variables

static HTAB * PrepGeomHash = NULL
 
static MemoryContextMethods PreparedCacheContextMethods
 
static GeomCacheMethods PrepGeomCacheMethods