From 22413aba4fe460da4a31d1e652cdbab8e3374a46 Mon Sep 17 00:00:00 2001 From: Lifei Zhou Date: Mon, 19 Oct 2026 00:48:34 +0000 Subject: [PATCH] perf: optimise list session db query (#12940) --- crates/goose/src/session/session_manager.rs | 26 +++++++++++++-------- 1 file changed, 16 insertions(+), 10 deletions(-) diff --git a/crates/goose/src/session/session_manager.rs b/crates/goose/src/session/session_manager.rs index 1d9a8da79e..74e6405f13 100644 --- a/crates/goose/src/session/session_manager.rs +++ b/crates/goose/src/session/session_manager.rs @@ -2318,16 +2318,22 @@ impl SessionStorage { s.provider_name, s.model_config_json, s.goose_mode, s.archived_at, s.project_id, s.parent_session_id, s.system_prompt_override, s.system_prompt_extras_json, s.container_id, - {} as message_count, - MAX({}) as last_message_timestamp, - {} as sort_timestamp - FROM sessions s - {} - {} - GROUP BY s.id - {} - {} - {} + page.message_count, page.last_message_timestamp, page.sort_timestamp + FROM ( + SELECT s.id, + {} as message_count, + MAX({}) as last_message_timestamp, + {} as sort_timestamp + FROM sessions s + {} + {} + GROUP BY s.id + {} + {} + {} + ) page + JOIN sessions s ON s.id = page.id + ORDER BY page.sort_timestamp DESC, s.id DESC "#, message_count_sql, normalized_message_timestamp,