public class MSSQLDatabase extends AbstractJdbcDatabase
Modifier and Type | Field and Description |
---|---|
static java.lang.String |
PRODUCT_NAME |
protected java.util.Set<java.lang.String> |
systemTablesAndViews |
caseSensitive, currentDateTimeFunction, dateFunctions, defaultAutoIncrementBy, defaultAutoIncrementStartWith, defaultCatalogName, defaultSchemaName, quotingEndCharacter, quotingStartCharacter, quotingStrategy, sequenceCurrentValueFunction, sequenceNextValueFunction, unmodifiableDataTypes, unquotedObjectsAreUppercased
PRIORITY_DATABASE, PRIORITY_DEFAULT
Constructor and Description |
---|
MSSQLDatabase() |
Modifier and Type | Method and Description |
---|---|
java.lang.String |
escapeIndexName(java.lang.String catalogName,
java.lang.String schemaName,
java.lang.String indexName) |
java.lang.String |
escapeObjectName(java.lang.String objectName,
java.lang.Class<? extends DatabaseObject> objectType) |
java.lang.String |
escapeTableName(java.lang.String catalogName,
java.lang.String schemaName,
java.lang.String tableName) |
java.lang.String |
escapeViewName(java.lang.String catalogName,
java.lang.String schemaName,
java.lang.String viewName)
SQLServer does not support specifying the database name as a prefix to the object name
|
protected boolean |
generateAutoIncrementBy(java.math.BigInteger incrementBy) |
protected boolean |
generateAutoIncrementStartWith(java.math.BigInteger startWith) |
java.lang.String |
generateDefaultConstraintName(java.lang.String tableName,
java.lang.String columnName) |
protected java.lang.String |
getAutoIncrementByClause() |
protected java.lang.String |
getAutoIncrementClause() |
protected java.lang.String |
getAutoIncrementStartWithClause() |
java.lang.String |
getConcatSql(java.lang.String... values)
Returns SQL to concat the passed values.
|
protected java.lang.String |
getConnectionSchemaName()
Overwrite this method to get the default schema name for the connection.
|
java.lang.String |
getDateLiteral(java.lang.String isoDate)
Return a date literal with the same value as a string formatted using ISO 8601.
|
java.lang.String |
getDefaultCatalogName() |
protected java.lang.String |
getDefaultDatabaseProductName() |
java.lang.String |
getDefaultDriver(java.lang.String url)
If this database understands the given url, return the default driver class name.
|
java.lang.Integer |
getDefaultPort() |
java.lang.String |
getJdbcSchemaName(CatalogAndSchema schema) |
int |
getPriority() |
java.lang.String |
getShortName()
Returns an all-lower-case short name of the product.
|
protected java.util.Set<java.lang.String> |
getSystemTables()
Returns system (undroppable) views.
|
java.util.Set<java.lang.String> |
getSystemViews()
Returns system (undroppable) views.
|
java.lang.String |
getViewDefinition(CatalogAndSchema schema,
java.lang.String viewName) |
boolean |
isCaseSensitive() |
boolean |
isCorrectDatabaseImplementation(DatabaseConnection conn)
Is this AbstractDatabase subclass the correct one to use for the given connection.
|
boolean |
isSystemObject(DatabaseObject example) |
boolean |
supportsDropTableCascadeConstraints() |
boolean |
supportsInitiallyDeferrableColumns()
Returns whether this database support initially deferrable columns.
|
boolean |
supportsRestrictForeignKeys() |
boolean |
supportsSequences()
Does the database type support sequence.
|
boolean |
supportsTablespaces() |
addReservedWords, canCreateChangeLogTable, close, commit, correctObjectName, correctSchema, correctSchema, createsIndexesForForeignKeys, dataTypeIsNotModifiable, disableForeignKeyChecks, doesTagExist, dropDatabaseObjects, enableForeignKeyChecks, equals, escapeColumnName, escapeColumnNameList, escapeConstraintName, escapeObjectName, escapeSequenceName, escapeStringForDatabase, execute, executeRollbackStatements, executeStatements, generateDatabaseFunctionValue, generatePrimaryKeyName, getAutoCommitMode, getAutoIncrementClause, getAutoIncrementClosing, getAutoIncrementOpening, getConnection, getConnectionCatalogName, getContainingObjects, getCurrentDateTimeFunction, getDatabaseChangeLogLockTableName, getDatabaseChangeLogTableName, getDatabaseMajorVersion, getDatabaseMinorVersion, getDatabaseProductName, getDatabaseProductVersion, getDataTypeMaxParameters, getDateFunctions, getDateLiteral, getDateLiteral, getDateTimeLiteral, getDefaultSchema, getDefaultSchemaName, getJdbcCatalogName, getJdbcCatalogName, getJdbcSchemaName, getLineComment, getLiquibaseCatalogName, getLiquibaseSchemaName, getLiquibaseTablespaceName, getName, getObjectQuotingStrategy, getOutputDefaultCatalog, getOutputDefaultSchema, getRanChangeSet, getRanChangeSetList, getRanDate, getRunStatus, getSchemaFromJdbcInfo, getSystemSchema, getTimeLiteral, hashCode, isAutoCommit, isDateOnly, isDateTime, isDefaultCatalog, isDefaultSchema, isFunction, isLiquibaseObject, isReservedWord, isSafeToRunUpdate, isSystemView, isTimeOnly, jdbcCallsCatalogsSchemas, markChangeSetExecStatus, mustQuoteObjectName, parseDate, quoteObject, removeRanStatus, requiresPassword, requiresUsername, resetInternalState, rollback, saveRollbackStatement, saveStatements, setAutoCommit, setCanCacheLiquibaseTableInfo, setCaseSensitive, setConnection, setCurrentDateTimeFunction, setDatabaseChangeLogLockTableName, setDatabaseChangeLogTableName, setDefaultCatalogName, setDefaultSchemaName, setLiquibaseCatalogName, setLiquibaseSchemaName, setLiquibaseTablespaceName, setObjectQuotingStrategy, setOutputDefaultCatalog, setOutputDefaultSchema, startsWithNumeric, supportsAutoIncrement, supportsCatalogInObjectName, supportsCatalogs, supportsDDLInTransaction, supportsForeignKeyDisable, supportsPrimaryKeyNames, supportsSchemas, tag, toString
public static final java.lang.String PRODUCT_NAME
protected java.util.Set<java.lang.String> systemTablesAndViews
public java.lang.String getShortName()
Database
public int getPriority()
protected java.lang.String getDefaultDatabaseProductName()
getDefaultDatabaseProductName
in class AbstractJdbcDatabase
public java.lang.Integer getDefaultPort()
public java.util.Set<java.lang.String> getSystemViews()
AbstractJdbcDatabase
getSystemViews
in class AbstractJdbcDatabase
protected java.util.Set<java.lang.String> getSystemTables()
AbstractJdbcDatabase
getSystemTables
in class AbstractJdbcDatabase
public boolean supportsInitiallyDeferrableColumns()
Database
public boolean supportsSequences()
AbstractJdbcDatabase
supportsSequences
in interface Database
supportsSequences
in class AbstractJdbcDatabase
public boolean isCorrectDatabaseImplementation(DatabaseConnection conn) throws DatabaseException
Database
DatabaseException
public java.lang.String getDefaultDriver(java.lang.String url)
Database
protected java.lang.String getAutoIncrementClause()
getAutoIncrementClause
in class AbstractJdbcDatabase
protected boolean generateAutoIncrementStartWith(java.math.BigInteger startWith)
generateAutoIncrementStartWith
in class AbstractJdbcDatabase
protected boolean generateAutoIncrementBy(java.math.BigInteger incrementBy)
generateAutoIncrementBy
in class AbstractJdbcDatabase
protected java.lang.String getAutoIncrementStartWithClause()
getAutoIncrementStartWithClause
in class AbstractJdbcDatabase
protected java.lang.String getAutoIncrementByClause()
getAutoIncrementByClause
in class AbstractJdbcDatabase
public java.lang.String getDefaultCatalogName()
getDefaultCatalogName
in interface Database
getDefaultCatalogName
in class AbstractJdbcDatabase
protected java.lang.String getConnectionSchemaName()
AbstractJdbcDatabase
getConnectionSchemaName
in class AbstractJdbcDatabase
public java.lang.String getConcatSql(java.lang.String... values)
Database
getConcatSql
in interface Database
getConcatSql
in class AbstractJdbcDatabase
public java.lang.String escapeIndexName(java.lang.String catalogName, java.lang.String schemaName, java.lang.String indexName)
escapeIndexName
in interface Database
escapeIndexName
in class AbstractJdbcDatabase
public java.lang.String escapeTableName(java.lang.String catalogName, java.lang.String schemaName, java.lang.String tableName)
escapeTableName
in interface Database
escapeTableName
in class AbstractJdbcDatabase
public boolean supportsTablespaces()
public boolean isSystemObject(DatabaseObject example)
isSystemObject
in interface Database
isSystemObject
in class AbstractJdbcDatabase
public java.lang.String generateDefaultConstraintName(java.lang.String tableName, java.lang.String columnName)
public java.lang.String escapeObjectName(java.lang.String objectName, java.lang.Class<? extends DatabaseObject> objectType)
escapeObjectName
in interface Database
escapeObjectName
in class AbstractJdbcDatabase
public java.lang.String getDateLiteral(java.lang.String isoDate)
AbstractJdbcDatabase
getDateLiteral
in interface Database
getDateLiteral
in class AbstractJdbcDatabase
public boolean supportsRestrictForeignKeys()
supportsRestrictForeignKeys
in interface Database
supportsRestrictForeignKeys
in class AbstractJdbcDatabase
public boolean supportsDropTableCascadeConstraints()
supportsDropTableCascadeConstraints
in interface Database
supportsDropTableCascadeConstraints
in class AbstractJdbcDatabase
public java.lang.String getViewDefinition(CatalogAndSchema schema, java.lang.String viewName) throws DatabaseException
getViewDefinition
in interface Database
getViewDefinition
in class AbstractJdbcDatabase
DatabaseException
public java.lang.String escapeViewName(java.lang.String catalogName, java.lang.String schemaName, java.lang.String viewName)
escapeViewName
in interface Database
escapeViewName
in class AbstractJdbcDatabase
public java.lang.String getJdbcSchemaName(CatalogAndSchema schema)
getJdbcSchemaName
in class AbstractJdbcDatabase
public boolean isCaseSensitive()
isCaseSensitive
in interface Database
isCaseSensitive
in class AbstractJdbcDatabase