|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectliquibase.change.AbstractChange
liquibase.change.AbstractSQLChange
public abstract class AbstractSQLChange
A common parent for all raw SQL related changes regardless of where the sql was sourced from. Implements the necessary logic to choose how the SQL string should be parsed to generate the statements.
Nested Class Summary | |
---|---|
static class |
AbstractSQLChange.NormalizingStream
|
Nested classes/interfaces inherited from interface liquibase.serializer.LiquibaseSerializable |
---|
LiquibaseSerializable.SerializationType |
Field Summary | |
---|---|
protected String |
encoding
|
Fields inherited from interface liquibase.serializer.LiquibaseSerializable |
---|
GENERIC_CHANGELOG_EXTENSION_NAMESPACE, GENERIC_SNAPSHOT_EXTENSION_NAMESPACE, STANDARD_CHANGELOG_NAMESPACE, STANDARD_SNAPSHOT_NAMESPACE |
Constructor Summary | |
---|---|
protected |
AbstractSQLChange()
|
Method Summary | |
---|---|
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) . |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Methods inherited from interface liquibase.change.Change |
---|
getConfirmationMessage |
Field Detail |
---|
protected String encoding
Constructor Detail |
---|
protected AbstractSQLChange()
Method Detail |
---|
public InputStream openSqlStream() throws IOException
IOException
public String getDbms()
getDbms
in interface DbmsTargetedChange
public void setDbms(String dbms)
setDbms
in interface DbmsTargetedChange
public 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 Change
supports
in class AbstractChange
database
-
public Warnings warn(Database database)
AbstractChange
SqlGenerator.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 Change
warn
in class AbstractChange
public ValidationErrors validate(Database database)
AbstractChange
SqlGenerator.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 errors
validate
in interface Change
validate
in class AbstractChange
public 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()
splitStatements
public void setEndDelimiter(String endDelimiter)
endDelimiter
- public CheckSum generateCheckSum()
generateCheckSum
in interface Change
generateCheckSum
in class AbstractChange
AbstractChange.generateCheckSum()
public SqlStatement[] generateStatements(Database database)
Connection.nativeSQL(java.lang.String)
method if a connection is available.
generateStatements
in interface Change
public boolean generateStatementsVolatile(Database database)
AbstractChange
SqlGenerator.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 Change
generateStatementsVolatile
in class AbstractChange
public boolean generateRollbackStatementsVolatile(Database database)
AbstractChange
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.
generateRollbackStatementsVolatile
in interface Change
generateRollbackStatementsVolatile
in class AbstractChange
public ChangeStatus checkStatus(Database database)
Change
checkStatus
in interface Change
checkStatus
in class AbstractChange
protected String normalizeLineEndings(String string)
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |