Coverage Report - liquibase.sqlgenerator.core.AddAutoIncrementGeneratorInformix
 
Classes in this File Line Coverage Branch Coverage Complexity
AddAutoIncrementGeneratorInformix
85%
6/7
N/A
1
 
 1  
 package liquibase.sqlgenerator.core;
 2  
 
 3  
 import liquibase.database.Database;
 4  
 import liquibase.database.typeconversion.TypeConverterFactory;
 5  
 import liquibase.database.core.InformixDatabase;
 6  
 import liquibase.database.structure.Column;
 7  
 import liquibase.database.structure.Table;
 8  
 import liquibase.exception.ValidationErrors;
 9  
 import liquibase.sql.Sql;
 10  
 import liquibase.sql.UnparsedSql;
 11  
 import liquibase.sqlgenerator.SqlGeneratorChain;
 12  
 import liquibase.statement.core.AddAutoIncrementStatement;
 13  
 
 14  78
 public class AddAutoIncrementGeneratorInformix extends AddAutoIncrementGenerator {
 15  
     @Override
 16  
     public int getPriority() {
 17  5
         return PRIORITY_DATABASE;
 18  
     }
 19  
 
 20  
     @Override
 21  
     public boolean supports(AddAutoIncrementStatement statement, Database database) {
 22  62
         return database instanceof InformixDatabase;
 23  
     }
 24  
 
 25  
     @Override
 26  
     public ValidationErrors validate(AddAutoIncrementStatement addAutoIncrementStatement, Database database,
 27  
             SqlGeneratorChain sqlGeneratorChain) {
 28  3
         ValidationErrors validationErrors = super.validate(addAutoIncrementStatement, database, sqlGeneratorChain);
 29  
 
 30  3
         validationErrors.checkRequiredField("columnDataType", addAutoIncrementStatement.getColumnDataType());
 31  
 
 32  3
         return validationErrors;
 33  
     }
 34  
 
 35  
     @Override
 36  
     public Sql[] generateSql(AddAutoIncrementStatement statement, Database database, SqlGeneratorChain sqlGeneratorChain) {
 37  0
         return new Sql[] { new UnparsedSql("ALTER TABLE "
 38  
                 + database.escapeTableName(statement.getSchemaName(), statement.getTableName())
 39  
                 + " MODIFY "
 40  
                 + database.escapeColumnName(statement.getSchemaName(), statement.getTableName(),
 41  
                         statement.getColumnName())
 42  
                 + " "
 43  
                 + TypeConverterFactory.getInstance().findTypeConverter(database)
 44  
                         .getDataType(statement.getColumnDataType(), true), new Column().setTable(
 45  
                 new Table(statement.getTableName()).setSchema(statement.getSchemaName())).setName(
 46  
                 statement.getColumnName())) };
 47  
     }
 48  
 }