Commit Graph

7670 Commits

Author SHA1 Message Date
Knut Wannheden
292605a12f [jOOQ/jOOQ#9263] Support Field<Boolean> with non-standard Converter
When a Boolean-typed field's `Converter` is not the default, then
`DSL#condition(Field<Boolean>)` will now render the SQL by comparing the
field to `true` (as converted by the field's converter). The same
applies to `DSL#not(Field<Boolean>)`.
2019-09-24 16:09:51 +02:00
Lukas Eder
3085035a25 [jOOQ/jOOR#57] [jOOQ/jOOQ#9157]
Prevent 'Illegal reflective access operation' warning in jOOQ Open Source Edition
2019-09-24 15:33:59 +02:00
Lukas Eder
0ea7876c8c [jOOQ/jOOQ#8870] Cannot build with 2.13 yet
- 2.13.0 has a compiler bug with JDK 13
- 2.13.1 has a compiler regession with the Maven plugin
2019-09-24 14:48:29 +02:00
Lukas Eder
281f3c4202 [jOOQ/jOOQ#8870] Cannot build with 2.13 yet
- 2.13.0 has a compiler bug with JDK 13
- 2.13.1 has a compiler regession with the Maven plugin
2019-09-24 14:29:19 +02:00
Lukas Eder
8a483d095f [jOOQ/jOOQ#8870] Support Scala 2.13 2019-09-24 12:49:53 +02:00
Lukas Eder
747aa416fc [jOOQ/jOOQ#9250] LEFT [ ANTI | SEMI ] JOIN ... USING not implemented correctly 2019-09-23 10:16:39 +02:00
Lukas Eder
5ea82ca90c
Merge pull request #9255 from sullis/travis-ci-maven-3.6.2
Travis:  use Maven 3.6.2
2019-09-23 09:29:46 +02:00
Sean C. Sullivan
ee10307f41 Travis: use Maven 3.6.2 2019-09-22 13:23:21 -07:00
Knut Wannheden
a890eeeb12 [jOOQ/jOOQ#9251] Fix ORDER BY ... FETCH NEXT ... WITH TIES for H2
For queries with a `FETCH NEXT ... WITH TIES` clause the `ORDER BY`
clause isn't rendered in the OSS edition.
2019-09-20 08:54:55 +02:00
Knut Wannheden
a755ec70a4 [jOOQ/jOOQ#9248] Fix rendering of sequence methods in H2
`NEXTVAL()` is now rendered as `NEXT VALUE FOR <sequence>` and
`CURRVAL()` as `<sequence>.CURRVAL`.
2019-09-20 07:31:46 +02:00
Lukas Eder
df81c9cd04 [jOOQ/jOOQ#9244] Add support for DROP TEMPORARY TABLE IF EXISTS 2019-09-19 14:12:17 +02:00
Lukas Eder
2149fef761 [jOOQ/jOOQ#9019] Fixed DSL support annotations 2019-09-19 13:47:25 +02:00
Lukas Eder
1651ecb6a5 [jOOQ/jOOQ#9019] Render DROP TEMPORARY TABLE in MySQL 2019-09-19 12:19:26 +02:00
Knut Wannheden
e2901b626f [jOOQ/jOOQ#8528] Make code Java 6 compatible again... 2019-09-18 16:11:23 +02:00
Knut Wannheden
2d0a638597 [jOOQ/jOOQ#8528] Support CREATE TABLE inline index specifications
The parser already supports this, so it is just a matter of exposing the
indexes through the `Meta` API (`Table#getIndexes()`).
2019-09-18 15:44:08 +02:00
Knut Wannheden
78ae663c92 [jOOQ/jOOQ#8528] Support more CREATE TABLE clauses
- COMMENT clause
- Basic support for [ CONSTRAINT ... ] [ PRIMARY KEY | UNIQUE ] clause
2019-09-18 14:47:59 +02:00
Knut Wannheden
9b9622f2bc [jOOQ/jOOQ#9242] Fix implementation of AbstractKey#equals(Object)
Since keys can be unnamed, the implementation must also compare using
the `fields` instance field.
2019-09-18 14:44:53 +02:00
Knut Wannheden
f128109e46 [jOOQ/jOOQ#8528] Make code Java 6 compatible again... 2019-09-18 13:44:52 +02:00
Lukas Eder
8b1e281ea7 Merge branch 'master' of https://github.com/jOOQ/jOOQ 2019-09-18 12:50:27 +02:00
Lukas Eder
101791df32 [jOOQ/jOOQ#9224] Fixed new regression 2019-09-18 12:50:11 +02:00
Knut Wannheden
36941b75b0 [jOOQ/jOOQ#8528] Add basic support for PRIMARY KEY constraints 2019-09-18 12:48:57 +02:00
Lukas Eder
c7247311d0 [jOOQ/jOOQ#9241] Change <varargSetters/> to default to false 2019-09-18 12:34:34 +02:00
Knut Wannheden
25458d13b8 [jOOQ/jOOQ#9240] Compare to AbstractName.NO_NAME using equals() 2019-09-18 12:10:34 +02:00
Lukas Eder
036919ec31 [jOOQ/jOOQ#9224] Regression for "= ANY(?::int[])"
DSL.any(T...) no longer produces array bind variable in PostgreSQL, when used with natively supported quantified comparison operators like =, !=, etc.

This commit fixes the issue and refactors some of the internals to prevent some casting
2019-09-18 11:36:08 +02:00
Lukas Eder
052568248c [jOOQ/jOOQ#9233] Use new Source API throughout the jOOQ API
Added Source support to MockFileDatabase
2019-09-18 09:45:53 +02:00
Lukas Eder
d2d2da6e05 [jOOQ/jOOQ#9237] Remove checked exceptions from MockFileDatabaseConfiguration::source methods 2019-09-18 09:43:55 +02:00
Lukas Eder
56530816d2 [jOOQ/jOOQ#9233] Use new Source API throughout the jOOQ API 2019-09-18 09:37:37 +02:00
Lukas Eder
118d3148fc [jOOQ/jOOQ#9233] Use new Source API throughout the jOOQ API
Always produce BufferedReader in Source.reader() when reading from File
2019-09-18 09:22:30 +02:00
Lukas Eder
2c4a05b1d5 [jOOQ/jOOQ#9233] Use new Source API throughout the jOOQ API
- LoaderSourceStep.loadCSV
- LoaderSourceStep.loadJSON
- LoaderSourceStep.loadXML
2019-09-17 18:07:18 +02:00
Lukas Eder
44e82bdb63 [jOOQ/jOOQ#9235] Remove checked exceptions from LoaderSourceStep 2019-09-17 17:52:43 +02:00
Lukas Eder
cc69dfef40 [jOOQ/jOOQ#9043] API no longer internal in 3.13 2019-09-17 17:17:40 +02:00
Lukas Eder
df7180f3fa [jOOQ/jOOQ#9231] Wrong Javadoc on org.jooq.Source 2019-09-17 17:14:02 +02:00
Knut Wannheden
596cfd6ad6 [jOOQ/jOOQ#8528] Support IF [NOT] EXISTS clause
Currently the implementation is hard-coded to throw a
`DataAccessException`. In the future there will be a feature flag for
this.
2019-09-17 17:01:49 +02:00
Lukas Eder
e4e803beea [jOOQ/jOOQ#9132] Support parsing MySQL's USING [ BTREE | HASH ] index type syntax everywhere where it is supported 2019-09-17 16:34:40 +02:00
Knut Wannheden
b4af3ab133 Cleanup: Consistently use Configuration#family()
Use `Configuration#family()` and `Scope#family()` whenever possible
rather than the corresponding `dialect()` method.
2019-09-17 14:11:45 +02:00
Knut Wannheden
85ddf1f4d9 [jOOQ/jOOQ#9223] MariaDB also supports MICROSECOND and WEEK 2019-09-17 11:36:53 +02:00
Knut Wannheden
37aed04685 [jOOQ/jOOQ#9223] Support MICROSECOND and WEEK for MySQL and MemSQL 2019-09-17 11:31:50 +02:00
Knut Wannheden
1bc29aec2e [jOOQ/jOOQ#9222] Align @Support annotations in DatePart and DSL
Many `DatePart` constants have a corresponding convenience method in
`DSL` which calls `EXTRACT()` using that `DatePart`. Here the `@Support`
annotations of the enum constants and the convenience methods should
align.
2019-09-17 11:19:16 +02:00
Knut Wannheden
ddc47a36c9 [jOOQ/jOOQ#9221] Postgres supports DateParts MILLISECOND and MICROSECOND 2019-09-17 08:29:33 +02:00
Knut Wannheden
223a90a155 [jOOQ/jOOQ#9213] Add missing case to dialect-switch in InsertQueryImpl
Cleaned up a few switch statements.
2019-09-17 08:14:04 +02:00
Knut Wannheden
b0cd35a7c2 [jOOQ/jOOQ#9219] Detail: Reuse acceptNativeFunction() 2019-09-17 07:51:07 +02:00
Knut Wannheden
8131fbd857 [jOOQ/jOOQ#9219] Fix rendering of EXTRACT() for Postgres
Some date parts were incorrectly rendered in the context of the
`EXTRACT()` function.
2019-09-17 07:48:29 +02:00
Knut Wannheden
a837e9dca6 [jOOQ/jOOQ#8528] Add Configuration to DDLInterpreter 2019-09-17 07:19:03 +02:00
Knut Wannheden
0568f9a83b [jOOQ/jOOQ#8528] Make code Java 6 compatible 2019-09-16 13:39:00 +02:00
Lukas Eder
f01a861b6f [jOOQ/jOOQ#9217] Support parsing MySQL's USING HASH index_type in CREATE INDEX 2019-09-16 12:12:18 +02:00
Lukas Eder
da8aa2b01d [jOOQ/jOOQ#9213] Introduce versioned MARIADB dialects 2019-09-16 10:41:37 +02:00
Lukas Eder
2b4d918c0a Use ojdbc from Maven Central 2019-09-16 10:25:55 +02:00
Lukas Eder
41b56545f8 [jOOQ/jOOQ#9214] SQLDialect.MEMSQL lacks Pro annotation 2019-09-16 10:25:40 +02:00
Knut Wannheden
7c98a5a5d8 [jOOQ/jOOQ#8528] Initial work on DDL simulation
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.
2019-09-13 18:05:24 +02:00
Lukas Eder
e37d77087a [jOOQ/jOOQ#8621] [jOOQ/jOOQ#9209] Support for exceptions in mocks
[jOOQ/jOOQ#8621] Add support for exception syntax in MockFileDatabase
[jOOQ/jOOQ#9209] Add support for exceptions in MockResult
2019-09-13 17:22:29 +02:00