fix: return err msg if use wrong database in MySQL (#1866)

This commit is contained in:
shuiyisong
2023-07-03 17:31:09 +08:00
committed by GitHub
parent 2c0c4672b4
commit e1bb7acfe5

View File

@@ -344,10 +344,16 @@ impl<W: AsyncWrite + Send + Sync + Unpin> AsyncMysqlShim<W> for MysqlInstanceShi
async fn on_init<'a>(&'a mut self, database: &'a str, w: InitWriter<'a, W>) -> Result<()> {
let (catalog, schema) = crate::parse_catalog_and_schema_from_client_database_name(database);
ensure!(
self.query_handler.is_valid_schema(catalog, schema).await?,
error::DatabaseNotFoundSnafu { catalog, schema }
);
if !self.query_handler.is_valid_schema(catalog, schema).await? {
return w
.error(
ErrorKind::ER_WRONG_DB_NAME,
format!("Unknown database '{}'", database).as_bytes(),
)
.await
.map_err(|e| e.into());
}
let user_info = &self.session.user_info();