Package liquibase.database.core
Class SnowflakeDatabase
java.lang.Object
liquibase.database.AbstractJdbcDatabase
liquibase.database.core.SnowflakeDatabase
- All Implemented Interfaces:
AutoCloseable
,Database
,PrioritizedService
-
Field Summary
Fields inherited from class liquibase.database.AbstractJdbcDatabase
caseSensitive, currentDateTimeFunction, dateFunctions, defaultAutoIncrementBy, defaultAutoIncrementStartWith, defaultCatalogName, defaultSchemaName, quotingStrategy, sequenceCurrentValueFunction, sequenceNextValueFunction, unmodifiableDataTypes, unquotedObjectsAreUppercased
Fields inherited from interface liquibase.database.Database
COMPLETE_SQL_SCOPE_KEY
Fields inherited from interface liquibase.servicelocator.PrioritizedService
COMPARATOR, PRIORITY_DATABASE, PRIORITY_DEFAULT
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionprotected void
boolean
generateAutoIncrementBy
(BigInteger incrementBy) boolean
generateAutoIncrementStartWith
(BigInteger startWith) Returns a custom message to be displayed upon successful execution of the connect command.protected String
protected String
protected String
Overwrite this method to get the default schema name for the connection.protected String
getDefaultDriver
(String url) If this database understands the given url, return the default driver class name.int
Returns an all-lower-case short name of the product.Returns system (undroppable) views.Returns system (undroppable) views.getViewDefinition
(CatalogAndSchema schema, String viewName) boolean
Is this AbstractDatabase subclass the correct one to use for the given connection.void
rollback()
void
boolean
boolean
supportsCatalogInObjectName
(Class<? extends DatabaseObject> type) boolean
Whether this database supports catalogsboolean
Does the particular database implementation support the database changelog history feature and associated table?boolean
boolean
Returns whether this database support initially deferrable columns.boolean
boolean
Does the database type support sequence.boolean
Methods inherited from class liquibase.database.AbstractJdbcDatabase
addReservedWords, canCreateChangeLogTable, close, commit, correctObjectName, correctSchema, correctSchema, createsIndexesForForeignKeys, dataTypeIsNotModifiable, disableForeignKeyChecks, doesTagExist, dropDatabaseObjects, enableForeignKeyChecks, equals, escapeColumnName, escapeColumnName, escapeColumnNameList, escapeConstraintName, escapeDataTypeName, escapeIndexName, escapeObjectName, escapeObjectName, escapeSequenceName, escapeStringForDatabase, escapeTableName, escapeViewName, execute, executeRollbackStatements, executeRollbackStatements, executeStatements, filterRollbackVisitors, generateDatabaseFunctionValue, generatePrimaryKeyName, get, getAutoCommitMode, getAutoIncrementClause, getAutoIncrementClause, getAutoIncrementClosing, getAutoIncrementOpening, getConcatSql, getConnection, getConnectionCatalogName, getConnectionSchemaNameCallStatement, getContainingObjects, getCurrentDateTimeFunction, getDatabaseChangeLogLockTableName, getDatabaseChangeLogTableName, getDatabaseMajorVersion, getDatabaseMinorVersion, getDatabaseProductName, getDatabaseProductVersion, getDataTypeMaxParameters, getDateFunctions, getDateLiteral, getDateLiteral, getDateLiteral, getDateTimeLiteral, getDefaultCatalogName, getDefaultFractionalDigitsForTimestamp, getDefaultScaleForNativeDataType, getDefaultSchema, getDefaultSchemaName, getFetchSize, getJdbcCatalogName, getJdbcCatalogName, getJdbcSchemaName, getJdbcSchemaName, getLineComment, getLiquibaseCatalogName, getLiquibaseSchemaName, getLiquibaseTablespaceName, getMaxFractionalDigitsForTimestamp, getName, getObjectQuotingStrategy, getOutputDefaultCatalog, getOutputDefaultSchema, getQuotingEndCharacter, getQuotingEndReplacement, getQuotingStartCharacter, getRanChangeSet, getRanChangeSetList, getRanDate, getRawDatabaseChangeLogLockTableName, getRawDatabaseChangeLogTableName, getRunStatus, getSchemaAndCatalogCase, getSchemaFromJdbcInfo, getSystemSchema, getTimeLiteral, hashCode, isAutoCommit, isCaseSensitive, isCatalogOrSchemaType, isCurrentTimeFunction, isDateOnly, isDateTime, isDefaultCatalog, isDefaultSchema, isFunction, isLiquibaseObject, isReservedWord, isSafeToRunUpdate, isSystemObject, isSystemView, isTimeOnly, isTimestamp, jdbcCallsCatalogsSchemas, markChangeSetExecStatus, mustQuoteObjectName, parseDate, quoteObject, removeRanStatus, requiresExplicitNullForColumns, requiresPassword, requiresUsername, resetInternalState, saveRollbackStatement, saveStatements, set, setAutoCommit, setCanCacheLiquibaseTableInfo, setCaseSensitive, setCurrentDateTimeFunction, setDatabaseChangeLogLockTableName, setDatabaseChangeLogTableName, setDefaultCatalogName, setDefaultSchemaName, setLiquibaseCatalogName, setLiquibaseSchemaName, setLiquibaseTablespaceName, setObjectQuotingStrategy, setOutputDefaultCatalog, setOutputDefaultSchema, setPreviousAutoCommit, startsWithNumeric, supportsBatchUpdates, supportsDDLInTransaction, supportsForeignKeyDisable, supportsNotNullConstraintNames, supportsPrimaryKeyNames, supportsSchemas, tag, toString, unescapeDataTypeName, unescapeDataTypeString, validate
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
Methods inherited from interface liquibase.database.Database
addCompleteSqlToScope, afterUpdate, checkDatabaseConnection, dropDatabaseObjects, failOnDefferable, supports, supportsCreateIfNotExists, temporarilySetObjectQuotingStrategy
-
Field Details
-
PRODUCT_NAME
- See Also:
-
-
Constructor Details
-
SnowflakeDatabase
public SnowflakeDatabase()
-
-
Method Details
-
getShortName
Description copied from interface:Database
Returns an all-lower-case short name of the product. Used for end-user selecting of database type such as the DBMS precondition. -
getDisplayName
- Returns:
- a properly formatted name of the product. Used for situations where the database is printed to the console. Example: "Snowflake" (note the capitalization)
-
getDefaultDatabaseProductName
- Specified by:
getDefaultDatabaseProductName
in classAbstractJdbcDatabase
-
getDefaultPort
-
getSystemTables
Description copied from class:AbstractJdbcDatabase
Returns system (undroppable) views.- Overrides:
getSystemTables
in classAbstractJdbcDatabase
-
getSystemViews
Description copied from class:AbstractJdbcDatabase
Returns system (undroppable) views.- Overrides:
getSystemViews
in classAbstractJdbcDatabase
-
getPriority
public int getPriority() -
supportsInitiallyDeferrableColumns
public boolean supportsInitiallyDeferrableColumns()Description copied from interface:Database
Returns whether this database support initially deferrable columns. -
supportsDropTableCascadeConstraints
public boolean supportsDropTableCascadeConstraints()- Specified by:
supportsDropTableCascadeConstraints
in interfaceDatabase
- Overrides:
supportsDropTableCascadeConstraints
in classAbstractJdbcDatabase
-
isCorrectDatabaseImplementation
Description copied from interface:Database
Is this AbstractDatabase subclass the correct one to use for the given connection.- Throws:
DatabaseException
-
getDefaultDriver
Description copied from interface:Database
If this database understands the given url, return the default driver class name. Otherwise return null. -
supportsCatalogs
public boolean supportsCatalogs()Description copied from interface:Database
Whether this database supports catalogs- Specified by:
supportsCatalogs
in interfaceDatabase
- Overrides:
supportsCatalogs
in classAbstractJdbcDatabase
-
supportsCatalogInObjectName
- Specified by:
supportsCatalogInObjectName
in interfaceDatabase
- Overrides:
supportsCatalogInObjectName
in classAbstractJdbcDatabase
-
supportsSequences
public boolean supportsSequences()Description copied from class:AbstractJdbcDatabase
Does the database type support sequence.- Specified by:
supportsSequences
in interfaceDatabase
- Overrides:
supportsSequences
in classAbstractJdbcDatabase
-
supportsTablespaces
public boolean supportsTablespaces() -
supportsAutoIncrement
public boolean supportsAutoIncrement()- Specified by:
supportsAutoIncrement
in interfaceDatabase
- Overrides:
supportsAutoIncrement
in classAbstractJdbcDatabase
-
getAutoIncrementClause
- Overrides:
getAutoIncrementClause
in classAbstractJdbcDatabase
-
getAutoIncrementStartWithClause
- Overrides:
getAutoIncrementStartWithClause
in classAbstractJdbcDatabase
-
getAutoIncrementByClause
- Overrides:
getAutoIncrementByClause
in classAbstractJdbcDatabase
-
generateAutoIncrementStartWith
- Overrides:
generateAutoIncrementStartWith
in classAbstractJdbcDatabase
-
generateAutoIncrementBy
- Overrides:
generateAutoIncrementBy
in classAbstractJdbcDatabase
-
supportsRestrictForeignKeys
public boolean supportsRestrictForeignKeys()- Specified by:
supportsRestrictForeignKeys
in interfaceDatabase
- Overrides:
supportsRestrictForeignKeys
in classAbstractJdbcDatabase
-
getConnectionSchemaName
Description copied from class:AbstractJdbcDatabase
Overwrite this method to get the default schema name for the connection. If you only need to change the statement that obtains the current schema then override- Overrides:
getConnectionSchemaName
in classAbstractJdbcDatabase
- See Also:
-
setConnection
- Specified by:
setConnection
in interfaceDatabase
- Overrides:
setConnection
in classAbstractJdbcDatabase
-
rollback
- Specified by:
rollback
in interfaceDatabase
- Overrides:
rollback
in classAbstractJdbcDatabase
- Throws:
DatabaseException
-
configureSession
protected void configureSession() -
getViewDefinition
- Specified by:
getViewDefinition
in interfaceDatabase
- Overrides:
getViewDefinition
in classAbstractJdbcDatabase
- Throws:
DatabaseException
-
supportsDatabaseChangeLogHistory
public boolean supportsDatabaseChangeLogHistory()Description copied from interface:Database
Does the particular database implementation support the database changelog history feature and associated table?- Returns:
- true if supported, false otherwise
-
generateConnectCommandSuccessMessage
Description copied from interface:Database
Returns a custom message to be displayed upon successful execution of the connect command. This method can be overridden by a database implementation to provide a specific message. If not overridden, it returns null by default.- Returns:
- A custom success message for the connect command, or null if not provided.
-