mirror of
https://git.osgeo.org/gitea/postgis/postgis
synced 2024-10-25 17:42:38 +00:00
Add some explanation comments to lwgeom_accum.c explaining why we need to implement our own set of geometry aggregate functions.
git-svn-id: http://svn.osgeo.org/postgis/trunk@3806 b70326c6-7e19-0410-871a-916f4a2858ee
This commit is contained in:
parent
15e1705f88
commit
4196d9c659
|
@ -36,6 +36,19 @@ Datum LWGEOM_collect_garray(PG_FUNCTION_ARGS);
|
|||
Datum polygonize_garray(PG_FUNCTION_ARGS);
|
||||
Datum LWGEOM_makeline_garray(PG_FUNCTION_ARGS);
|
||||
|
||||
|
||||
/*
|
||||
** Versions of PostgreSQL < 8.4 perform array accumulation internally using
|
||||
** pass by value, which is very slow working with large/many geometries.
|
||||
** Hence PostGIS currently implements its own aggregate for building
|
||||
** geometry arrays using pass by reference, which is significantly faster and
|
||||
** similar to the method used in PostgreSQL 8.4.
|
||||
**
|
||||
** Hence we can revert this to the original aggregate functions from 1.3 at
|
||||
** whatever point PostgreSQL 8.4 becomes the minimum version we support :)
|
||||
*/
|
||||
|
||||
|
||||
/*
|
||||
** To pass the internal ArrayBuildState pointer between the
|
||||
** transfn and finalfn we need to wrap it into a custom type first,
|
||||
|
|
Loading…
Reference in a new issue