Commit Graph

8147 Commits

Author SHA1 Message Date
Lukas Eder
45097fd05d [jOOQ/jOOQ#8677] Log warning when file based databases have invalid <jdbc/> configurations 2020-01-14 17:23:57 +01:00
Lukas Eder
7ab5709de4 [jOOQ/jOOQ#9726] FilePattern matches too many files when wildcards are
being used
2020-01-14 16:08:32 +01:00
Lukas Eder
439238bd98 [jOOQ/jOOQ#9726] FilePattern matches too many files when wildcards are
being used
2020-01-14 15:53:26 +01:00
Lukas Eder
4809fd4a55 [jOOQ/jOOQ#9726] FilePattern matches too many files when wildcards are being used 2020-01-14 15:47:49 +01:00
Lukas Eder
cff813a73e [jOOQ/jOOQ#9727] Add configuration/basedir to resolve relative paths in
code generator
2020-01-14 15:41:37 +01:00
Lukas Eder
8baac33263 [jOOQ/jOOQ#9726] FilePattern matches too many files when wildcards are
being used
2020-01-14 14:56:15 +01:00
Lukas Eder
025fc98685 [jOOQ/jOOQ#9725] Move org.jooq.meta.tools.FilePattern API to core library 2020-01-14 14:35:13 +01:00
Lukas Eder
1d22290407 [jOOQ/jOOQ#9684] Make Version and Migration APIs Internal for now 2020-01-14 10:41:04 +01:00
Knut Wannheden
6f6c623831 [jOOQ/jOOQ#7421] Render "dual" as string again
Im MySQL `DUAL` must not be rendered as quoted, therefore reverting last
commit to use `Names.N_DUAL` again.
2020-01-10 14:33:11 +01:00
Knut Wannheden
e13fd20658 [jOOQ/jOOQ#7421] Render "dual" as a name
The `DUAL` table will now be rendered as a `Name` rather than as the
plain string `dual`. This way it will also adhere to the name case
settings in the rendered SQL.
2020-01-10 14:04:42 +01:00
Knut Wannheden
11a5422efc [jOOQ/jOOQ#8755] Add Loader[CSV|JSON|Rows]Step#fieldsFromSource()
This new `fieldsFromSource()` method can be used when all or a subset of
the input field names exactly match the target table column names. The
load operation can then be executed without having to specify the fields
and will create rows with all matching fields (other fields are
ignored).

Since the fields are mapped by name this requires the input to specify
the field names. For CSV this means that there must be a header row,
otherwise using `fieldsFromSource()` will result in a runtime exception.
2020-01-10 10:12:25 +01:00
Knut Wannheden
93bfffea5c [jOOQ/jOOQ#9718] Fix return type of fields(LoaderFieldMapper) methods
The `LoaderCSVStep#fields(LoaderFieldMapper)` and
`LoaderJSONStep#fields(LoaderFieldMapper)` methods now have the correct
return type.
2020-01-09 14:55:07 +01:00
Knut Wannheden
2778b20375 [jOOQ/jOOQ#9719] Support MySQL's single argument ISNULL() in parser 2020-01-09 12:39:19 +01:00
Knut Wannheden
aa35783e55 [jOOQ/jOOQ#9598] Fix race condition caused by Tools#PARSER
Since this package private field `Tools#PARSER` isn't used anywhere, it
can just be deleted.
2020-01-09 08:22:08 +01:00
Knut Wannheden
922b62b444 Cleanup: Regenerate some more example code 2020-01-08 10:53:15 +01:00
Knut Wannheden
8c225c4501
Merge pull request #9700 from rweisleder/sakila-postgres-fix
Sakila/PostgreSQL: Don't fail if language plpgsql already exists
2020-01-08 10:49:57 +01:00
Knut Wannheden
33c517a1c8 [jOOQ/jOOQ#9708] Fix regex based schema mapping (with backreferences)
The way the schema mapping was implemented resulted in the schema
mapping always getting applied twice during the rendering. This was
problematic for regex based schema mappings using backreferences.

This commit changes the schema mapping logic so that
`SchemaMapping#map(Schema)` doesn't "recursively" map schemas. I.e. any
given schema is only mapped once.
2020-01-06 13:29:27 +01:00
Knut Wannheden
680cd20d08 [jOOQ/jOOQ#5714] Update examples where Date is now LocalDate
With [jOOQ/jOOQ#5714] the default value of `<javaTimeTypes>` changed
from `false` to `true`. This also requires a few changes in the example
code.
2020-01-06 10:14:18 +01:00
Knut Wannheden
7c08ea1e56 Cleanup: Regenerate jOOQ-spark-chart-example without @Generated 2020-01-06 09:56:55 +01:00
Knut Wannheden
588bf7036d Upgrade to JUnit 4.13
Removes jOOQ's own `assertThrows()` utility in favor of that in JUnit.
2020-01-06 09:35:34 +01:00
Roland Weisleder
63588967b9 Sakila/PostgreSQL: Don't fail if language plpgsql already exists
When using the Sakila DB with the Docker image postgres:12.1 the
initialisation fails with:
  ERROR:  language "plpgsql" already exists

With PostgreSQL 8.4 (see [1]) and earlier it was only possible to
execute:
  CREATE [ PROCEDURAL ] LANGUAGE name

Starting with PostgreSQL 9.0 (see [2]) it is possible to execute:
  CREATE [ OR REPLACE ] [ PROCEDURAL ] LANGUAGE name

This commit makes the SQL script incompatible with PostgreSQL 8.4
and earlier.

[1] https://www.postgresql.org/docs/8.4/sql-createlanguage.html
[2] https://www.postgresql.org/docs/9.0/sql-createlanguage.html
2019-12-26 13:15:17 +01:00
Lukas Eder
5ccc6cddb6 [jOOQ/jOOQ#9674] Bad SQL generated from implicit join from within subqueries 2019-12-23 12:36:16 +01:00
Lukas Eder
36981a1198 [jOOQ/jOOQ#9697] Full identifier qualification in generated code when <globalObjectReferences> is turned off 2019-12-23 10:53:55 +01:00
Knut Wannheden
0494314753 [jOOQ/jOOQ#9668] Offer Java 11 and Java 6 trial downloads
Add support for building `trial`, `trial-java-8`, and `trial-java-6`
editions analogously to the three pro editions.
2019-12-20 14:57:58 +01:00
Knut Wannheden
91fde41fb9 [jOOQ/jOOQ#9272] Avoid fully qualified class references when possible
In the generated `CatalogImpl` subclasses the static fields representing
the schemas of the catalog typically don't need a fully qualified class
reference in the initializer expression, since the Java type is imported
already.

Additionally the Javadoc comment of the field representing the default
schema (if any) will now also include the schema's name (before it was
missing).
2019-12-20 11:19:04 +01:00
Knut Wannheden
05a37398f0 [jOOQ/jOOQ#9272] Fix Javadoc of default catalog and schema singletons
Fixes the Javadoc comment of the default catalog and schema singletons
generated into the `CatalogImpl` and `SchemaImpl` subclasses. For the
default catalog and schema the name was always empty.
2019-12-20 11:05:24 +01:00
Knut Wannheden
171637eaed [jOOQ/jOOQ#9272] Avoid fully qualified class references when possible
In the generated `SchemaImpl` subclasses the static fields representing
the tables of the schema typically don't need a fully qualified class
reference in the initializer expression, since the Java type is imported
already.
2019-12-20 10:39:12 +01:00
Lukas Eder
e0cc5a4763 [jOOQ/jOOQ#9696] Add a new <generateGlobalIndexReferences/> flag
- This also fixes [jOOQ/jOOQ#9582]
2019-12-19 17:39:37 +01:00
Lukas Eder
e4c85704d8 [jOOQ/jOOQ#9692] Add InsertQuery.setSelect(Collection, Select) overload 2019-12-19 11:13:58 +01:00
Lukas Eder
a9df7649b1 [jOOQ/jOOQ#9685] Generate.globalTableReferences should not impact what
is returned by Schema#getTables()
2019-12-19 10:52:33 +01:00
Knut Wannheden
fb0a53b200 [jOOQ/jOOQ#9272] Simplify generated Schema and Catalog classes
The genereated `SchemaImpl` and `CatalogImpl` subclasses will only
declare methods like `getSchemas0()` and `getTables0()` when necessary.
I.e. when the number of returned definitions exceeds 500.
2019-12-18 17:29:01 +01:00
Knut Wannheden
9d6e8236a1 [jOOQ/jOOQ#9505] Versions extends Iterable<Version> 2019-12-18 15:43:53 +01:00
Knut Wannheden
4b3dcb8248 [jOOQ/jOOQ#9506] Added org.jooq.Versions as a result type for
VersionProvider
2019-12-18 15:38:55 +01:00
Knut Wannheden
4f658f01c3 [jOOQ/jOOQ#9663] Regenerate example code 2019-12-18 15:38:20 +01:00
Knut Wannheden
2082e1c3e9 Include all-modules profile in release builds 2019-12-18 15:37:36 +01:00
Lukas Eder
ce7096a5af [jOOQ/jOOQ#9505] Versions extends Iterable<Version> 2019-12-18 15:34:54 +01:00
Lukas Eder
ade3869e8f [jOOQ/jOOQ#9506] Added org.jooq.Versions as a result type for VersionProvider 2019-12-18 12:11:32 +01:00
Lukas Eder
350f995030 [jOOQ/jOOQ#9506] Added public Version.parents() method 2019-12-18 11:46:51 +01:00
Lukas Eder
ec1768245b [jOOQ/jOOQ#8528] Interpret SetSchema 2019-12-18 11:36:31 +01:00
Knut Wannheden
09080a6caf [jOOQ/jOOQ#8545] CockroachDB: Support STRING_AGG(... ORDER BY) 2019-12-18 08:22:57 +01:00
Knut Wannheden
64f144581e [jOOQ/jOOQ#9681] Synchronize @Support annotations in MergeUsingStep 2019-12-18 07:55:01 +01:00
Knut Wannheden
223d8c81a3 [jOOQ/jOOQ#9506] Remove MigrationResult for now 2019-12-18 07:54:36 +01:00
Lukas Eder
a5ea43923e [jOOQ/jOOQ#9506] Implement Settings.migrationRevertUntracked 2019-12-17 14:58:08 +01:00
Lukas Eder
5d0e9226ab [jOOQ/jOOQ#9506] Implement Settings.migrationAllowsUndo 2019-12-17 13:12:08 +01:00
Lukas Eder
f6870fe15c [jOOQ/jOOQ#9506] Fix migration validation
- Validate VersionProvider
- Lookup expected schemas from interpreter search path
- Init versions with interpreter search path (TODO new config)
- Stop skipping create and drop schema commands
2019-12-17 12:15:19 +01:00
Lukas Eder
7084813f39 [jOOQ/jOOQ#8870] Support Scala 2.13 2019-12-17 10:20:18 +01:00
Lukas Eder
51dc50ee6d
Merge pull request #9671 from davsclaus/osgi-fix
Fixes #9670 to make jooq OSGi backwards compatible for slf4j and also…
2019-12-17 09:50:28 +01:00
Knut Wannheden
b07bb8148e [jOOQ/jOOQ#8545] CockroachDB: Support INSERT ... ON CONFLICT ... WHERE 2019-12-16 17:59:58 +01:00
Knut Wannheden
c19af44f92 [jOOQ/jOOQ#8545] CockroachDB: Support CREATE TABLE ... INDEX 2019-12-16 17:58:04 +01:00
Knut Wannheden
fe8a06f5df [jOOQ/jOOQ#8545] CockroachDB: Support LIST_AGG() emulation 2019-12-16 17:52:30 +01:00