Skip to content

Commit

Permalink
update
Browse files Browse the repository at this point in the history
  • Loading branch information
Yulei-Yang committed Jul 18, 2024
1 parent 4442420 commit 7e039d3
Show file tree
Hide file tree
Showing 3 changed files with 31 additions and 11 deletions.
6 changes: 3 additions & 3 deletions fe/fe-core/src/main/java/org/apache/doris/catalog/Env.java
Original file line number Diff line number Diff line change
Expand Up @@ -5369,7 +5369,7 @@ public void cancelAlterCluster(CancelAlterSystemStmt stmt) throws DdlException {
this.alter.getClusterHandler().cancel(stmt);
}

// Switch catalog of this sesseion.
// Switch catalog of this session
public void changeCatalog(ConnectContext ctx, String catalogName) throws DdlException {
CatalogIf catalogIf = catalogMgr.getCatalog(catalogName);
if (catalogIf == null) {
Expand All @@ -5381,11 +5381,11 @@ public void changeCatalog(ConnectContext ctx, String catalogName) throws DdlExce
if (StringUtils.isNotEmpty(currentDB)) {
// When dropped the current catalog in current context, the current catalog will be null.
if (ctx.getCurrentCatalog() != null) {
ConnectContext.get().addLastDBOfCatalog(ctx.getCurrentCatalog().getName(), currentDB);
ctx.addLastDBOfCatalog(ctx.getCurrentCatalog().getName(), currentDB);
}
}
ctx.changeDefaultCatalog(catalogName);
String lastDb = ConnectContext.get().getLastDBOfCatalog(catalogName);
String lastDb = ctx.getLastDBOfCatalog(catalogName);
if (StringUtils.isNotEmpty(lastDb)) {
ctx.setDatabase(lastDb);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -138,7 +138,9 @@ private CatalogIf removeCatalog(long catalogId) {
if (catalog != null) {
catalog.onClose();
nameToCatalog.remove(catalog.getName());
ConnectContext.get().removeLastDBOfCatalog(catalog.getName());
if (ConnectContext.get() != null) {
ConnectContext.get().removeLastDBOfCatalog(catalog.getName());
}
Env.getCurrentEnv().getExtMetaCacheMgr().removeCache(catalog.getId());
if (!Strings.isNullOrEmpty(catalog.getResource())) {
Resource catalogResource = Env.getCurrentEnv().getResourceMgr().getResource(catalog.getResource());
Expand Down Expand Up @@ -272,7 +274,9 @@ public void dropCatalog(DropCatalogStmt stmt) throws UserException {
replayDropCatalog(log);
Env.getCurrentEnv().getEditLog().logCatalogLog(OperationType.OP_DROP_CATALOG, log);

ConnectContext.get().removeLastDBOfCatalog(stmt.getCatalogName());
if (ConnectContext.get() != null) {
ConnectContext.get().removeLastDBOfCatalog(stmt.getCatalogName());
}
Env.getCurrentEnv().getQueryStats().clear(catalog.getId());
} finally {
writeUnlock();
Expand All @@ -297,10 +301,12 @@ public void alterCatalogName(AlterCatalogNameStmt stmt) throws UserException {
Env.getCurrentEnv().getEditLog().logCatalogLog(OperationType.OP_ALTER_CATALOG_NAME, log);

ConnectContext ctx = ConnectContext.get();
String db = ctx.getLastDBOfCatalog(stmt.getCatalogName());
if (db != null) {
ctx.removeLastDBOfCatalog(stmt.getCatalogName());
ctx.addLastDBOfCatalog(log.getNewCatalogName(), db);
if (ctx != null) {
String db = ctx.getLastDBOfCatalog(stmt.getCatalogName());
if (db != null) {
ctx.removeLastDBOfCatalog(stmt.getCatalogName());
ctx.addLastDBOfCatalog(log.getNewCatalogName(), db);
}
}
} finally {
writeUnlock();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -145,10 +145,24 @@ suite("test_external_catalog_hive", "p0,external,hive,external_docker,external_d
sql """alter catalog ${catalog_name} rename hms;"""

sql """switch hms;"""

def res3 = sql """select count(*) from test.hive_test limit 10;"""
sql """use test;"""
def res3 = sql """select count(*) from hive_test limit 10;"""
logger.info("recoding select: " + res3.toString())

def user = 'account_user_test'
def pwd = 'C123_567p'
try_sql("DROP USER ${user}")
sql """CREATE USER '${user}' IDENTIFIED BY '${pwd}'"""
sql """GRANT SELECT_PRIV on *.*.* to '${user}'"""
def result1 = connect(user=user, password="${pwd}", url=context.config.jdbcUrl) {
sql """switch hms;"""
try {
sql """show tables;"""
} catch (Exception e) {
assertTrue(e.getMessage().contains("No database selected"))
}
}

sql """alter catalog hms rename ${catalog_name};"""

// test wrong access controller
Expand Down

0 comments on commit 7e039d3

Please sign in to comment.