pgsql: Add functions to do timestamptz arithmetic in a non-default time

Started by Tom Laneover 3 years ago1 messagescomitters
Jump to latest
#1Tom Lane
tgl@sss.pgh.pa.us

Add functions to do timestamptz arithmetic in a non-default timezone.

Add versions of timestamptz + interval, timestamptz - interval, and
generate_series(timestamptz, ...) in which a timezone can be specified
explicitly instead of defaulting to the TimeZone GUC setting.

The new functions for the first two are named date_add and
date_subtract. This might seem too generic, but we could use
overloading to add additional variants if that seems useful.

Along the way, improve the docs' pretty inadequate explanation
of how timestamptz +- interval works.

Przemysław Sztoch and Gurjeet Singh; cosmetic changes and most of
the docs work by me

Discussion: /messages/by-id/01a84551-48dd-1359-bf7e-f6b0203a6bd0@sztoch.pl

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/75bd846b68b09f33a57d9de96064ded4d392ca05

Modified Files
--------------
doc/src/sgml/func.sgml | 93 +++++++++++++++++--
src/backend/utils/adt/timestamp.c | 146 +++++++++++++++++++++++-------
src/include/catalog/catversion.h | 2 +-
src/include/catalog/pg_proc.dat | 21 +++++
src/test/regress/expected/timestamptz.out | 54 +++++++++++
src/test/regress/sql/timestamptz.sql | 19 ++++
6 files changed, 291 insertions(+), 44 deletions(-)