Files
SQLWorkbench/docs/PHASE61-8-INTROSPECTION.md

1.2 KiB

Phase 61.8 — Persistent introspection and contextual completion

  • Introspection snapshots are Codable and stored per connection UUID/database in UserDefaults. Snapshots are restored on application launch and remain available if offline.
  • Database navigator refreshes re-query live table/view names and revalidate saved introspection metadata, including columns. Successful introspection updates the persisted snapshot; failures retain the previous snapshot.
  • SQL completion uses context: USE suggests databases; FROM/JOIN/UPDATE/INTO suggests tables/views; qualified table. suggests columns for that object; otherwise SQL keywords and unqualified names.
  • Automatic AppKit complete() invocation during textDidChange is disabled to avoid the previously reported UI hang/crash. Use macOS Edit > Complete (typically Escape or Option-Escape depending on key bindings) for contextual suggestions. Automatic non-blocking popup is not implemented in this stability patch.

Verification still required

Build and run on macOS; test introspection after relaunch, schema changes while connected, completion in all SQL contexts, and large databases. The Linux Swift parser cannot typecheck AppKit/SwiftUI.