001package gudusoft.gsqlparser.stmt.hive; 002 003import gudusoft.gsqlparser.EDbVendor; 004import gudusoft.gsqlparser.ESqlStatementType; 005import gudusoft.gsqlparser.TCustomSqlStatement; 006import gudusoft.gsqlparser.TSourceToken; 007import gudusoft.gsqlparser.nodes.TPTNodeList; 008import gudusoft.gsqlparser.nodes.TParseTreeVisitor; 009import gudusoft.gsqlparser.nodes.TTable; 010import gudusoft.gsqlparser.nodes.hive.THiveGrantSqlNode; 011import gudusoft.gsqlparser.nodes.hive.THivePrincipalName; 012import gudusoft.gsqlparser.nodes.hive.THivePrivilegeDef; 013 014public class THiveRevoke extends TCustomSqlStatement { 015 016 private TPTNodeList<THivePrincipalName> principals; 017 private TPTNodeList <THivePrivilegeDef> privilegeList; 018 private TTable table; 019 private TSourceToken tableToken; 020 021 public THiveRevoke(EDbVendor dbvendor) { 022 super(dbvendor); 023 sqlstatementtype = ESqlStatementType.ssthiveRevoke; 024 } 025 026 public TPTNodeList<THivePrincipalName> getPrincipals() { 027 return principals; 028 } 029 030 public TPTNodeList<THivePrivilegeDef> getPrivilegeList() { 031 return privilegeList; 032 } 033 034 public TTable getTable() { 035 return table; 036 } 037 038 public TSourceToken getTableToken() { 039 return tableToken; 040 } 041 042 public int doParseStatement(TCustomSqlStatement psql) { 043 if (rootNode == null) return -1; 044 super.doParseStatement(psql); 045 THiveGrantSqlNode node = (THiveGrantSqlNode)rootNode; 046 table = analyzeFromTable(node.getFromTable(),true); 047 principals = node.getPrincipals(); 048 privilegeList = node.getPrivilegeList(); 049 tableToken = node.getTableToken(); 050 051 return 0; 052 } 053 054 public void accept(TParseTreeVisitor v){ 055 v.preVisit(this); 056 v.postVisit(this); 057 } 058 059 public void acceptChildren(TParseTreeVisitor v){ 060 v.preVisit(this); 061 if (principals !=null) principals.accept(v); 062 if (privilegeList != null) privilegeList.accept(v); 063 v.postVisit(this); 064 } 065 066 public void setPrincipals(TPTNodeList<THivePrincipalName> principals) { 067 this.principals = principals; 068 } 069 070 public void setPrivilegeList(TPTNodeList<THivePrivilegeDef> privilegeList) { 071 this.privilegeList = privilegeList; 072 } 073 074 public void setTable(TTable table) { 075 this.table = table; 076 } 077}