From b17ec92d98e089eef8a9336b41a26b7e8628e583 Mon Sep 17 00:00:00 2001 From: Lukas Eder Date: Wed, 20 Apr 2022 15:21:13 +0200 Subject: [PATCH] [jOOQ/jOOQ#13465] Parameters and UDTFields can also be defaulted --- jOOQ/src/main/java/org/jooq/impl/AbstractTypedNamed.java | 4 ++-- jOOQ/src/main/java/org/jooq/impl/ParameterImpl.java | 2 +- jOOQ/src/main/java/org/jooq/impl/SQLField.java | 2 +- jOOQ/src/main/java/org/jooq/impl/TableFieldImpl.java | 2 +- .../jooq/impl/{FieldReference.java => TypedReference.java} | 4 ++-- jOOQ/src/main/java/org/jooq/impl/UDTFieldImpl.java | 2 +- 6 files changed, 8 insertions(+), 8 deletions(-) rename jOOQ/src/main/java/org/jooq/impl/{FieldReference.java => TypedReference.java} (93%) diff --git a/jOOQ/src/main/java/org/jooq/impl/AbstractTypedNamed.java b/jOOQ/src/main/java/org/jooq/impl/AbstractTypedNamed.java index a0b897a233..e4897ca66d 100644 --- a/jOOQ/src/main/java/org/jooq/impl/AbstractTypedNamed.java +++ b/jOOQ/src/main/java/org/jooq/impl/AbstractTypedNamed.java @@ -59,9 +59,9 @@ abstract class AbstractTypedNamed extends AbstractNamed implements Typed { super(name, comment); // [#13465] Only field references are allowed to be computed or defaulted - this.type = type.computed() && !(this instanceof FieldReference) + this.type = type.computed() && !(this instanceof TypedReference) ? type.generatedAlwaysAs((Generator) null) - : type.defaulted() && !(this instanceof FieldReference) + : type.defaulted() && !(this instanceof TypedReference) ? type.default_((Field) null) : type; } diff --git a/jOOQ/src/main/java/org/jooq/impl/ParameterImpl.java b/jOOQ/src/main/java/org/jooq/impl/ParameterImpl.java index 4d05a7a593..cf3c9f478e 100644 --- a/jOOQ/src/main/java/org/jooq/impl/ParameterImpl.java +++ b/jOOQ/src/main/java/org/jooq/impl/ParameterImpl.java @@ -69,7 +69,7 @@ import org.jooq.impl.QOM.UEmpty; * * @author Lukas Eder */ -final class ParameterImpl extends AbstractField implements Parameter, UEmpty { +final class ParameterImpl extends AbstractField implements Parameter, UEmpty, TypedReference { private final ParamMode paramMode; private final boolean isDefaulted; diff --git a/jOOQ/src/main/java/org/jooq/impl/SQLField.java b/jOOQ/src/main/java/org/jooq/impl/SQLField.java index 82221cb100..1a8636b168 100644 --- a/jOOQ/src/main/java/org/jooq/impl/SQLField.java +++ b/jOOQ/src/main/java/org/jooq/impl/SQLField.java @@ -43,7 +43,7 @@ import org.jooq.QueryPart; import org.jooq.SQL; import org.jooq.impl.QOM.UEmptyField; -final class SQLField extends AbstractField implements UEmptyField, FieldReference { +final class SQLField extends AbstractField implements UEmptyField, TypedReference { private final QueryPart delegate; diff --git a/jOOQ/src/main/java/org/jooq/impl/TableFieldImpl.java b/jOOQ/src/main/java/org/jooq/impl/TableFieldImpl.java index 6ecfa7531e..9b0ede80e6 100644 --- a/jOOQ/src/main/java/org/jooq/impl/TableFieldImpl.java +++ b/jOOQ/src/main/java/org/jooq/impl/TableFieldImpl.java @@ -67,7 +67,7 @@ import org.jooq.tools.StringUtils; * * @author Lukas Eder */ -class TableFieldImpl extends AbstractField implements TableField, SimpleQueryPart, UNotYetImplemented, FieldReference { +class TableFieldImpl extends AbstractField implements TableField, SimpleQueryPart, UNotYetImplemented, TypedReference { private static final Clause[] CLAUSES = { FIELD, FIELD_REFERENCE }; diff --git a/jOOQ/src/main/java/org/jooq/impl/FieldReference.java b/jOOQ/src/main/java/org/jooq/impl/TypedReference.java similarity index 93% rename from jOOQ/src/main/java/org/jooq/impl/FieldReference.java rename to jOOQ/src/main/java/org/jooq/impl/TypedReference.java index c8b40e77aa..b2fd0d57f9 100644 --- a/jOOQ/src/main/java/org/jooq/impl/FieldReference.java +++ b/jOOQ/src/main/java/org/jooq/impl/TypedReference.java @@ -37,11 +37,11 @@ */ package org.jooq.impl; -import org.jooq.Field; +import org.jooq.Typed; /** * A marker interface for field references. * * @author Lukas Eder */ -interface FieldReference extends Field {} +interface TypedReference extends Typed {} diff --git a/jOOQ/src/main/java/org/jooq/impl/UDTFieldImpl.java b/jOOQ/src/main/java/org/jooq/impl/UDTFieldImpl.java index 67a0047110..c03bee904f 100644 --- a/jOOQ/src/main/java/org/jooq/impl/UDTFieldImpl.java +++ b/jOOQ/src/main/java/org/jooq/impl/UDTFieldImpl.java @@ -53,7 +53,7 @@ import org.jooq.impl.QOM.UNotYetImplemented; * * @author Lukas Eder */ -final class UDTFieldImpl, T> extends AbstractField implements UDTField, UNotYetImplemented { +final class UDTFieldImpl, T> extends AbstractField implements UDTField, UNotYetImplemented, TypedReference { private final UDT udt;