Update some timestamp[tz] functions to use soft-error reporting
authorMichael Paquier <michael@paquier.xyz>
Tue, 2 Dec 2025 00:30:23 +0000 (09:30 +0900)
committerMichael Paquier <michael@paquier.xyz>
Tue, 2 Dec 2025 00:30:23 +0000 (09:30 +0900)
commit713d9a847e6409a2a722aed90975eef6d75dc701
tree87612685e6c49f11e4c10f0c8632b15ed58ded96
parent19b966243c38196a33b033fb0c259dcf760c0d69
Update some timestamp[tz] functions to use soft-error reporting

This commit updates two functions that convert "timestamptz" to
"timestamp", and vice-versa, to use the soft error reporting rather than
a their own logic to do the same.  These are now named as follows:
- timestamp2timestamptz_safe()
- timestamptz2timestamp_safe()

These functions were suffixed with "_opt_overflow", previously.

This shaves some code, as it is possible to detect how a timestamp[tz]
overflowed based on the returned value rather than a custom state.  It
is optionally possible for the callers of these functions to rely on the
error generated internally by these functions, depending on the error
context.

Similar work has been done in d03668ea0566 and 4246a977bad6.

Reviewed-by: Amul Sul <sulamul@gmail.com>
Discussion: https://postgr.es/m/aS09YF2GmVXjAxbJ@paquier.xyz
contrib/btree_gin/btree_gin.c
src/backend/utils/adt/timestamp.c
src/include/utils/timestamp.h