From f5c1d5d9bccbf4a70de93f39d34f6815ad6c39db Mon Sep 17 00:00:00 2001 From: "Lei, HUANG" <6406592+v0y4g3r@users.noreply.github.com> Date: Wed, 6 May 2026 17:12:55 +0800 Subject: [PATCH] fix: preserve case in database name from connection string (#8062) `parse_optional_catalog_and_schema_from_db_string` unconditionally lowercased database/schema names, causing quoted database names (e.g. `CREATE DATABASE "TestQuery"`) to be stored with preserved case but looked up as lowercase on connection, resulting in "Database not found". Fixes #8059 Signed-off-by: Lei, HUANG --- src/common/catalog/src/lib.rs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/common/catalog/src/lib.rs b/src/common/catalog/src/lib.rs index 1e9534532e..592e0df8fe 100644 --- a/src/common/catalog/src/lib.rs +++ b/src/common/catalog/src/lib.rs @@ -74,9 +74,9 @@ pub fn parse_catalog_and_schema_from_db_string(db: &str) -> (String, String) { pub fn parse_optional_catalog_and_schema_from_db_string(db: &str) -> (Option, String) { let parts = db.splitn(2, '-').collect::>(); if parts.len() == 2 { - (Some(parts[0].to_lowercase()), parts[1].to_lowercase()) + (Some(parts[0].to_string()), parts[1].to_string()) } else { - (None, db.to_lowercase()) + (None, db.to_string()) } } @@ -118,7 +118,7 @@ mod tests { ); assert_eq!( - (Some("catalog".to_string()), "schema".to_string()), + (Some("CATALOG".to_string()), "SCHEMA".to_string()), parse_optional_catalog_and_schema_from_db_string("CATALOG-SCHEMA") );