Today I ran the Jaybird tests on Firebird 4 for the first time since the
timezone changes where merged. A test that previously worked (despite a
typo), now yields an error
java.sql.SQLException: Invalid time zone region [SQLState:HY000, ISC
error code:335544382]
This can be reproduced with:
CREATE TABLE T2 (C10 TIMESTAMP);
commit;
insert into T2 values ('2001-JAN-6:8:00:03.1223');
This query has a syntax 'error', a `:` between date and time instead of
a space (it works with '2001-JAN-6 8:00:03.1223'). But this syntax error
has worked fine for the past 17 years; it was introduced in a commit in
Jaybird on 2001-06-29.
I'm OK with a stricter syntax, but then I would expect another error (eg
a "conversion error from string "2001-JAN-6:8:00:03.1223"" or similar),
as this error is just confusing. If this is an intentional change, it
should also be explicitly mentioned in the release notes.
This is possibly related to topic "[Firebird-devel] Valid date or not"
from 21st of February 2018.
The firebird.log contains the following error:
RAMONA Thu Dec 27 10:20:45 2018
ICU error retrieving the system time zone: -128. Fallbacking to
displacement.
Interestingly, this error also occurs during the build, as the log also
contains errors from the build server during the build process, for example:
FBCOMPILEWIN Wed Dec 26 22:23:25 2018
ICU error retrieving the system time zone: -128. Fallbacking to
displacement.
This raises a number of questions:
1. Why does this specific error occur when non-timezone types are used?
2. If indeed we no longer allow this syntactically questionable format,
would it be possible to instead raise a different (less confusing) error?
3. What is the underlying cause of the error logged ("ICU error
retrieving the system time zone: -128.")? Is there a problem with
timezone support on Windows?
4. Errors logged during build should be fixed, right?
And a nitpick: "Fallbacking" should be "Falling back"
Mark
--
Mark Rotteveel
Firebird-Devel mailing list, web interface at
https://lists.sourceforge.net/lists/listinfo/firebird-devel