Class DB2390Dialect


public class DB2390Dialect extends DB2Dialect
An SQL dialect for DB2/390. This class provides support for DB2 Universal Database for OS/390, also known as DB2/390.
  • Constructor Details

    • DB2390Dialect

      public DB2390Dialect()
  • Method Details

    • supportsSequences

      public boolean supportsSequences()
      Description copied from class: Dialect
      Does this dialect support sequences?
      Overrides:
      supportsSequences in class DB2Dialect
      Returns:
      True if sequences supported; false otherwise.
    • getIdentitySelectString

      public String getIdentitySelectString()
      Description copied from class: Dialect
      Get the select command to use to retrieve the last generated IDENTITY value.
      Overrides:
      getIdentitySelectString in class DB2Dialect
      Returns:
      The appropriate select command
    • supportsLimit

      public boolean supportsLimit()
      Description copied from class: Dialect
      Does this dialect support some form of limiting query results via a SQL clause?
      Overrides:
      supportsLimit in class DB2Dialect
      Returns:
      True if this dialect supports some form of LIMIT.
    • supportsLimitOffset

      public boolean supportsLimitOffset()
      Description copied from class: Dialect
      Does this dialect's LIMIT support (if any) additionally support specifying an offset?
      Overrides:
      supportsLimitOffset in class Dialect
      Returns:
      True if the dialect supports an offset within the limit support.
    • useMaxForLimit

      public boolean useMaxForLimit()
      Description copied from class: Dialect
      Does the LIMIT clause take a "maximum" row number instead of a total number of returned rows?

      This is easiest understood via an example. Consider you have a table with 20 rows, but you only want to retrieve rows number 11 through 20. Generally, a limit with offset would say that the offset = 11 and the limit = 10 (we only want 10 rows at a time); this is specifying the total number of returned rows. Some dialects require that we instead specify offset = 11 and limit = 20, where 20 is the "last" row we want relative to offset (i.e. total number of rows = 20 - 11 = 9)

      So essentially, is limit relative from offset? Or is limit absolute?

      Overrides:
      useMaxForLimit in class DB2Dialect
      Returns:
      True if limit is relative from offset; false otherwise.
    • supportsVariableLimit

      public boolean supportsVariableLimit()
      Description copied from class: Dialect
      Does this dialect support bind variables (i.e., prepared statement parameters) for its limit/offset?
      Overrides:
      supportsVariableLimit in class Dialect
      Returns:
      True if bind variables can be used; false otherwise.
    • getLimitString

      public String getLimitString(String sql, int offset, int limit)
      Description copied from class: Dialect
      Given a limit and an offset, apply the limit clause to the query.
      Overrides:
      getLimitString in class Dialect
      Parameters:
      sql - The query to which to apply the limit.
      offset - The offset of the limit
      limit - The limit of the limit ;)
      Returns:
      The modified query statement with the limit applied.