PostGIS  3.4.0dev-r@@SVN_REVISION@@

◆ read_lwgeom_from_partition()

static LWGEOM* read_lwgeom_from_partition ( WindowObject  win_obj,
uint32_t  i,
bool *  is_null 
)
static

Definition at line 71 of file lwgeom_window.c.

72 {
73  GSERIALIZED* g;
74  Datum arg = WinGetFuncArgInPartition(win_obj, 0, i, WINDOW_SEEK_HEAD, false, is_null, NULL);
75 
76  if (*is_null) {
77  /* So that the indexes in our clustering input array can match our partition positions,
78  * toss an empty point into the clustering inputs, as a pass-through.
79  * NOTE: this will cause gaps in the output cluster id sequence.
80  * */
82  }
83 
84  g = (GSERIALIZED*) PG_DETOAST_DATUM_COPY(arg);
85  return lwgeom_from_gserialized(g);
86 }
LWGEOM * lwgeom_from_gserialized(const GSERIALIZED *g)
Allocate a new LWGEOM from a GSERIALIZED.
Definition: gserialized.c:239
LWPOINT * lwpoint_construct_empty(int32_t srid, char hasz, char hasm)
Definition: lwpoint.c:151
LWGEOM * lwpoint_as_lwgeom(const LWPOINT *obj)
Definition: lwgeom.c:344

References lwgeom_from_gserialized(), lwpoint_as_lwgeom(), and lwpoint_construct_empty().

Referenced by ST_ClusterDBSCAN(), and ST_ClusterWithinWin().

Here is the call graph for this function:
Here is the caller graph for this function: