diff --git a/jOOQ-codegen/src/main/java/org/jooq/codegen/GenerationUtil.java b/jOOQ-codegen/src/main/java/org/jooq/codegen/GenerationUtil.java index 73e5265365..68c06e4fa3 100644 --- a/jOOQ-codegen/src/main/java/org/jooq/codegen/GenerationUtil.java +++ b/jOOQ-codegen/src/main/java/org/jooq/codegen/GenerationUtil.java @@ -48,6 +48,7 @@ import static org.jooq.impl.DSL.name; import java.util.HashSet; import java.util.Set; +import java.util.regex.Matcher; import java.util.regex.Pattern; import org.jooq.Name; @@ -65,6 +66,9 @@ class GenerationUtil { static final Pattern PLAIN_GENERIC_TYPE_PATTERN = Pattern.compile("[<\\[]((?:[\\p{L}_$][\\p{L}\\p{N}_$]*\\.)*[\\p{L}_$][\\p{L}\\p{N}_$]*)[>\\]]"); static final Pattern UNDERSCORE_PATTERN = Pattern.compile("_+"); + + + private static final Set JAVA_KEYWORDS = unmodifiableSet(new HashSet<>(asList( "abstract", "assert", @@ -468,9 +472,8 @@ class GenerationUtil { * @see Class#getSimpleName() */ static String getSimpleJavaType(String qualifiedJavaType) { - if (qualifiedJavaType == null) { + if (qualifiedJavaType == null) return null; - } return qualifiedJavaType.replaceAll(".*\\.", ""); } @@ -491,6 +494,15 @@ class GenerationUtil { + + + + + + + + + case POSTGRES: { // The convention is to prepend a "_" to a type to get an array type diff --git a/jOOQ-meta/src/main/java/org/jooq/meta/AbstractDatabase.java b/jOOQ-meta/src/main/java/org/jooq/meta/AbstractDatabase.java index fa4fb4c55b..1bf3a05c24 100644 --- a/jOOQ-meta/src/main/java/org/jooq/meta/AbstractDatabase.java +++ b/jOOQ-meta/src/main/java/org/jooq/meta/AbstractDatabase.java @@ -2740,6 +2740,9 @@ public abstract class AbstractDatabase implements Database { + + + case POSTGRES: case H2: return "ARRAY".equals(dataType);