liquibase.sqlgenerator.core
Class InsertOrUpdateGenerator
java.lang.Object
liquibase.sqlgenerator.core.AbstractSqlGenerator<InsertOrUpdateStatement>
liquibase.sqlgenerator.core.InsertOrUpdateGenerator
- All Implemented Interfaces:
- PrioritizedService, SqlGenerator<InsertOrUpdateStatement>
- Direct Known Subclasses:
- InsertOrUpdateGeneratorDB2, InsertOrUpdateGeneratorH2, InsertOrUpdateGeneratorHsql, InsertOrUpdateGeneratorMSSQL, InsertOrUpdateGeneratorMySQL, InsertOrUpdateGeneratorOracle, InsertOrUpdateGeneratorPostgres
public abstract class InsertOrUpdateGenerator
- extends AbstractSqlGenerator<InsertOrUpdateStatement>
Method Summary |
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 String |
getElse(Database database)
|
protected String |
getInsertStatement(InsertOrUpdateStatement insertOrUpdateStatement,
Database database,
SqlGeneratorChain sqlGeneratorChain)
|
protected 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 String |
getRecordCheck(InsertOrUpdateStatement insertOrUpdateStatement,
Database database,
String whereClause)
|
protected String |
getUpdateStatement(InsertOrUpdateStatement insertOrUpdateStatement,
Database database,
String whereClause,
SqlGeneratorChain sqlGeneratorChain)
|
protected String |
getWhereClause(InsertOrUpdateStatement insertOrUpdateStatement,
Database database)
|
ValidationErrors |
validate(InsertOrUpdateStatement statement,
Database database,
SqlGeneratorChain sqlGeneratorChain)
Validate the data contained in the SqlStatement. |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
InsertOrUpdateGenerator
public InsertOrUpdateGenerator()
getRecordCheck
protected abstract String getRecordCheck(InsertOrUpdateStatement insertOrUpdateStatement,
Database database,
String whereClause)
getElse
protected abstract String getElse(Database database)
getPostUpdateStatements
protected String getPostUpdateStatements(Database database)
getPriority
public int getPriority()
- Description copied from interface:
SqlGenerator
- Of all the SqlGenerators that "support" a given SqlStatement/Database, SqlGeneratorFactory will return the one with the highest priority.
- Specified by:
getPriority
in interface PrioritizedService
- Specified by:
getPriority
in interface SqlGenerator<InsertOrUpdateStatement>
- Overrides:
getPriority
in class AbstractSqlGenerator<InsertOrUpdateStatement>
validate
public ValidationErrors validate(InsertOrUpdateStatement statement,
Database database,
SqlGeneratorChain sqlGeneratorChain)
- Description copied from interface:
SqlGenerator
- Validate the data contained in the SqlStatement. If there are no errors, return an empty ValidationErrors object, not a null value.
Liquibase will inspect the ValidationErrors result before attempting to call generateSql.
getWhereClause
protected String getWhereClause(InsertOrUpdateStatement insertOrUpdateStatement,
Database database)
getInsertStatement
protected String getInsertStatement(InsertOrUpdateStatement insertOrUpdateStatement,
Database database,
SqlGeneratorChain sqlGeneratorChain)
getUpdateStatement
protected String getUpdateStatement(InsertOrUpdateStatement insertOrUpdateStatement,
Database database,
String whereClause,
SqlGeneratorChain sqlGeneratorChain)
throws LiquibaseException
- Parameters:
insertOrUpdateStatement
- database
- whereClause
- sqlGeneratorChain
-
- Returns:
- the update statement, if there is nothing to update return null
- Throws:
LiquibaseException
generateSql
public Sql[] generateSql(InsertOrUpdateStatement insertOrUpdateStatement,
Database database,
SqlGeneratorChain sqlGeneratorChain)
- Description copied from interface:
SqlGenerator
- Generate the actual Sql for the given statement and database.
getAffectedTable
protected Table getAffectedTable(InsertOrUpdateStatement insertOrUpdateStatement)
Copyright © 2016 Liquibase.org. All rights reserved.