1119 Datum datum_line, datum_point;
1121 LWGEOM *lwgeom_line, *lwgeom_point;
1128 POSTGIS_DEBUG(2,
"ST_Scroll called.");
1130 datum_line = PG_GETARG_DATUM(0);
1131 datum_point = PG_GETARG_DATUM(1);
1133 ser_line = ((
GSERIALIZED *)PG_DETOAST_DATUM(datum_line));
1137 lwpgerror(
"First argument must be a line");
1141 ser_point = ((
GSERIALIZED *)PG_DETOAST_DATUM(datum_point));
1145 lwpgerror(
"Second argument must be a point");
1149 lwpgerror(
"Second argument must be a non-empty point");
1158 ser_out = geometry_serialize(lwgeom_line);
1161 PG_FREE_IF_COPY(ser_line, 0);
1162 PG_FREE_IF_COPY(ser_point, 0);
1164 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)