Commit Graph

7361 Commits

Author SHA1 Message Date
Knut Wannheden
59f3aea44d [jOOQ/jOOQ#8825] Added missing dialects to DatePart literals
The DB2 and SQLDATAWAREHOUSE dialects were missing on some of the
`DatePart` literals.
2019-06-20 15:41:26 +02:00
Knut Wannheden
b2d1119e24 [jOOQ/jOOQ#8754] Avoid using SQL templating
jOOQ should internally try to avoid using SQL templating. As a result
most implementation classes representing SQL built-in functions which
before inherited from `AbstractFunction` now directly extend
`AbstractField` instead and directly render the SQL rather than
returning a `Field` object to be rendered.
2019-06-20 12:26:45 +02:00
Lukas Eder
d954d5c246 [jOOQ/jOOQ#8620] Replace Query references by RowCountQuery where appropriate 2019-06-19 16:49:07 +02:00
Lukas Eder
e97a96396b [jOOQ/jOOQ#8746] Check for InvocationOrder.REVERSE instead of DEFAULT
The current implementation is checking if a given InvocationOrder setting is the DEFAULT. We should better check the inverse, if it is REVERSE and act accordingly. That way, both DEFAULT and null have the DEFAULT behaviour.
2019-06-19 15:49:38 +02:00
Lukas Eder
f79055b2cb [jOOQ/jOOQ#7518] Support parsing Teradata / Access MOD operator 2019-06-19 15:40:18 +02:00
Lukas Eder
d4a0e60bd8 [jOOQ/jOOQ#8817] Remove unnecessary {@inheritDoc} Javadoc tags in jOOQ's internals 2019-06-19 15:14:39 +02:00
Lukas Eder
d53dee0696 [jOOQ/jOOQ#8815] Add missing Javadoc to
Configuration.visitListenerProviders()
2019-06-19 11:09:48 +02:00
Lukas Eder
5aee8a9b5d [jOOQ/jOOQ#5412] Generate a Record from POJO unmapper on generated
records
2019-06-18 17:04:54 +02:00
Lukas Eder
45c298a4bc [jOOQ/jOOQ#5412] Generate a Record to POJO mapper on generated records 2019-06-18 16:48:44 +02:00
Lukas Eder
385887eb51 Added jOOQ-examples/pom.xml 2019-06-18 13:48:35 +02:00
Lukas Eder
fadde3f096 [jOOQ/jOOQ#8810] Emulated ENUM types produce check constraint with bind variables 2019-06-18 13:48:10 +02:00
Knut Wannheden
8ceaf4ebf1 [jOOQ/jOOQ#8803] Improve performance of StringUtils#replace()
Replace `buf.append(text.substring(start, end))` with `buf.append(text,
start, end)` in `StringUtils#replace()`.
2019-06-18 07:48:24 +02:00
Lukas Eder
5b26bd463d [jOOQ/jOOQ#8806] Correctly parse identifiers that look like keywords
Parser doesn't correctly parse identifiers that can conflict with keywords. For example, when parsing TRIM(TRAILING.C) where TRAILING is a table reference, we parse it as a keyword and don't check if it is really just a qualified identifier. Whenever there's a . following a keyword, we'll treat the token as a non-keyword.
2019-06-17 13:00:20 +02:00
Lukas Eder
af742a3090 [jOOQ/jOOQ#8315] Optimize ScopeStack#get() (work by @knutwannheden) 2019-06-17 10:29:54 +02:00
Knut Wannheden
59f14e6f92 [jOOQ/jOOQ#8315] Optimize DefaultRenderContext#scopeRegister()
Not directly related to the `ScopeStack` implementation itself, but to
the main client of it.
2019-06-14 15:08:11 +02:00
Lukas Eder
384b5ec325 [jOOQ/jOOQ#8797] Improve StopWatchListener Javadoc
Add Javadoc to StopWatchListener explaining that it should be wrapped in an ExecuteListenerProvider
2019-06-13 17:37:44 +02:00
Lukas Eder
01dec5cadf [jOOQ/jOOQ#8795] Support SQLDATAWAREHOUSE for AlterTableAlterStep#set() 2019-06-13 16:55:34 +02:00
Knut Wannheden
f56955497f [jOOQ/jOOQ#8796] Support FIREBIRD_3_0 in InsertOnDuplicateSetStep
The `InsertOnDuplicateSetStep#set()` methods should declare FIREBIRD_3_0
support as with `InsertOnConflictDoUpdateStep#doUpdate()`. Support this
in `InsertQueryImpl` by emulating it using `MERGE`.
2019-06-13 16:00:55 +02:00
Knut Wannheden
cb176e2e08 [jOOQ/jOOQ#8794] Add dialects to OrderedAggregateFunction
Add MEMSQL and SQLSERVER2012 to OrderedAggregateFunction, as this API is
referenced by e.g. DSL#percentileCont() which states support for both of
these dialects.
2019-06-13 15:34:00 +02:00
Lukas Eder
2185f22ef0 [jOOQ/jOOQ#8789] Add support for parsing MySQL numeric interval literals 2019-06-13 15:26:34 +02:00
Knut Wannheden
fd6601c98c [jOOQ/jOOQ#8793] More dialects for MergeValuesStepN#values()
Add AURORA_POSTGRES, HANA, and POSTGRES.
2019-06-13 15:22:47 +02:00
Knut Wannheden
a9afab5822 [jOOQ/jOOQ#8780] Support SQLSERVER in AlterTableStep#renameIndex()
Add support for SQLSERVER2016 to `AlterTableStep#renameIndex()`.
2019-06-13 14:25:02 +02:00
Knut Wannheden
375ae0c70a [jOOQ/jOOQ#8780] Support SQLSERVER in AlterIndexStep
Add support for SQLSERVER2016 and SQLDATAWAREHOUSE to `AlterIndexStep`.
2019-06-13 14:10:11 +02:00
Knut Wannheden
222005c580 [jOOQ/jOOQ#8785] Remove TERADATA support from DSL#alterIndex()
No explicit ALTER INDEX ... RENAME support has been implemented for
TERADATA and no native ALTER INDEX command exists.
2019-06-13 14:01:29 +02:00
Knut Wannheden
70ef8a398c [#8784] Add AURORA_MYSQL and MARIADB support in MergeValuesStepN 2019-06-13 13:29:55 +02:00
Knut Wannheden
77e3390d6c [jOOQ/jOOQ#8783] Add VERTICA support in MergeNotMatchedSetStep 2019-06-13 13:22:13 +02:00
Knut Wannheden
299cd97d81 [jOOQ/jOOQ#8782] Add VERTICA to @Suport annotations on WindowRowsAndStep 2019-06-13 13:13:36 +02:00
Knut Wannheden
768b7c92d9 [jOOQ/jOOQ#8280] Add SQLITE support to WithAsStep<N> classes
SQLITE was missing in the @Support annotations of the methods on the
`WithAsStep<N>` classes.
2019-06-13 12:22:32 +02:00
Lukas Eder
7f75f47c29 [jOOQ/jOOQ#8781] Improve error msg when org.jooq.util class not found
Users keep running into issues when they don't see why their
org.jooq.util classes from the code generator cannot be found. This
change helps them better find the new package qualification of types in
the jOOQ-meta and jOOQ-codegen modules.
2019-06-13 12:20:16 +02:00
Knut Wannheden
527486e296 [jOOQ/jOOQ#8777] Fix AbstractFormattable#formatCSV()
Two of the `AbstractFormattable#formatCSV()` overloads didn't respect
the `header` parameter.
2019-06-12 16:29:44 +02:00
Knut Wannheden
075b1dc856 [jOOQ/jOOQ#5909] Update academy examples 2019-06-12 13:01:37 +02:00
Knut Wannheden
986dbbc711 Make JavaFX example Java 11 compatible 2019-06-12 12:50:54 +02:00
Knut Wannheden
55cefa0f5a [jOOQ/jOOQ#8753] Add Context#sql(long), sql(float), and sql(double)
Adds the methods Context#sql(long), sql(float), and sql(double). These
are used by the default converters in DefaultBinding for better
performance.

Note that there is no sql(boolean), since "true" and "false" are
expected to be treated as keywords and as such respect the keyword
rendering style.
2019-06-12 12:33:51 +02:00
Knut Wannheden
6f936994af [jOOQ/jOOQ#8771] Add REDSHIFT support for SelectWithTiesAfterOffsetStep
The LIMIT WITH TIES clause can be emulated for REDSHIFT using RANK().
2019-06-12 11:26:23 +02:00
Knut Wannheden
74897133f2 [jOOQ/jOOQ#8744] H2: Support INSERT ... ON CONFLICT DO UPDATE
Support this clause by emulating it with MERGE.
2019-06-11 15:13:40 +02:00
Knut Wannheden
d6ff51aa43 [jOOQ/jOOQ#8774] Remove SQLITE from AlterTableAlterStep methods 2019-06-11 15:08:02 +02:00
Knut Wannheden
b798c038d0 [jOOQ/jOOQ#2059] Fix AlterTableRenameIndexToStep @Support annotations
This feature is not supported by MEMSQL.
2019-06-11 15:06:05 +02:00
Knut Wannheden
906ca2b0e4 [jOOQ/jOOQ#8772] Correct @Support annotations on CreateIndexIncludeStep 2019-06-11 14:46:44 +02:00
Knut Wannheden
afe0643d7c [jOOQ/jOOQ#8771] Remove REDSHIFT from SelectWithTiesAfterOffsetStep
SelectWithTiesAfterOffsetStep#withTies() is not supported by REDSHIFT.
2019-06-11 14:26:17 +02:00
Knut Wannheden
338c02a89e [jOOQ/jOOQ#8770] Fix @Support annotations of SelectLimitAfterOffsetStep
Align the @Support annotations of the limit() methods.
2019-06-11 14:16:27 +02:00
Knut Wannheden
046a99bb68 [jOOQ/jOOQ#8769] Fix @Support annotations on TableOuterJoinStep
TableOuterJoinStep is for the time being only supported by ORACLE.
2019-06-11 14:08:06 +02:00
Knut Wannheden
88be3c65ab [jOOQ/jOOQ#8767] Add DB2 and FIREBIRD support to DSL#alterView()
DSL#alterView() was missing `DB2` and `FIREBIRD` in its `@Support`
annnotation.
2019-06-11 13:41:39 +02:00
Knut Wannheden
9e1a69ab54 [jOOQ/jOOQ#8766] Add missing dialects to @Support of mergeInto()
Adds AURORA_POSTGRES, HANA, and POSTGRES_9_5 to @Support annotation of
DSLContext#mergeInto(Table) and DSL#mergeInto(Table).
2019-06-11 11:58:23 +02:00
Lukas Eder
fa17504b57 [jOOQ/jOOQ#8723] Fixed this issue for Teradata 2019-06-07 16:01:59 +02:00
Lukas Eder
4c77d1386e [jOOQ/jOOQ#8761] Fix missing Support annotations for Teradata 2019-06-07 15:50:44 +02:00
Knut Wannheden
9cd09f5b70 [jOOQ/jOOQ#8758] [jOOQ/jOOQ#7518] DEFAULT in INSERT and MERGE
The DEFAULT keyword is now also properly supported in the INSERT and
MERGE statements.
2019-06-07 15:49:56 +02:00
Lukas Eder
82e4a12712 [jOOQ/jOOQ#8759] Add support for SET SCHEMA in Teradata 2019-06-07 15:24:55 +02:00
Knut Wannheden
bb871723a7 [jOOQ/jOOQ#8760] [jOOQ/jOOQ#7518] Parse TIMESTAMPDIFF()
The parser now supports parsing the TIMESTAMPDIFF() function, which is
mapped to DSL#timestampDiff().
2019-06-07 15:23:47 +02:00
Knut Wannheden
a1c54350a5 [jOOQ/jOOQ#8758] Parse UPDATE keyword in UPDATE statements 2019-06-07 14:54:38 +02:00
Knut Wannheden
ae13be078d [jOOQ/jOOQ#8736] Avoid NumberFormatException in Convert
This commit makes `NumberFormatException`s less likely to happen in
`Convert.ConvertAll#from(Object)` by first attempting to parse the
string representation of the value using `Ints#tryParse()` or
`Longs#tryParse()` (as appropriate). If that fails the conversion will
still try to use `BigDecimal(String)`, as that also allows parsing
numbers with fractions and / or exponent.

Note that this change required moving `tryParseInt()` and
`tryParseLong()` from `Tools` to the new public classes `Ints` and
`Longs` which have the license header from the corresponding
Guava sources, where the methods were copied from.
2019-06-07 14:52:39 +02:00