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.TObjectName; 008import gudusoft.gsqlparser.nodes.TObjectNameList; 009import gudusoft.gsqlparser.nodes.TParseTreeVisitor; 010import gudusoft.gsqlparser.nodes.TPartitionExtensionClause; 011import gudusoft.gsqlparser.nodes.hive.THivePrincipalName; 012import gudusoft.gsqlparser.nodes.hive.THiveShowGrantSqlNode; 013 014public class THiveShowGrant extends TCustomSqlStatement { 015 016 private THivePrincipalName principalName; 017 private TObjectName tableName; 018 private TSourceToken tableToken; 019 private TPartitionExtensionClause partitionSpec; 020 private TObjectNameList columns; 021 022 public THiveShowGrant(EDbVendor dbvendor) { 023 super(dbvendor); 024 sqlstatementtype = ESqlStatementType.ssthiveShowGrants; 025 } 026 027 public THivePrincipalName getPrincipalName() { 028 return principalName; 029 } 030 031 public TObjectName getTableName() { 032 return tableName; 033 } 034 035 public TSourceToken getTableToken() { 036 return tableToken; 037 } 038 039 public TPartitionExtensionClause getPartitionSpec() { 040 return partitionSpec; 041 } 042 043 public TObjectNameList getColumns() { 044 return columns; 045 } 046 047 public int doParseStatement(TCustomSqlStatement psql) { 048 if (rootNode == null) return -1; 049 super.doParseStatement(psql); 050 THiveShowGrantSqlNode node = (THiveShowGrantSqlNode)rootNode; 051 052 principalName = node.getPrincipalName(); 053 tableName = node.getTableName(); 054 tableToken = node.getTableToken(); 055 partitionSpec = node.getPartitionSpec(); 056 columns = node.getColumns(); 057 058 return 0; 059 } 060 061 public void accept(TParseTreeVisitor v){ 062 v.preVisit(this); 063 v.postVisit(this); 064 } 065 066 public void acceptChildren(TParseTreeVisitor v){ 067 v.preVisit(this); 068 v.postVisit(this); 069 } 070 071 public void setPrincipalName(THivePrincipalName principalName) { 072 this.principalName = principalName; 073 } 074 075 public void setTableName(TObjectName tableName) { 076 this.tableName = tableName; 077 } 078 079 public void setPartitionSpec(TPartitionExtensionClause partitionSpec) { 080 this.partitionSpec = partitionSpec; 081 } 082 083 public void setColumns(TObjectNameList columns) { 084 this.columns = columns; 085 } 086}