001package gudusoft.gsqlparser.nodes;
002
003import gudusoft.gsqlparser.EDbObjectType;
004import gudusoft.gsqlparser.nodes.oracle.TMaterializedViewProps;
005import gudusoft.gsqlparser.nodes.oracle.TOracleCreateMvRefresh;
006import gudusoft.gsqlparser.nodes.oracle.TOracleUsingIndex;
007import gudusoft.gsqlparser.nodes.oracle.TPhysicalProperties;
008import gudusoft.gsqlparser.nodes.redshift.TRedshiftTableAttributes;
009
010import java.util.List;
011
012public class TCreateMaterializedViewSqlNode extends TParseTreeNode {
013    private TObjectName viewName = null;
014    private TViewAliasClause viewAliasClause = null;
015    private TSelectSqlNode selectSqlNode = null;
016    private TOracleUsingIndex oracleUsingIndex;
017    private TOracleCreateMvRefresh mvRefresh;
018    private TPhysicalProperties physicalProperties;
019    private TMaterializedViewProps materializedViewProps;
020
021    private List<TRedshiftTableAttributes> tableAttributes;
022    public void setTableAttributes(List<TRedshiftTableAttributes> tableAttributes) {
023        this.tableAttributes = tableAttributes;
024    }
025
026    public List<TRedshiftTableAttributes> getTableAttributes() {
027        return tableAttributes;
028    }
029
030    public void setPhyAndMVP(TDummy dummy){
031        if (dummy == null) return;
032        if (dummy.node1 != null){
033            physicalProperties = (TPhysicalProperties)dummy.node1;
034        }
035        if (dummy.node2 != null){
036            materializedViewProps = (TMaterializedViewProps)dummy.node2;
037        }
038    }
039    public TMaterializedViewProps getMaterializedViewProps() {
040        return materializedViewProps;
041    }
042
043
044    public TPhysicalProperties getPhysicalProperties() {
045
046        return physicalProperties;
047    }
048
049    public TOracleCreateMvRefresh getMvRefresh() {
050        return mvRefresh;
051    }
052
053    public void setMvRefresh(TOracleCreateMvRefresh mvRefresh) {
054        this.mvRefresh = mvRefresh;
055    }
056
057    public void setOracleUsingIndex(TOracleUsingIndex oracleUsingIndex) {
058        this.oracleUsingIndex = oracleUsingIndex;
059    }
060
061    public TOracleUsingIndex getOracleUsingIndex() {
062
063        return oracleUsingIndex;
064    }
065
066    public boolean isForUpdate() {
067        return forUpdate;
068    }
069
070    private boolean forUpdate = false;
071
072    public void setForUpdate(boolean forUpdate) {
073        this.forUpdate = forUpdate;
074    }
075
076    public void setViewAliasClause(TViewAliasClause viewAliasClause) {
077        this.viewAliasClause = viewAliasClause;
078    }
079
080    public TSelectSqlNode getSelectSqlNode() {
081        return selectSqlNode;
082    }
083
084    public TObjectName getViewName() {
085
086        return viewName;
087    }
088
089    public TViewAliasClause getViewAliasClause() {
090        return viewAliasClause;
091    }
092
093    public void init(Object arg1,Object arg2)
094   {
095      viewName = (TObjectName)arg1;
096      //viewName.setObjectType(TObjectName.ttobjMaterializedViewName);
097      viewName.setDbObjectType(EDbObjectType.materializedView);
098     selectSqlNode = (TSelectSqlNode)arg2;
099   }
100    
101}