A TIME WITH TIME ZONE data type records the time in GMT regardless of whether or not GMT or a local time is used to input the time value.
In order to translate a local time to GMT and back again, a date must be assumed so that the daylight savings time adjustment, if any, can be computed. In FB4 Beta 1, this was the CURRENT_DATE. In FB4 Beta 2, this has changed to 2020/1/1. Neither approach is perfect. This is particularly true when the time given is in the context of a specific date which is neither the current date, nor some arbitrary default.
It is proposed that while 2020/1/1 is as good a default as any, the date used to translate to and from GMT should be configurable i.e.
1. The server wide default date should be a configurable parameter in the firebird.conf file.
2. An SQL statement (e.g. SET TIME WITH TIME ZONE DATE TO '<date>'; ) should be provided to allow the user to change the default in the context of the current connection and/or transaction. This statement will need to be recognised and actioned by both the server (e.g. for time with time zone values given as a literal) and the client (for translating input and output time with time zone parameter values).
3.The date used to translate to and from GMT should be available as a column in the MON$ATTACHMENTS and the MON$TRANSACTIONS tables.