diff --git a/jOOQ/src/main/java/org/jooq/impl/DataTypeProxy.java b/jOOQ/src/main/java/org/jooq/impl/DataTypeProxy.java index fc1c78ff48..7c3d6fd01b 100644 --- a/jOOQ/src/main/java/org/jooq/impl/DataTypeProxy.java +++ b/jOOQ/src/main/java/org/jooq/impl/DataTypeProxy.java @@ -120,13 +120,16 @@ final class DataTypeProxy extends AbstractDataType { final void type(AbstractDataType t) { if (t instanceof DataTypeProxy p) { - // [#11856] [#14343] Prevent cycles in DataTypeProxy chains + // [#11856] [#14343] [#14373] Prevent cycles in DataTypeProxy chains IdentityHashMap, AbstractDataType> m = new IdentityHashMap<>(); + m.put(this, this); m.put(p, p); while (p.type() instanceof DataTypeProxy p2) { if (m.put(p2, p2) != null) return; + + p = p2; } }