feat: make query timeout configurable via global settings (default 30s)
Add queryTimeoutSecs to editor settings with UI control in the settings dialog. 0 means no timeout. Applied to all query execution paths including sidebar table data loading and EXPLAIN queries. Closes #441.
This commit is contained in:
1 parent
db00051632
commit
792c816a17
10 files changed
+127
-18
No files matched your search
@@ -22,6 +22,7 @@ pub async fn execute_query(
|
||||
page_size: Option<usize>,
|
||||
result_session_id: Option<String>,
|
||||
client_session_id: Option<String>,
|
||||
timeout_secs: Option<u64>,
|
||||
) -> Result<db::QueryResult, String> {
|
||||
let registered_query =
|
||||
execution_id.as_ref().filter(|id| !id.trim().is_empty()).map(|id| state.running_queries.register(id.clone()));
|
||||
@@ -40,6 +41,7 @@ pub async fn execute_query(
|
||||
page_size,
|
||||
result_session_id,
|
||||
client_session_id,
|
||||
timeout_secs,
|
||||
},
|
||||
)
|
||||
.await
|
||||
@@ -58,6 +60,7 @@ pub async fn execute_multi(
|
||||
page_size: Option<usize>,
|
||||
result_session_id: Option<String>,
|
||||
client_session_id: Option<String>,
|
||||
timeout_secs: Option<u64>,
|
||||
) -> Result<Vec<db::QueryResult>, String> {
|
||||
let registered_query =
|
||||
execution_id.as_ref().filter(|id| !id.trim().is_empty()).map(|id| state.running_queries.register(id.clone()));
|
||||
@@ -85,6 +88,7 @@ pub async fn execute_multi(
|
||||
page_size,
|
||||
result_session_id,
|
||||
client_session_id,
|
||||
timeout_secs,
|
||||
},
|
||||
)
|
||||
.await;
|
||||
|
||||
Reference in new issue
Block a user