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 |
currentDateTimeFunction, dateFunctions, defaultAutoIncrementBy, defaultAutoIncrementStartWith, defaultCatalogName, defaultSchemaName, quotingEndCharacter, quotingStartCharacter, quotingStrategy, sequenceCurrentValueFunction, sequenceNextValueFunction, unmodifiableDataTypes, unquotedObjectsAreUppercasedPRIORITY_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() |
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 |
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() |
canCreateChangeLogTable, checkDatabaseChangeLogLockTable, checkDatabaseChangeLogTable, 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, getJdbcSchemaName, getLineComment, getLiquibaseCatalogName, getLiquibaseSchemaName, getLiquibaseTablespaceName, getName, getNextChangeSetSequenceValue, getObjectQuotingStrategy, getOutputDefaultCatalog, getOutputDefaultSchema, getRanChangeSet, getRanChangeSetList, getRanDate, getRunStatus, getSchemaFromJdbcInfo, getTimeLiteral, hasDatabaseChangeLogLockTable, hasDatabaseChangeLogTable, hashCode, isAutoCommit, isCaseSensitive, isDatabaseChangeLogLockTableInitialized, isDateOnly, isDateTime, isDefaultCatalog, isDefaultSchema, isFunction, isLiquibaseObject, isReservedWord, isSafeToRunUpdate, isSystemView, isTimeOnly, jdbcCallsCatalogsSchemas, markChangeSetExecStatus, parseDate, quoteObject, removeRanStatus, requiresPassword, requiresUsername, resetInternalState, resetRanChangeSetList, rollback, saveRollbackStatement, saveStatements, setAutoCommit, setCanCacheLiquibaseTableInfo, setConnection, setCurrentDateTimeFunction, setDatabaseChangeLogLockTableName, setDatabaseChangeLogTableName, setDefaultCatalogName, setDefaultSchemaName, setLiquibaseCatalogName, setLiquibaseSchemaName, setLiquibaseTablespaceName, setObjectQuotingStrategy, setOutputDefaultCatalog, setOutputDefaultSchema, startsWithNumeric, supportsAutoIncrement, supportsCatalogInObjectName, supportsCatalogs, supportsDDLInTransaction, supportsForeignKeyDisable, supportsPrimaryKeyNames, supportsSchemas, tag, toStringpublic static final java.lang.String PRODUCT_NAME
protected java.util.Set<java.lang.String> systemTablesAndViews
public java.lang.String getShortName()
Databasepublic int getPriority()
protected java.lang.String getDefaultDatabaseProductName()
getDefaultDatabaseProductName in class AbstractJdbcDatabasepublic java.lang.Integer getDefaultPort()
public java.util.Set<java.lang.String> getSystemViews()
AbstractJdbcDatabasegetSystemViews in class AbstractJdbcDatabaseprotected java.util.Set<java.lang.String> getSystemTables()
AbstractJdbcDatabasegetSystemTables in class AbstractJdbcDatabasepublic boolean supportsInitiallyDeferrableColumns()
Databasepublic boolean supportsSequences()
AbstractJdbcDatabasesupportsSequences in interface DatabasesupportsSequences in class AbstractJdbcDatabasepublic boolean isCorrectDatabaseImplementation(DatabaseConnection conn) throws DatabaseException
DatabaseDatabaseExceptionpublic java.lang.String getDefaultDriver(java.lang.String url)
Databaseprotected java.lang.String getAutoIncrementClause()
getAutoIncrementClause in class AbstractJdbcDatabaseprotected boolean generateAutoIncrementStartWith(java.math.BigInteger startWith)
generateAutoIncrementStartWith in class AbstractJdbcDatabaseprotected boolean generateAutoIncrementBy(java.math.BigInteger incrementBy)
generateAutoIncrementBy in class AbstractJdbcDatabaseprotected java.lang.String getAutoIncrementStartWithClause()
getAutoIncrementStartWithClause in class AbstractJdbcDatabaseprotected java.lang.String getAutoIncrementByClause()
getAutoIncrementByClause in class AbstractJdbcDatabasepublic java.lang.String getDefaultCatalogName()
getDefaultCatalogName in interface DatabasegetDefaultCatalogName in class AbstractJdbcDatabaseprotected java.lang.String getConnectionSchemaName()
AbstractJdbcDatabasegetConnectionSchemaName in class AbstractJdbcDatabasepublic java.lang.String getConcatSql(java.lang.String... values)
DatabasegetConcatSql in interface DatabasegetConcatSql in class AbstractJdbcDatabasepublic java.lang.String escapeIndexName(java.lang.String catalogName,
java.lang.String schemaName,
java.lang.String indexName)
escapeIndexName in interface DatabaseescapeIndexName in class AbstractJdbcDatabasepublic java.lang.String escapeTableName(java.lang.String catalogName,
java.lang.String schemaName,
java.lang.String tableName)
escapeTableName in interface DatabaseescapeTableName in class AbstractJdbcDatabasepublic boolean supportsTablespaces()
public boolean isSystemObject(DatabaseObject example)
isSystemObject in interface DatabaseisSystemObject in class AbstractJdbcDatabasepublic 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 DatabaseescapeObjectName in class AbstractJdbcDatabasepublic java.lang.String getDateLiteral(java.lang.String isoDate)
AbstractJdbcDatabasegetDateLiteral in interface DatabasegetDateLiteral in class AbstractJdbcDatabasepublic boolean supportsRestrictForeignKeys()
supportsRestrictForeignKeys in interface DatabasesupportsRestrictForeignKeys in class AbstractJdbcDatabasepublic boolean supportsDropTableCascadeConstraints()
supportsDropTableCascadeConstraints in interface DatabasesupportsDropTableCascadeConstraints in class AbstractJdbcDatabasepublic java.lang.String getViewDefinition(CatalogAndSchema schema, java.lang.String viewName) throws DatabaseException
getViewDefinition in interface DatabasegetViewDefinition in class AbstractJdbcDatabaseDatabaseExceptionpublic java.lang.String escapeViewName(java.lang.String catalogName,
java.lang.String schemaName,
java.lang.String viewName)
escapeViewName in interface DatabaseescapeViewName in class AbstractJdbcDatabase