Thread: pgsql: Fix daterange canonicalization for +/- infinity.
Fix daterange canonicalization for +/- infinity. The values 'infinity' and '-infinity' are a part of the DATE type itself, so a bound of the date 'infinity' is not the same as an unbounded/infinite range. However, it is still wrong to try to canonicalize such values, because adding or subtracting one has no effect. Fix by treating 'infinity' and '-infinity' the same as unbounded ranges for the purposes of canonicalization (but not other purposes). Backpatch to all versions because it is inconsistent with the documented behavior. Note that this could be an incompatibility for applications relying on the behavior contrary to the documentation. Author: Laurenz Albe Reviewed-by: Thomas Munro Discussion: https://postgr.es/m/77f24ea19ab802bc9bc60ddbb8977ee2d646aec1.camel%40cybertec.at Backpatch-through: 9.4 Branch ------ REL_12_STABLE Details ------- https://git.postgresql.org/pg/commitdiff/613eabcd51c3adec50e28c1f151d574db5a05a9e Modified Files -------------- src/backend/utils/adt/rangetypes.c | 4 ++-- src/test/regress/expected/rangetypes.out | 24 ++++++++++++++++++++++++ src/test/regress/sql/rangetypes.sql | 4 ++++ 3 files changed, 30 insertions(+), 2 deletions(-)