From 7bd06a856c3a27cd0f682edf27bea8530c17c441 Mon Sep 17 00:00:00 2001 From: lukaseder Date: Tue, 17 Feb 2015 09:13:52 +0100 Subject: [PATCH] [#4064] Add PostgreSQL support for DSLContext.lastId() --- jOOQ/src/main/java/org/jooq/DSLContext.java | 24 +++++++++++++------ .../java/org/jooq/impl/DefaultDSLContext.java | 5 ++++ 2 files changed, 22 insertions(+), 7 deletions(-) diff --git a/jOOQ/src/main/java/org/jooq/DSLContext.java b/jOOQ/src/main/java/org/jooq/DSLContext.java index 88b85759ce..98f8c27b5f 100644 --- a/jOOQ/src/main/java/org/jooq/DSLContext.java +++ b/jOOQ/src/main/java/org/jooq/DSLContext.java @@ -5181,20 +5181,30 @@ public interface DSLContext extends Scope { /** * Retrieve the last inserted ID. *

- * Note, there are some restrictions to the following dialects: + * This is implemented for the following dialects: *

* * @return The last inserted ID. This may be null in some * dialects, if no such number is available. * @throws DataAccessException if something went wrong executing the query */ - @Support({ CUBRID, DERBY, H2, HSQLDB, MARIADB, MYSQL, SQLITE }) + @Support({ CUBRID, DERBY, H2, HSQLDB, MARIADB, MYSQL, POSTGRES, SQLITE }) BigInteger lastID() throws DataAccessException; /** diff --git a/jOOQ/src/main/java/org/jooq/impl/DefaultDSLContext.java b/jOOQ/src/main/java/org/jooq/impl/DefaultDSLContext.java index 869f8317c0..17f767df1f 100644 --- a/jOOQ/src/main/java/org/jooq/impl/DefaultDSLContext.java +++ b/jOOQ/src/main/java/org/jooq/impl/DefaultDSLContext.java @@ -1778,6 +1778,11 @@ public class DefaultDSLContext extends AbstractScope implements DSLContext, Seri return select(field).fetchOne(field); } + case POSTGRES: { + Field field = field("lastval()", BigInteger.class); + return select(field).fetchOne(field); + } + /* [pro] xx xxxx xxxxxxxxx x xxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxx xxxx xxxxxxxxx xxxxx xxxxx x xxxx xxxxxxxxxxxxxxxxxx