From 011382f043ee01929a564061431b4420fbf021f3 Mon Sep 17 00:00:00 2001 From: Lukas Eder Date: Wed, 15 Jan 2025 09:39:13 +0100 Subject: [PATCH] [jOOQ/jOOQ#17868] StackOverflowError when resolving asterisk in parsed query using derived table with unsuccessful meta lookups --- jOOQ/src/main/java/org/jooq/impl/DataTypeProxy.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) 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)