001package gudusoft.gsqlparser.stmt;
002
003
004import gudusoft.gsqlparser.EDbObjectType;
005import gudusoft.gsqlparser.EDbVendor;
006import gudusoft.gsqlparser.ESqlStatementType;
007import gudusoft.gsqlparser.TCustomSqlStatement;
008import gudusoft.gsqlparser.nodes.TDummy;
009import gudusoft.gsqlparser.nodes.TObjectName;
010import gudusoft.gsqlparser.nodes.TParseTreeVisitor;
011
012public class TDropTriggerSqlStatement extends TCustomSqlStatement {
013
014    private boolean ifExists = false;
015
016    public boolean isIfExists() {
017        return ifExists;
018    }
019
020    private TObjectName tableName;
021
022    public TObjectName getTableName() {
023        return tableName;
024    }
025
026    public TObjectName getTriggerName() {
027        return triggerName;
028    }
029
030    private TObjectName triggerName;
031
032    public TDropTriggerSqlStatement(EDbVendor dbvendor) {
033        super(dbvendor);
034        sqlstatementtype = ESqlStatementType.sstdroptrigger;
035    }
036
037    public int doParseStatement(TCustomSqlStatement psql) {
038        if (rootNode == null) return -1;
039        super.doParseStatement(psql);
040        TDummy dummy = (TDummy)rootNode;
041        this.triggerName = (TObjectName) dummy.node1;
042        this.triggerName.setDbObjectType(EDbObjectType.trigger);
043        if (dummy.node2 != null){
044            this.tableName = (TObjectName)dummy.node2;
045        }
046        this.ifExists = dummy.ifExists;
047
048        return 0;
049    }
050    public void accept(TParseTreeVisitor v){
051        v.preVisit(this);
052
053        v.postVisit(this);
054    }
055
056    public void acceptChildren(TParseTreeVisitor v){
057        v.preVisit(this);
058
059        v.postVisit(this);
060    }
061}