fix: let users opt into system databases
This commit is contained in:
1 parent
7bdacc52ba
commit
76a0b9f76d
11 files changed
+190
-35
No files matched your search
@@ -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())
|
||||
}
|
||||
|
||||
|
||||
@@ -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())?;
|
||||
|
||||
@@ -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",
|
||||
&[],
|
||||
)
|
||||
|
||||
Reference in new issue
Block a user