001package gudusoft.gsqlparser.stmt; 002 003 004import gudusoft.gsqlparser.*; 005import gudusoft.gsqlparser.nodes.TDummy; 006import gudusoft.gsqlparser.nodes.TObjectName; 007import gudusoft.gsqlparser.nodes.TParseTreeVisitor; 008 009/** 010 * @deprecated since v2.6.2.8, please use {@link TUseDatabase} instead. 011 */ 012public class TUseStmt extends TCustomSqlStatement { 013 014 public TUseStmt(EDbVendor dbvendor) { 015 super(dbvendor); 016 sqlstatementtype = ESqlStatementType.sstUse; 017 } 018 019 020 021 private TObjectName dbObjectName = null; 022 private EDbObjectType dbObjectType; 023 024 public TObjectName getDbObjectName() { 025 return dbObjectName; 026 } 027 028 public EDbObjectType getDbObjectType() { 029 return dbObjectType; 030 } 031 032 public int doParseStatement(TCustomSqlStatement psql) { 033 if (rootNode == null) return -1; 034 TDummy dummySqlNode = (TDummy) rootNode; 035 036 super.doParseStatement(psql); 037 this.dbObjectName = (TObjectName) dummySqlNode.node1; 038 this.dbObjectName.setDbObjectType(dummySqlNode.objectType); 039 dbObjectType = dummySqlNode.objectType; 040 switch (dbObjectType){ 041 case database: 042 if (getSqlEnv() != null) getSqlEnv().setDefaultCatalogName(dbObjectName.toString()); 043 break; 044 case schema: 045 if (getSqlEnv() != null) getSqlEnv().setDefaultSchemaName(dbObjectName.toString()); 046 break; 047 } 048 049 050// if (getGlobalScope() != null){ 051// getGlobalScope().setDefaultDB(dbObjectName.toString()); 052// } 053 054 return 0; 055 } 056 057 public void accept(TParseTreeVisitor v) { 058 v.preVisit(this); 059 v.postVisit(this); 060 } 061 062 public void acceptChildren(TParseTreeVisitor v) { 063 v.preVisit(this); 064 v.postVisit(this); 065 } 066 067 public void setDbObjectName(TObjectName dbObjectName) { 068 this.dbObjectName = dbObjectName; 069 } 070}