Summary
Table Browser _ensureSchema swallows getTableSchema errors and sets primaryKeys = [] + schemaLoaded = true. The status line then says Cannot edit: no primary key detected even when the PK query failed (permissions, disconnect).
Scope
- Distinguish “no PK” vs “schema unavailable”.
- Keep editing disabled; show the real error (or a Retry).
- Cover in
table_view_staging / table-view tests with a throwing schema stub.
Out of scope
- SQLite implicit
rowid as a PK fallback (separate issue).
Summary
Table Browser
_ensureSchemaswallowsgetTableSchemaerrors and setsprimaryKeys = []+schemaLoaded = true. The status line then says Cannot edit: no primary key detected even when the PK query failed (permissions, disconnect).Scope
table_view_staging/ table-view tests with a throwing schema stub.Out of scope
rowidas a PK fallback (separate issue).