From 25278f48eb95475e11b700d23951a2672c101a91 Mon Sep 17 00:00:00 2001 From: Lukas Eder Date: Tue, 25 Aug 2020 14:49:28 +0200 Subject: [PATCH] [jOOQ/jOOQ#10524] Better use of new DataType.isEmbeddable() API --- jOOQ/src/main/java/org/jooq/impl/Tools.java | 13 +++---------- jOOQ/src/main/java/org/jooq/impl/Val.java | 3 +-- 2 files changed, 4 insertions(+), 12 deletions(-) diff --git a/jOOQ/src/main/java/org/jooq/impl/Tools.java b/jOOQ/src/main/java/org/jooq/impl/Tools.java index ae8c124dd9..c1a1b2519b 100644 --- a/jOOQ/src/main/java/org/jooq/impl/Tools.java +++ b/jOOQ/src/main/java/org/jooq/impl/Tools.java @@ -5341,7 +5341,7 @@ final class Tools { ? (Class) ((EmbeddableTableField) field).recordType : field instanceof Val && ((Val) field).value instanceof EmbeddableRecord ? ((AbstractRecord) ((Val) field).value).getClass() - : EmbeddableRecord.class.isAssignableFrom(field.getType()) + : field.getDataType().isEmbeddable() ? ((Field) field).getType() : null; } @@ -5354,7 +5354,7 @@ final class Tools { ? ((EmbeddableRecord) ((Val) field).value).valuesRow().fields() : field instanceof ScalarSubquery ? embeddedFields((ScalarSubquery) field) - : EmbeddableRecord.class.isAssignableFrom(field.getType()) + : field.getDataType().isEmbeddable() ? newInstance(((Field>) field).getType()).valuesRow().fields() : null; } @@ -5411,14 +5411,7 @@ final class Tools { public Iterator iterator() { Iterator it = singletonList(field).iterator(); - if (field instanceof EmbeddableTableField) - return new FlatteningIterator(it) { - @Override - List flatten(E e) { - return (List) Arrays.asList(((EmbeddableTableField) e).fields); - } - }; - else if (EmbeddableRecord.class.isAssignableFrom(field.getType())) + if (field.getDataType().isEmbeddable()) return new FlatteningIterator(it) { @Override List flatten(E e) { diff --git a/jOOQ/src/main/java/org/jooq/impl/Val.java b/jOOQ/src/main/java/org/jooq/impl/Val.java index 07c9ac4d38..37e5c2d3b5 100644 --- a/jOOQ/src/main/java/org/jooq/impl/Val.java +++ b/jOOQ/src/main/java/org/jooq/impl/Val.java @@ -49,7 +49,6 @@ import java.util.concurrent.ConcurrentHashMap; import org.jooq.Context; import org.jooq.DataType; -import org.jooq.EmbeddableRecord; import org.jooq.RenderContext; import org.jooq.conf.ParamType; import org.jooq.exception.DataAccessException; @@ -113,7 +112,7 @@ final class Val extends AbstractParam { @Override public void accept(Context ctx) { - if (EmbeddableRecord.class.isAssignableFrom(getType())) { + if (getDataType().isEmbeddable()) { Object previous = ctx.data(DATA_LIST_ALREADY_INDENTED); ctx.data(DATA_LIST_ALREADY_INDENTED, true);