Package liquibase.sqlgenerator.core
Class InsertOrUpdateGeneratorMSSQL
- java.lang.Object
-
- liquibase.sqlgenerator.core.AbstractSqlGenerator<InsertOrUpdateStatement>
-
- liquibase.sqlgenerator.core.InsertOrUpdateGenerator
-
- liquibase.sqlgenerator.core.InsertOrUpdateGeneratorMSSQL
-
- All Implemented Interfaces:
PrioritizedService,SqlGenerator<InsertOrUpdateStatement>
public class InsertOrUpdateGeneratorMSSQL extends InsertOrUpdateGenerator
-
-
Field Summary
-
Fields inherited from interface liquibase.servicelocator.PrioritizedService
COMPARATOR
-
Fields inherited from interface liquibase.sqlgenerator.SqlGenerator
EMPTY_SQL, PRIORITY_DATABASE, PRIORITY_DEFAULT
-
-
Constructor Summary
Constructors Constructor Description InsertOrUpdateGeneratorMSSQL()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Sql[]generateSql(InsertOrUpdateStatement insertOrUpdateStatement, Database database, SqlGeneratorChain sqlGeneratorChain)Generate the actual Sql for the given statement and database.protected StringgetElse(Database database)protected StringgetInsertStatement(InsertOrUpdateStatement insertOrUpdateStatement, Database database, SqlGeneratorChain sqlGeneratorChain)protected StringgetRecordCheck(InsertOrUpdateStatement insertOrUpdateStatement, Database database, String whereClause)protected StringgetUpdateStatement(InsertOrUpdateStatement insertOrUpdateStatement, Database database, String whereClause, SqlGeneratorChain sqlGeneratorChain)Generates an SQL UPDATE statement for the specified insert or update statement, database, and SQL generator chain.booleansupports(InsertOrUpdateStatement statement, Database database)Does this generator support the given statement/database combination? Do not validate the statement with this method, only return if it can support it.-
Methods inherited from class liquibase.sqlgenerator.core.InsertOrUpdateGenerator
getAffectedTable, getPostUpdateStatements, getPriority, getWhereClause, validate
-
Methods inherited from class liquibase.sqlgenerator.core.AbstractSqlGenerator
generateRollbackStatementsIsVolatile, generateStatementsIsVolatile, looksLikeFunctionCall, warn
-
-
-
-
Method Detail
-
supports
public boolean supports(InsertOrUpdateStatement statement, Database database)
Description copied from interface:SqlGeneratorDoes this generator support the given statement/database combination? Do not validate the statement with this method, only return if it can support it.- Specified by:
supportsin interfaceSqlGenerator<InsertOrUpdateStatement>- Overrides:
supportsin classAbstractSqlGenerator<InsertOrUpdateStatement>
-
getRecordCheck
protected String getRecordCheck(InsertOrUpdateStatement insertOrUpdateStatement, Database database, String whereClause)
- Specified by:
getRecordCheckin classInsertOrUpdateGenerator
-
getInsertStatement
protected String getInsertStatement(InsertOrUpdateStatement insertOrUpdateStatement, Database database, SqlGeneratorChain sqlGeneratorChain)
- Overrides:
getInsertStatementin classInsertOrUpdateGenerator
-
getElse
protected String getElse(Database database)
- Specified by:
getElsein classInsertOrUpdateGenerator
-
getUpdateStatement
protected String getUpdateStatement(InsertOrUpdateStatement insertOrUpdateStatement, Database database, String whereClause, SqlGeneratorChain sqlGeneratorChain) throws LiquibaseException
Description copied from class:InsertOrUpdateGeneratorGenerates an SQL UPDATE statement for the specified insert or update statement, database, and SQL generator chain.- Overrides:
getUpdateStatementin classInsertOrUpdateGenerator- Parameters:
insertOrUpdateStatement- the insert or update statement to generate the update statement fromdatabase- the database to generate the update statement forwhereClause- the WHERE clause to use in the update statementsqlGeneratorChain- the SQL generator chain to use in the update statement- Returns:
- the generated update statement, or
nullif there is nothing to update - Throws:
LiquibaseException- if there is an error generating the update statement
-
generateSql
public Sql[] generateSql(InsertOrUpdateStatement insertOrUpdateStatement, Database database, SqlGeneratorChain sqlGeneratorChain)
Description copied from interface:SqlGeneratorGenerate the actual Sql for the given statement and database.- Specified by:
generateSqlin interfaceSqlGenerator<InsertOrUpdateStatement>- Overrides:
generateSqlin classInsertOrUpdateGenerator
-
-