Commit Graph

7457 Commits

Author SHA1 Message Date
Lukas Eder
cacc3e5a7c [jOOQ/jOOQ#8932] Use diamond operator in jOOQ code 2019-07-11 11:55:51 +02:00
Lukas Eder
b878ce333e [jOOQ/jOOQ#8929] DAOImpl should short circuit Result.map(RecordMapper) calls 2019-07-10 15:14:21 +02:00
Lukas Eder
f43815aa73 [jOOQ/jOOQ#8925] Add DAO.fetchRangeOf(Field<Z>, Z, Z) 2019-07-10 15:05:52 +02:00
Lukas Eder
287b7525df [jOOQ/jOOQ#8924] Accidental tab/spaces mix 2019-07-10 14:00:55 +02:00
Lukas Eder
13c1ac8a37 [jOOQ/jOOQ#8924] Add Settings.updateRecordVersion and
Settings.updateRecordTimestamp
2019-07-10 13:59:58 +02:00
Knut Wannheden
bea533dd78 [jOOQ/jOOQ#2026] Add new @Internal annotation
This new annotation signifies that a given public type, method, or field
is in fact internal API and should not be used in client code.
2019-07-10 11:49:21 +02:00
Lukas Eder
65b90e14a5 [jOOQ/jOOQ#2759] Improved implementation 2019-07-10 11:45:08 +02:00
Knut Wannheden
8b04f08e15 [jOOQ/jOOQ#8919] Implement formatting in MiniJAXB
The formatting logic is encapsulated by the new internal `XMLBuilder`
class which also required a new internal interface `XMLAppendable` which
is implemented by all XJC generated classes.

The XJC plugin was modified accordingly and all code was regenerated.

Also note that the `MiniJAXB` class was moved to package
`org.jooq.util.jaxb.tools`.
2019-07-10 11:26:58 +02:00
Lukas Eder
7100fd6e08 [jOOQ/jOOQ#8921] Fixed Support annotation on returningResult() methods 2019-07-10 10:52:50 +02:00
Lukas Eder
a8a6c86d25 Synced with pro repository 2019-07-10 10:48:12 +02:00
Lukas Eder
80f325273b [jOOQ/jOOQ#4498] Emulate INSERT .. ON DUP KEY .. RETURNING using OUTPUT 2019-07-10 10:18:35 +02:00
Lukas Eder
2069d086ba [jOOQ/jOOQ#8920] Implement UPDATE / DELETE .. RETURNING in SQL Server using OUTPUT 2019-07-09 18:20:03 +02:00
Knut Wannheden
d4e24de598 [jOOQ/jOOQ#7827] MiniJAXB should only omit optional elements
While marshalling MiniJAXB should only omit an XML element if the
corresponding @XmlElement annotation has `required = false`. With
`required = true` the output should instead have an empty XML element.
2019-07-09 17:55:22 +02:00
Lukas Eder
02603d5c86 [jOOQ/jOOQ#4498] Fetch also trigger generated values in SQL Server 2019-07-09 17:53:47 +02:00
Lukas Eder
8c69160983 [jOOQ/jOOQ#7827] Prevent NPE in XMLDatabase#getSchemata0() 2019-07-09 17:52:51 +02:00
Lukas Eder
ee79bc2641 [jOOQ/jOOQ#8915] COMMENT ON VIEW doesn't work on SQL Server 2019-07-09 14:59:10 +02:00
Knut Wannheden
9020e4eb42 [jOOQ/jOOQ#8914] Consistently use MiniJAXB 2019-07-09 14:34:17 +02:00
Lukas Eder
44611c9548 Fixed automatic module name 2019-07-09 09:25:51 +02:00
Lukas Eder
9aa1341659 [jOOQ/jOOQ#8910] Ignore SET SCHEMA 2019-07-08 13:12:52 +02:00
Lukas Eder
2d902c0fb4 [jOOQ/jOOQ#8910] Ignore SET SCHEMA 2019-07-08 13:00:58 +02:00
Lukas Eder
3c73a4d5a3 [jOOQ/jOOQ#7751] Add support for ALTER TABLE ONLY 2019-07-08 12:53:42 +02:00
Lukas Eder
57e1ac0c99 [jOOQ/jOOQ#8910] Parse pg_catalog.set_config('search_path') as SET SCHEMA in DDLDatabase 2019-07-08 12:13:43 +02:00
Lukas Eder
314d6fc522 [jOOQ/jOOQ#8678] Enable Settings.parseUnknownFunctions in DDLDatabase 2019-07-08 11:38:41 +02:00
Lukas Eder
2f14d5e44e [jOOQ/jOOQ#8324] Parser should ignore { CREATE | DROP } EXTENSION statement 2019-07-08 11:10:38 +02:00
Lukas Eder
96e68b27cf [jOOQ/jOOQ#8908] Statements ignored by the parser do not implement QueryPartInternal 2019-07-08 10:55:14 +02:00
lukaseder
1b0113cc25 [jOOQ/jOOQ#8905] Use GeneratorWriter.encoding() instead of "UTF-8" 2019-07-05 13:46:15 +02:00
Knut Wannheden
255f5481a5 [jOOQ/jOOQ#8900] Fix more Java 6 compatibility issues 2019-07-05 07:46:01 +02:00
Knut Wannheden
eee38f618c [jOOQ/jOOQ#8900] Extract MiniJAXB common exception handling logic
`marshal()` and `unmarshal()` now share the same exception handling.
2019-07-04 20:37:49 +02:00
Lukas Eder
bcdadee556 [jOOQ/jOOQ#8905] GeneratorWriter should check the file size prior to
opening existing files to compare contents
2019-07-04 17:15:09 +02:00
Lukas Eder
ab676159fa [jOOQ/jOOQ#8903] Add Support annotation also to Nullability enum 2019-07-04 16:49:18 +02:00
Lukas Eder
58954539cb [jOOQ/jOOQ#8900] Regenerated PostgreSQL information_schema code 2019-07-04 16:45:19 +02:00
Knut Wannheden
f8a6dfacf1 [jOOQ/jOOQ#8900] Make jOOQ compatible with Java 6
- Mostly surround pieces of code with [java-8] preprocessor tags
- Added ExceptionTools#sneakyThrow() which is used in MiniJAXB
2019-07-04 16:26:21 +02:00
Lukas Eder
0309bffc11 [jOOQ/jOOQ#8903] Add Support annotations to DataType methods 2019-07-04 16:25:21 +02:00
Lukas Eder
35b2c864b9 [jOOQ/jOOQ#8904] Add Support annotations to DSL.name() and DSL.keyword() 2019-07-04 16:18:42 +02:00
Lukas Eder
b7d4a75467 [jOOQ/jOOQ#8041] Add missing support annotation to DSL.characterSet() 2019-07-04 16:13:50 +02:00
Lukas Eder
e4a6bfcfd3 [jOOQ/jOOQ#8902] Add missing Support annotation to DSL.collation 2019-07-04 16:12:05 +02:00
Lukas Eder
0b470c64c1 [jOOQ/jOOQ#8899] [jOOQ/jOOQ#8901] More INSERT RETURNING / Oracle fixes
- [jOOQ/jOOQ#8899] Implement specialised emulation for Oracle single row INSERT .. RETURNING with expressions
- [jOOQ/jOOQ#8901] Cannot use INSERT .. RETURNING in Oracle to fetch back a UDT
2019-07-04 15:46:37 +02:00
Lukas Eder
0e6e5e2b3c [jOOQ/jOOQ#8898] Fix INSERT .. RETURNING for Oracle
INSERT .. RETURNING emulation doesn't work on Oracle when returned columns are aliased
2019-07-04 14:11:48 +02:00
Lukas Eder
d6bf5a8fe1 [jOOQ/jOOQ#8897] Fix INSERT .. RETURNING for Oracle
INSERT .. RETURNING emulation doesn't work on Oracle for single row inserts when returning expressions
2019-07-04 13:52:19 +02:00
Lukas Eder
b20658f262 Reverted '[jOOQ/jOOQ#8077] Support YearToSecond with Oracle'
Change added on 2019-06-21. It leads to a few regressions in the Oracle integration tests
2019-07-04 11:15:22 +02:00
Knut Wannheden
a8a20a1a48 [jOOQ/jOOQ#8853] Use parseEscapeClauseIf() consequently 2019-07-03 15:57:37 +02:00
Knut Wannheden
88ed4df42f [jOOQ/jOOQ#8853] Extracted ParserImpl#parseEscapeClauseIf() method 2019-07-03 15:49:47 +02:00
Lukas Eder
a688f1904a Regenerated example code 2019-07-03 15:27:26 +02:00
Lukas Eder
514f2eda6d [jOOQ/jOOQ#5412] Reverted the feature 2019-07-03 15:27:09 +02:00
Knut Wannheden
156386586f [jOOQ/jOOQ#8853] Guard against unexpected method calls
Depending on what local variable types are used in the user's Java code
(and even on which Java compiler is being used!) a call intended for
`DSL#all(Field...)` may end up being compiled to call
`DSL#all(Object...)`.

To guard against such situations the `DSL#all(Object...)` and
`DSL#any(Object...)` methods now check if the argument is actually an
instance of `Field[]`.

Also fixes parser, which was a victim of the problem described above.
2019-07-03 15:11:27 +02:00
Knut Wannheden
af024cde2d [jOOQ/jOOQ#8853] Support ANY LIKE with subqueries
The implementation of jOOQ/jOOQ#8577 was generalized by building on the
already present quantified predicates support in jOOQ. Thus there are
now the new overloads `Field#like(QuantifiedSelect)` and
`Field#notLike(QuantifiedSelect)` which can be used together with any of
the existing `DSL#any()` and `DSL#all()` overloads. In addition there
are also the new overloads `DSL#any(Field...)` and `DSL#all(Field...)`.

On the implementation side the new predicates are either implemented by
AND- or OR-chaining `LIKE` or `NOT LIKE` predicates (as appropriate) or
for the subquery case by using a query like:

```sql
[TRUE|FALSE] = [ANY|ALL] (
  SELECT <field> {NOT} LIKE "PATTERN"
  FROM <subquery> AS "T"("PATTERN")
)
```
2019-07-03 12:51:43 +02:00
Lukas Eder
23b0c94774 [jOOQ/jOOQ#8889] Upgrade scala 2.12 dependency to 2.12.8 2019-07-03 11:15:57 +02:00
Lukas Eder
caa9935385 [jOOQ/jOOQ#8887] Add SQLDataType.DECIMAL_INTEGER(int) as a shortcut for DataType.precision(int) 2019-07-03 10:13:38 +02:00
Lukas Eder
bee81a3933 [jOOQ/jOOQ#8544] ExecuteListener#end() not last lifecycle event when using DSLContext#fetchOne() 2019-07-02 15:53:41 +02:00
Lukas Eder
10735fdb50 [jOOQ/jOOQ#8883] Use noCondition() in fetchXYZ(Table), fetchXYZ(Table, Condition) overloads 2019-07-02 15:16:02 +02:00