PostGIS  2.2.8dev-r@@SVN_REVISION@@

◆ pgis_geometry_collect_finalfn()

Datum pgis_geometry_collect_finalfn ( PG_FUNCTION_ARGS  )

Definition at line 240 of file lwgeom_accum.c.

References LWGEOM_collect_garray(), PG_FUNCTION_INFO_V1(), pgis_accum_finalfn(), pgis_geometry_polygonize_finalfn(), and PGISDirectFunctionCall1().

Referenced by pgis_geometry_union_finalfn().

241 {
242  pgis_abs *p;
243  Datum result = 0;
244  Datum geometry_array = 0;
245 
246  if (PG_ARGISNULL(0))
247  PG_RETURN_NULL(); /* returns null iff no input values */
248 
249  p = (pgis_abs*) PG_GETARG_POINTER(0);
250 
251  geometry_array = pgis_accum_finalfn(p, CurrentMemoryContext, fcinfo);
252  result = PGISDirectFunctionCall1( LWGEOM_collect_garray, geometry_array );
253  if (!result)
254  PG_RETURN_NULL();
255 
256  PG_RETURN_DATUM(result);
257 }
Datum pgis_accum_finalfn(pgis_abs *p, MemoryContext mctx, FunctionCallInfo fcinfo)
The final function rescues the built array from the side memory context using the PostgreSQL built-in...
Definition: lwgeom_accum.c:168
Datum LWGEOM_collect_garray(PG_FUNCTION_ARGS)
Datum PGISDirectFunctionCall1(PGFunction func, Datum arg1)
A modified version of PostgreSQL's DirectFunctionCall1 which allows NULL results; this is required fo...
Definition: lwgeom_accum.c:370
To pass the internal ArrayBuildState pointer between the transfn and finalfn we need to wrap it into ...
Definition: lwgeom_accum.c:69
Here is the call graph for this function:
Here is the caller graph for this function: