001package gudusoft.gsqlparser.stmt.mssql;
002
003import gudusoft.gsqlparser.EDbObjectType;
004import gudusoft.gsqlparser.EDbVendor;
005import gudusoft.gsqlparser.ESqlStatementType;
006import gudusoft.gsqlparser.TCustomSqlStatement;
007import gudusoft.gsqlparser.nodes.TExpression;
008import gudusoft.gsqlparser.nodes.TObjectName;
009import gudusoft.gsqlparser.nodes.TParseTreeVisitor;
010import gudusoft.gsqlparser.nodes.mssql.TPartitionSplitMergeClause;
011import gudusoft.gsqlparser.nodes.mssql.TAlterPartitionFunctionSqlNode;
012
013public class TAlterPartitionFunctionStmt extends TCustomSqlStatement {
014        
015    private TObjectName functionName;
016    private TPartitionSplitMergeClause partitionSplitMergeClause;
017    private TExpression boundaryValue;
018
019    public TAlterPartitionFunctionStmt(EDbVendor dbvendor) {
020        super(dbvendor);
021        sqlstatementtype = ESqlStatementType.sstmssqlAlterPartitionFunction;
022    }
023
024    public TObjectName getFunctionName() {
025        return functionName;
026    }
027
028    public TPartitionSplitMergeClause getPartitionSplitMergeClause() {
029        return partitionSplitMergeClause;
030    }
031
032    public TExpression getBoundaryValue() {
033        return boundaryValue;
034    }
035
036        public int doParseStatement(TCustomSqlStatement psql) {
037        if (rootNode == null) return -1;
038        TAlterPartitionFunctionSqlNode alterPartitionFunctionSqlNode = (TAlterPartitionFunctionSqlNode) rootNode;
039        functionName = alterPartitionFunctionSqlNode.getFunctionName();
040        functionName.setDbObjectType(EDbObjectType.function);
041        partitionSplitMergeClause = alterPartitionFunctionSqlNode.getPartitionSplitMergeClause();
042        boundaryValue = alterPartitionFunctionSqlNode.getBoundaryValue();
043        super.doParseStatement(psql);
044
045        return 0;
046    }
047
048    public void accept(TParseTreeVisitor v){
049        v.preVisit(this);
050        v.postVisit(this);
051    }
052
053    public void acceptChildren(TParseTreeVisitor v){
054        v.preVisit(this);
055        v.postVisit(this);
056    }
057
058}