001package gudusoft.gsqlparser.stmt.hive; 002/* 003 * Date: 13-7-29 004 */ 005 006import gudusoft.gsqlparser.EDbVendor; 007import gudusoft.gsqlparser.ESqlStatementType; 008import gudusoft.gsqlparser.TCustomSqlStatement; 009import gudusoft.gsqlparser.nodes.TObjectNameList; 010import gudusoft.gsqlparser.nodes.TPTNodeList; 011import gudusoft.gsqlparser.nodes.TParseTreeVisitor; 012import gudusoft.gsqlparser.nodes.hive.THiveGrantRoleSqlNode; 013import gudusoft.gsqlparser.nodes.hive.THivePrincipalName; 014 015public class THiveGrantRole extends TCustomSqlStatement { 016 017 private TObjectNameList roleList; 018 private TPTNodeList<THivePrincipalName> principals; 019 020 public THiveGrantRole(EDbVendor dbvendor) { 021 super(dbvendor); 022 sqlstatementtype = ESqlStatementType.ssthiveGrantRole; 023 } 024 025 public TObjectNameList getRoleList() { 026 return roleList; 027 } 028 029 public TPTNodeList<THivePrincipalName> getPrincipals() { 030 return principals; 031 } 032 033 public int doParseStatement(TCustomSqlStatement psql) { 034 if (rootNode == null) return -1; 035 super.doParseStatement(psql); 036 THiveGrantRoleSqlNode node = (THiveGrantRoleSqlNode)rootNode; 037 roleList = node.getRoleList(); 038 principals = node.getPrincipals(); 039 040 041 042 return 0; 043 } 044 045 public void accept(TParseTreeVisitor v){ 046 v.preVisit(this); 047 v.postVisit(this); 048 } 049 050 public void acceptChildren(TParseTreeVisitor v){ 051 v.preVisit(this); 052 if (roleList != null) roleList.acceptChildren(v); 053 if (principals != null) principals.acceptChildren(v); 054 v.postVisit(this); 055 } 056 057 public void setRoleList(TObjectNameList roleList) { 058 this.roleList = roleList; 059 } 060 061 public void setPrincipals(TPTNodeList<THivePrincipalName> principals) { 062 this.principals = principals; 063 } 064}