From 817fabc38eeecb18e7a49194b7879da306e2514f Mon Sep 17 00:00:00 2001 From: lukaseder Date: Sat, 11 Apr 2015 19:06:28 +0200 Subject: [PATCH] [#4197] Incomplete Javadoc and @Support annotation on UPDATE .. RETURNING with respect to DB2 emulation --- jOOQ/src/main/java/org/jooq/DeleteResultStep.java | 11 ++++++----- jOOQ/src/main/java/org/jooq/DeleteReturningStep.java | 2 ++ jOOQ/src/main/java/org/jooq/InsertResultStep.java | 10 ++++------ jOOQ/src/main/java/org/jooq/InsertReturningStep.java | 6 ++++-- jOOQ/src/main/java/org/jooq/UpdateResultStep.java | 5 +++-- jOOQ/src/main/java/org/jooq/UpdateReturningStep.java | 2 ++ 6 files changed, 21 insertions(+), 15 deletions(-) diff --git a/jOOQ/src/main/java/org/jooq/DeleteResultStep.java b/jOOQ/src/main/java/org/jooq/DeleteResultStep.java index 6d724fd85a..bde833cdfd 100644 --- a/jOOQ/src/main/java/org/jooq/DeleteResultStep.java +++ b/jOOQ/src/main/java/org/jooq/DeleteResultStep.java @@ -40,6 +40,7 @@ */ package org.jooq; +// ... import static org.jooq.SQLDialect.FIREBIRD; import static org.jooq.SQLDialect.POSTGRES; @@ -60,6 +61,8 @@ import org.jooq.exception.DataAccessException; * * * @author Lukas Eder @@ -69,16 +72,14 @@ public interface DeleteResultStep extends Delete { /** * The result holding returned values as specified by the * {@link UpdateReturningStep} - *

- * This currently only works well for DB2, HSQLDB, MySQL, and Postgres * * @return The returned values as specified by the * {@link UpdateReturningStep}. Note: *

    *
  • Not all databases / JDBC drivers support returning several - * values on multi-row inserts!
  • This may return an empty - * Result in case jOOQ could not retrieve any generated - * keys from the JDBC driver.
  • + * values on multi-row inserts! + *
  • This may return an empty Result in case jOOQ + * could not retrieve any generated keys from the JDBC driver.
  • *
* @throws DataAccessException if something went wrong executing the query * @see UpdateQuery#getReturnedRecords() diff --git a/jOOQ/src/main/java/org/jooq/DeleteReturningStep.java b/jOOQ/src/main/java/org/jooq/DeleteReturningStep.java index f25be4bed6..937dc88eb7 100644 --- a/jOOQ/src/main/java/org/jooq/DeleteReturningStep.java +++ b/jOOQ/src/main/java/org/jooq/DeleteReturningStep.java @@ -61,6 +61,8 @@ import java.util.Collection; *
    *
  • Firebird and Postgres have native support for * UPDATE .. RETURNING clauses
  • + *
  • DB2 allows to execute + * SELECT .. FROM FINAL TABLE (DELETE ...)
  • *
* * @author Lukas Eder diff --git a/jOOQ/src/main/java/org/jooq/InsertResultStep.java b/jOOQ/src/main/java/org/jooq/InsertResultStep.java index 0b3c15e276..b442084d73 100644 --- a/jOOQ/src/main/java/org/jooq/InsertResultStep.java +++ b/jOOQ/src/main/java/org/jooq/InsertResultStep.java @@ -57,10 +57,10 @@ import org.jooq.exception.DataAccessException; *

* This implemented differently for every dialect: *

    - *
  • Firebird and Postgres have native support for - * INSERT .. RETURNING clauses
  • - *
  • HSQLDB, Oracle, and DB2 JDBC drivers allow for retrieving any table - * column as "generated key" in one statement
  • + *
  • DB2 allows to execute + * SELECT .. FROM FINAL TABLE (INSERT ...)
  • + *
  • HSQLDB, and Oracle JDBC drivers allow for retrieving any table column as + * "generated key" in one statement
  • *
  • Derby, H2, Ingres, MySQL, SQL Server only allow for retrieving IDENTITY * column values as "generated key". If other fields are requested, a second * statement is issued. Client code must assure transactional integrity between @@ -79,8 +79,6 @@ public interface InsertResultStep extends Insert { /** * The result holding returned values as specified by the * {@link InsertReturningStep} - *

    - * This currently only works well for DB2, HSQLDB, MySQL, and Postgres * * @return The returned values as specified by the * {@link InsertReturningStep}. Note: diff --git a/jOOQ/src/main/java/org/jooq/InsertReturningStep.java b/jOOQ/src/main/java/org/jooq/InsertReturningStep.java index 26cdefc9da..4bad669736 100644 --- a/jOOQ/src/main/java/org/jooq/InsertReturningStep.java +++ b/jOOQ/src/main/java/org/jooq/InsertReturningStep.java @@ -59,8 +59,10 @@ import java.util.Collection; *

      *
    • Firebird and Postgres have native support for * INSERT .. RETURNING clauses
    • - *
    • HSQLDB, Oracle, and DB2 JDBC drivers allow for retrieving any table - * column as "generated key" in one statement
    • + *
    • DB2 allows to execute + * SELECT .. FROM FINAL TABLE (INSERT ...)
    • + *
    • HSQLDB, and Oracle JDBC drivers allow for retrieving any table column as + * "generated key" in one statement
    • *
    • Derby, H2, Ingres, MySQL, SQL Server only allow for retrieving IDENTITY * column values as "generated key". If other fields are requested, a second * statement is issued. Client code must assure transactional integrity between diff --git a/jOOQ/src/main/java/org/jooq/UpdateResultStep.java b/jOOQ/src/main/java/org/jooq/UpdateResultStep.java index f3383e7de7..876034fadc 100644 --- a/jOOQ/src/main/java/org/jooq/UpdateResultStep.java +++ b/jOOQ/src/main/java/org/jooq/UpdateResultStep.java @@ -40,6 +40,7 @@ */ package org.jooq; +// ... import static org.jooq.SQLDialect.FIREBIRD; import static org.jooq.SQLDialect.POSTGRES; @@ -63,6 +64,8 @@ import org.jooq.exception.DataAccessException; *
        *
      • Firebird and Postgres have native support for * UPDATE .. RETURNING clauses
      • + *
      • DB2 allows to execute + * SELECT .. FROM FINAL TABLE (UPDATE ...)
      • *
      * * @author Lukas Eder @@ -72,8 +75,6 @@ public interface UpdateResultStep extends Update { /** * The result holding returned values as specified by the * {@link UpdateReturningStep} - *

      - * This currently only works well for DB2, HSQLDB, MySQL, and Postgres * * @return The returned values as specified by the * {@link UpdateReturningStep}. Note: diff --git a/jOOQ/src/main/java/org/jooq/UpdateReturningStep.java b/jOOQ/src/main/java/org/jooq/UpdateReturningStep.java index 4ac3c98842..0764115fd9 100644 --- a/jOOQ/src/main/java/org/jooq/UpdateReturningStep.java +++ b/jOOQ/src/main/java/org/jooq/UpdateReturningStep.java @@ -64,6 +64,8 @@ import java.util.Collection; *

        *
      • Firebird and Postgres have native support for * UPDATE .. RETURNING clauses
      • + *
      • DB2 allows to execute + * SELECT .. FROM FINAL TABLE (UPDATE ...)
      • *
      * * @author Lukas Eder