Class DefaultDbmsDialect
java.lang.Object
com.blazebit.persistence.impl.dialect.DefaultDbmsDialect
- All Implemented Interfaces:
DbmsDialect
- Direct Known Subclasses:
DB2DbmsDialect
,H2DbmsDialect
,HSQLDbmsDialect
,MSSQLDbmsDialect
,MySQLDbmsDialect
,OracleDbmsDialect
,PostgreSQLDbmsDialect
- Since:
- 1.2.0
- Author:
- Christian Beikov, Moritz Becker
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionprotected void
appendEmulatedOrderByElementWithNulls
(StringBuilder sqlSb, OrderByElement element, String[] aliases) appendExtendedSql
(StringBuilder sqlSb, DbmsStatementType statementType, boolean isSubquery, boolean isEmbedded, StringBuilder withClause, String limit, String offset, String[] returningColumns, Map<DbmsModificationState, String> includedModificationStates) appendExtendedSql
(StringBuilder sqlSb, DbmsStatementType statementType, boolean isSubquery, boolean isEmbedded, StringBuilder withClause, String limit, String offset, String dmlAffectedTable, String[] returningColumns, Map<DbmsModificationState, String> includedModificationStates) void
appendLimit
(StringBuilder sqlSb, boolean isSubquery, String limit, String offset) protected void
appendOrderBy
(StringBuilder sqlSb, List<? extends OrderByElement> orderByElements, String[] aliases) void
appendOrderByElement
(StringBuilder sqlSb, OrderByElement element, String[] aliases) void
appendSet
(StringBuilder sqlSb, SetOperationType setType, boolean isSubquery, List<String> operands, List<? extends OrderByElement> orderByElements, String limit, String offset) protected String[]
appendSetOperands
(StringBuilder sqlSb, SetOperationType setType, String operator, boolean isSubquery, List<String> operands, boolean hasOuterClause) protected String
getOperator
(SetOperationType type) int
getSqlType
(Class<?> castType) protected String
getWithClause
(boolean recursive) protected static int
indexOfIgnoreCase
(StringBuilder haystack, String needle) boolean
protected boolean
protected boolean
boolean
boolean
protected boolean
boolean
prepare
(PreparedStatement ps, int[] returningSqlTypes) protected static boolean
regionMatchesIgnoreCase
(StringBuilder haystack, int thisStart, String substring, int start, int length) boolean
boolean
boolean
boolean
boolean
boolean
boolean
supportsExcept
(boolean all) boolean
boolean
boolean
boolean
supportsIntersect
(boolean all) boolean
boolean
boolean
boolean
boolean
boolean
boolean
protected boolean
boolean
boolean
boolean
boolean
boolean
supportsUnion
(boolean all) boolean
boolean
boolean
boolean
boolean
boolean
-
Constructor Details
-
DefaultDbmsDialect
public DefaultDbmsDialect() -
DefaultDbmsDialect
-
-
Method Details
-
supportsWithClause
public boolean supportsWithClause()- Specified by:
supportsWithClause
in interfaceDbmsDialect
-
supportsNonRecursiveWithClause
public boolean supportsNonRecursiveWithClause()- Specified by:
supportsNonRecursiveWithClause
in interfaceDbmsDialect
-
supportsWithClauseHead
public boolean supportsWithClauseHead()- Specified by:
supportsWithClauseHead
in interfaceDbmsDialect
-
supportsJoinsInRecursiveCte
public boolean supportsJoinsInRecursiveCte()- Specified by:
supportsJoinsInRecursiveCte
in interfaceDbmsDialect
-
supportsAnsiRowValueConstructor
public boolean supportsAnsiRowValueConstructor()- Specified by:
supportsAnsiRowValueConstructor
in interfaceDbmsDialect
-
supportsRowValueConstructor
public boolean supportsRowValueConstructor()- Specified by:
supportsRowValueConstructor
in interfaceDbmsDialect
-
supportsFullRowValueComparison
public boolean supportsFullRowValueComparison()- Specified by:
supportsFullRowValueComparison
in interfaceDbmsDialect
-
supportsCountTuple
public boolean supportsCountTuple()- Specified by:
supportsCountTuple
in interfaceDbmsDialect
-
supportsWindowFunctions
public boolean supportsWindowFunctions()- Specified by:
supportsWindowFunctions
in interfaceDbmsDialect
-
supportsFilterClause
public boolean supportsFilterClause()- Specified by:
supportsFilterClause
in interfaceDbmsDialect
-
supportsNullPrecedence
public boolean supportsNullPrecedence()- Specified by:
supportsNullPrecedence
in interfaceDbmsDialect
-
supportsWindowNullPrecedence
public boolean supportsWindowNullPrecedence()- Specified by:
supportsWindowNullPrecedence
in interfaceDbmsDialect
-
supportsBooleanAggregation
public boolean supportsBooleanAggregation()- Specified by:
supportsBooleanAggregation
in interfaceDbmsDialect
-
isNullSmallest
public boolean isNullSmallest()- Specified by:
isNullSmallest
in interfaceDbmsDialect
-
requiresNullCast
public boolean requiresNullCast()- Specified by:
requiresNullCast
in interfaceDbmsDialect
-
getPhysicalRowId
- Specified by:
getPhysicalRowId
in interfaceDbmsDialect
-
getLateralStyle
- Specified by:
getLateralStyle
in interfaceDbmsDialect
-
getDeleteJoinStyle
- Specified by:
getDeleteJoinStyle
in interfaceDbmsDialect
-
getUpdateJoinStyle
- Specified by:
getUpdateJoinStyle
in interfaceDbmsDialect
-
supportsArbitraryLengthMultiset
public boolean supportsArbitraryLengthMultiset()- Specified by:
supportsArbitraryLengthMultiset
in interfaceDbmsDialect
-
getSqlType
- Specified by:
getSqlType
in interfaceDbmsDialect
-
getWithClause
- Specified by:
getWithClause
in interfaceDbmsDialect
-
appendExtendedSql
public Map<String,String> appendExtendedSql(StringBuilder sqlSb, DbmsStatementType statementType, boolean isSubquery, boolean isEmbedded, StringBuilder withClause, String limit, String offset, String[] returningColumns, Map<DbmsModificationState, String> includedModificationStates) - Specified by:
appendExtendedSql
in interfaceDbmsDialect
-
appendExtendedSql
public Map<String,String> appendExtendedSql(StringBuilder sqlSb, DbmsStatementType statementType, boolean isSubquery, boolean isEmbedded, StringBuilder withClause, String limit, String offset, String dmlAffectedTable, String[] returningColumns, Map<DbmsModificationState, String> includedModificationStates) - Specified by:
appendExtendedSql
in interfaceDbmsDialect
-
appendSet
public void appendSet(StringBuilder sqlSb, SetOperationType setType, boolean isSubquery, List<String> operands, List<? extends OrderByElement> orderByElements, String limit, String offset) - Specified by:
appendSet
in interfaceDbmsDialect
-
createLimitHandler
- Specified by:
createLimitHandler
in interfaceDbmsDialect
-
supportsLimitWithoutOrderBy
public boolean supportsLimitWithoutOrderBy()- Specified by:
supportsLimitWithoutOrderBy
in interfaceDbmsDialect
-
supportsLimitInQuantifiedPredicateSubquery
public boolean supportsLimitInQuantifiedPredicateSubquery()- Specified by:
supportsLimitInQuantifiedPredicateSubquery
in interfaceDbmsDialect
-
supportsNestedCorrelations
public boolean supportsNestedCorrelations()- Specified by:
supportsNestedCorrelations
in interfaceDbmsDialect
-
getWindowFunctionDummyOrderBy
-
needsAliasInSetOrderBy
protected boolean needsAliasInSetOrderBy() -
supportsPartitionInRowNumberOver
protected boolean supportsPartitionInRowNumberOver() -
needsAliasForFromClause
protected boolean needsAliasForFromClause() -
needsSetOperationWrapper
protected boolean needsSetOperationWrapper() -
appendSetOperands
protected String[] appendSetOperands(StringBuilder sqlSb, SetOperationType setType, String operator, boolean isSubquery, List<String> operands, boolean hasOuterClause) -
appendOrderBy
protected void appendOrderBy(StringBuilder sqlSb, List<? extends OrderByElement> orderByElements, String[] aliases) -
appendOrderByElement
- Specified by:
appendOrderByElement
in interfaceDbmsDialect
-
appendEmulatedOrderByElementWithNulls
protected void appendEmulatedOrderByElementWithNulls(StringBuilder sqlSb, OrderByElement element, String[] aliases) -
getOperator
-
supportsUnion
public boolean supportsUnion(boolean all) - Specified by:
supportsUnion
in interfaceDbmsDialect
-
supportsIntersect
public boolean supportsIntersect(boolean all) - Specified by:
supportsIntersect
in interfaceDbmsDialect
-
supportsExcept
public boolean supportsExcept(boolean all) - Specified by:
supportsExcept
in interfaceDbmsDialect
-
supportsWithClauseInModificationQuery
public boolean supportsWithClauseInModificationQuery()- Specified by:
supportsWithClauseInModificationQuery
in interfaceDbmsDialect
-
supportsModificationQueryInWithClause
public boolean supportsModificationQueryInWithClause()- Specified by:
supportsModificationQueryInWithClause
in interfaceDbmsDialect
-
usesExecuteUpdateWhenWithClauseInModificationQuery
public boolean usesExecuteUpdateWhenWithClauseInModificationQuery()- Specified by:
usesExecuteUpdateWhenWithClauseInModificationQuery
in interfaceDbmsDialect
-
supportsReturningGeneratedKeys
public boolean supportsReturningGeneratedKeys()- Specified by:
supportsReturningGeneratedKeys
in interfaceDbmsDialect
-
supportsReturningAllGeneratedKeys
public boolean supportsReturningAllGeneratedKeys()- Specified by:
supportsReturningAllGeneratedKeys
in interfaceDbmsDialect
-
supportsReturningColumns
public boolean supportsReturningColumns()- Specified by:
supportsReturningColumns
in interfaceDbmsDialect
-
supportsGroupByExpressionInHavingMatching
public boolean supportsGroupByExpressionInHavingMatching()- Specified by:
supportsGroupByExpressionInHavingMatching
in interfaceDbmsDialect
-
supportsComplexJoinOn
public boolean supportsComplexJoinOn()- Specified by:
supportsComplexJoinOn
in interfaceDbmsDialect
-
getValuesStrategy
- Specified by:
getValuesStrategy
in interfaceDbmsDialect
-
needsUniqueSelectItemNamesAlsoWhenTableColumnAliasing
public boolean needsUniqueSelectItemNamesAlsoWhenTableColumnAliasing()- Specified by:
needsUniqueSelectItemNamesAlsoWhenTableColumnAliasing
in interfaceDbmsDialect
-
needsCastParameters
public boolean needsCastParameters()- Specified by:
needsCastParameters
in interfaceDbmsDialect
-
getDummyTable
- Specified by:
getDummyTable
in interfaceDbmsDialect
-
cast
- Specified by:
cast
in interfaceDbmsDialect
-
getDefaultEscapeCharacter
- Specified by:
getDefaultEscapeCharacter
in interfaceDbmsDialect
-
needsReturningSqlTypes
public boolean needsReturningSqlTypes()- Specified by:
needsReturningSqlTypes
in interfaceDbmsDialect
-
getPrepareFlags
public int getPrepareFlags()- Specified by:
getPrepareFlags
in interfaceDbmsDialect
-
prepare
- Specified by:
prepare
in interfaceDbmsDialect
- Throws:
SQLException
-
extractReturningResult
- Specified by:
extractReturningResult
in interfaceDbmsDialect
- Throws:
SQLException
-
appendLimit
-
indexOfIgnoreCase
-
regionMatchesIgnoreCase
protected static boolean regionMatchesIgnoreCase(StringBuilder haystack, int thisStart, String substring, int start, int length)
-