On 2020-04-30 12:12, Tony Whyman wrote:
In the README.time_zone, the SET BIND OF TIME ZONE TO EXTENDED is described as being intended to "solve a problem of representing correct time on clients missing ICU library".

All the text I can find, discusses how this is used when reading a TIMESTAMP WITH TIME ZONE data type from a database, but how does this apply to data input?

My understanding is that when a client local ICU is present, the encodeTimeStampTz call uses the client local ICU to translate the timestamp to GMT before passing it to the database. If no client local ICU is present and the SET BIND has been executed then what happens?


No matter of presence (or absense) of local ICU on the client extended information is silently ignored by server when data is passed from client.

Is the timestamp passed to the server where it is translated to GMT or is an error raised?

Correct TIMESTAMP WITH TIME ZONE should be prepared by application, may be using encodeTimeStampTz(). Take into an account - ability to use symbolic names (like "MSK") for TZ when calling encodeTimeStampTz() depends upon presence or absense of ICU on the client. On the other hand numeric name of TZ (like "+03:00") is always usable.




Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel

Reply via email to