PostGIS 3.0.6dev-r@@SVN_REVISION@@
Loading...
Searching...
No Matches

◆ PGISDirectFunctionCall1()

Datum PGISDirectFunctionCall1 ( PGFunction  func,
Datum  arg1 
)

A modified version of PostgreSQL's DirectFunctionCall1 which allows NULL results; this is required for aggregates that return NULL.

Definition at line 329 of file lwgeom_accum.c.

330{
331#if POSTGIS_PGSQL_VERSION < 120
332 FunctionCallInfoData fcinfo;
333 Datum result;
334
335
336 InitFunctionCallInfoData(fcinfo, NULL, 1, InvalidOid, NULL, NULL);
337
338
339 fcinfo.arg[0] = arg1;
340 fcinfo.argnull[0] = false;
341
342 result = (*func) (&fcinfo);
343
344 /* Check for null result, returning a "NULL" Datum if indicated */
345 if (fcinfo.isnull)
346 return (Datum) 0;
347
348 return result;
349#else
350 LOCAL_FCINFO(fcinfo, 1);
351 Datum result;
352
353 InitFunctionCallInfoData(*fcinfo, NULL, 1, InvalidOid, NULL, NULL);
354
355 fcinfo->args[0].value = arg1;
356 fcinfo->args[0].isnull = false;
357
358 result = (*func)(fcinfo);
359
360 /* Check for null result, returning a "NULL" Datum if indicated */
361 if (fcinfo->isnull)
362 return (Datum)0;
363
364 return result;
365#endif /* POSTGIS_PGSQL_VERSION < 120 */
366}

Referenced by pgis_geometry_clusterintersecting_finalfn(), pgis_geometry_collect_finalfn(), pgis_geometry_makeline_finalfn(), and pgis_geometry_polygonize_finalfn().

Here is the caller graph for this function: