com.blazebit.persistence.spi.DbmsDialect
DB2DbmsDialect
, H2DbmsDialect
, HSQLDbmsDialect
, MSSQLDbmsDialect
, MySQLDbmsDialect
, OracleDbmsDialect
, PostgreSQLDbmsDialect
public class DefaultDbmsDialect
extends java.lang.Object
implements com.blazebit.persistence.spi.DbmsDialect
Modifier and Type | Field | Description |
---|---|---|
protected static java.lang.ThreadLocal<CyclicUnsignedCounter> |
threadLocalCounter |
Constructor | Description |
---|---|
DefaultDbmsDialect() |
|
DefaultDbmsDialect(java.util.Map<java.lang.Class<?>,java.lang.String> childSqlTypes) |
Modifier and Type | Method | Description |
---|---|---|
protected void |
appendEmulatedOrderByElementWithNulls(java.lang.StringBuilder sqlSb,
com.blazebit.persistence.spi.OrderByElement element,
java.lang.String[] aliases) |
|
java.util.Map<java.lang.String,java.lang.String> |
appendExtendedSql(java.lang.StringBuilder sqlSb,
com.blazebit.persistence.spi.DbmsStatementType statementType,
boolean isSubquery,
boolean isEmbedded,
java.lang.StringBuilder withClause,
java.lang.String limit,
java.lang.String offset,
java.lang.String[] returningColumns,
java.util.Map<com.blazebit.persistence.spi.DbmsModificationState,java.lang.String> includedModificationStates) |
|
void |
appendLimit(java.lang.StringBuilder sqlSb,
boolean isSubquery,
java.lang.String limit,
java.lang.String offset) |
|
protected void |
appendOrderBy(java.lang.StringBuilder sqlSb,
java.util.List<? extends com.blazebit.persistence.spi.OrderByElement> orderByElements,
java.lang.String[] aliases) |
|
void |
appendOrderByElement(java.lang.StringBuilder sqlSb,
com.blazebit.persistence.spi.OrderByElement element,
java.lang.String[] aliases) |
|
void |
appendSet(java.lang.StringBuilder sqlSb,
com.blazebit.persistence.spi.SetOperationType setType,
boolean isSubquery,
java.util.List<java.lang.String> operands,
java.util.List<? extends com.blazebit.persistence.spi.OrderByElement> orderByElements,
java.lang.String limit,
java.lang.String offset) |
|
protected java.lang.String[] |
appendSetOperands(java.lang.StringBuilder sqlSb,
com.blazebit.persistence.spi.SetOperationType setType,
java.lang.String operator,
boolean isSubquery,
java.util.List<java.lang.String> operands,
boolean hasOuterClause) |
|
java.lang.String |
cast(java.lang.String expression,
java.lang.String sqlType) |
|
com.blazebit.persistence.spi.DbmsLimitHandler |
createLimitHandler() |
|
java.sql.ResultSet |
extractReturningResult(java.sql.PreparedStatement ps) |
|
java.lang.String |
getDummyTable() |
|
com.blazebit.persistence.spi.LateralStyle |
getLateralStyle() |
|
protected java.lang.String |
getOperator(com.blazebit.persistence.spi.SetOperationType type) |
|
int |
getPrepareFlags() |
|
java.lang.String |
getSqlType(java.lang.Class<?> castType) |
|
com.blazebit.persistence.spi.ValuesStrategy |
getValuesStrategy() |
|
protected java.lang.String |
getWindowFunctionDummyOrderBy() |
|
java.lang.String |
getWithClause(boolean recursive) |
|
protected static int |
indexOfIgnoreCase(java.lang.StringBuilder haystack,
java.lang.String needle) |
|
boolean |
isNullSmallest() |
|
protected boolean |
needsAliasForFromClause() |
|
protected boolean |
needsAliasInSetOrderBy() |
|
boolean |
needsCastParameters() |
|
boolean |
needsReturningSqlTypes() |
|
protected boolean |
needsSetOperationWrapper() |
|
java.sql.PreparedStatement |
prepare(java.sql.PreparedStatement ps,
int[] returningSqlTypes) |
|
protected static boolean |
regionMatchesIgnoreCase(java.lang.StringBuilder haystack,
int thisStart,
java.lang.String substring,
int start,
int length) |
|
boolean |
requiresNullCast() |
|
boolean |
supportsBooleanAggregation() |
|
boolean |
supportsComplexJoinOn() |
|
boolean |
supportsExcept(boolean all) |
|
boolean |
supportsFilterClause() |
|
boolean |
supportsFullRowValueComparison() |
|
boolean |
supportsGroupByExpressionInHavingMatching() |
|
boolean |
supportsIntersect(boolean all) |
|
boolean |
supportsJoinsInRecursiveCte() |
|
boolean |
supportsModificationQueryInWithClause() |
|
boolean |
supportsNonRecursiveWithClause() |
|
boolean |
supportsNullPrecedence() |
|
protected boolean |
supportsPartitionInRowNumberOver() |
|
boolean |
supportsReturningAllGeneratedKeys() |
|
boolean |
supportsReturningColumns() |
|
boolean |
supportsReturningGeneratedKeys() |
|
boolean |
supportsRowValueConstructor() |
|
boolean |
supportsUnion(boolean all) |
|
boolean |
supportsWindowFunctions() |
|
boolean |
supportsWindowNullPrecedence() |
|
boolean |
supportsWithClause() |
|
boolean |
supportsWithClauseHead() |
|
boolean |
supportsWithClauseInModificationQuery() |
|
boolean |
usesExecuteUpdateWhenWithClauseInModificationQuery() |
protected static final java.lang.ThreadLocal<CyclicUnsignedCounter> threadLocalCounter
public DefaultDbmsDialect()
public DefaultDbmsDialect(java.util.Map<java.lang.Class<?>,java.lang.String> childSqlTypes)
public boolean supportsWithClause()
supportsWithClause
in interface com.blazebit.persistence.spi.DbmsDialect
public boolean supportsNonRecursiveWithClause()
supportsNonRecursiveWithClause
in interface com.blazebit.persistence.spi.DbmsDialect
public boolean supportsWithClauseHead()
supportsWithClauseHead
in interface com.blazebit.persistence.spi.DbmsDialect
public boolean supportsJoinsInRecursiveCte()
supportsJoinsInRecursiveCte
in interface com.blazebit.persistence.spi.DbmsDialect
public boolean supportsRowValueConstructor()
supportsRowValueConstructor
in interface com.blazebit.persistence.spi.DbmsDialect
public boolean supportsFullRowValueComparison()
supportsFullRowValueComparison
in interface com.blazebit.persistence.spi.DbmsDialect
public boolean supportsWindowFunctions()
supportsWindowFunctions
in interface com.blazebit.persistence.spi.DbmsDialect
public boolean supportsFilterClause()
supportsFilterClause
in interface com.blazebit.persistence.spi.DbmsDialect
public boolean supportsNullPrecedence()
supportsNullPrecedence
in interface com.blazebit.persistence.spi.DbmsDialect
public boolean supportsWindowNullPrecedence()
supportsWindowNullPrecedence
in interface com.blazebit.persistence.spi.DbmsDialect
public boolean supportsBooleanAggregation()
supportsBooleanAggregation
in interface com.blazebit.persistence.spi.DbmsDialect
public boolean isNullSmallest()
isNullSmallest
in interface com.blazebit.persistence.spi.DbmsDialect
public boolean requiresNullCast()
requiresNullCast
in interface com.blazebit.persistence.spi.DbmsDialect
public com.blazebit.persistence.spi.LateralStyle getLateralStyle()
getLateralStyle
in interface com.blazebit.persistence.spi.DbmsDialect
public java.lang.String getSqlType(java.lang.Class<?> castType)
getSqlType
in interface com.blazebit.persistence.spi.DbmsDialect
public java.lang.String getWithClause(boolean recursive)
getWithClause
in interface com.blazebit.persistence.spi.DbmsDialect
public java.util.Map<java.lang.String,java.lang.String> appendExtendedSql(java.lang.StringBuilder sqlSb, com.blazebit.persistence.spi.DbmsStatementType statementType, boolean isSubquery, boolean isEmbedded, java.lang.StringBuilder withClause, java.lang.String limit, java.lang.String offset, java.lang.String[] returningColumns, java.util.Map<com.blazebit.persistence.spi.DbmsModificationState,java.lang.String> includedModificationStates)
appendExtendedSql
in interface com.blazebit.persistence.spi.DbmsDialect
public void appendSet(java.lang.StringBuilder sqlSb, com.blazebit.persistence.spi.SetOperationType setType, boolean isSubquery, java.util.List<java.lang.String> operands, java.util.List<? extends com.blazebit.persistence.spi.OrderByElement> orderByElements, java.lang.String limit, java.lang.String offset)
appendSet
in interface com.blazebit.persistence.spi.DbmsDialect
public com.blazebit.persistence.spi.DbmsLimitHandler createLimitHandler()
createLimitHandler
in interface com.blazebit.persistence.spi.DbmsDialect
protected java.lang.String getWindowFunctionDummyOrderBy()
protected boolean needsAliasInSetOrderBy()
protected boolean supportsPartitionInRowNumberOver()
protected boolean needsAliasForFromClause()
protected boolean needsSetOperationWrapper()
protected java.lang.String[] appendSetOperands(java.lang.StringBuilder sqlSb, com.blazebit.persistence.spi.SetOperationType setType, java.lang.String operator, boolean isSubquery, java.util.List<java.lang.String> operands, boolean hasOuterClause)
protected void appendOrderBy(java.lang.StringBuilder sqlSb, java.util.List<? extends com.blazebit.persistence.spi.OrderByElement> orderByElements, java.lang.String[] aliases)
public void appendOrderByElement(java.lang.StringBuilder sqlSb, com.blazebit.persistence.spi.OrderByElement element, java.lang.String[] aliases)
appendOrderByElement
in interface com.blazebit.persistence.spi.DbmsDialect
protected void appendEmulatedOrderByElementWithNulls(java.lang.StringBuilder sqlSb, com.blazebit.persistence.spi.OrderByElement element, java.lang.String[] aliases)
protected java.lang.String getOperator(com.blazebit.persistence.spi.SetOperationType type)
public boolean supportsUnion(boolean all)
supportsUnion
in interface com.blazebit.persistence.spi.DbmsDialect
public boolean supportsIntersect(boolean all)
supportsIntersect
in interface com.blazebit.persistence.spi.DbmsDialect
public boolean supportsExcept(boolean all)
supportsExcept
in interface com.blazebit.persistence.spi.DbmsDialect
public boolean supportsWithClauseInModificationQuery()
supportsWithClauseInModificationQuery
in interface com.blazebit.persistence.spi.DbmsDialect
public boolean supportsModificationQueryInWithClause()
supportsModificationQueryInWithClause
in interface com.blazebit.persistence.spi.DbmsDialect
public boolean usesExecuteUpdateWhenWithClauseInModificationQuery()
usesExecuteUpdateWhenWithClauseInModificationQuery
in interface com.blazebit.persistence.spi.DbmsDialect
public boolean supportsReturningGeneratedKeys()
supportsReturningGeneratedKeys
in interface com.blazebit.persistence.spi.DbmsDialect
public boolean supportsReturningAllGeneratedKeys()
supportsReturningAllGeneratedKeys
in interface com.blazebit.persistence.spi.DbmsDialect
public boolean supportsReturningColumns()
supportsReturningColumns
in interface com.blazebit.persistence.spi.DbmsDialect
public boolean supportsGroupByExpressionInHavingMatching()
supportsGroupByExpressionInHavingMatching
in interface com.blazebit.persistence.spi.DbmsDialect
public boolean supportsComplexJoinOn()
supportsComplexJoinOn
in interface com.blazebit.persistence.spi.DbmsDialect
public com.blazebit.persistence.spi.ValuesStrategy getValuesStrategy()
getValuesStrategy
in interface com.blazebit.persistence.spi.DbmsDialect
public boolean needsCastParameters()
needsCastParameters
in interface com.blazebit.persistence.spi.DbmsDialect
public java.lang.String getDummyTable()
getDummyTable
in interface com.blazebit.persistence.spi.DbmsDialect
public java.lang.String cast(java.lang.String expression, java.lang.String sqlType)
cast
in interface com.blazebit.persistence.spi.DbmsDialect
public boolean needsReturningSqlTypes()
needsReturningSqlTypes
in interface com.blazebit.persistence.spi.DbmsDialect
public int getPrepareFlags()
getPrepareFlags
in interface com.blazebit.persistence.spi.DbmsDialect
public java.sql.PreparedStatement prepare(java.sql.PreparedStatement ps, int[] returningSqlTypes) throws java.sql.SQLException
prepare
in interface com.blazebit.persistence.spi.DbmsDialect
java.sql.SQLException
public java.sql.ResultSet extractReturningResult(java.sql.PreparedStatement ps) throws java.sql.SQLException
extractReturningResult
in interface com.blazebit.persistence.spi.DbmsDialect
java.sql.SQLException
public void appendLimit(java.lang.StringBuilder sqlSb, boolean isSubquery, java.lang.String limit, java.lang.String offset)
protected static int indexOfIgnoreCase(java.lang.StringBuilder haystack, java.lang.String needle)
protected static boolean regionMatchesIgnoreCase(java.lang.StringBuilder haystack, int thisStart, java.lang.String substring, int start, int length)
Copyright © 2014–2020 Blazebit. All rights reserved.