Convert the geometric input functions to report errors softly.
commit332741e73980401895e027eb697bb472860036fb
authorTom Lane <tgl@sss.pgh.pa.us>
Wed, 14 Dec 2022 21:10:20 +0000 (14 16:10 -0500)
committerTom Lane <tgl@sss.pgh.pa.us>
Wed, 14 Dec 2022 21:10:20 +0000 (14 16:10 -0500)
treeb752539838c2cf3f8a856ab5100f2f043440ac91
parent17407a8eaa2afa8ac0de4b0a494f33d8eb7a98bd
Convert the geometric input functions to report errors softly.

Convert box_in, circle_in, line_in, lseg_in, path_in, point_in,
and poly_in to the new style.

line_in still throws hard errors for overflows/underflows that can occur
when the input is specified as two points rather than in the canonical
"Ax + By + C = 0" style.  I'm not too concerned about that: it won't be
reached in normal dump/restore cases, and it's fairly debatable that
such conversion should ever have been made part of a type input function
in the first place.  But in any case, I don't want to extend the soft
error conventions into float.h without more discussion than this patch
has had.

Amul Sul, minor mods by me

Discussion: https://postgr.es/m/CAAJ_b97KeDWUdpTKGOaFYPv0OicjOu6EW+QYWj-Ywrgj_aEy1g@mail.gmail.com
15 files changed:
src/backend/utils/adt/geo_ops.c
src/test/regress/expected/box.out
src/test/regress/expected/geometry.out
src/test/regress/expected/line.out
src/test/regress/expected/lseg.out
src/test/regress/expected/path.out
src/test/regress/expected/point.out
src/test/regress/expected/polygon.out
src/test/regress/sql/box.sql
src/test/regress/sql/geometry.sql
src/test/regress/sql/line.sql
src/test/regress/sql/lseg.sql
src/test/regress/sql/path.sql
src/test/regress/sql/point.sql
src/test/regress/sql/polygon.sql