Skip to content

Commit e9868a7

Browse files
committed
docs(deployment): validating-metadata.mdx names the driver refusal, not the swallowed empty list
The filter-position passage said the driver's "no such column" is swallowed and the list comes back empty. driver-sql, and the local faces of TursoDriver/SqliteWasmDriver (both extend SqlDriver), have refused an unresolvable WHERE column with INVALID_FILTER / 400, naming the column, since #8790. The Turso remote face refuses the same way as of 3e8b492 (#20461), through the inherited aggregateBackendFault seam. Rewrote the passage to the refusal and its remedy (schema sync, or naming a column the table has), and reworded the "why an error not a warning" rationale to match. Co-Authored-By: Claude <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01VDtqoecgES7ScQYGbFVDRv
1 parent 8e02859 commit e9868a7

1 file changed

Lines changed: 7 additions & 5 deletions

File tree

‎content/docs/deployment/validating-metadata.mdx‎

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -378,11 +378,13 @@ A **filter position** is the exception that gates:
378378
// ↑ error, not a warning
379379
```
380380

381-
An unknown column in a predicate is not a skipped column — the predicate can
382-
never match, the driver's "no such column" is swallowed, and the list comes back
383-
empty and indistinguishable from *"there is no data"*. Each position of a filter
384-
is judged on its own, so the field above is still checked even though `stage`
385-
comes from React state.
381+
An unknown column in a predicate is not a skipped column — the SQL drivers
382+
refuse it with `INVALID_FILTER` / 400, naming the column, instead of running
383+
the predicate. The remedy is to run schema sync so the declared field has its
384+
column, or to name a column the table has. Catching it here, before the page
385+
ships, means an author sees the mistake in the editor instead of a 400 in
386+
production. Each position of a filter is judged on its own, so the field above
387+
is still checked even though `stage` comes from React state.
386388

387389
Skipped, to keep false positives at zero: the same set as §8 — non-static
388390
values, `{...spread}` usages, relationship paths, system fields, and objects

0 commit comments

Comments
 (0)