Following up on my own mail from yesterday
evening, here's the output that shows the function using set_config 'leaking' the timezone change to outside the function (the first select vs. the 2nd select) into the (same) transaction, whereas the function with the time zone bound to the header
does not (the 3rd select).
These are all from a single session, ran consecutively
- a straight copy-paste from psql.
ciscache=> select ToDatetimeOffset(current_timestamp,
'Europe/Amsterdam'), to_char(current_timestamp, 'YYYY-MM-DD HH24:MI:SS.US0 TZH:TZM');
todatetimeoffset
| to_char
------------------------------------+------------------------------------
2024-01-12 09:41:44.7019350
+01:00 | 2024-01-12 09:41:44.7019350 +01:00
(1 row)
ciscache=> select to_char(current_timestamp,
'YYYY-MM-DD HH24:MI:SS.US0 TZH:TZM');
to_char
------------------------------------
2024-01-12 08:41:54.4739800
+00:00
(1 row)
ciscache=> select ToDatetimeOffsetNL(current_timestamp),
to_char(current_timestamp, 'YYYY-MM-DD HH24:MI:SS.US0 TZH:TZM');
todatetimeoffsetnl
| to_char
------------------------------------+------------------------------------
2024-01-12 09:42:44.1989210
+01:00 | 2024-01-12 08:42:44.1989210 +00:00
(1 row)
Regards,
Alban Hertroijs.
|