1083 Datum datum_line, datum_point;
1085 LWGEOM *lwgeom_line, *lwgeom_point;
1092 POSTGIS_DEBUG(2,
"ST_Scroll called.");
1094 datum_line = PG_GETARG_DATUM(0);
1095 datum_point = PG_GETARG_DATUM(1);
1097 ser_line = ((
GSERIALIZED *)PG_DETOAST_DATUM(datum_line));
1101 lwpgerror(
"First argument must be a line");
1105 ser_point = ((
GSERIALIZED *)PG_DETOAST_DATUM(datum_point));
1109 lwpgerror(
"Second argument must be a point");
1113 lwpgerror(
"Second argument must be a non-empty point");
1122 ser_out = geometry_serialize(lwgeom_line);
1125 PG_FREE_IF_COPY(ser_line, 0);
1126 PG_FREE_IF_COPY(ser_point, 0);
1128 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)