001package gudusoft.gsqlparser.stmt.mssql;
002
003import gudusoft.gsqlparser.nodes.TObjectName;
004import gudusoft.gsqlparser.TCustomSqlStatement;
005import gudusoft.gsqlparser.nodes.mssql.TAlterPartitionSchemeSqlNode;
006import gudusoft.gsqlparser.nodes.TParseTreeVisitor;
007import gudusoft.gsqlparser.ESqlStatementType;
008import gudusoft.gsqlparser.EDbVendor;
009import gudusoft.gsqlparser.EDbObjectType;
010
011
012public class TAlterPartitionSchemeSqlStatement extends TCustomSqlStatement {
013    private TObjectName schemeName;
014    private TObjectName filegroupName;
015    
016    public TAlterPartitionSchemeSqlStatement(EDbVendor dbvendor) {
017        super(dbvendor);
018        sqlstatementtype = ESqlStatementType.sstmssqlAlterPartitionScheme;
019    }
020    
021    public TObjectName getSchemeName() {
022        return schemeName;
023    }
024    
025    public TObjectName getFilegroupName() {
026        return filegroupName;
027    }
028    
029    public int doParseStatement(TCustomSqlStatement psql) {
030        if (rootNode == null) return -1;
031        super.doParseStatement(psql);
032        TAlterPartitionSchemeSqlNode alterPartitionSchemeNode = (TAlterPartitionSchemeSqlNode) rootNode;
033        schemeName = alterPartitionSchemeNode.getSchemeName();
034        schemeName.setDbObjectType(EDbObjectType.partitionScheme);
035        filegroupName = alterPartitionSchemeNode.getFilegroupName();
036        filegroupName.setDbObjectType(EDbObjectType.filegroup);
037        return 0;
038    }
039
040    public void accept(TParseTreeVisitor v) {
041        v.preVisit(this);
042        v.postVisit(this);
043    }
044
045    public void acceptChildren(TParseTreeVisitor v) {
046        v.preVisit(this);
047        v.postVisit(this);
048    }
049}