public abstract class InsertOrUpdateGenerator extends AbstractSqlGenerator<InsertOrUpdateStatement>
PRIORITY_DATABASE, PRIORITY_DEFAULT
Constructor and Description |
---|
InsertOrUpdateGenerator() |
Modifier and Type | Method and Description |
---|---|
Sql[] |
generateSql(InsertOrUpdateStatement insertOrUpdateStatement,
Database database,
SqlGeneratorChain sqlGeneratorChain)
Generate the actual Sql for the given statement and database.
|
protected Table |
getAffectedTable(InsertOrUpdateStatement insertOrUpdateStatement) |
protected abstract java.lang.String |
getElse(Database database) |
protected java.lang.String |
getInsertStatement(InsertOrUpdateStatement insertOrUpdateStatement,
Database database,
SqlGeneratorChain sqlGeneratorChain) |
protected java.lang.String |
getPostUpdateStatements(Database database) |
int |
getPriority()
Of all the SqlGenerators that "support" a given SqlStatement/Database, SqlGeneratorFactory will return the one with the highest priority.
|
protected abstract java.lang.String |
getRecordCheck(InsertOrUpdateStatement insertOrUpdateStatement,
Database database,
java.lang.String whereClause) |
protected java.lang.String |
getUpdateStatement(InsertOrUpdateStatement insertOrUpdateStatement,
Database database,
java.lang.String whereClause,
SqlGeneratorChain sqlGeneratorChain) |
protected java.lang.String |
getWhereClause(InsertOrUpdateStatement insertOrUpdateStatement,
Database database) |
ValidationErrors |
validate(InsertOrUpdateStatement statement,
Database database,
SqlGeneratorChain sqlGeneratorChain)
Validate the data contained in the SqlStatement.
|
generateRollbackStatementsIsVolatile, generateStatementsIsVolatile, looksLikeFunctionCall, supports, warn
protected abstract java.lang.String getRecordCheck(InsertOrUpdateStatement insertOrUpdateStatement, Database database, java.lang.String whereClause)
protected abstract java.lang.String getElse(Database database)
protected java.lang.String getPostUpdateStatements(Database database)
public int getPriority()
SqlGenerator
getPriority
in interface PrioritizedService
getPriority
in interface SqlGenerator<InsertOrUpdateStatement>
getPriority
in class AbstractSqlGenerator<InsertOrUpdateStatement>
public ValidationErrors validate(InsertOrUpdateStatement statement, Database database, SqlGeneratorChain sqlGeneratorChain)
SqlGenerator
protected java.lang.String getWhereClause(InsertOrUpdateStatement insertOrUpdateStatement, Database database)
protected java.lang.String getInsertStatement(InsertOrUpdateStatement insertOrUpdateStatement, Database database, SqlGeneratorChain sqlGeneratorChain)
protected java.lang.String getUpdateStatement(InsertOrUpdateStatement insertOrUpdateStatement, Database database, java.lang.String whereClause, SqlGeneratorChain sqlGeneratorChain) throws LiquibaseException
insertOrUpdateStatement
- database
- whereClause
- sqlGeneratorChain
- LiquibaseException
public Sql[] generateSql(InsertOrUpdateStatement insertOrUpdateStatement, Database database, SqlGeneratorChain sqlGeneratorChain)
SqlGenerator
protected Table getAffectedTable(InsertOrUpdateStatement insertOrUpdateStatement)