001package gudusoft.gsqlparser.nodes;
002
003import gudusoft.gsqlparser.ECreateTableOption;
004import gudusoft.gsqlparser.ETablePartitionType;
005
006public class THashPartitions extends TBaseTablePartition {
007
008    private boolean isSubpartition;
009
010    public void setSubpartition(boolean subpartition) {
011        isSubpartition = subpartition;
012    }
013
014    public boolean isSubpartition() {
015        return isSubpartition;
016    }
017    private TExpression hashExpr;
018
019    public TExpression getHashExpr() {
020        return hashExpr;
021    }
022
023    private TTablePartitionItem hashPartitionsByQuantity;
024
025    public TTablePartitionItem getHashPartitionsByQuantity() {
026        return hashPartitionsByQuantity;
027    }
028
029    public void init(Object arg1){
030
031        this.tablePartitionType = ETablePartitionType.hash;
032        // this.columnList = (TObjectNameList)arg1;
033
034        if (arg1 instanceof TObjectNameList){
035            this.columnList = (TObjectNameList)arg1;
036        }else if (arg1 instanceof TExpressionList){
037            this.partitionColumnExprs = (TExpressionList) arg1;
038        }else if (arg1 instanceof TExpression){
039            this.hashExpr = (TExpression) arg1;
040        }
041    }
042
043    public void init(Object arg1,Object arg2){
044        init(arg1);
045        hashPartitionsByQuantity = (TTablePartitionItem)arg2;
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}