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}