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.
Reformat code. Remove duplicate, lingering Javadoc. Add override annotations. Use entities instead of < and >. Reduce method/class visibility in tests.
See #1003
Original pull request: #1018.
`InlineQuery` can be used wherever a `Table` was used up to now.
```
Table one = ...;
Select select = Select.builder()
.select(one.column("id"), employee.column("name"))
.from(one)
.build();
InlineQuery inline = InlineQuery.create(select, "inline");
Select select = Select.builder()
.select(inline.column("id"), inline.column("name"))
.from(inline)
.build();
```
Join and From renderer now use the same FromTableVisitor.
Also the SelectListVisitor reuses now the ExpressionVisitor.
Fixes#1003
Original pull request: #1018.