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.
Remove Jackson in favor of JsonHolder and PGobject usage within the domain model. Convert spaces to tabs. Reorder methods and classes.
See #920
Original pull request: #1008.
Tweak method names. Rebase onto main. Convert issue references to GH- from hash prefixed ones. Remove final keyword from variable and parameter declarations.
Original pull request: #999.
See #987
For a property of type AggregateReference one may provide an aggregate, an AggregateReference, or the id of the aggregate.
Closes#987
Original pull request: #999.
Hide actual converters by making these private classes, expose factory method to construct converters. Avoid stream API usage on converter code paths. Remove unused imports. Clean up tests.
Original pull request: #993.
See #992
Use queryForStream for streamed query results.
Since ResultSetExtractor cannot be reasonably be used together with streams it falls back to the existing collection behaviour.
Closes#578
Original pull request #903
`IsTrue` and `IsFalse` queries no longer use a literal in the query, but a bind parameter.
This allows Spring Data JDBC or the JDBC driver to convert the passed boolean value to whatever is required in the database.
For Oracle converter where added to support storing and loading booleans as NUMBER(1,0) where 0 is false and everything else is true.
Closes#908
Original pull request #983
Most supported databases don't need that conversion.
Db2 does need it and gets it through JdbcDb2Dialect.
As part of the effort it became obvious that the filtering for conversions between Date and JSR310 data types was broken.
It is fixed now, which required a dedicated reading conversion from LocalDateTime to Date for JdbcMySqlDialect.
Closes#974
Original pull request: #985.
Dialects now can define a set of known simple types the driver can handle without further interaction. This is done to avoid warnings during converter registration for types known in one environment but not the other.
Also move types around a bit, change visibility and make sure jdbc specific dialects inherit converters from their parents.
Original pull request #981
See #935
Dialects may now register a list of converters to take into consideration when reading or writing properties.
See `JdbcSqlServerDialect` for an example.
By default `OffsetDateTime` does not get converted anymore.
If a database needs a conversion it can register it by implementing `Dialect.getConverters()` as described above.
Closes#935
Original pull request #981