001package gudusoft.gsqlparser.nodes;
002
003import gudusoft.gsqlparser.ECreateTableOption;
004import gudusoft.gsqlparser.ETablePartitionType;
005
006import java.util.ArrayList;
007
008public class TRangePartitions extends TBaseTablePartition {
009
010    private TExpression rangeExpr;
011
012    /**
013     * MySQL
014     * @return
015     */
016    public TExpression getRangeExpr() {
017        return rangeExpr;
018    }
019
020    private TExpression intervalExpr;
021
022    public TExpression getIntervalExpr() {
023        return intervalExpr;
024    }
025
026    public void init(Object arg1){
027
028        this.tablePartitionType = ETablePartitionType.range;
029        if (arg1 instanceof TObjectNameList){
030            this.columnList = (TObjectNameList)arg1;
031        }else if (arg1 instanceof TExpressionList){
032            this.partitionColumnExprs = (TExpressionList) arg1;
033        }else if (arg1 instanceof TExpression){
034            this.rangeExpr = (TExpression) arg1;
035        }
036
037    }
038
039    public void setIntervalExpr(TExpression intervalExpr) {
040        this.intervalExpr = intervalExpr;
041    }
042
043    public void init(Object arg1, Object arg2){
044        init(arg1);
045        this.tablePartitionItems = (ArrayList<TTablePartitionItem>)arg2;
046    }
047
048
049    public void accept(TParseTreeVisitor v){
050        v.preVisit(this);
051        v.postVisit(this);
052    }
053
054    public void acceptChildren(TParseTreeVisitor v){
055        v.preVisit(this);
056        v.postVisit(this);
057    }
058}