pgsql: Implement poly_distance(). - Mailing list pgsql-committers

From Tom Lane
Subject pgsql: Implement poly_distance().
Date
Msg-id E1mwtt6-0007ky-Eg@gemulon.postgresql.org
Whole thread Raw
List pgsql-committers
Implement poly_distance().

geo_ops.c contains half a dozen functions that are just stubs throwing
ERRCODE_FEATURE_NOT_SUPPORTED.  Since it's been like that for more
than twenty years, there's clearly not a lot of interest in filling in
the stubs.  However, I'm uncomfortable with deleting poly_distance(),
since every other geometric type supports a distance-to-another-object-
of-the-same-type function.  We can easily add this capability by
cribbing from poly_overlap() and path_distance().

It's possible that the (existing) test case for this will show some
numeric instability, but hopefully the buildfarm will expose it if so.

In passing, improve the documentation to try to explain why polygons
are distinct from closed paths in the first place.

Discussion: https://postgr.es/m/3426566.1638832718@sss.pgh.pa.us

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/c5c192d7bdfa78f19e735610488b1cc5ad6e41cc

Modified Files
--------------
doc/src/sgml/datatype.sgml             |  5 ++-
src/backend/utils/adt/geo_ops.c        | 77 +++++++++++++++++++++++++++++-----
src/test/regress/expected/geometry.out | 54 +++++++++++++++++++++++-
3 files changed, 123 insertions(+), 13 deletions(-)


pgsql-committers by date:

Previous
From: Andres Freund
Date:
Subject: pgsql: isolationtester: append session name to application_name.
Next
From: Tom Lane
Date:
Subject: pgsql: Doc: de-document unimplemented geometric operators.