Opened 15 years ago
Closed 12 years ago
#310 closed enhancement (fixed)
port ST_DumpPoints() to C
Reported by: | kneufeld | Owned by: | pramsey |
---|---|---|---|
Priority: | medium | Milestone: | PostGIS 2.1.0 |
Component: | postgis | Version: | master |
Keywords: | Cc: | bitner, nw@… |
Description
The current implementation of ST_DumpPoints is in plpgsql - as such it doesn't scale well.
At some point, this function should be ported to C, mimicking ST_Dump.
Change History (6)
comment:1 by , 14 years ago
Cc: | added |
---|
comment:2 by , 13 years ago
Milestone: | PostGIS Future → PostGIS 2.0.1 |
---|---|
Owner: | changed from | to
Status: | new → assigned |
I don't think there's a problem in doing this for 2.0.X, right ?
comment:4 by , 12 years ago
Milestone: | PostGIS 2.0.1 → PostGIS 2.1.0 |
---|
comment:5 by , 12 years ago
Cc: | added |
---|---|
Owner: | changed from | to
Priority: | low → medium |
Status: | assigned → new |
Nathan said he was interested in doing this. Adding him to cc so he can add his patch to this ticket. pramsey I believe was going to act as mentor
http://www.postgis.org/pipermail/postgis-devel/2012-September/022009.html
comment:6 by , 12 years ago
Resolution: | → fixed |
---|---|
Status: | new → closed |
Committed Nathan Wagner's implementation at r10595
Note:
See TracTickets
for help on using tickets.
Hacky test that shows potential performance gain by getting away from the plpgsql looping structure with npoints. Dumping a 2600 point linestring takes almost a second with st_dumppoints and ~30ms with this function.
CREATE OR REPLACE FUNCTION dump_linestring_points(geometry) RETURNS SETOF geometry AS $BODY$ SELECT
FROM
WHERE st_geometrytype($1)='ST_LineString'; $BODY$ LANGUAGE sql IMMUTABLE STRICT COST 1 ROWS 100;