001package gudusoft.gsqlparser.stmt;
002
003
004import gudusoft.gsqlparser.EDbVendor;
005import gudusoft.gsqlparser.ESqlStatementType;
006import gudusoft.gsqlparser.TCustomSqlStatement;
007import gudusoft.gsqlparser.nodes.TDropSequenceSqlNode;
008import gudusoft.gsqlparser.nodes.TObjectName;
009import gudusoft.gsqlparser.nodes.TObjectNameList;
010import gudusoft.gsqlparser.nodes.TParseTreeVisitor;
011
012public class TDropSequenceStmt extends TCustomSqlStatement {
013
014    private TObjectName sequenceName;
015    private TObjectNameList sequenceNameList;
016
017    public TObjectNameList getSequenceNameList() {
018        return sequenceNameList;
019    }
020
021    public TObjectName getSequenceName() {
022        return sequenceName;
023    }
024
025    public TDropSequenceStmt(EDbVendor dbvendor) {
026        super(dbvendor);
027        sqlstatementtype = ESqlStatementType.sstdropsequence;
028    }
029
030    public int doParseStatement(TCustomSqlStatement psql) {
031        if (rootNode == null) return -1;
032        super.doParseStatement(psql);
033        TDropSequenceSqlNode node =  (TDropSequenceSqlNode)rootNode;
034        sequenceName = node.getSequenceName();
035        if (node.getSequenceNameList() != null){
036            sequenceNameList = node.getSequenceNameList();
037            sequenceName = sequenceNameList.getObjectName(0);
038        }
039
040        return 0;
041    }
042    public void accept(TParseTreeVisitor v){
043        v.preVisit(this);
044        v.postVisit(this);
045    }
046
047    public void acceptChildren(TParseTreeVisitor v){
048        v.preVisit(this);
049        v.postVisit(this);
050    }
051
052    public void setSequenceName(TObjectName sequenceName) {
053        this.sequenceName = sequenceName;
054    }
055}