diff --git a/jOOQ/src/main/java/org/jooq/DSLContext.java b/jOOQ/src/main/java/org/jooq/DSLContext.java index 5903c24f54..9a98cd6901 100644 --- a/jOOQ/src/main/java/org/jooq/DSLContext.java +++ b/jOOQ/src/main/java/org/jooq/DSLContext.java @@ -9927,7 +9927,7 @@ public interface DSLContext extends Scope , AutoCloseable { * * @throws DataAccessException if something went wrong executing the query */ - @Support({ CUBRID, FIREBIRD, H2, POSTGRES }) + @Support({ CUBRID, FIREBIRD, H2, HSQLDB, POSTGRES }) BigInteger currval(String sequence) throws DataAccessException; /** @@ -9936,7 +9936,7 @@ public interface DSLContext extends Scope , AutoCloseable { * * @throws DataAccessException if something went wrong executing the query */ - @Support({ CUBRID, FIREBIRD, H2, POSTGRES }) + @Support({ CUBRID, FIREBIRD, H2, HSQLDB, POSTGRES }) BigInteger currval(Name sequence) throws DataAccessException; /** @@ -9945,7 +9945,7 @@ public interface DSLContext extends Scope , AutoCloseable { * * @throws DataAccessException if something went wrong executing the query */ - @Support({ CUBRID, FIREBIRD, H2, POSTGRES }) + @Support({ CUBRID, FIREBIRD, H2, HSQLDB, POSTGRES }) T currval(Sequence sequence) throws DataAccessException; // ------------------------------------------------------------------------- diff --git a/jOOQ/src/main/java/org/jooq/Sequence.java b/jOOQ/src/main/java/org/jooq/Sequence.java index 1c73f74084..7f03aafd1f 100644 --- a/jOOQ/src/main/java/org/jooq/Sequence.java +++ b/jOOQ/src/main/java/org/jooq/Sequence.java @@ -77,7 +77,7 @@ public interface Sequence extends Named { /** * Get the current value of this sequence */ - @Support({ CUBRID, FIREBIRD, H2, POSTGRES }) + @Support({ CUBRID, FIREBIRD, H2, HSQLDB, POSTGRES }) Field currval(); /** diff --git a/jOOQ/src/main/java/org/jooq/impl/SequenceImpl.java b/jOOQ/src/main/java/org/jooq/impl/SequenceImpl.java index d33d292c3a..ad107b3cac 100644 --- a/jOOQ/src/main/java/org/jooq/impl/SequenceImpl.java +++ b/jOOQ/src/main/java/org/jooq/impl/SequenceImpl.java @@ -41,6 +41,7 @@ import static org.jooq.Clause.SEQUENCE; import static org.jooq.Clause.SEQUENCE_REFERENCE; import static org.jooq.SQLDialect.CUBRID; import static org.jooq.SQLDialect.FIREBIRD; +import static org.jooq.SQLDialect.HSQLDB; // ... import static org.jooq.impl.DSL.inline; import static org.jooq.impl.DSL.select; @@ -162,13 +163,12 @@ public class SequenceImpl extends AbstractNamed implements Seq case FIREBIRD: case DERBY: case HSQLDB: { - if ("nextval".equals(method)) { - String field = "next value for " + getQualifiedName(configuration); - return DSL.field(field, getDataType()); - } - else if (family == FIREBIRD) { + if ("nextval".equals(method)) + return DSL.field("next value for " + getQualifiedName(configuration), getDataType()); + else if (family == HSQLDB) + return DSL.field("current value for " + getQualifiedName(configuration), getDataType()); + else if (family == FIREBIRD) return DSL.field("gen_id(" + getQualifiedName(configuration) + ", 0)", getDataType()); - }