001package gudusoft.gsqlparser.stmt.snowflake;
002
003import gudusoft.gsqlparser.EDbObjectType;
004import gudusoft.gsqlparser.EDbVendor;
005import gudusoft.gsqlparser.ESqlClause;
006import gudusoft.gsqlparser.ESqlStatementType;
007import gudusoft.gsqlparser.TCustomSqlStatement;
008import gudusoft.gsqlparser.nodes.TObjectName;
009import gudusoft.gsqlparser.nodes.TParseTreeVisitor;
010import gudusoft.gsqlparser.nodes.TDummy;
011
012
013public class TDropStreamStmt extends TCustomSqlStatement {
014
015    private TObjectName streamName;
016    private boolean ifExists = false;
017    private boolean cascade = false;
018    private boolean restrict = false;
019
020    public TDropStreamStmt(EDbVendor dbvendor) {
021        super(dbvendor);
022        sqlstatementtype = ESqlStatementType.sstDropStream;
023    }
024
025    public int doParseStatement(TCustomSqlStatement psql) {
026        if (rootNode == null) return -1;
027        super.doParseStatement(psql);
028        TDummy node = (TDummy)rootNode;
029        streamName =(TObjectName) node.node1;
030        streamName.setDbObjectType(EDbObjectType.stream);
031
032        return 0;
033    }
034
035    public TObjectName getStreamName() {
036        return streamName;
037    }
038
039
040    public boolean isIfExists() {
041        return ifExists; 
042    }
043
044    public void setIfExists(boolean ifExists) {
045        this.ifExists = ifExists;
046    }
047
048    public boolean isCascade() {
049        return cascade;
050    }
051
052    public void setCascade(boolean cascade) {
053        this.cascade = cascade;
054    }
055
056    public boolean isRestrict() {
057        return restrict;
058    }
059
060    public void setRestrict(boolean restrict) {
061        this.restrict = restrict;
062    }
063
064    public void accept(TParseTreeVisitor v){
065        v.preVisit(this);
066        v.postVisit(this);
067    }
068
069    public void acceptChildren(TParseTreeVisitor v){
070        v.preVisit(this);
071        v.postVisit(this);
072    }
073}