001package gudusoft.gsqlparser.nodes.mssql;
002
003import gudusoft.gsqlparser.nodes.TParseTreeNode;
004import gudusoft.gsqlparser.nodes.TExpression;
005import gudusoft.gsqlparser.nodes.TParseTreeVisitor;
006
007public class TPartitionSplitMergeClause extends TParseTreeNode {
008    public enum Operation {
009        SPLIT,
010        MERGE
011    }
012
013    private Operation operation;
014    private TExpression boundaryValue; // Represents the basic_expr in parentheses
015
016    // Constructor
017    public void init(Object arg1, Object arg2) {
018        this.operation = (Operation) arg1;
019        this.boundaryValue = (TExpression) arg2;
020    }
021
022    // Getters
023    public Operation getOperation() {
024        return operation;
025    }
026
027    public TExpression getBoundaryValue() {
028        return boundaryValue;
029    }
030
031
032    @Override
033    public String toString() {
034        return operation.name() + " RANGE (" + boundaryValue + ")";
035    }
036
037    public void accept(TParseTreeVisitor v){
038        v.preVisit(this);
039        v.postVisit(this);
040    }
041
042    public void acceptChildren(TParseTreeVisitor v){
043        v.preVisit(this);
044        v.postVisit(this);
045    }
046}