diff --git a/crates/dbx-core/src/agent_connection.rs b/crates/dbx-core/src/agent_connection.rs index 930851608c..bc80963fcd 100644 --- a/crates/dbx-core/src/agent_connection.rs +++ b/crates/dbx-core/src/agent_connection.rs @@ -320,7 +320,7 @@ fn trino_agent_jdbc_params(config: &ConnectionConfig, base: &str) -> String { if !user_params.is_empty() { params.push(user_params.to_string()); } - if config.ssl && !url_params_has_key(&user_params, "SSL") && !url_has_query_key(base, "SSL") { + if config.ssl && !url_params_has_key(user_params, "SSL") && !url_has_query_key(base, "SSL") { params.push("SSL=true".to_string()); } params.join("&") @@ -372,7 +372,9 @@ fn append_agent_url_params(base: String, params: Option<&str>) -> String { #[cfg(test)] mod tests { use super::*; - use crate::models::connection::{default_connect_timeout_secs, default_query_timeout_secs}; + use crate::models::connection::{ + default_connect_timeout_secs, default_idle_timeout_secs, default_query_timeout_secs, + }; fn config(db_type: DatabaseType, database: Option<&str>) -> ConnectionConfig { ConnectionConfig { @@ -393,6 +395,7 @@ mod tests { transport_layers: Vec::new(), connect_timeout_secs: default_connect_timeout_secs(), query_timeout_secs: default_query_timeout_secs(), + idle_timeout_secs: default_idle_timeout_secs(), ssl: false, ca_cert_path: String::new(), client_cert_path: String::new(), diff --git a/crates/dbx-core/src/cloud_sync.rs b/crates/dbx-core/src/cloud_sync.rs index 8bfc1c4636..44877a2ff0 100644 --- a/crates/dbx-core/src/cloud_sync.rs +++ b/crates/dbx-core/src/cloud_sync.rs @@ -576,6 +576,7 @@ mod tests { })], connect_timeout_secs: 5, query_timeout_secs: 30, + idle_timeout_secs: 60, ssl: false, ca_cert_path: String::new(), client_cert_path: String::new(), diff --git a/crates/dbx-core/src/connection.rs b/crates/dbx-core/src/connection.rs index 10695ab7c2..2632f1db5c 100644 --- a/crates/dbx-core/src/connection.rs +++ b/crates/dbx-core/src/connection.rs @@ -1190,6 +1190,7 @@ mod tests { transport_layers: Vec::new(), connect_timeout_secs: default_connect_timeout_secs(), query_timeout_secs: crate::models::connection::default_query_timeout_secs(), + idle_timeout_secs: crate::models::connection::default_idle_timeout_secs(), ssl: false, ca_cert_path: String::new(), client_cert_path: String::new(), diff --git a/crates/dbx-core/src/connection_secrets.rs b/crates/dbx-core/src/connection_secrets.rs index b8caaa9393..d8d897dc08 100644 --- a/crates/dbx-core/src/connection_secrets.rs +++ b/crates/dbx-core/src/connection_secrets.rs @@ -491,6 +491,7 @@ mod tests { transport_layers: Vec::new(), connect_timeout_secs: crate::models::connection::default_connect_timeout_secs(), query_timeout_secs: crate::models::connection::default_query_timeout_secs(), + idle_timeout_secs: crate::models::connection::default_idle_timeout_secs(), ssl: false, ca_cert_path: String::new(), client_cert_path: String::new(), diff --git a/crates/dbx-core/src/models/connection.rs b/crates/dbx-core/src/models/connection.rs index d6e4e1971a..cb3e74aa56 100644 --- a/crates/dbx-core/src/models/connection.rs +++ b/crates/dbx-core/src/models/connection.rs @@ -1321,6 +1321,7 @@ mod tests { transport_layers: Vec::new(), connect_timeout_secs: super::default_connect_timeout_secs(), query_timeout_secs: default_query_timeout_secs(), + idle_timeout_secs: super::default_idle_timeout_secs(), ssl: false, ca_cert_path: String::new(), client_cert_path: String::new(), diff --git a/crates/dbx-core/src/query.rs b/crates/dbx-core/src/query.rs index 05897bc0f2..0b94750bdf 100644 --- a/crates/dbx-core/src/query.rs +++ b/crates/dbx-core/src/query.rs @@ -840,11 +840,8 @@ pub async fn execute_sql_statement_with_options( match &result { Err(e) if is_connection_error(e) && !is_canceled(&cancel_token) => { let db_opt = if database.is_empty() { None } else { Some(database) }; - let new_key = if database.is_empty() { - state.reconnect_pool_for_session(connection_id, db_opt, options.client_session_id.as_deref()).await? - } else { - state.reconnect_pool_for_session(connection_id, db_opt, options.client_session_id.as_deref()).await? - }; + let new_key = + state.reconnect_pool_for_session(connection_id, db_opt, options.client_session_id.as_deref()).await?; do_execute(state, &new_key, mysql_dialect, Some(database), sql, schema, cancel_token, options).await } _ => result, @@ -1732,6 +1729,7 @@ mod tests { transport_layers: Vec::new(), connect_timeout_secs: 5, query_timeout_secs: 30, + idle_timeout_secs: 60, ssl: false, ca_cert_path: String::new(), client_cert_path: String::new(), diff --git a/crates/dbx-core/src/schema.rs b/crates/dbx-core/src/schema.rs index 34cbb33736..6e3cce50e3 100644 --- a/crates/dbx-core/src/schema.rs +++ b/crates/dbx-core/src/schema.rs @@ -638,6 +638,7 @@ mod tests { transport_layers: Vec::new(), connect_timeout_secs: 5, query_timeout_secs: 30, + idle_timeout_secs: 60, ssl: false, ca_cert_path: String::new(), client_cert_path: String::new(), diff --git a/crates/dbx-core/src/transfer.rs b/crates/dbx-core/src/transfer.rs index eb09753783..e6b4dad58e 100644 --- a/crates/dbx-core/src/transfer.rs +++ b/crates/dbx-core/src/transfer.rs @@ -3135,6 +3135,7 @@ mod tests { transport_layers: Vec::new(), connect_timeout_secs: 5, query_timeout_secs: 30, + idle_timeout_secs: 60, ssl: false, ca_cert_path: String::new(), client_cert_path: String::new(), diff --git a/crates/dbx-core/tests/live_postgres_transfer.rs b/crates/dbx-core/tests/live_postgres_transfer.rs index 7a721a6255..87fdf91fbf 100644 --- a/crates/dbx-core/tests/live_postgres_transfer.rs +++ b/crates/dbx-core/tests/live_postgres_transfer.rs @@ -27,6 +27,7 @@ fn postgres_test_config(id: &str, database: &str) -> ConnectionConfig { transport_layers: Vec::new(), connect_timeout_secs: 5, query_timeout_secs: 30, + idle_timeout_secs: 60, ssl: false, ca_cert_path: String::new(), client_cert_path: String::new(), diff --git a/crates/dbx-web/src/routes/connection.rs b/crates/dbx-web/src/routes/connection.rs index e84e9b7b8d..99f9ee5ef5 100644 --- a/crates/dbx-web/src/routes/connection.rs +++ b/crates/dbx-web/src/routes/connection.rs @@ -179,6 +179,7 @@ mod tests { transport_layers: Vec::new(), connect_timeout_secs: dbx_core::models::connection::default_connect_timeout_secs(), query_timeout_secs: dbx_core::models::connection::default_query_timeout_secs(), + idle_timeout_secs: dbx_core::models::connection::default_idle_timeout_secs(), ssl: false, ca_cert_path: String::new(), client_cert_path: String::new(), diff --git a/src-tauri/src/commands/connection.rs b/src-tauri/src/commands/connection.rs index b88e24de14..fe7764711b 100644 --- a/src-tauri/src/commands/connection.rs +++ b/src-tauri/src/commands/connection.rs @@ -173,6 +173,7 @@ mod tests { transport_layers: Vec::new(), connect_timeout_secs: dbx_core::models::connection::default_connect_timeout_secs(), query_timeout_secs: dbx_core::models::connection::default_query_timeout_secs(), + idle_timeout_secs: dbx_core::models::connection::default_idle_timeout_secs(), ssl: false, ca_cert_path: String::new(), client_cert_path: String::new(),