View Javadoc

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  }