Commit Graph

1167 Commits

Author SHA1 Message Date
Lukas Eder
af4324acbe [jOOQ/jOOQ#15619] On JDK 21, generated code should apply "this-escape" warning suppression 2023-09-28 14:37:17 +02:00
Lukas Eder
41505e01db [jOOQ/jOOQ#15621] Synthetic comment flag <deprecated> should produce
@Deprecated annotation in addition to Javadoc
2023-09-20 11:41:19 +02:00
Lukas Eder
e6391079f6 [jOOQ/jOOQ#9483] Add support for { CREATE | DROP } MATERIALIZED VIEW
This includes:

- [jOOQ/jOOQ#15593] Add support for and emulate CREATE OR REPLACE MATERIALIZED VIEW and other objects
- Interpreter support
- InformationSchemaExport support
- InformationSchema support
2023-09-15 13:33:42 +02:00
Lukas Eder
cc452c2c45 [jOOQ/jOOQ#15583] UDTImpl should use Name instead of String in
constructor
2023-09-13 10:22:23 +02:00
Lukas Eder
0d70664474 [jOOQ/jOOQ#15554] JavaWriter should have a Mode reference 2023-09-07 13:21:38 +02:00
Lukas Eder
e1adf258a1 [jOOQ/jOOQ#5210] Fix compilation error in generated code
Package UDTs generated wrong UDTNames objects, see [jOOQ/jOOQ#10576]
2023-08-31 11:05:11 +02:00
Lukas Eder
edb132c0d9 [jOOQ/jOOQ#5210] Add code generation option to generate string constants for all object names 2023-08-30 17:17:27 +02:00
Lukas Eder
7293b60b07 [jOOQ/jOOQ#228] Fix regression 2023-08-28 16:59:01 +02:00
Lukas Eder
e448d58094 [jOOQ/jOOQ#228] Fix regression 2023-08-28 16:57:38 +02:00
Lukas Eder
01a92864b6 [jOOQ/jOOQ#228] Added KotlinGenerator support 2023-08-28 16:45:55 +02:00
Lukas Eder
896d995476 [jOOQ/jOOQ#228] Added ScalaGenerator support
This includes:

- Refactor Internal methods, remove unnecessary type variables
2023-08-28 11:37:17 +02:00
Lukas Eder
5ee497713d [jOOQ/jOOQ#228] Use kotlin accessor syntax 2023-08-28 09:00:11 +02:00
Lukas Eder
6423be339d [jOOQ/jOOQ#3751] Support UDT object names in MatcherStrategy 2023-08-25 16:44:07 +02:00
Lukas Eder
a37747e297 [jOOQ/jOOQ#228] Skip UDT paths for Scala and Kotlin for now 2023-08-25 15:27:42 +02:00
Lukas Eder
c466d68a85 [jOOQ/jOOQ#228] Enhance API to provide access to UDT members - WIP 2023-08-25 11:32:29 +02:00
Lukas Eder
227020b363 [jOOQ/jOOQ#15213] Support ad-hoc compilation of programmatic Generator or Database objects in the code generator 2023-08-23 12:21:50 +02:00
Lukas Eder
0ddc30aab8 [jOOQ/jOOQ#15487] Turn off <recordsImplementingRecordN/> by default 2023-08-22 14:53:23 +02:00
Lukas Eder
86d50133ec [jOOQ/jOOQ#6182] Support renaming Keys and Indexes with matcher strategy 2023-08-16 14:45:37 +02:00
Lukas Eder
65556fe9b6 [jOOQ/jOOQ#6182] Support renaming Keys with matcher strategy 2023-08-16 14:14:08 +02:00
Lukas Eder
7777e5b46a [jOOQ/jOOQ#15464] Support also pathExtends and pathImplements 2023-08-14 15:03:02 +02:00
Lukas Eder
7b55ae620e [jOOQ/jOOQ#15464] Add matcher strategy to name path Table subclasses 2023-08-14 14:49:34 +02:00
Lukas Eder
72f1a1ebcf [jOOQ/jOOQ#15005] Allow for overriding TablePath generated class names in GeneratorStrategy::getClassName with a new Mode.PATH 2023-08-14 11:26:09 +02:00
Lukas Eder
679b0c7f63 [jOOQ/jOOQ#11248] Scala code generation support 2023-07-11 16:54:07 +02:00
Lukas Eder
1fddd1adee [jOOQ/jOOQ#11248] Kotlin code generation support 2023-07-11 16:40:36 +02:00
Lukas Eder
e13188fcf1 [jOOQ/jOOQ#11248] More Trigger meta model implementation
- Added Meta::getTriggers and ::filterTriggers with impls in:
  - InformationSchemaMetaImpl
  - AbstractMeta
  - CatalogMetaImpl
  - FilteredMeta
- Added XMLDatabase and XMLGenerator implementations
2023-07-11 14:46:42 +02:00
Lukas Eder
998c0148be [jOOQ/jOOQ#15383] Compilation error in generated code when global object 2023-07-11 13:00:17 +02:00
Lukas Eder
2178a3cb8f [jOOQ/jOOQ#15375] Table with 255 columns generates record and POJO
objects whose constructors have too many parameters
2023-07-10 12:00:59 +02:00
Lukas Eder
16f0d2d82f [#11248] Add Trigger runtime meta model - WIP 2023-07-04 11:23:25 +02:00
Lukas Eder
808998f552 [jOOQ/jOOQ#14429] Builds should log their build date with the logo
Also, no strings attached. There's no moral reason to keep the logo if users are using the free version...
2023-06-29 15:09:24 +02:00
Lukas Eder
ba97ea4596 [jOOQ/jOOQ#15281] Fix regressions in the KotlinGenerator 2023-06-28 15:34:56 +02:00
Lukas Eder
adfb76f689 [jOOQ/jOOQ#15281] Fix regressions 2023-06-27 13:11:20 +02:00
Lukas Eder
7b8c8d7a2c [jOOQ/jOOQ#15281] [jOOQ/jOOQ#10561] Declare ref conflicts for UDTs 2023-06-26 13:40:52 +02:00
Lukas Eder
b702548040 [jOOQ/jOOQ#15281] Generated code should import user defined types in data type definitions 2023-06-26 11:49:57 +02:00
Lukas Eder
a5b5f467a7 [jOOQ/jOOQ#15276] Add code generation support for synthetic enums
This includes:

- [jOOQ/jOOQ#15277] Add Replacers.transformPatterns(Configuration)
public API to give access to the internal Replacer
- [jOOQ/jOOQ#15279] EnumConverter should support org.jooq.EnumType as U
type
2023-06-23 17:15:00 +02:00
Lukas Eder
f0e0ce5c99 [jOOQ/jOOQ#14985] Override TableImpl.as() methods also in Path subtype.
In order to allow for things like:

BOOK.join(BOOK.author())

We generate a Author subclass that extends Author & Path<AuthorRecord> to help auto-generate the right ON clause. This now also works with aliased paths:

BOOK.join(BOOK.author().as(a))
2023-06-21 11:05:46 +02:00
Lukas Eder
91fa53d6c5 [jOOQ/jOOQ#15207] A fix for a regression when both
<outputSchemaToDefault>true</outputSchemaToDefault> and
<defaultSchema>false</defaultSchema>

In this fix, we move the assumption of an EnumType being stored in the schema from an EnumType::getSchema check to an EnumType::getName check. The latter being null really means the enum isn't stored.
2023-06-20 13:00:00 +02:00
Lukas Eder
9448c9c399 [jOOQ/jOOQ#9506] Various improvements:
- Implement a file based migration draft
- Throw DataMigrationValidationException if files are wrongly named
- Throw this exception also when loading the XML content
- Update generated code (move it to the top level)
- [jOOQ/jOOQ#15210] No need for CHANGELOG.rename() yet
- [jOOQ/jOOQ#15207] Turn off default schema/catalog
- Added tag support to API and XML configuration
- Make Commits::iterator unmodifiable
2023-06-13 16:38:55 +02:00
Lukas Eder
97311cafda [jOOQ/jOOQ#15209] Support ad-hoc compilation of programmatic objects in the code generator
- Add support for GeneratorStrategy
2023-06-12 17:26:09 +02:00
Lukas Eder
bd56a44932 [jOOQ/jOOQ#15207] Add a configuration flag to avoid generating
DefaultCatalog and DefaultSchema
2023-06-12 11:09:25 +02:00
Lukas Eder
c7e9a2c2af [#15210] Add code generation flags to avoid overrides of as() methods or rename() methods 2023-06-12 08:35:21 +02:00
Lukas Eder
5e996c0b34 [jOOQ/jOOQ#15183] Compilation error in generated DAO code when
visibility of a field is changed to private
2023-06-07 13:12:08 +02:00
Lukas Eder
25897d1ebf [jOOQ/jOOQ#15168] NullPointerException in code generator when omitting
<target> directory
2023-06-02 12:43:46 +02:00
Lukas Eder
3cabeb65ad [jOOQ/jOOQ#15154] Fix various Javadoc links 2023-05-31 15:22:42 +02:00
Lukas Eder
97c56d2d53 [jOOQ/jOOQ#13947] Support CockroachDB 23 user defined functions - WIP
- Fix array type support
2023-05-31 12:17:59 +02:00
Lukas Eder
3cd2dd559a [jOOQ/jOOQ#15097] Compilation error in Oracle generated code for package type in PL/SQL RECORD constructor 2023-05-24 11:24:00 +02:00
Lukas Eder
782000ed6f [jOOQ/jOOQ#8012] Various improvements:
- Added KotlinGenerator implementation
- Added ScalaGenerator implementation
- Add a check for the codegen configuration flag
- [jOOQ/jOOQ#15095] Generate property access syntax in KotlinGenerator
generated tables
2023-05-22 19:32:11 +02:00
Lukas Eder
4dcec71dfa [jOOQ/jOOQ#8012] Added more convenient internal constructor 2023-05-22 09:21:23 +02:00
Lukas Eder
9bbce6b459 [jOOQ/jOOQ#8012] Override Table.where(Condition) methods in generated tables 2023-05-17 17:47:44 +02:00
Lukas Eder
59db3a9183 [jOOQ/jOOQ#14991] KotlinGenerator produces wrong code with
kotlinNotNullPojoAttributes when multiple references to an embeddable
have different nullability
2023-05-17 12:22:17 +02:00
Lukas Eder
80916440f5 [jOOQ/jOOQ#12663] Fix wrong Javadoc tag 2023-05-05 12:03:26 +02:00
Lukas Eder
72ab4f1c1c [jOOQ/jOOQ#15024] Improve Javadoc of lookupLiteral() for generated enums
This includes:

- [jOOQ/jOOQ#15025] Generate annotations on generated EnumType::getLiteral method, if so configured
2023-05-05 09:55:54 +02:00
Lukas Eder
d3e689b79e [jOOQ/jOOQ#15005] Fix generated whitespace 2023-05-02 16:35:50 +02:00
Lukas Eder
2804ddc2d2 [jOOQ/jOOQ#15005] Refactor generated code
The KotlinGenerator and ScalaGenerator require quite some different constructor design.
2023-05-02 14:29:51 +02:00
Lukas Eder
656e211d42 [jOOQ/jOOQ#15005] Add org.jooq.Path<R>, a type to model join paths
This includes:

- New org.jooq.Path type
- New JOIN method overloads
- Code generation implementation and configuration
2023-05-02 13:12:39 +02:00
Lukas Eder
c42deedaae [jOOQ/jOOQ#14998] Add code generation flag <implicitJoinPathUnusedConstructors/> to offer an option to stop generating unused implicit join path constructors 2023-05-02 08:47:47 +02:00
Lukas Eder
ffb9414667 [jOOQ/jOOQ#13639] Fix a few regressions
The new inverse foreign key code generation regressed on
[jOOQ/jOOQ#9758] and [jOOQ/jOOQ#11032]
2023-05-01 16:09:33 +02:00
Lukas Eder
47f59ce5d3 [jOOQ/jOOQ#14993] Add a new <matchers/> subelement <foreignKeys/> 2023-05-01 10:33:06 +02:00
Lukas Eder
b096a11858 [jOOQ/jOOQ#13639] Fix code generation error in ScalaGenerator 2023-05-01 10:04:36 +02:00
Lukas Eder
caa3dca7db [jOOQ/jOOQ#14985] Support many-to-many path joins 2023-04-28 17:40:44 +02:00
Lukas Eder
d5577c20db [jOOQ/jOOQ#13639] Implement kotlin and scala code generation 2023-04-28 15:37:15 +02:00
Lukas Eder
184f0b9dea [jOOQ/jOOQ#13639] Prevent generating duplicate attributes 2023-04-28 14:28:31 +02:00
Lukas Eder
49b48887c7 [jOOQ/jOOQ#13639] Add support for to-many path expressions
- Added code generation support
- Added runtime meta data
- Mark the feature as experimental
- Turn off the feature by default, for as long it's experimental
2023-04-26 15:18:09 +02:00
Lukas Eder
3f6a4ad915 [jOOQ/jOOQ#14932] Add a jooq.codegen.propertyOverride system property to GenerationTool 2023-04-13 15:20:52 +02:00
Lukas Eder
f60eeea84b [jOOQ/jOOQ#14932] Fix typo 2023-04-13 13:24:15 +02:00
Lukas Eder
e1549e0db9 [jOOQ/jOOQ#14932] Add a jooq.codegen.propertyOverride system property to GenerationTool
- Do this for jooq.codegen.jdbc
2023-04-13 10:30:27 +02:00
Lukas Eder
9ca59d6739 [jOOQ/jOOQ#14916] Compilation error with embedded domains and postgres
types
2023-04-11 10:16:12 +02:00
Lukas Eder
22ca708b2b [jOOQ/jOOQ#14916] Compilation error with embedded domains and postgres types 2023-04-06 17:16:34 +02:00
Lukas Eder
cb4bd635c8 [jOOQ/jOOQ#8617] Add org.jooq.Generated annotation with RUNTIME retention for generated code 2023-03-31 16:47:18 +02:00
Lukas Eder
e7db20cd5a [jOOQ/jOOQ#14882] Generate nullable annotations also on record
constructor, when <pojosAsJavaRecordClasses/> is set
2023-03-30 11:12:40 +02:00
Lukas Eder
ecdfd8a90a [jOOQ/jOOQ#14883] Regression: KotlinGenerator produces superfluous public keyword for overriding methods 2023-03-30 10:22:25 +02:00
Lukas Eder
0a65011729 [jOOQ/jOOQ#14853] Kotlin Code generator generates invalid code for
embeddables in POJOs when immutable interfaces is activated

This includes:

- [jOOQ/jOOQ#14855] Compilation error in generated code for embeddable
properties when reducing visibility to internal, and generating
interfaces
2023-03-27 12:07:31 +02:00
Lukas Eder
a908ff7532 [jOOQ/jOOQ#14830] Compilation error in generated code when table valued function returns table with client side computed columns and <recordsImplementingRecordN/> is active 2023-03-22 12:53:09 +01:00
Lukas Eder
fd9f053d74 [jOOQ/jOOQ#14785] Compilation error in KotlinGenerator generated code
when <kotlinNotNullRecordAttributes/> and <recordsGeneratingRecordN/>
are both active
2023-03-21 10:51:07 +01:00
Lukas Eder
cbf3742c84 [jOOQ/jOOQ#14817] Nullable kotlin records break columns with default values 2023-03-21 10:12:13 +01:00
Lukas Eder
099972252a
Merge pull request #14802 from xoliver/fix/14801
[#14801] Fix Java String generation for non-nullable arrays
2023-03-17 11:45:34 +01:00
Lukas Eder
830e32c791 [jOOQ/jOOQ#14800] Error when PostgreSQL anonymous block contains dollar
quoted string token
2023-03-16 12:09:51 +01:00
Xavier
f7dced7d3f [jOOQ#14801] Fix Java String generation for non-nullable arrays 2023-03-15 15:50:37 +00:00
Lukas Eder
50e06ebd94 [jOOQ/jOOQ#11485] Trino isn't a commercial dialect 2023-03-13 09:26:40 +01:00
Lukas Eder
d8341ce9ee [jOOQ/jOOQ#11485] Add support for Trino DB - WIP 2023-03-10 15:16:13 +01:00
Lukas Eder
5988833d09 Release 3.19.0-SNAPSHOT 2023-03-08 13:41:09 +01:00
Lukas Eder
942c89bf75 [jOOQ/jOOQ#14727] Generated TRecord.from(IT) method behaves differently from Record.from() with respect to NOT NULL DEFAULT columns 2023-03-01 13:44:58 +01:00
Lukas Eder
88f7d54a87 [jOOQ/jOOQ#13530] [jOOQ/jOOQ#14648] Add runtime support for procs 2023-02-17 17:22:11 +01:00
Lukas Eder
38f2ccef8a [jOOQ/jOOQ#14534] Add <generatedAnnotationJooqVersion/> option to the code generator 2023-02-13 17:06:26 +01:00
Lukas Eder
f1233381bf [jOOQ/jOOQ#14628] Missing default information on DOMAIN types that get
an overridden DEFAULT by CREATE TABLE
2023-02-13 15:37:31 +01:00
Lukas Eder
a716afb4ad [jOOQ/jOOQ#14618] Missing nullability information on nullable DOMAIN types that are made non-null by CREATE TABLE 2023-02-13 11:49:44 +01:00
Lukas Eder
e75295ea2e [jOOQ/jOOQ#10014] Infinite loop in code generation templating language if a parameter is forgotten 2023-02-10 13:47:11 +01:00
Lukas Eder
9ef3f9ebae [jOOQ/jOOQ#14564] KotlinGenerator generates invalid code in equals() and hashCode() methods for inline value class fields 2023-02-08 15:53:18 +01:00
Lukas Eder
07eceb7db5 [jOOQ/jOOQ#14524] Compilation error due to missing import in generated code when using <lambdaConverter/> on a routine 2023-01-20 14:37:22 +01:00
Cies Breijs
e7a21cc678
Correctly hint nullability of getSchema() method
Fixes #14431
2022-12-27 15:18:17 +01:00
Lukas Eder
0173f5dded [jOOQ/jOOQ#14379] Add DSL.raw(String) and
Settings.renderPlainSQLTemplatesAsRaw to allow plain SQL without
templating
2022-12-08 16:32:36 +01:00
Lukas Eder
8124b68b50 [jOOQ/jOOQ#12637] Compilation error in generated code when UDT attribute
name conflicts with getter procedure
2022-11-29 15:05:43 +01:00
Lukas Eder
e21294cd29 [jOOQ/jOOQ#5405] Generated SETOF table_type functions should reuse the
TableRecord type of the referenced table
2022-11-25 12:03:01 +01:00
Lukas Eder
9eb3ff74fd [jOOQ/jOOQ#14289] ScalaGenerator generated code should avoid "procedure syntax" 2022-11-24 11:16:00 +01:00
Lukas Eder
949efa2b79 [jOOQ/jOOQ#14204] KotlinGenerator fix 2022-11-23 17:45:56 +01:00
Lukas Eder
d55dfa6675 [jOOQ/jOOQ#14204] AbstractToJacksonConverter does not work when userType is array 2022-11-23 17:10:38 +01:00
Lukas Eder
f0b3c0341f [jOOQ/jOOQ#14255] Improve generated unknown data type javadoc when forcedTypes match return type, but there are still unknown parameter types 2022-11-21 11:13:30 +01:00
Lukas Eder
157f822e7b [jOOQ/jOOQ#14141] Generated text blocks for view sources should escape backslashes 2022-10-27 09:34:55 +02:00
Lukas Eder
ea3c4590b3 [jOOQ/jOOQ#14132] Code generator shouldn't generate precision on
non-decimal types
2022-10-26 11:00:34 +02:00
Lukas Eder
359ef49ad6 [jOOQ/jOOQ#14110] License header should use HTTPS rather than HTTP 2022-10-19 10:43:58 +02:00
Lukas Eder
4a38a5cb29 [jOOQ/jOOQ#13866] KotlinGenerator produces directory names with
backticks when catalog names contain special characters
2022-09-27 11:18:13 +02:00