001package gudusoft.gsqlparser.stmt; 002 003import gudusoft.gsqlparser.EDbVendor; 004import gudusoft.gsqlparser.ESqlStatementType; 005import gudusoft.gsqlparser.TCustomSqlStatement; 006import gudusoft.gsqlparser.nodes.TGrantSqlNode; 007import gudusoft.gsqlparser.nodes.TObjectNameList; 008import gudusoft.gsqlparser.nodes.TPTNodeList; 009import gudusoft.gsqlparser.nodes.TParseTreeVisitor; 010import gudusoft.gsqlparser.nodes.couchbase.TRoleSpec; 011 012 013public class TGrantStmt extends TCustomSqlStatement { 014 private TPTNodeList<TRoleSpec> roleList; 015 private TObjectNameList userList; 016 017 public TPTNodeList<TRoleSpec> getRoleList() { 018 return roleList; 019 } 020 021 public TObjectNameList getUserList() { 022 return userList; 023 } 024 025 public TGrantStmt(EDbVendor dbvendor) { 026 super(dbvendor); 027 sqlstatementtype = ESqlStatementType.sstGrant; 028 } 029 030 public int doParseStatement(TCustomSqlStatement psql) { 031 if (rootNode == null) return -1; 032 super.doParseStatement(psql); 033 TGrantSqlNode grantSqlNode = (TGrantSqlNode)rootNode; 034 035 userList = grantSqlNode.getUserList(); 036 roleList = grantSqlNode.getRoleList(); 037 038 return 0; 039 } 040 public void accept(TParseTreeVisitor v){ 041 v.preVisit(this); 042 v.postVisit(this); 043 } 044 045 public void acceptChildren(TParseTreeVisitor v){ 046 v.preVisit(this); 047 v.postVisit(this); 048 } 049 050}