001package gudusoft.gsqlparser.stmt; 002 003 004import gudusoft.gsqlparser.EDbVendor; 005import gudusoft.gsqlparser.ESqlStatementType; 006import gudusoft.gsqlparser.TCustomSqlStatement; 007import gudusoft.gsqlparser.TSourceToken; 008import gudusoft.gsqlparser.nodes.TDummy; 009import gudusoft.gsqlparser.nodes.TObjectName; 010import gudusoft.gsqlparser.nodes.TParseTreeVisitor; 011 012public class TCreateRoleStmt extends TCustomSqlStatement { 013 014 private TObjectName roleName; 015 016 public void setRoleName(TObjectName roleName) { 017 this.roleName = roleName; 018 } 019 020 public TObjectName getRoleName() { 021 022 return roleName; 023 } 024 025 public TCreateRoleStmt(EDbVendor dbvendor) { 026 super(dbvendor); 027 sqlstatementtype = ESqlStatementType.sstcreaterole; 028 } 029 030 public int doParseStatement(TCustomSqlStatement psql) { 031 if (rootNode == null) return -1; 032 super.doParseStatement(psql); 033 TDummy node = (TDummy)rootNode; 034 roleName = (TObjectName)(node.node1); 035 if (getSqlEnv().getDefaultCatalogName() != null){ 036 if (roleName.getDatabaseToken() == null){ 037 roleName.setDatabaseToken(new TSourceToken(getSqlEnv().getDefaultCatalogName())); 038 } 039 } 040 return 0; 041 } 042 043 public void accept(TParseTreeVisitor v){ 044 v.preVisit(this); 045 v.postVisit(this); 046 } 047 048 public void acceptChildren(TParseTreeVisitor v){ 049 v.preVisit(this); 050 v.postVisit(this); 051 } 052}