1116 Datum datum_line, datum_point;
1118 LWGEOM *lwgeom_line, *lwgeom_point;
1125 POSTGIS_DEBUG(2,
"ST_Scroll called.");
1127 datum_line = PG_GETARG_DATUM(0);
1128 datum_point = PG_GETARG_DATUM(1);
1130 ser_line = ((
GSERIALIZED *)PG_DETOAST_DATUM(datum_line));
1134 lwpgerror(
"First argument must be a line");
1138 ser_point = ((
GSERIALIZED *)PG_DETOAST_DATUM(datum_point));
1142 lwpgerror(
"Second argument must be a point");
1146 lwpgerror(
"Second argument must be a non-empty point");
1155 ser_out = geometry_serialize(lwgeom_line);
1158 PG_FREE_IF_COPY(ser_line, 0);
1159 PG_FREE_IF_COPY(ser_point, 0);
1161 PG_RETURN_POINTER(ser_out);
LWGEOM * lwgeom_from_gserialized(const GSERIALIZED *g)
Allocate a new LWGEOM from a GSERIALIZED.
int lwpoint_getPoint4d_p(const LWPOINT *point, POINT4D *out)
LWLINE * lwgeom_as_lwline(const LWGEOM *lwgeom)
void lwgeom_free(LWGEOM *geom)
int ptarray_scroll_in_place(POINTARRAY *pa, const POINT4D *newbase)
static LWPOINT * lwgeom_as_lwpoint(const LWGEOM *lwgeom)