public abstract class AbstractSQLChange extends AbstractChange implements DbmsTargetedChange
| Modifier and Type | Class and Description |
|---|---|
static class |
AbstractSQLChange.NormalizingStream |
LiquibaseSerializable.SerializationType| Modifier and Type | Field and Description |
|---|---|
protected String |
encoding |
GENERIC_CHANGELOG_EXTENSION_NAMESPACE, GENERIC_SNAPSHOT_EXTENSION_NAMESPACE, STANDARD_CHANGELOG_NAMESPACE, STANDARD_SNAPSHOT_NAMESPACE| Modifier | Constructor and Description |
|---|---|
protected |
AbstractSQLChange() |
| Modifier and Type | Method and Description |
|---|---|
ChangeStatus |
checkStatus(Database database)
Validate that this change executed successfully against the given database.
|
CheckSum |
generateCheckSum()
Calculates the checksum based on the contained SQL.
|
boolean |
generateRollbackStatementsVolatile(Database database)
Implementation delegates logic to the
SqlGenerator.generateRollbackStatementsIsVolatile(Database) method on the SqlStatement objects returned by Change.generateStatements(liquibase.database.Database)
If no or null SqlStatements are returned by generateRollbackStatements then this method returns false. |
SqlStatement[] |
generateStatements(Database database)
Generates one or more SqlStatements depending on how the SQL should be parsed.
|
boolean |
generateStatementsVolatile(Database database)
Implementation delegates logic to the
SqlGenerator.generateStatementsIsVolatile(Database) method on the SqlStatement objects returned by Change.generateStatements(liquibase.database.Database). |
String |
getDbms() |
String |
getEndDelimiter()
Set the end delimiter used to split statements.
|
String |
getSql()
Return the raw SQL managed by this Change
|
Boolean |
isSplitStatements()
Return if the SQL should be split into multiple statements before passing it to the database.
|
Boolean |
isStripComments()
Return if comments should be stripped from the SQL before passing it to the database.
|
protected String |
normalizeLineEndings(String string) |
InputStream |
openSqlStream() |
void |
setDbms(String dbms) |
void |
setEndDelimiter(String endDelimiter)
Set the end delimiter for splitting SQL statements.
|
void |
setSplitStatements(Boolean splitStatements)
Set whether SQL should be split into multiple statements.
|
void |
setSql(String sql)
Set the raw SQL managed by this Change.
|
void |
setStripComments(Boolean stripComments)
Return true if comments should be stripped from the SQL before passing it to the database.
|
boolean |
supports(Database database)
Implementation delegates logic to the
SqlGenerator.supports(liquibase.statement.SqlStatement, liquibase.database.Database) method on the SqlStatement objects returned by Change.generateStatements(liquibase.database.Database). |
ValidationErrors |
validate(Database database)
Implementation checks the ChangeParameterMetaData for declared required fields
and also delegates logic to the
SqlGenerator.validate(liquibase.statement.SqlStatement, liquibase.database.Database, liquibase.sqlgenerator.SqlGeneratorChain) method on the SqlStatement objects returned by Change.generateStatements(liquibase.database.Database). |
Warnings |
warn(Database database)
Implementation delegates logic to the
SqlGenerator.warn(liquibase.statement.SqlStatement, liquibase.database.Database, liquibase.sqlgenerator.SqlGeneratorChain) method on the SqlStatement objects returned by Change.generateStatements(liquibase.database.Database). |
createChangeMetaData, createChangeParameterMetadata, createDescriptionMetaData, createEmptyColumnConfig, createExampleValueMetaData, createInverses, createMustEqualExistingMetaData, createRequiredDatabasesMetaData, createSerializationTypeMetaData, createSinceMetaData, createSupportedDatabasesMetaData, customLoadLogic, finishInitialization, generateRollbackStatements, getAffectedDatabaseObjects, getChangeSet, getDescription, getResourceAccessor, getSerializableFieldNamespace, getSerializableFields, getSerializableFieldType, getSerializableFieldValue, getSerializedObjectName, getSerializedObjectNamespace, isInvalidProperty, load, serialize, serializeValue, setChangeSet, setResourceAccessor, supportsRollback, toStringclone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitgetConfirmationMessageprotected String encoding
public InputStream openSqlStream() throws IOException
IOExceptionpublic String getDbms()
getDbms in interface DbmsTargetedChangepublic void setDbms(String dbms)
setDbms in interface DbmsTargetedChangepublic boolean supports(Database database)
SqlGenerator.supports(liquibase.statement.SqlStatement, liquibase.database.Database) method on the SqlStatement objects returned by Change.generateStatements(liquibase.database.Database).
If no or null SqlStatements are returned by generateStatements then this method returns true.
If AbstractChange.generateStatementsVolatile(liquibase.database.Database) returns true, we cannot call generateStatements and so assume true.supports in interface Changesupports in class AbstractChangedatabase - public Warnings warn(Database database)
AbstractChangeSqlGenerator.warn(liquibase.statement.SqlStatement, liquibase.database.Database, liquibase.sqlgenerator.SqlGeneratorChain) method on the SqlStatement objects returned by Change.generateStatements(liquibase.database.Database).
If a generated statement is not supported for the given database, no warning will be added since that is a validation error.
If no or null SqlStatements are returned by generateStatements then this method returns no warnings.warn in interface Changewarn in class AbstractChangepublic ValidationErrors validate(Database database)
AbstractChangeSqlGenerator.validate(liquibase.statement.SqlStatement, liquibase.database.Database, liquibase.sqlgenerator.SqlGeneratorChain) method on the SqlStatement objects returned by Change.generateStatements(liquibase.database.Database).
If no or null SqlStatements are returned by generateStatements then this method returns no errors.
If there are no parameters than this method returns no errorsvalidate in interface Changevalidate in class AbstractChangepublic Boolean isStripComments()
public void setStripComments(Boolean stripComments)
public Boolean isSplitStatements()
public void setSplitStatements(Boolean splitStatements)
public String getSql()
public void setSql(String sql)
public String getEndDelimiter()
splitStatementspublic void setEndDelimiter(String endDelimiter)
endDelimiter - public CheckSum generateCheckSum()
generateCheckSum in interface ChangegenerateCheckSum in class AbstractChangeAbstractChange.generateCheckSum()public SqlStatement[] generateStatements(Database database)
Connection.nativeSQL(java.lang.String) method if a connection is available.generateStatements in interface Changepublic boolean generateStatementsVolatile(Database database)
AbstractChangeSqlGenerator.generateStatementsIsVolatile(Database) method on the SqlStatement objects returned by Change.generateStatements(liquibase.database.Database).
If zero or null SqlStatements are returned by generateStatements then this method returns false.generateStatementsVolatile in interface ChangegenerateStatementsVolatile in class AbstractChangepublic boolean generateRollbackStatementsVolatile(Database database)
AbstractChangeSqlGenerator.generateRollbackStatementsIsVolatile(Database) method on the SqlStatement objects returned by Change.generateStatements(liquibase.database.Database)
If no or null SqlStatements are returned by generateRollbackStatements then this method returns false.generateRollbackStatementsVolatile in interface ChangegenerateRollbackStatementsVolatile in class AbstractChangepublic ChangeStatus checkStatus(Database database)
ChangecheckStatus in interface ChangecheckStatus in class AbstractChangeCopyright © 2018 Liquibase.org. All rights reserved.