Package com.valqueries.automapper
Class MssqlSqlDialect
java.lang.Object
com.valqueries.automapper.MssqlSqlDialect
- All Implemented Interfaces:
SqlDialect
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionaddColumn(TableToken tablename, ColumnToken columnName, String sqlType) booleanallowsConversion(Clazz<?> sqlType, String type) describe(TableToken tablename) describeIndex(TableToken tablename) escapeColumnOrTable(String name) generateDeleteStatement(String tableAlias, TableToken table, List<Element> elements, Integer limit) generateDropIndexStatement(TableToken tableName, IndexToken index, boolean isPrimary) generateIndexOnCreateStatement(TableToken tableName, KeySet keyset, boolean isUnique) generateIndexStatement(TableToken tablename, KeySet key) generatePrimaryKeyStatement(TableToken name, KeySet key) generateUpdateStatement(TableToken table, List<Element> elements, List<Property.PropertyValue<?>> newPropertyValues, List<Property.PropertyValue<?>> incrementPropertyValues) <O> StringgetCustomUpsert(CompoundColumnizer<O> columnizer, Class<O> modelType, List<Property.PropertyValue<?>> newValues, List<Property.PropertyValue<?>> incrementValues, List<Property<?>> setObjValues, List<Property<?>> incrementByObjValues) getDescribeDbResult(OrmResultSet ormResultSet) <O> StringgetInsertAutoIncrement(CompoundColumnizer<O> columnizer, Class<O> oClass, List<Boolean> keyNulls) getLimitDefinition(int offset, int limit) getSqlType(Property<?> property) <O> StringgetUpsert(CompoundColumnizer<O> columnizer, Class<O> oClass) <O> StringgetUpsertAutoIncrement(CompoundColumnizer<O> columnizer, Class<O> oClass, List<Boolean> keyNulls) groupConcat(Property<?> resultProperty, String separator) harmonizeLikeValue(Object value) Harmonize the value to be used in a LIKE statement.booleanCheck whether an exception was caused by a duplicate value for primary or unique key.booleanMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface com.valqueries.automapper.SqlDialect
_column, buildSelectSql, column, dropTableStatement, generateDeleteStatement, generateDistinctSelectStatement, generateUpdateStatement, getAddColumnStatement, getInsert, getTableName, getUniqueKeyCheck, operator, operator, operator, prepareColumnOrTable, table
-
Constructor Details
-
MssqlSqlDialect
public MssqlSqlDialect()
-
-
Method Details
-
escapeColumnOrTable
- Specified by:
escapeColumnOrTablein interfaceSqlDialect
-
getUpsert
- Specified by:
getUpsertin interfaceSqlDialect
-
getUpsertAutoIncrement
public <O> String getUpsertAutoIncrement(CompoundColumnizer<O> columnizer, Class<O> oClass, List<Boolean> keyNulls) - Specified by:
getUpsertAutoIncrementin interfaceSqlDialect
-
getSqlType
- Specified by:
getSqlTypein interfaceSqlDialect
-
isOrderRequiredForOffset
public boolean isOrderRequiredForOffset()- Specified by:
isOrderRequiredForOffsetin interfaceSqlDialect
-
defaultOrderStatement
- Specified by:
defaultOrderStatementin interfaceSqlDialect
-
getLimitDefinition
- Specified by:
getLimitDefinitionin interfaceSqlDialect
-
generateUpdateStatement
public String generateUpdateStatement(TableToken table, List<Element> elements, List<Property.PropertyValue<?>> newPropertyValues, List<Property.PropertyValue<?>> incrementPropertyValues) - Specified by:
generateUpdateStatementin interfaceSqlDialect
-
getInsertAutoIncrement
public <O> String getInsertAutoIncrement(CompoundColumnizer<O> columnizer, Class<O> oClass, List<Boolean> keyNulls) - Specified by:
getInsertAutoIncrementin interfaceSqlDialect
-
generateDeleteStatement
public String generateDeleteStatement(String tableAlias, TableToken table, List<Element> elements, Integer limit) - Specified by:
generateDeleteStatementin interfaceSqlDialect
-
describe
- Specified by:
describein interfaceSqlDialect
-
describeIndex
- Specified by:
describeIndexin interfaceSqlDialect
-
getDescribeDbResult
- Specified by:
getDescribeDbResultin interfaceSqlDialect
-
getDescribeIndexResult
- Specified by:
getDescribeIndexResultin interfaceSqlDialect
-
generatePrimaryKeyStatement
- Specified by:
generatePrimaryKeyStatementin interfaceSqlDialect
-
generateIndexStatement
- Specified by:
generateIndexStatementin interfaceSqlDialect
-
addColumn
-
generateAlterColumnPartStatement
- Specified by:
generateAlterColumnPartStatementin interfaceSqlDialect
-
generateIndexOnCreateStatement
-
generateDropIndexStatement
- Specified by:
generateDropIndexStatementin interfaceSqlDialect
-
allowsConversion
- Specified by:
allowsConversionin interfaceSqlDialect
-
groupConcat
- Specified by:
groupConcatin interfaceSqlDialect
-
isDuplicateKeyEntry
Description copied from interface:SqlDialectCheck whether an exception was caused by a duplicate value for primary or unique key.- Specified by:
isDuplicateKeyEntryin interfaceSqlDialect- Parameters:
e- the exception to be tested- Returns:
- whether the exception was caused by a unique constraint violation
-
harmonizeLikeValue
Description copied from interface:SqlDialectHarmonize the value to be used in a LIKE statement.Some databases (e.g. MSSQL) allow for a broader range of special operations to be performed in a LIKE statement. This method takes in the value to be used in a LIKE statement and returns a value that performs the same operation in the current database.
For example, in MSSQL, the value "a[bc]" would match "a", "ab", or "ac", but in MySQL, it would match "a[bc]". As such the value "a[bc]" would need to be harmonized to "a[[]bc]" when used in a LIKE statement in MSSQL.
- Specified by:
harmonizeLikeValuein interfaceSqlDialect- Parameters:
value- the value to be harmonized- Returns:
- the harmonized value
-
getCustomUpsert
public <O> String getCustomUpsert(CompoundColumnizer<O> columnizer, Class<O> modelType, List<Property.PropertyValue<?>> newValues, List<Property.PropertyValue<?>> incrementValues, List<Property<?>> setObjValues, List<Property<?>> incrementByObjValues) - Specified by:
getCustomUpsertin interfaceSqlDialect
-