With older versions H2 returned a proprietary instance of `TimestampWithTimeZone` from `ResultSet.getObject()`.
We used to support the conversion of that to an `OffsetDateTime`.
With the most recent versions `TimestampWithTimeZone` is no longer part of the H2 driver, and we only register the converter when we encounter older versions of H2.
Closes#1114
See https://github.com/h2database/h2database/pull/1359
Removed jetbrains annotation.
Removed attempt to cache annotation lookup.
Those lookups are already cached and obtaining them in the constructor causes overhead when they aren't requested at all.
Limit the use of Optional.
See #1099
Original pull request #1108
Simplified the code structure.
Ensured backward compatibility by recreating some methods often immediately deprecating them.
Moved new classes to the places where they belong, so that the package ...core.sql.render depends on ...core.dialect and not the other way round.
This causes dependency cycles because dependencies in the other direction already exists.
This will be properly fixed by #1105.
For now the offending classes are ignored by the DependencyTests.
See #777
See #1105
Polishing
The new Testcontainers version comes with a standard Oracle image configured and doesn't work with the one we used so far.
Making the standard image work required some tweaks to the setup so that the test user has the required privileges.
Closes#1081
Remove unecessary toString calls. Make Cast.create public to align with other factory methods. Fix AbstractSegment.toString
See #1066
Original pull request: #1071.
Example: Expressions.cast(table_user.column("name"),"VARCHAR2")
Also adds a toString to AbstractSegment to avoid stack overflows.
Closes#1066
Original pull request: #1071.
This is to replace the AfterLoadCallback/Event in order to match the naming of other store modules.
AfterLoadCallback/Event is still in place for now, but deprecated.
Closes#1053
Original pull request: #1060.
Postgres requires the non standard type "FLOAT8" for "DOUBLE".
This is accomplished by making the conversion dependent on the dialect.
This required a new JdbcDialect interface in order to keep the JDBC annotation out of the relational module.
Closes#1033
Original pull request: #1037.