001package gudusoft.gsqlparser.stmt; 002 003import gudusoft.gsqlparser.EDbVendor; 004import gudusoft.gsqlparser.ESqlStatementType; 005import gudusoft.gsqlparser.TCustomSqlStatement; 006import gudusoft.gsqlparser.nodes.TDummy; 007import gudusoft.gsqlparser.nodes.TObjectName; 008import gudusoft.gsqlparser.nodes.TObjectNameList; 009import gudusoft.gsqlparser.nodes.TParseTreeVisitor; 010import gudusoft.gsqlparser.stmt.redshift.EAlterGroup; 011 012 013public class TAlterGroup extends TCustomSqlStatement { 014 015 private TObjectName groupName; 016 private TObjectName newGroupName; 017 private TObjectNameList userList; 018 private EAlterGroup alterGroupType; 019 020 public EAlterGroup getAlterGroupType() { 021 return alterGroupType; 022 } 023 024 public TObjectName getGroupName() { 025 return groupName; 026 } 027 028 public TObjectName getNewGroupName() { 029 return newGroupName; 030 } 031 032 public TObjectNameList getUserList() { 033 return userList; 034 } 035 036 public TAlterGroup(EDbVendor dbvendor) { 037 super(dbvendor); 038 sqlstatementtype = ESqlStatementType.sstAlterGroup; 039 } 040 041 public int doParseStatement(TCustomSqlStatement psql) { 042 if (rootNode == null) return -1; 043 super.doParseStatement(psql); 044 TDummy dummy = (TDummy)rootNode; 045 groupName = (TObjectName)(dummy.node1); 046 switch (dummy.int1){ 047 case 1: { 048 alterGroupType = EAlterGroup.eagAddUser; 049 userList = (TObjectNameList)(dummy.list1); 050 break; 051 } 052 case 2:{ 053 alterGroupType = EAlterGroup.eagDropUser; 054 userList = (TObjectNameList)(dummy.list1); 055 break; 056 } 057 case 3:{ 058 alterGroupType = EAlterGroup.eagRename; 059 newGroupName = (TObjectName)(dummy.node2); 060 break; 061 } 062 } 063 064 return 0; 065 } 066 067 public void accept(TParseTreeVisitor v){ 068 v.preVisit(this); 069 v.postVisit(this); 070 } 071 072 public void acceptChildren(TParseTreeVisitor v){ 073 v.preVisit(this); 074 v.postVisit(this); 075 } 076 077 public void setGroupName(TObjectName groupName) { 078 this.groupName = groupName; 079 } 080 081 public void setNewGroupName(TObjectName newGroupName) { 082 this.newGroupName = newGroupName; 083 } 084 085 public void setUserList(TObjectNameList userList) { 086 this.userList = userList; 087 } 088 089 public void setAlterGroupType(EAlterGroup alterGroupType) { 090 this.alterGroupType = alterGroupType; 091 } 092}