]> git.ipfire.org Git - thirdparty/postgresql.git/commit
Improve tests of date_trunc() with infinity and unsupported units
authorMichael Paquier <michael@paquier.xyz>
Thu, 7 Aug 2025 02:49:25 +0000 (11:49 +0900)
committerMichael Paquier <michael@paquier.xyz>
Thu, 7 Aug 2025 02:49:25 +0000 (11:49 +0900)
commit572c0f1b0e2a9ed61816239f59d568217079bb8c
tree219ca35e5906b4b65474f374279d5892a1f09a77
parent2242b26ce472db9ac69dc71008c566ea9cd3a5fd
Improve tests of date_trunc() with infinity and unsupported units

Commit d85ce012f99f has added some new error handling code to
date_trunc() of timestamp, timestamptz, and interval with infinite
values.

However, the new test cases added by that commit did not actually test
all of the new code, missing coverage for the following cases:
1) For timestamp without time zone:
1-1) infinite value with valid unit
1-2) infinite value with unsupported unit
1-3) finite value with unsupported unit, for a code path older than
d85ce012f99f.
2) For timestamp with time zone, without a time zone specified for the
truncation:
2-1) infinite value with valid unit
2-2) infinite value with unsupported unit
2-3) finite value with unsupported unit, for a code path older than
d85ce012f99f.
3) For timestamp with time zone, with a time zone specified for the
truncation:
3-1) infinite value with valid unit.
3-2) infinite value with unsupported unit.

This commit also provides coverage for the bug fixed in 2242b26ce472,
through cases 2-1) and 3-1), when using an infinite value with a valid
unit, with[out] the optional time zone parameter used for the
truncation.

Author: Peter Eisentraut <peter@eisentraut.org>
Discussion: https://postgr.es/m/2d320b6f-b4af-4fbc-9eec-5d0fa15d187b@eisentraut.org
Discussion: https://postgr.es/m/4bf60a84-2862-4a53-acd5-8eddf134a60e@eisentraut.org
Backpatch-through: 18
src/test/regress/expected/timestamp.out
src/test/regress/expected/timestamptz.out
src/test/regress/sql/timestamp.sql
src/test/regress/sql/timestamptz.sql