001package gudusoft.gsqlparser.stmt.netezza;
002/*
003 * Date: 13-11-25
004 */
005
006import gudusoft.gsqlparser.EDbVendor;
007import gudusoft.gsqlparser.ESqlStatementType;
008import gudusoft.gsqlparser.TCustomSqlStatement;
009import gudusoft.gsqlparser.nodes.TObjectName;
010import gudusoft.gsqlparser.nodes.TParseTreeVisitor;
011import gudusoft.gsqlparser.nodes.netezza.TGroomTableSqlNode;
012import gudusoft.gsqlparser.nodes.netezza.TModeChoice;
013import gudusoft.gsqlparser.nodes.netezza.TReclaimChoice;
014
015/**
016 * netezza groom table statement.
017 */
018public class TNetezzaGroomTable extends TCustomSqlStatement {
019
020    private TObjectName tableName;
021    private TModeChoice modeChoice;
022    private TReclaimChoice reclaimChoice;
023
024    public TModeChoice getModeChoice() {
025        return modeChoice;
026    }
027
028    public TReclaimChoice getReclaimChoice() {
029        return reclaimChoice;
030    }
031
032    public TObjectName getTableName() {
033        return tableName;
034    }
035
036    public TNetezzaGroomTable(EDbVendor dbvendor) {
037        super(dbvendor);
038        sqlstatementtype = ESqlStatementType.sstnetezzaGroomTable;
039    }
040
041    public int doParseStatement(TCustomSqlStatement psql) {
042        if (rootNode == null) return -1;
043        super.doParseStatement(psql);
044        TGroomTableSqlNode sqlNode = (TGroomTableSqlNode)rootNode;
045        tableName = sqlNode.getTableName();
046        modeChoice = sqlNode.getModeChoice();
047        reclaimChoice = sqlNode.getReclaimChoice();
048
049        return 0;
050    }
051
052    public void accept(TParseTreeVisitor v){
053        v.preVisit(this);
054        v.postVisit(this);
055    }
056
057    public void acceptChildren(TParseTreeVisitor v){
058        v.preVisit(this);
059        v.postVisit(this);
060    }
061
062    public void setTableName(TObjectName tableName) {
063        this.tableName = tableName;
064    }
065
066    public void setModeChoice(TModeChoice modeChoice) {
067        this.modeChoice = modeChoice;
068    }
069
070    public void setReclaimChoice(TReclaimChoice reclaimChoice) {
071        this.reclaimChoice = reclaimChoice;
072    }
073}