11.06.2019 12:44, Alex Peshkoff via Firebird-devel wrote:
On 11.06.2019 1:41, Vlad Khorsun wrote:
Do this 2 facts
- client have some ICU library, but it can't convert region ID obtained from
server (because of different ICU version), or even
- wrong conversion of region ID at client side because of mismatched ICU
version (sounds impossible, but not improbable)
mean that IDs difer between ICU versions?
Note, i wrote: "sounds impossible, but not improbable". I.e. i think nobody
will
change region ID in incompatible way intentionally. But it could be made by
error or
by another reason we can't control or predict (it is external code, at last).
One of "simple" solutions could be to ask sever once for whole conversion
table and to keep it at some temp file (or nearby fbclient\app) for future
usage.
It is also not ideal, as different servers could have different ICU versions,
but
it could be a starting point to think on the better solution.
If different ICUs have different ID for same TZ than:
- ID should be extended with ICU version,
It is too much, i think. Client could ask database about current ICU version
and
choose appropriate cached conversion table.
- suggested by Vlad table should have ICU version in the header.
Yes, version of a conversion table as a whole, not per region ID.
Yes, client will store >1 copies of that table if it connects to
different servers (veray rare in practice case).
Different servers not necessary uses different ICU versions ;)
Regards,
Vlad
Firebird-Devel mailing list, web interface at
https://lists.sourceforge.net/lists/listinfo/firebird-devel