feat(execution): multi-database SQL execution with scoped targets

This commit is contained in:
miracle authored and GitHub committed 2026-08-09 14:24:10 +08:00
1 parent 328a2aa107
commit 71ccb3d97d
46 files changed
+4421 -182

No files matched your search

@@ -63,6 +63,8 @@ pub struct QueryResultExportRequest {
pub database: String,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub schema: Option<String>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub catalog: Option<String>,
pub sql: String,
pub query_base_sql: String,
#[serde(default, skip_serializing_if = "Vec::is_empty")]
@@ -712,6 +714,7 @@ async fn export_query_result_core_inner(
timeout_secs: request.timeout_secs,
client_session_id: request.client_session_id.clone(),
execution_id: request.execution_id.clone(),
catalog: request.catalog.clone(),
..Default::default()
}
} else {
@@ -721,6 +724,7 @@ async fn export_query_result_core_inner(
timeout_secs: request.timeout_secs,
client_session_id: request.client_session_id.clone(),
execution_id: request.execution_id.clone(),
catalog: request.catalog.clone(),
..Default::default()
}
};
@@ -1788,6 +1792,7 @@ mod tests {
connection_id: "conn-1".to_string(),
database: "db".to_string(),
schema: None,
catalog: None,
sql: "SELECT * FROM users".to_string(),
query_base_sql: "SELECT * FROM users".to_string(),
setup_sql: Vec::new(),