1 package liquibase.sqlgenerator.core; 2 3 import liquibase.database.Database; 4 import liquibase.database.core.MaxDBDatabase; 5 import liquibase.exception.DatabaseException; 6 import liquibase.exception.UnexpectedLiquibaseException; 7 import liquibase.sql.Sql; 8 import liquibase.sql.UnparsedSql; 9 import liquibase.sqlgenerator.SqlGeneratorChain; 10 import liquibase.statement.core.GetViewDefinitionStatement; 11 12 public class GetViewDefinitionGeneratorMaxDB extends GetViewDefinitionGenerator { 13 @Override 14 public int getPriority() { 15 return PRIORITY_DATABASE; 16 } 17 18 @Override 19 public boolean supports(GetViewDefinitionStatement statement, Database database) { 20 return database instanceof MaxDBDatabase; 21 } 22 23 @Override 24 public Sql[] generateSql(GetViewDefinitionStatement statement, Database database, 25 SqlGeneratorChain sqlGeneratorChain) { 26 try { 27 return new Sql[] { new UnparsedSql("SELECT DEFINITION FROM DOMAIN.VIEWDEFS WHERE upper(VIEWNAME)='" 28 + statement.getViewName().toUpperCase() + "' AND OWNER='" 29 + database.convertRequestedSchemaToSchema(statement.getSchemaName()) + "'") }; 30 } catch (DatabaseException e) { 31 throw new UnexpectedLiquibaseException(e); 32 } 33 } 34 }