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:
- InsertOrUpdateGeneratorMSSQL, InsertOrUpdateGeneratorMySQL, InsertOrUpdateGeneratorOracle
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 abstract java.lang.String |
getElse(Database database)
|
protected java.lang.String |
getInsertStatement(InsertOrUpdateStatement insertOrUpdateStatement,
Database database,
SqlGeneratorChain sqlGeneratorChain)
|
protected java.lang.String |
getPostUpdateStatements()
|
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. |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
InsertOrUpdateGenerator
public InsertOrUpdateGenerator()
getRecordCheck
protected abstract java.lang.String getRecordCheck(InsertOrUpdateStatement insertOrUpdateStatement,
Database database,
java.lang.String whereClause)
getElse
protected abstract java.lang.String getElse(Database database)
getPostUpdateStatements
protected java.lang.String getPostUpdateStatements()
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 java.lang.String getWhereClause(InsertOrUpdateStatement insertOrUpdateStatement,
Database database)
getInsertStatement
protected java.lang.String getInsertStatement(InsertOrUpdateStatement insertOrUpdateStatement,
Database database,
SqlGeneratorChain sqlGeneratorChain)
getUpdateStatement
protected java.lang.String getUpdateStatement(InsertOrUpdateStatement insertOrUpdateStatement,
Database database,
java.lang.String whereClause,
SqlGeneratorChain sqlGeneratorChain)
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.
Copyright © 2010 Liquibase.org. All Rights Reserved.