fix: let users opt into system databases

This commit is contained in:
t8y2 committed 2026-05-26 12:06:48 +08:00
1 parent 7bdacc52ba
commit 76a0b9f76d
11 files changed
+190 -35

No files matched your search

+1 -8
View File
@@ -172,14 +172,7 @@ pub async fn test_connection(client: &ChClient) -> Result<(), String> {
}
pub async fn list_databases(client: &ChClient) -> Result<Vec<DatabaseInfo>, String> {
let result = ch_query(
client,
"SELECT name FROM system.databases \
WHERE name NOT IN ('system', 'INFORMATION_SCHEMA', 'information_schema') \
ORDER BY name",
None,
)
.await?;
let result = ch_query(client, "SELECT name FROM system.databases ORDER BY name", None).await?;
Ok(result.data.iter().map(|row| DatabaseInfo { name: row[0].as_str().unwrap_or("").to_string() }).collect())
}
+1 -5
View File
@@ -274,11 +274,7 @@ pub async fn connect_bare(url: &str) -> Result<MySqlPool, String> {
pub async fn list_databases(pool: &MySqlPool) -> Result<Vec<DatabaseInfo>, String> {
let mut conn = pool.get_conn().await.map_err(|e| e.to_string())?;
let result = conn
.query_iter(
"SELECT SCHEMA_NAME FROM information_schema.SCHEMATA \
WHERE SCHEMA_NAME NOT IN ('information_schema', 'mysql', 'performance_schema', 'sys') \
ORDER BY SCHEMA_NAME",
)
.query_iter("SELECT SCHEMA_NAME FROM information_schema.SCHEMATA ORDER BY SCHEMA_NAME")
.await
.map_err(|e| e.to_string())?;
let rows: Vec<mysql_async::Row> = result.collect_and_drop().await.map_err(|e| e.to_string())?;
+1 -2
View File
@@ -261,8 +261,7 @@ pub async fn list_databases(client: &mut SqlServerClient) -> Result<Vec<Database
.query(
"SELECT name \
FROM sys.databases \
WHERE database_id > 4 \
AND state = 0 \
WHERE state = 0 \
ORDER BY name",
&[],
)