From 6f64c4a3a25635f72c972303c0e33d733bdab5fa Mon Sep 17 00:00:00 2001 From: Lukas Eder Date: Thu, 17 Dec 2020 11:12:05 +0100 Subject: [PATCH] [jOOQ/jOOQ#11139] ParseWithMetaLookups propagates wrong type from derived table --- jOOQ/src/main/java/org/jooq/impl/FieldProxy.java | 4 +--- jOOQ/src/main/java/org/jooq/impl/ScopeStack.java | 10 +++------- 2 files changed, 4 insertions(+), 10 deletions(-) diff --git a/jOOQ/src/main/java/org/jooq/impl/FieldProxy.java b/jOOQ/src/main/java/org/jooq/impl/FieldProxy.java index 3bc23ab6fd..195b1c1eef 100644 --- a/jOOQ/src/main/java/org/jooq/impl/FieldProxy.java +++ b/jOOQ/src/main/java/org/jooq/impl/FieldProxy.java @@ -81,9 +81,7 @@ final class FieldProxy extends AbstractField implements TableField newDelegate) { this.delegate = newDelegate; - // [#8278] Prevent StackOverflowErrors when the data type proxy is shared - if (!(newDelegate.getDataType() instanceof DataTypeProxy)) - ((DataTypeProxy) getDataType()).type((AbstractDataType) newDelegate.getDataType()); + ((DataTypeProxy) getDataType()).type((AbstractDataType) newDelegate.getDataType()); } @Override diff --git a/jOOQ/src/main/java/org/jooq/impl/ScopeStack.java b/jOOQ/src/main/java/org/jooq/impl/ScopeStack.java index 41a4087c23..ecf5be7b71 100644 --- a/jOOQ/src/main/java/org/jooq/impl/ScopeStack.java +++ b/jOOQ/src/main/java/org/jooq/impl/ScopeStack.java @@ -118,14 +118,10 @@ final class ScopeStack implements Iterable { } private V move() { - while (it.hasNext()) { - List list = it.next(); - - if (!list.isEmpty()) { - next = list.get(list.size() - 1); + List list; + while (it.hasNext()) + if (!(list = it.next()).isEmpty() && (next = list.get(list.size() - 1)) != null) break; - } - } return next; }