Adds a new `DDLInterpreterMetaProvider` (might eventually replace
`DDLMetaProvider`) which interprets DDL scripts by first parsing them
using jOOQ's `Parser`.
To extract information the implementation classes like `CreateTableImpl` have new package
private accessors. To avoid name conflicts with statically imported
methods (e.g. `DSL#table()`), the accessor methods have a `$`-prefix.
This is just a temporary solution until the object query model API is implemented, at which point these methods will be deleted again.
The `DDLInterpreter` for now just implements very basic `CREATE TABLE`, `ALTER TABLE`, and `DROP TABLE` support. The implementation will be completed incrementally.
In the case of Postgres the interval literal syntax requires each
component to have its own sign. This in contrast to the SQL standard,
where the leading sign applies to all components in the interval.
`DefaultDayToSecondBinding` now overrides `sqlInline0()` and implements
this Postgres-specific formatting when rendering interval literals.
Fixes chained invocations of `Field#add()` on a DATE or TIMESTAMP field,
where the problem was that `Expression` had an override of `Field#add()`
which didn't match up with its implementation of `accept()`.
`ParserContext` doesn't need both the `sql` and `sqlString` fields. The
`sql` field is enough.
Note that this change doesn't lower the parser's memory footprint, as
the original `String` object will still be on the stack for the whole
`Parser#parse()` call and can thus not be garbage collected.
Now all three methods (`get`, `set`, and `with`) for a given property
have the same documentation (without any `@returns` or `@param` tags).
Further, in case the XSD doesn't specify any Javadoc, the methods won't
have any Javadoc either, instead of a meaningless "Gets the value of the
xyz property.".
When calling `DSL#countDistinct(Field...)` with an empty array (as in
`countDistinct()`) the rendering is the same as for
`countDistinct(asterisk())`: `COUNT(DISTINCT *)`.
There were still more problems while building the Javadoc for other
Maven modules (other than jooq-checker). Trying with
maven-javadoc-plugin version 3.0.1 now.