// Path: src/main/java/liquibase/ext/ora/dropmaterializedview/DropMaterializedViewChange.java
// @DatabaseChange(name="dropMaterializedView", description = "Drop Materialized View", priority = ChangeMetaData.PRIORITY_DEFAULT + 200)
// public class DropMaterializedViewChange extends AbstractChange {
// 
//     private String schemaName;
//     private String viewName;
// 
//     public String getSchemaName() {
//         return schemaName;
//     }
// 
//     public void setSchemaName(String schemaName) {
//         this.schemaName = schemaName;
//     }
// 
//     public String getViewName() {
//         return viewName;
//     }
// 
//     public void setViewName(String viewName) {
//         this.viewName = viewName;
//     }
// 
//     public String getConfirmationMessage() {
//         return "Materialized view " + getViewName() + " has been droped";
//     }
// 
//     public SqlStatement[] generateStatements(Database database) {
//         DropMaterializedViewStatement statement = new DropMaterializedViewStatement(getViewName());
//         statement.setSchemaName(getSchemaName());
// 
//         return new SqlStatement[]{statement};
//     }
// }


import liquibase.change.AbstractChange;
import liquibase.change.Change;
import liquibase.change.ChangeMetaData;
import liquibase.change.DatabaseChange;
import liquibase.database.Database;
import liquibase.statement.SqlStatement;
import liquibase.ext.ora.dropmaterializedview.DropMaterializedViewChange;

    public Boolean getForUpdate() {
        return forUpdate;
    }

    public void setForUpdate(Boolean forUpdate) {
        this.forUpdate = forUpdate;
    }

    public String getQueryRewrite() {
        return queryRewrite;
    }

    public void setQueryRewrite(String queryRewrite) {
        this.queryRewrite = queryRewrite;
    }

    public String getSubquery() {
        return subquery;
    }

    public void setSubquery(String subquery) {
        this.subquery = subquery;
    }

    public String getConfirmationMessage() {
        return "Materialized view " + getViewName() + " has been created";
    }

    protected Change[] createInverses() {
// Path: src/main/java/liquibase/ext/ora/dropmaterializedview/DropMaterializedViewChange.java
// @DatabaseChange(name="dropMaterializedView", description = "Drop Materialized View", priority = ChangeMetaData.PRIORITY_DEFAULT + 200)
// public class DropMaterializedViewChange extends AbstractChange {
// 
//     private String schemaName;
//     private String viewName;
// 
//     public String getSchemaName() {
//         return schemaName;
//     }
// 
//     public void setSchemaName(String schemaName) {
//         this.schemaName = schemaName;
//     }
// 
//     public String getViewName() {
//         return viewName;
//     }
// 
//     public void setViewName(String viewName) {
//         this.viewName = viewName;
//     }
// 
//     public String getConfirmationMessage() {
//         return "Materialized view " + getViewName() + " has been droped";
//     }
// 
//     public SqlStatement[] generateStatements(Database database) {
//         DropMaterializedViewStatement statement = new DropMaterializedViewStatement(getViewName());
//         statement.setSchemaName(getSchemaName());
// 
//         return new SqlStatement[]{statement};
//     }
// }


// Path: src/main/java/liquibase/ext/ora/creatematerializedview/CreateMaterializedViewChange.java
import liquibase.change.AbstractChange;
import liquibase.change.Change;
import liquibase.change.ChangeMetaData;
import liquibase.change.DatabaseChange;
import liquibase.database.Database;
import liquibase.statement.SqlStatement;
import liquibase.ext.ora.dropmaterializedview.DropMaterializedViewChange;


    public Boolean getForUpdate() {
        return forUpdate;
    }

    public void setForUpdate(Boolean forUpdate) {
        this.forUpdate = forUpdate;
    }

    public String getQueryRewrite() {
        return queryRewrite;
    }

    public void setQueryRewrite(String queryRewrite) {
        this.queryRewrite = queryRewrite;
    }

    public String getSubquery() {
        return subquery;
    }

    public void setSubquery(String subquery) {
        this.subquery = subquery;
    }

    public String getConfirmationMessage() {
        return "Materialized view " + getViewName() + " has been created";
    }

    protected Change[] createInverses() {
        DropMaterializedViewChange inverse = new DropMaterializedViewChange();