fix: widen workbench runtime read capacity (#2173)

This commit is contained in:
Lyon
2026-06-26 03:08:56 +08:00
committed by GitHub
parent fc09614f24
commit d25e67ebbd
3 changed files with 24 additions and 1 deletions
+3
View File
@@ -102,9 +102,12 @@ var workbenchRuntimeReadIndexes = []string{
"CREATE INDEX IF NOT EXISTS idx_workbench_sessions_updated ON workbench_sessions(updated_at DESC, session_id)",
"CREATE INDEX IF NOT EXISTS idx_workbench_sessions_owner_updated ON workbench_sessions(owner_user_id, updated_at DESC, session_id)",
"CREATE INDEX IF NOT EXISTS idx_workbench_sessions_status_updated ON workbench_sessions(status, updated_at DESC, session_id)",
"CREATE INDEX IF NOT EXISTS idx_workbench_sessions_last_trace_updated ON workbench_sessions(last_trace_id, updated_at DESC, session_id)",
"CREATE INDEX IF NOT EXISTS idx_workbench_messages_session_updated ON workbench_messages(session_id, updated_at ASC, message_id)",
"CREATE INDEX IF NOT EXISTS idx_workbench_messages_session_role_updated ON workbench_messages(session_id, role, updated_at ASC, message_id)",
"CREATE INDEX IF NOT EXISTS idx_workbench_messages_trace_updated ON workbench_messages(trace_id, updated_at DESC, message_id)",
"CREATE INDEX IF NOT EXISTS idx_workbench_parts_session_updated ON workbench_parts(session_id, updated_at ASC, part_id)",
"CREATE INDEX IF NOT EXISTS idx_workbench_parts_trace_updated ON workbench_parts(trace_id, updated_at DESC, part_id)",
"CREATE INDEX IF NOT EXISTS idx_workbench_turns_session_updated ON workbench_turns(session_id, updated_at DESC, turn_id)",
"CREATE INDEX IF NOT EXISTS idx_workbench_turns_trace_updated ON workbench_turns(trace_id, updated_at DESC)",
"CREATE INDEX IF NOT EXISTS idx_workbench_projection_checkpoints_session_updated ON workbench_projection_checkpoints(session_id, updated_at DESC, trace_id)",
+20
View File
@@ -0,0 +1,20 @@
package workbenchruntime
import "strings"
import "testing"
func TestWorkbenchRuntimeReadIndexesCoverTraceFanout(t *testing.T) {
want := []string{
"idx_workbench_sessions_last_trace_updated",
"idx_workbench_messages_trace_updated",
"idx_workbench_parts_trace_updated",
"idx_workbench_turns_trace_updated",
"idx_workbench_projection_checkpoints_trace_updated",
}
joined := strings.Join(workbenchRuntimeReadIndexes, "\n")
for _, name := range want {
if !strings.Contains(joined, name) {
t.Fatalf("workbench runtime trace fanout index %s is not ensured", name)
}
}
}