PostGIS  3.0.0dev-r@@SVN_REVISION@@

◆ lwt_LoadTopology()

LWT_TOPOLOGY* lwt_LoadTopology ( LWT_BE_IFACE iface,
const char *  name 
)

Loads an existing topology by name from the database.

Parameters
ifacethe backend interface handler (see lwt_CreateBackendIface)
namename of the topology to load
Returns
the handler of the topology, or NULL on error (liblwgeom error handler will be invoked with error message)

Definition at line 482 of file lwgeom_topo.c.

References LWT_TOPOLOGY_T::be_iface, LWT_TOPOLOGY_T::be_topo, LWT_TOPOLOGY_T::hasZ, lwalloc(), lwerror(), lwt_be_lastErrorMessage(), lwt_be_loadTopologyByName(), lwt_be_topoGetPrecision(), lwt_be_topoGetSRID(), lwt_be_topoHasZ(), LWT_TOPOLOGY_T::precision, and LWT_TOPOLOGY_T::srid.

483 {
484  LWT_BE_TOPOLOGY* be_topo;
485  LWT_TOPOLOGY* topo;
486 
487  be_topo = lwt_be_loadTopologyByName(iface, name);
488  if ( ! be_topo ) {
489  //lwerror("Could not load topology from backend: %s",
490  lwerror("%s", lwt_be_lastErrorMessage(iface));
491  return NULL;
492  }
493  topo = lwalloc(sizeof(LWT_TOPOLOGY));
494  topo->be_iface = iface;
495  topo->be_topo = be_topo;
496  topo->srid = lwt_be_topoGetSRID(topo);
497  topo->hasZ = lwt_be_topoHasZ(topo);
498  topo->precision = lwt_be_topoGetPrecision(topo);
499 
500  return topo;
501 }
static int lwt_be_topoGetSRID(LWT_TOPOLOGY *topo)
Definition: lwgeom_topo.c:131
static double lwt_be_topoGetPrecision(LWT_TOPOLOGY *topo)
Definition: lwgeom_topo.c:137
const LWT_BE_IFACE * be_iface
LWT_BE_TOPOLOGY * be_topo
struct LWT_BE_TOPOLOGY_T LWT_BE_TOPOLOGY
Topology handler.
void * lwalloc(size_t size)
Definition: lwutil.c:227
static int lwt_be_topoHasZ(LWT_TOPOLOGY *topo)
Definition: lwgeom_topo.c:143
const char * lwt_be_lastErrorMessage(const LWT_BE_IFACE *be)
Definition: lwgeom_topo.c:119
void lwerror(const char *fmt,...)
Write a notice out to the error handler.
Definition: lwutil.c:190
LWT_BE_TOPOLOGY * lwt_be_loadTopologyByName(LWT_BE_IFACE *be, const char *name)
Definition: lwgeom_topo.c:125
Here is the call graph for this function: