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