001package gudusoft.gsqlparser.stmt.snowflake;
002
003import gudusoft.gsqlparser.EDbObjectType;
004import gudusoft.gsqlparser.EDbVendor;
005import gudusoft.gsqlparser.ESqlStatementType;
006import gudusoft.gsqlparser.TCustomSqlStatement;
007import gudusoft.gsqlparser.nodes.TDummy;
008import gudusoft.gsqlparser.nodes.TObjectName;
009import gudusoft.gsqlparser.nodes.TParseTreeVisitor;
010
011public class TUseRole extends TCustomSqlStatement {
012
013    public TObjectName getRoleName() {
014        return roleName;
015    }
016
017    private TObjectName roleName;
018
019    public TUseRole(EDbVendor dbvendor) {
020        super(dbvendor);
021        sqlstatementtype = ESqlStatementType.sstUseRole;
022    }
023
024    public int doParseStatement(TCustomSqlStatement psql) {
025        if (rootNode == null) return -1;
026        super.doParseStatement(psql);
027        TDummy dummySqlNode = (TDummy)rootNode;
028
029        super.doParseStatement(psql);
030        this.roleName = (TObjectName)dummySqlNode.node1;
031        this.roleName.setDbObjectType(EDbObjectType.role);
032
033        return 0;
034    }
035
036    public void accept(TParseTreeVisitor v){
037        v.preVisit(this);
038        v.postVisit(this);
039    }
040
041    public void acceptChildren(TParseTreeVisitor v){
042        v.preVisit(this);
043        v.postVisit(this);
044    }
045
046}
047