com.holonplatform.datastore.jdbc.composer.dialect

## Class H2Dialect

- java.lang.Object
- - com.holonplatform.datastore.jdbc.composer.dialect.H2Dialect

- All Implemented Interfaces:
    SQLDialect, Serializable

      public class H2Dialect
      extends Object
      implements SQLDialect

  H2 `SQLDialect`.
  Since:
    5.1.0
  See Also:
    Serialized Form

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from interface com.holonplatform.datastore.jdbc.composer.SQLDialect

      `SQLDialect.LimitHandler`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `H2Dialect()`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `boolean` | `generatedKeyAlwaysReturned()` Retrieves whether a generated key will always be returned if the column name(s) or index(es) specified for the auto generated key column(s) are valid and the statement succeeds.
    `String` | `getColumnName(String columnName)` Get the actual column name for given column name (for example, applying case transformations)
    `Optional<SQLDialect.LimitHandler>` | `getLimitHandler()` Get the `SQLDialect.LimitHandler`
    `String` | `getTableName(String tableName)` Get the actual table name for given table name (for example, applying case transformations)
    `void` | `init(SQLDialectContext context)` Dialect initialization hook at parent datastore initialization.
    `Optional<SQLFunction>` | `resolveFunction(com.holonplatform.core.query.QueryFunction<?,?> function)` Resolve given `function` into a dialect-specific `SQLFunction`.
    `boolean` | `supportsGetGeneratedKeys()` Retrieves whether auto-generated keys can be retrieved after a statement has been executed.
    `boolean` | `supportsLikeEscapeClause()` Retrieves whether this database supports specifying a `LIKE` escape clause.
    `com.holonplatform.core.exceptions.DataAccessException` | `translateException(SQLException exception)` Translates given `SQLException` into a suitable `DataAccessException`.

    - ### Methods inherited from class java.lang.Object

      `equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

    - ### Methods inherited from interface com.holonplatform.datastore.jdbc.composer.SQLDialect

      `db2, deleteStatementAliasSupported, deleteStatementTargetRequired, derby, detect, getJavaType, getLockClause, getLockHint, getSqlType, h2, HANA, hsqldb, informix, mariaDB, mySQL, oracle, postgreSQL, sqlite, sqlServer, supportGetGeneratedKeyByName, supportsBinaryStreamParameter, supportsSqlType, updateStatementAliasSupported, updateStatementFromSupported, updateStatementSetAliasSupported, useOuterInJoins`

- - ### Constructor Detail

    - #### H2Dialect

          public H2Dialect()

  - ### Method Detail

    - #### init

          public void init(SQLDialectContext context)
                    throws SQLException

      Description copied from interface: `SQLDialect`
      Dialect initialization hook at parent datastore initialization.
      Specified by:
        `init` in interface `SQLDialect`
      Parameters:
        `context` - Dialect context
      Throws:
        `SQLException` - An error occurred during dialect initialization

    - #### resolveFunction

          public Optional<SQLFunction> resolveFunction(com.holonplatform.core.query.QueryFunction<?,?> function)

      Description copied from interface: `SQLDialect`
      Resolve given `function` into a dialect-specific `SQLFunction`.
      Specified by:
        `resolveFunction` in interface `SQLDialect`
      Parameters:
        `function` - The function to resolve (not null)
      Returns:
        A dialect-specific function resolution, or empty to fallback to the default function resolution, if available

    - #### getLimitHandler

          public Optional<SQLDialect.LimitHandler> getLimitHandler()

      Description copied from interface: `SQLDialect`
      Get the `SQLDialect.LimitHandler`
      Specified by:
        `getLimitHandler` in interface `SQLDialect`
      Returns:
        Optional limit handler

    - #### supportsLikeEscapeClause

          public boolean supportsLikeEscapeClause()

      Description copied from interface: `SQLDialect`
      Retrieves whether this database supports specifying a `LIKE` escape clause.
      Specified by:
        `supportsLikeEscapeClause` in interface `SQLDialect`
      Returns:
        `true` if so; `false` otherwise

    - #### supportsGetGeneratedKeys

          public boolean supportsGetGeneratedKeys()

      Description copied from interface: `SQLDialect`
      Retrieves whether auto-generated keys can be retrieved after a statement has been executed.
      Specified by:
        `supportsGetGeneratedKeys` in interface `SQLDialect`
      Returns:
        `true` if auto-generated keys can be retrieved after a statement has executed; `false` otherwise

    - #### generatedKeyAlwaysReturned

          public boolean generatedKeyAlwaysReturned()

      Description copied from interface: `SQLDialect`
      Retrieves whether a generated key will always be returned if the column name(s) or index(es) specified for the auto generated key column(s) are valid and the statement succeeds. The key that is returned may or may not be based on the column(s) for the auto generated key.
      Specified by:
        `generatedKeyAlwaysReturned` in interface `SQLDialect`
      Returns:
        `true` if so; `false` otherwise

    - #### getTableName

          public String getTableName(String tableName)

      Description copied from interface: `SQLDialect`
      Get the actual table name for given table name (for example, applying case transformations)
      Specified by:
        `getTableName` in interface `SQLDialect`
      Parameters:
        `tableName` - Table name
      Returns:
        The actual table name

    - #### getColumnName

          public String getColumnName(String columnName)

      Description copied from interface: `SQLDialect`
      Get the actual column name for given column name (for example, applying case transformations)
      Specified by:
        `getColumnName` in interface `SQLDialect`
      Parameters:
        `columnName` - Column name
      Returns:
        The actual column name

    - #### translateException

          public com.holonplatform.core.exceptions.DataAccessException translateException(SQLException exception)

      Description copied from interface: `SQLDialect`
      Translates given `SQLException` into a suitable `DataAccessException`.
      Specified by:
        `translateException` in interface `SQLDialect`
      Parameters:
        `exception` - Exception to translate (not null)
      Returns:
        Translated `DataAccessException`

Copyright © 2019 The Holon Platform. All rights reserved.