-
Notifications
You must be signed in to change notification settings - Fork 67
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Use fbclient-interfaces to decode time-fields with time zone. #362
Conversation
* Remove some IBPP_LATE_BIND directives (not needed anymore) * define m_get_master_interface-prototype
… to load ICU (GMT-fallback). * In this case, fbclient (IUtil.decodeTime(stamp)Tz) returns "GMT*" as the time zone name. * "GMT*" is now also displayed by flamerobin in this case.
Hi, is there some status about the 1hour+ divergence? |
No, unfortunately there was no helpful answer to either your or my support request. |
My implementation was already okay. The problems were caused by an incomplete / unclean fbclient installation. |
I'll take a look in the next days, out of time this days |
Hi, any news about reviewing this PR? |
Hello @andy-123 |
This PR ueses fbclient lib to decode ISC_TIME_TZ / ISC_TIME_TIMESTAMP-structs.
AFAICS isql does it the same way.
However, the following commands produces different result (flamerobin <-> isql).
TODO
[ ] (3) analyse "select cast('2018-01-01 16:01:19 America/Sao_Paulo' as timestamp with time zone)(my icu was outdated; 2019)from rdb$database;"
It returns ... 15:01 ... (fbclient-lib bug?)
[ ] (4) select current_time(stamp) returns the wrong time too. I've modified fbclient-lib to get the expected value. I'm unsure if it is a fbclient-lib bug? (common/TimeZoneUtil.cpp:TimeZoneUtil::decodeTimeStamp - line ~ 770 - i've commented "+ icuLib.ucalGet(icuCalendar, UCAL_DST_OFFSET, &icuErrorCode)" out.[ ] (4a) regardless bug or not - a fix for the the "may-be-buggy"-fbclient-lib is needed.Yes: Short story - tzdata directory was missing. Should be on the same directory as fbclient.dll.
Yes: Short story - self-build or old libfbclient with outdated time-zone database.
To point (4):* isql calls setlocale(LC_CTYPE, ""); (~ line 771) .... so it's startet with no locale (GMT-TimeZone). "+ icuLib.ucalGet(icuCalendar, UCAL_DST_OFFSET, &icuErrorCode)" is 0 and has no affect.