Class BasicJdbcDialect
java.lang.Object
org.gridgain.cache.store.jdbc.dialect.BasicJdbcDialect
- All Implemented Interfaces:
JdbcDialect
- Direct Known Subclasses:
Db2Dialect,H2Dialect,MySqlDialect,OracleDialect,SqlServerDialect
Basic implementation of dialect based on JDBC specification.
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected static final intDefault max query parameters count.protected intFetch size.protected intMax query parameters count. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionEscape an identifier.intGives the JDBC driver a hint how many rows should be fetched from the database when more rows are needed.intGet max query parameters count.booleanhasMerge()Test if a dialect supports merge syntax.insertQuery(String fullTblName, Collection<String> keyCols, Collection<String> valCols) Construct insert query.loadCacheQuery(String fullTblName, Iterable<String> uniqCols) Construct load cache query.loadCacheRangeQuery(String fullTblName, Collection<String> keyCols, Iterable<String> uniqCols, boolean appendLowerBound, boolean appendUpperBound) Construct load cache query over specified range.loadCacheSelectRangeQuery(String fullTblName, Collection<String> keyCols) Construct query to get ranges bounds.Construct load query.mergeQuery(String fullTblName, Collection<String> keyCols, Collection<String> uniqCols) Construct merge query.protected static StringConcatenates strings using provided separator.protected static StringConcatenates elements using provided separator.protected static <T> StringConcatenates elements using provided separator.removeQuery(String fullTblName, Iterable<String> keyCols) Construct remove query.protected static StringConcatenates elements using provided delimiter.voidsetFetchSize(int fetchSize) Sets fetch size.voidsetMaxParameterCount(int maxParamsCnt) Set max query parameters count.updateQuery(String fullTblName, Collection<String> keyCols, Iterable<String> valCols) Construct update query.
-
Field Details
-
DFLT_MAX_PARAMS_CNT
protected static final int DFLT_MAX_PARAMS_CNTDefault max query parameters count.- See Also:
-
maxParamsCnt
protected int maxParamsCntMax query parameters count. -
fetchSize
protected int fetchSizeFetch size.
-
-
Constructor Details
-
BasicJdbcDialect
public BasicJdbcDialect()
-
-
Method Details
-
mkString
protected static <T> String mkString(Iterable<T> elems, Function<T, String> f, String start, String sep, String end) Concatenates elements using provided separator.- Parameters:
elems- Concatenated elements.f- closure used for transform element.start- Start string.sep- Separator.end- End string.- Returns:
- Concatenated string.
-
mkString
Concatenates elements using provided separator.- Parameters:
strs- Concatenated string.start- Start string.sep- Delimiter.end- End string.- Returns:
- Concatenated string.
-
mkString
Concatenates strings using provided separator.- Parameters:
strs- Concatenated string.sep- Separator.- Returns:
- Concatenated string.
-
repeat
Concatenates elements using provided delimiter.- Parameters:
str- Repeated string.cnt- Repeat count.start- Start string.sep- Separator.end- End string.
-
escape
Escape an identifier.- Specified by:
escapein interfaceJdbcDialect- Parameters:
ident- SQL identifier to escape.- Returns:
- Escaped SQL identifier.
-
loadCacheSelectRangeQuery
Construct query to get ranges bounds.- Specified by:
loadCacheSelectRangeQueryin interfaceJdbcDialect- Parameters:
fullTblName- Full table name.keyCols- Database key columns for order.- Returns:
- Query for select count.
-
loadCacheRangeQuery
public String loadCacheRangeQuery(String fullTblName, Collection<String> keyCols, Iterable<String> uniqCols, boolean appendLowerBound, boolean appendUpperBound) Construct load cache query over specified range.- Specified by:
loadCacheRangeQueryin interfaceJdbcDialect- 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
Construct load cache query.- Specified by:
loadCacheQueryin interfaceJdbcDialect- Parameters:
fullTblName- Full table name.uniqCols- Database unique value columns.- Returns:
- Load cache query.
-
loadQuery
public String loadQuery(String fullTblName, Collection<String> keyCols, Iterable<String> cols, int keyCnt) Construct load query.- Specified by:
loadQueryin interfaceJdbcDialect- Parameters:
fullTblName- Full table name.keyCols- Database key columns.cols- Selected columns.keyCnt- Key count.- Returns:
- Load query.
-
insertQuery
public String insertQuery(String fullTblName, Collection<String> keyCols, Collection<String> valCols) Construct insert query.- Specified by:
insertQueryin interfaceJdbcDialect- Parameters:
fullTblName- Full table name.keyCols- Database key columns.valCols- Database value columns.- Returns:
- Insert query.
-
updateQuery
Construct update query.- Specified by:
updateQueryin interfaceJdbcDialect- Parameters:
fullTblName- Full table name.keyCols- Database key columns.valCols- Database value columns.- Returns:
- Update query.
-
hasMerge
public boolean hasMerge()Test if a dialect supports merge syntax.- Specified by:
hasMergein interfaceJdbcDialect- Returns:
Trueif database support merge operation.
-
mergeQuery
public String mergeQuery(String fullTblName, Collection<String> keyCols, Collection<String> uniqCols) Construct merge query.- Specified by:
mergeQueryin interfaceJdbcDialect- Parameters:
fullTblName- Full table name.keyCols- Database key columns.uniqCols- Database unique value columns.- Returns:
- Merge query.
-
removeQuery
Construct remove query.- Specified by:
removeQueryin interfaceJdbcDialect- Parameters:
fullTblName- Full table name.keyCols- Database key columns.- Returns:
- Remove query.
-
getMaxParameterCount
public int getMaxParameterCount()Get max query parameters count.- Specified by:
getMaxParameterCountin interfaceJdbcDialect- Returns:
- Max query parameters count.
-
setMaxParameterCount
public void setMaxParameterCount(int maxParamsCnt) Set max query parameters count.- Parameters:
maxParamsCnt- Max query parameters count.
-
getFetchSize
public 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.- Specified by:
getFetchSizein interfaceJdbcDialect- Returns:
- The fetch size for result sets.
-
setFetchSize
public void setFetchSize(int fetchSize) Sets fetch size.- Parameters:
fetchSize- Fetch size.
-