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 ------ REL9_4_STABLE Details ------- https://git.postgresql.org/pg/commitdiff/2be355498eafaddc1c274f05884e1ed79b671655 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(-)