PostGIS  3.7.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 72 of file lwgeom_window.c.

73 {
74  GSERIALIZED* g;
75  Datum arg = WinGetFuncArgInPartition(win_obj, 0, i, WINDOW_SEEK_HEAD, false, is_null, NULL);
76 
77  if (*is_null) {
78  /* So that the indexes in our clustering input array can match our partition positions,
79  * toss an empty point into the clustering inputs, as a pass-through.
80  * NOTE: this will cause gaps in the output cluster id sequence.
81  * */
83  }
84 
85  g = (GSERIALIZED*) PG_DETOAST_DATUM_COPY(arg);
86  return lwgeom_from_gserialized(g);
87 }
LWGEOM * lwgeom_from_gserialized(const GSERIALIZED *g)
Allocate a new LWGEOM from a GSERIALIZED.
Definition: gserialized.c:268
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: