fix(desktop): scale multi-statement query timeout (#2544)
This commit is contained in:
1 parent
2225343e8a
commit
3a2abf4a49
3 files changed
+31
-4
No files matched your search
@@ -1,4 +1,5 @@
|
||||
import type { ConnectionConfig } from "@/types/database";
|
||||
import { splitSqlStatementRanges } from "@/lib/sqlStatementRanges";
|
||||
import type { ConnectionConfig, DatabaseType } from "@/types/database";
|
||||
|
||||
export const DEFAULT_QUERY_TIMEOUT_SECS = 30;
|
||||
|
||||
@@ -6,3 +7,11 @@ export function queryTimeoutSecsForConnection(connection?: Pick<ConnectionConfig
|
||||
const value = Number(connection?.query_timeout_secs);
|
||||
return Number.isFinite(value) && value >= 0 ? value : DEFAULT_QUERY_TIMEOUT_SECS;
|
||||
}
|
||||
|
||||
export function frontendQueryTimeoutSecsForSql(sql: string, databaseType: DatabaseType | undefined, queryTimeoutSecs: number): number {
|
||||
if (queryTimeoutSecs === 0) return 0;
|
||||
|
||||
const baseTimeoutSecs = Math.max(queryTimeoutSecs * 2, 60);
|
||||
const statementCount = Math.max(splitSqlStatementRanges(sql, databaseType).length, 1);
|
||||
return baseTimeoutSecs * statementCount;
|
||||
}
|
||||
Reference in new issue
Block a user