diff --git a/jOOQ-test/src/org/jooq/test/_/testcases/SelectTests.java b/jOOQ-test/src/org/jooq/test/_/testcases/SelectTests.java index d96f4ea60f..26560066c1 100644 --- a/jOOQ-test/src/org/jooq/test/_/testcases/SelectTests.java +++ b/jOOQ-test/src/org/jooq/test/_/testcases/SelectTests.java @@ -524,16 +524,25 @@ extends BaseTest result = create().select(TAuthor_ID()) + Result result = + create().select(TAuthor_ID()) .from(TAuthor()) .forUpdate() - .of(TAuthor_LAST_NAME(), TAuthor_FIRST_NAME()) + + // DB2 requires a key column to be contained in the + // FOR UPDATE OF ... clause + .of(TAuthor_ID(), + TAuthor_LAST_NAME(), + TAuthor_FIRST_NAME()) .fetch(); assertEquals(2, result.size()); - Result result2 = create().selectFrom(TAuthor()) + Result result2 = + create().selectFrom(TAuthor()) .forUpdate() - .of(TAuthor_LAST_NAME(), TAuthor_FIRST_NAME()) + .of(TAuthor_ID(), + TAuthor_LAST_NAME(), + TAuthor_FIRST_NAME()) .fetch(); assertEquals(2, result2.size()); diff --git a/jOOQ/src/main/java/org/jooq/LockProvider.java b/jOOQ/src/main/java/org/jooq/LockProvider.java index a9a120d373..010d211ac0 100644 --- a/jOOQ/src/main/java/org/jooq/LockProvider.java +++ b/jOOQ/src/main/java/org/jooq/LockProvider.java @@ -135,6 +135,10 @@ public interface LockProvider { *
  • Oracle
  • *
  • Sybase
  • * + *

    + * Note, that {@link SQLDialect#DB2} has some stricter requirements + * regarding the updatability of fields. Refer to the DB2 documentation for + * further details * * @param fields The fields that should be locked */