Commit Graph

1045 Commits

Author SHA1 Message Date
Lukas Eder
f14fdafef8 [jOOQ/jOOQ#12118] Regression in SQLite code generation for unnamed composite pkeys on JDK 9+ with the jOOQ Open Source Edition 2021-07-09 10:06:50 +02:00
Lukas Eder
c67e718892 Release 3.16.0-SNAPSHOT 2021-07-05 17:30:40 +02:00
Lukas Eder
e946c6f09a [jOOQ/jOOQ#12093] Add <includeExcludePackageRoutines/> to let code generator <includes/> and <excludes/> match package procedures and functions 2021-07-01 16:13:51 +02:00
Lukas Eder
91e5d938ff [jOOQ/jOOQ#11912] More general and configurable fix 2021-06-10 15:49:01 +02:00
Lukas Eder
67639e1076 [jOOQ/jOOQ#11912] KotlinGenerator generates invalid code when column names X and isX clash 2021-05-26 11:06:30 +02:00
Lukas Eder
c52b01f8c5 [jOOQ/jOOQ#2620] BigQuery support (WIP)
- Generate correct view sources
- Query INFORMATION_SCHEMA.TABLES and COLUMNS directly
- Add array type support in code generator
- Re-generated code
- Updated code generation configuration
2021-05-24 12:29:55 +02:00
Lukas Eder
64e113261a [jOOQ/jOOQ#10287] Fix <interfaces/> 2021-04-29 16:55:01 +02:00
Lukas Eder
8526e62635 [jOOQ/jOOQ#10287] Fix record getter access in DAO.getId() 2021-04-29 16:31:14 +02:00
Lukas Eder
69c5bd66f1 [jOOQ/jOOQ#11801] Move Tools content to the top level 2021-04-26 08:56:56 +02:00
Lukas Eder
fcc258bfe8 [jOOQ/jOOQ#11787] Add an <includeSystemUDTs/> flag to turn on/off the
generation of system UDTs
2021-04-21 11:35:25 +02:00
Lukas Eder
48e6c35561 [jOOQ/jOOQ#7863] Link Oracle %ROWTYPE references to their corresponding
table types
2021-04-20 17:31:20 +02:00
Lukas Eder
985b3e3e93 [jOOQ/jOOQ#11729] Put text block emulations in parens 2021-04-20 12:10:01 +02:00
Lukas Eder
e694f3de92 [jOOQ/jOOQ#10287] Don't generate copy constructor on records 2021-04-20 10:39:18 +02:00
Lukas Eder
17dfdbb57c [jOOQ/jOOQ#10287] Add <pojosAsJavaRecordClasses/> to allow for generating Java POJOs as JDK records instead 2021-04-19 21:12:13 +02:00
Lukas Eder
1923468386 [jOOQ/jOOQ#11729] Use text blocks in tests 2021-04-16 20:56:08 +02:00
Lukas Eder
4746bc2311 [jOOQ/jOOQ#11183] Handle POJO nullability in constructors 2021-04-15 10:51:46 +02:00
Lukas Eder
b0c4723326 [jOOQ/jOOQ#11774] Add a <priority/> to <forcedType/> 2021-04-14 16:56:28 +02:00
Lukas Eder
c2f8428511 [jOOQ/jOOQ#11183] kotlin and scala fixes 2021-04-14 14:49:33 +02:00
Lukas Eder
04283e90df [jOOQ/jOOQ#11183] Fix UDT code generation 2021-04-14 13:06:17 +02:00
Lukas Eder
fc07885dfe [jOOQ/jOOQ#11625] GeneratorStrategy references package-private AbstractGenerator.Language class 2021-03-12 13:06:21 +01:00
Lukas Eder
ac4458a86e [jOOQ/jOOQ#1985] Add EXASOL support (WIP) 2021-03-09 13:46:21 +01:00
Lukas Eder
fd756190b1 [jOOQ/jOOQ#11495] Remove pre 3.5 deprecated API 2021-02-22 16:05:56 +01:00
Lukas Eder
1c11fe7d6f [jOOQ/jOOQ#11286] Use org.jooq.Meta to discover SQLite primary key,
unique key, and foreign key names in code generator
2021-01-22 19:20:40 +01:00
Lukas Eder
c06bcfeec4 [jOOQ/jOOQ#11286] Use org.jooq.Meta to discover SQLite primary key, unique key, and foreign key names in code generator 2021-01-22 17:34:28 +01:00
Lukas Eder
d7810d9d59 [jOOQ/jOOQ#11259] NullPointerException when using table valued function
without explicit parameters
2021-01-20 12:37:22 +01:00
Lukas Eder
619bb92702 [jOOQ/jOOQ#11194] Fixed formatting regression 2021-01-14 17:38:38 +01:00
Lukas Eder
a1b08de279 [jOOQ/jOOQ#11218] KotlinGenerator generates Record[N]<T1, T2, ..., TN>
for PK types in DAOs, instead of Record[N]<T1?, T2?, ..., TN?>
2021-01-13 09:37:32 +01:00
Lukas Eder
54938152a9 [jOOQ/jOOQ#11196] Drop support for Java 6 and 7
- More IntelliJ inspections fixed
2021-01-08 21:28:04 +01:00
Lukas Eder
918f91b028 [jOOQ/jOOQ#11196] Drop support for Java 6 and 7
Runtime library - language usage

- Removed [java-8] tags
- Removed F functional interfaces
- Removed Meta.Predicate functional interfaces
- Converted anonymous classes to lambdas
- Removed some explicit final keywords where effectively final works
- Removed Java 6 Jenkinsfile
- try-with-resources
- Merged some catch blocks
- Get rid of type witnesses where possible

Runtime library - JDK API usage

- Prefer Collection.sort() over Collections.sort()
- Use Map.computeIfAbsent for Map<K, List<V>> lazy initialisation
- Replace Iterator::remove calls by Collection::removeIf
- Use Map::computeIfAbsent for Map<K, List<V>> lazy initialisation
- Replace Iterator::remove calls by Collection::removeIf
- Use Comparator::comparing and Comparator::thenComparing
- Use Stream API where not performance critical
- Replaced Map::entrySet iterations by Map::forEach
- Use ResultQuery::collect
- Map::putIfAbsent

Code generation

- Generate lambda for LazySchema's LazySupplier

Unrelated

- Applied a few IntelliJ inspections
- Remove unnecessary explicit array creation
2021-01-08 12:35:47 +01:00
Lukas Eder
b169a60490 [jOOQ/jOOQ#11194] Fixed edge cases 2021-01-06 12:48:45 +01:00
Lukas Eder
562095f27e [jOOQ/jOOQ#11194] Add code generation configuration for Javadoc line
wrapping
2021-01-06 11:32:04 +01:00
Lukas Eder
cfda89a5e8 [jOOQ/jOOQ#11189] Fixed deprecated annotation formatting 2021-01-05 17:37:47 +01:00
Lukas Eder
4bc3f9fb27 [jOOQ/jOOQ#11189] Fixed line wrapping 2021-01-05 17:15:10 +01:00
Lukas Eder
2186758e91 [jOOQ/jOOQ#9728] Log unused warning 2021-01-05 16:34:30 +01:00
Lukas Eder
1f9f3dc269 [jOOQ/jOOQ#9728] Add <comments/> configuration to allow for generating
custom Javadoc on generated code

This includes:

- [jOOQ/jOOQ#11189] Improve generated Javadoc formatting
2021-01-05 16:26:59 +01:00
Lukas Eder
0a8cc44eae [jOOQ/jOOQ#11182] Generate DAO.fetchByXYZ() methods for embeddable types
This includes:

- [jOOQ/jOOQ#11183] Generate record constructor taking a generated POJO
- [jOOQ/jOOQ#11187] Add DAO.fetch(Field<Z>, Collection<? extends Z>)
2021-01-04 18:47:56 +01:00
Lukas Eder
53fff73f84 [jOOQ/jOOQ#11179] Compilation errors in generated DAOs when embeddables
use <replacesFields/>
2021-01-04 16:38:48 +01:00
Lukas Eder
35cc45baa9 [jOOQ/jOOQ#11185] Compilation errors in generated embeddable pojos if
the embeddable is located in a "synthetic" schema
2021-01-04 16:33:20 +01:00
Lukas Eder
98048c8b69 [jOOQ/jOOQ#11180] Clarify unused logger warning message about what is
obsolete
2021-01-04 13:21:57 +01:00
Lukas Eder
5a933882e8 [jOOQ/jOOQ#11176] Add <includeSystemTables/> to exclude SQLite virtual table implementation tables from code generation 2021-01-04 10:28:15 +01:00
Lukas Eder
c67da36141 [jOOQ/jOOQ#11116] Workaround for https://stackoverflow.com/a/47105843/521799 2020-12-14 12:45:15 +01:00
Lukas Eder
89142ca9e6 [jOOQ/jOOQ#8762] [jOOQ/jOOQ#11115] Table.getSchema() should return null
on aliased tables
2020-12-11 15:34:44 +01:00
Lukas Eder
01065c4ea0 [jOOQ/jOOQ#11116] Cache implicit join path references 2020-12-11 14:53:53 +01:00
Lukas Eder
ddae3adfca [jOOQ/jOOQ#11105] NullPointerException when GenerationTool is not properly initialised 2020-12-08 15:19:03 +01:00
Lukas Eder
5c41eea8e3 [jOOQ/jOOQ#11103] NullPointerException when custom JavaGenerator subclasses don't call JavaWriter.printPackageSpecification() 2020-12-08 14:38:37 +01:00
Lukas Eder
c254373003 [jOOQ/jOOQ#11101] Misleading error message when something goes wrong in the code generator 2020-12-08 09:13:48 +01:00
Lukas Eder
a95431170d [jOOQ/jOOQ#11095] KotlinGenerator should take ParameterDefinition nullability into consideration 2020-12-04 15:19:39 +01:00
Lukas Eder
b8f36e6ec1 [jOOQ/jOOQ#11058] Reference AbstractRow if possible 2020-12-03 15:30:52 +01:00
Lukas Eder
8cc490166c [jOOQ/jOOQ#11054] [jOOQ/jOOQ#11063] Generate source for synthetic TVFs 2020-12-01 17:56:02 +01:00
Lukas Eder
b5a6ef98c6 [jOOQ/jOOQ#11054] WIP 2020-12-01 16:06:12 +01:00
Lukas Eder
72fdacae23 [jOOQ/jOOQ#11057] KotlinGenerator should generate kotlin.Deprecated annotation instead of java.lang.Deprecated 2020-12-01 13:16:47 +01:00
Lukas Eder
c5262f505d [jOOQ/jOOQ#9067] A better approach to this fix 2020-11-30 13:23:55 +01:00
Lukas Eder
a6461d6311 [jOOQ/jOOQ#9067] StackOverflowError generating code from Postgresql XML
schema with ARRAY columns
2020-11-27 13:29:31 +01:00
Lukas Eder
0c97a608ee [jOOQ/jOOQ#11032] Compilation errors for <implicitJoinPathsToOne/> when
referenced table is called RECORD_TYPE
2020-11-26 17:35:22 +01:00
Lukas Eder
159eb759e7 [jOOQ/jOOQ#11017] KotlinGenerator should generate equals(other: Any?),
not equals(obj: Any?) on pojos
2020-11-24 10:13:25 +01:00
Lukas Eder
64445647f7 [jOOQ/jOOQ#11016] Kotlin POJO generator produces wrong equals/hashCode for binary types 2020-11-24 09:59:28 +01:00
Lukas Eder
e4aa7c1eed [jOOQ/jOOQ#10801] Add JavaGenerator.printDaoConstructorAnnotations() to allow for custom annotations in generated DAO constructors 2020-11-20 15:43:45 +01:00
Lukas Eder
c4d3644872 [jOOQ/jOOQ#10998] Add <enumsAsScalaSealedTraits/> to let ScalaGenerator
generate Java enums or Dotty enums
2020-11-20 13:50:06 +01:00
Lukas Eder
853e90077c [jOOQ/jOOQ#10900] Compilation error in KotlinGenerator generated code,
when OTHER data type columns have a default value
2020-11-16 10:06:50 +01:00
Lukas Eder
b5f80d0b0f [jOOQ/jOOQ#10851] Add <visibilityModifier/> to allow for generating explicit / implicit public visibility, as well as internal in KotlinGenerator 2020-11-12 16:39:59 +01:00
Lukas Eder
495db82308 [jOOQ/jOOQ#10529] Ignore <records>false</records> for UDTRecords 2020-11-12 11:58:20 +01:00
Lukas Eder
3ffe6de499 [jOOQ/jOOQ#10923] KotlinGenerator produces compilation errors in UDT
Records when <recordsImplementingRecordN/> is true
2020-11-12 10:38:36 +01:00
Lukas Eder
efc6faf0e3 [jOOQ/jOOQ#10877] Compilation error in ScalaGenerator generated code
when table has column "CLASS"
2020-11-11 15:29:45 +01:00
Lukas Eder
676b4ef9c5 [jOOQ/jOOQ#10915] Wrong code generated by KotlinGenerator for
<validationAnnotations/>
2020-11-11 15:12:24 +01:00
Lukas Eder
0e456c703f [jOOQ/jOOQ#10904] KotlinGenerator produces compilation error in generated interfaces when <jpaAnnotations/> is set 2020-11-11 14:26:33 +01:00
Lukas Eder
0114c2a300 [jOOQ/jOOQ#10783] KotlinGenerator does not annotate properties with
<jpaAnnotations/>
2020-11-10 17:26:02 +01:00
Lukas Eder
6d0c56e422 [jOOQ/jOOQ#10899] Add <includeSystemSequences/> to code generator configuration 2020-11-09 16:39:14 +01:00
Lukas Eder
8a3098c3dc [jOOQ/jOOQ#10805] Kotlin POJOs with array properties must implement
equals() and hashCode()
2020-11-09 14:42:20 +01:00
Lukas Eder
c4c727264a [jOOQ/jOOQ#10546] [jOOQ/jOOQ#10883] [jOOQ/jOOQ#10884]
- [jOOQ/jOOQ#10546] Add { Schema, Meta } . { getUniqueKeys(),
getForeignKeys(), getIndexes() }
- [jOOQ/jOOQ#10883] Add Table.getUniqueKeys()
- [jOOQ/jOOQ#10884] Change jOOQ-meta Relations.getUniqueKeys() to return
unique keys only
2020-11-06 15:06:41 +01:00
Lukas Eder
c7f8c8e044 [jOOQ/jOOQ#10877] Compilation error in ScalaGenerator generated code
when table has column CLASS
2020-11-06 11:01:30 +01:00
Lukas Eder
62ac3886a3 [jOOQ/jOOQ#10778] Add support for Packages, UDTs, and ArrayRecord in
KotlinGenerator
2020-11-06 10:17:53 +01:00
Lukas Eder
5e1ab3ed5b [jOOQ/jOOQ#10871] Add to kotlin keywords for use in KotlinGenerator 2020-11-05 17:56:34 +01:00
Lukas Eder
a4728bafe9 [jOOQ/jOOQ#10778] Add support for Packages, UDTs, and ArrayRecord in
KotlinGenerator
2020-11-05 17:49:48 +01:00
Lukas Eder
41e1949d27 [jOOQ/jOOQ#10867] KotlinGenerator should quote identifiers containing $ 2020-11-05 17:20:09 +01:00
Lukas Eder
78c002fa02 [jOOQ/jOOQ#10851] KotlinGenerator should produce Explicit API mode compatible code 2020-11-04 11:42:20 +01:00
Lukas Eder
0ec6fc7525 Removed unused method 2020-11-03 10:04:19 +01:00
Lukas Eder
0fc060ae93 [jOOQ/jOOQ#10837] KotlinGenerator produces invalid syntax for enums with special characters 2020-11-03 09:43:14 +01:00
Lukas Eder
3e82394bef [jOOQ/jOOQ#10835] KotlinGenerator should produce open classes 2020-11-02 16:40:44 +01:00
Lukas Eder
65b97aed0e [jOOQ/jOOQ#10812] Compilation error in KotlinGenerator generated code when <enumConverter/> flag is turned on 2020-10-29 13:36:16 +01:00
Lukas Eder
01f332fa0c [jOOQ/jOOQ#10761] KotlinGenerator produces invalid syntax for PostgreSQL enum types 2020-10-29 12:07:04 +01:00
Lukas Eder
4b34e97651 [jOOQ/jOOQ#10787] KotlinGenerator and ScalaGenerator don't produce
correct POJO.toString(), equals(), hashCode() methods for array types
2020-10-22 16:57:44 +02:00
Lukas Eder
d39059919b [jOOQ/jOOQ#10787] KotlinGenerator and ScalaGenerator don't produce correct POJO.toString(), equals(), hashCode() methods for array types 2020-10-22 16:45:40 +02:00
Lukas Eder
1acc6b15c2 [jOOQ/jOOQ#10768] Kotlin codegen generates uncompileable model class for Postgres int[] 2020-10-22 16:04:03 +02:00
Lukas Eder
71b69bb151 [jOOQ/jOOQ#10779] Compilation error in KotlinGenerator generated DAOs
for data type TINYINT
2020-10-22 13:10:54 +02:00
Lukas Eder
265b31e530 [jOOQ/jOOQ#10782] Wrong code generated for <jpaAnnotations/> Table
annotations with KotlinGenerator
2020-10-22 12:46:44 +02:00
Lukas Eder
7d1f95adf6 [jOOQ/jOOQ#10771] KotlinGenerator creates incorrect @Generated annotation 2020-10-21 12:39:14 +02:00
Lukas Eder
3f063e2df6 [jOOQ/jOOQ#10767] Kotlin code generator generates Record with invalid
kotlin syntax when a column is named "value" and
<recordsImplementingRecordN/> is true
2020-10-21 10:18:17 +02:00
Lukas Eder
7cff2cae7e Release 3.15.0-SNAPSHOT 2020-10-20 10:20:20 +02:00
Lukas Eder
44f13d4b4b [jOOQ/jOOQ#6124] [jOOQ/jOOQ#10511] Use regexes instead of booleans
embeddable keys and domains configurations should not just be boolean flags turning the feature on and off, but regular expressions matching specific objects, as always. This way, the feature can be turned on e.g. only for 1 schema, or for some tables, etc.
2020-10-08 14:40:24 +02:00
Lukas Eder
6e13255f9c [jOOQ/jOOQ#10481] Fixed Scala code generation 2020-10-08 11:36:33 +02:00
Lukas Eder
cf276eaf3c [jOOQ/jOOQ#10481] Fixed Kotlin code generation 2020-10-08 11:14:45 +02:00
Lukas Eder
0166a3e1a2 [jOOQ/jOOQ#10481] Fixed Scala and Kotlin code generation 2020-10-07 17:33:58 +02:00
Lukas Eder
e31c815a10 [jOOQ/jOOQ#10481] Support <recordsImplementingRecordN/> 2020-10-07 16:58:26 +02:00
Lukas Eder
dc47fdd342 [jOOQ/jOOQ#8139] scala.UninitializedFieldError in runtime using
generated data objects
2020-10-02 14:32:08 +02:00
Lukas Eder
2811d8e18b [jOOQ/jOOQ#10648] Don't log this info if we're already using schema version providers 2020-09-25 17:23:09 +02:00
Lukas Eder
81e3d91e80 [jOOQ/jOOQ#10653] Make the JavaGenerator::INITIALISER_SIZE configurable through <maxMembersPerInitialiser/> 2020-09-25 16:17:25 +02:00
Lukas Eder
f541eda04d [jOOQ/jOOQ#10654 Make the generation of the serialVersionUID configurable 2020-09-25 15:50:27 +02:00
Lukas Eder
90344a14cd [jOOQ/jOOQ#10648] Log info when code generation run doesn't produce any difference 2020-09-18 11:29:13 +02:00
Lukas Eder
df5f0cdd14 [jOOQ/jOOQ#10632] [jOOQ/jOOQ#10633]
- Log all column and parameter types in DEBUG level in JavaGenerator
- Add DataTypeDefinition.getMatchNames()
2020-09-15 16:19:24 +02:00
Lukas Eder
4ea1ab465f [jOOQ/jOOQ#10588] Apply synthetic keys to jOOQ-meta, use implicit joins (WIP) 2020-09-04 17:51:20 +02:00