From 88a8c2c2cb05fede80d0c53dbc1bb9a6f6f5db66 Mon Sep 17 00:00:00 2001 From: Knut Wannheden Date: Fri, 24 Jan 2020 10:51:07 +0100 Subject: [PATCH] [jOOQ/jOOQ#6659] Support PostgreSQL IDENTITY columns For PostgreSQL 10+ jOOQ will now render identity columns using the standard `GENERATED BY DEFAULT AS IDENTITY` clause. For PostgreSQL 9 the implementation continues to use the `SERIAL4` and `SERIAL8` types. --- jOOQ/src/main/java/org/jooq/impl/Tools.java | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/jOOQ/src/main/java/org/jooq/impl/Tools.java b/jOOQ/src/main/java/org/jooq/impl/Tools.java index 38c23e35a0..ac3fd9d31c 100644 --- a/jOOQ/src/main/java/org/jooq/impl/Tools.java +++ b/jOOQ/src/main/java/org/jooq/impl/Tools.java @@ -4672,6 +4672,16 @@ final class Tools { case DERBY: ctx.sql(' ').visit(K_GENERATED_BY_DEFAULT_AS_IDENTITY); break; case HSQLDB: ctx.sql(' ').visit(K_GENERATED_BY_DEFAULT_AS_IDENTITY).sql('(').visit(K_START_WITH).sql(" 1)"); break; case SQLITE: ctx.sql(' ').visit(K_PRIMARY_KEY).sql(' ').visit(K_AUTOINCREMENT); break; + case POSTGRES: + switch (ctx.dialect()) { + + + + + case POSTGRES: + ctx.sql(' ').visit(K_GENERATED_BY_DEFAULT_AS_IDENTITY); break; + } + break; } } } @@ -4719,7 +4729,14 @@ final class Tools { - case POSTGRES: ctx.visit(type.getType() == Long.class ? K_SERIAL8 : K_SERIAL4); return; + + + + + + + + } }