From 33c517a1c868ef3771131b04faaed8466784af56 Mon Sep 17 00:00:00 2001 From: Knut Wannheden Date: Mon, 6 Jan 2020 13:29:27 +0100 Subject: [PATCH] [jOOQ/jOOQ#9708] Fix regex based schema mapping (with backreferences) The way the schema mapping was implemented resulted in the schema mapping always getting applied twice during the rendering. This was problematic for regex based schema mappings using backreferences. This commit changes the schema mapping logic so that `SchemaMapping#map(Schema)` doesn't "recursively" map schemas. I.e. any given schema is only mapped once. --- jOOQ/src/main/java/org/jooq/SchemaMapping.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/jOOQ/src/main/java/org/jooq/SchemaMapping.java b/jOOQ/src/main/java/org/jooq/SchemaMapping.java index 1c02a617a4..b0bfb52848 100644 --- a/jOOQ/src/main/java/org/jooq/SchemaMapping.java +++ b/jOOQ/src/main/java/org/jooq/SchemaMapping.java @@ -293,6 +293,8 @@ public class SchemaMapping implements Serializable { // [#1774] The default Settings render schema flag takes precedence over // The DefaultConfiguration's ignoreMapping flag! if (!renderSchema()) return null; + // [#9708] Don't map an already mapped schema again + else if (schema instanceof RenamedSchema) return schema; Schema result = schema; if (result == null)