org.apache.ignite.cache.store.jdbc.dialect

## Interface JdbcDialect

All Superinterfaces:
  Serializable

All Known Implementing Classes:
  BasicJdbcDialect, DB2Dialect, H2Dialect, MySQLDialect, OracleDialect, SQLServerDialect

    public interface JdbcDialect
    extends Serializable

Represents a dialect of SQL implemented by a particular RDBMS.

### Method Summary

All Methods Instance Methods Abstract Methods
`String` `escape(String ident)`
`int` `getFetchSize()` Gives the JDBC driver a hint how many rows should be fetched from the database when more rows are needed.
`int` `getMaxParameterCount()` Get max query parameters count.
`boolean` `hasMerge()`
`String` `insertQuery(String fullTblName, Collection<String> keyCols, Collection<String> valCols)` Construct insert query.
`String` `loadCacheQuery(String fullTblName, Iterable<String> uniqCols)` Construct load cache query.
`String` `loadCacheRangeQuery(String fullTblName, Collection<String> keyCols, Iterable<String> uniqCols, boolean appendLowerBound, boolean appendUpperBound)` Construct load cache query over specified range.
`String` `loadCacheSelectRangeQuery(String fullTblName, Collection<String> keyCols)` Construct query to get ranges bounds.
`String` `loadQuery(String fullTblName, Collection<String> keyCols, Iterable<String> cols, int keyCnt)` Construct load query.
`String` `mergeQuery(String fullTblName, Collection<String> keyCols, Collection<String> uniqCols)` Construct merge query.
`String` `removeQuery(String fullTblName, Iterable<String> keyCols)` Construct remove query.
`String` `updateQuery(String fullTblName, Collection<String> keyCols, Iterable<String> valCols)` Construct update query.

### Method Detail

#### escape

    String escape(String ident)

Parameters:
  `ident` - SQL identifier to escape.
Returns:
  Escaped SQL identifier.

#### loadCacheSelectRangeQuery

    String loadCacheSelectRangeQuery(String fullTblName,
                                     Collection<String> keyCols)

Construct query to get ranges bounds.

Parameters:
  `fullTblName` - Full table name.
  `keyCols` - Database key columns for order.
Returns:
  Query for select count.

#### loadCacheRangeQuery

    String loadCacheRangeQuery(String fullTblName,
                               Collection<String> keyCols,
                               Iterable<String> uniqCols,
                               boolean appendLowerBound,
                               boolean appendUpperBound)

Construct load cache query over specified range.

Parameters:
  `fullTblName` - Full table name.
  `keyCols` - Database key columns for order.
  `uniqCols` - Database unique value columns.
  `appendLowerBound` - Need add lower bound for range.
  `appendUpperBound` - Need add upper bound for range.
Returns:
  Query for select count.

#### loadCacheQuery

    String loadCacheQuery(String fullTblName,
                          Iterable<String> uniqCols)

Construct load cache query.

Parameters:
  `fullTblName` - Full table name.
  `uniqCols` - Database unique value columns.
Returns:
  Load cache query.

#### loadQuery

    String loadQuery(String fullTblName,
                     Collection<String> keyCols,
                     Iterable<String> cols,
                     int keyCnt)

Construct load query.

Parameters:
  `fullTblName` - Full table name.
  `keyCols` - Database key columns.
  `cols` - Selected columns.
  `keyCnt` - Key count.
Returns:
  Load query.

#### insertQuery

    String insertQuery(String fullTblName,
                       Collection<String> keyCols,
                       Collection<String> valCols)

Construct insert query.

Parameters:
  `fullTblName` - Full table name.
  `keyCols` - Database key columns.
  `valCols` - Database value columns.
Returns:
  Insert query.

#### updateQuery

    String updateQuery(String fullTblName,
                       Collection<String> keyCols,
                       Iterable<String> valCols)

Construct update query.

Parameters:
  `fullTblName` - Full table name.
  `keyCols` - Database key columns.
  `valCols` - Database value columns.
Returns:
  Update query.

#### hasMerge

    boolean hasMerge()

Returns:
  `True` if database support merge operation.

#### mergeQuery

    String mergeQuery(String fullTblName,
                      Collection<String> keyCols,
                      Collection<String> uniqCols)

Construct merge query.

Parameters:
  `fullTblName` - Full table name.
  `keyCols` - Database key columns.
  `uniqCols` - Database unique value columns.
Returns:
  Merge query.

#### removeQuery

    String removeQuery(String fullTblName,
                       Iterable<String> keyCols)

Construct remove query.

Parameters:
  `fullTblName` - Full table name.
  `keyCols` - Database key columns.
Returns:
  Remove query.

#### getMaxParameterCount

    int getMaxParameterCount()

Get max query parameters count.

Returns:
  Max query parameters count.

#### getFetchSize

    int getFetchSize()

Gives the JDBC driver a hint how many rows should be fetched from the database when more rows are needed. If the value specified is zero, then the hint is ignored. The default value is zero.

Returns:
  The fetch size for result sets.

2018 Copyright © Apache Software Foundation

Follow @ApacheIgnite

Ignite Fabric | : ver. 2.6.0
Release Date | : July 10 2018