mirror of
https://github.com/norandom/OpenUltraSAST.git
synced 2026-10-18 12:39:28 +00:00
docs(memory): the fixed queryable-field schema is in place, not in progress
Co-Authored-By: Claude Fable 5.1 <[email protected]> Claude-Session: https://claude.ai/code/session_01EmM1j46qgKMh3zqD1QMwEo
This commit is contained in:
co-authored by
Claude Fable 5.1
parent
51d064e381
commit
39b0c0a9d1
+6
-6
@@ -121,11 +121,11 @@ the store does not start. There is no local or fetch-and-filter fallback: a filt
|
|||||||
S3 Select cannot answer raises a `MemoryStoreError` instead of returning "no rows". The exact
|
S3 Select cannot answer raises a `MemoryStoreError` instead of returning "no rows". The exact
|
||||||
messages are listed on [RustFS setup](rustfs.md#what-the-store-verifies-at-startup).
|
messages are listed on [RustFS setup](rustfs.md#what-the-store-verifies-at-startup).
|
||||||
|
|
||||||
### Queryable fields per kind (in progress)
|
### Queryable fields per kind
|
||||||
|
|
||||||
RustFS's Select infers an object's JSON schema from its leading rows, so a `where` field missing
|
RustFS's Select infers an object's JSON schema from its leading rows, so a `where` field missing
|
||||||
there fails with `EvaluatorBindingDoesNotExist` even when a later row has it (measured
|
there fails with `EvaluatorBindingDoesNotExist` even when a later row has it, and a column that is
|
||||||
2026-10-02; `memory.py`, `S3Store._select`). On main today the store turns that failure into a
|
null in the first 1000 rows breaks Select on the whole object (measured 2026-10-02; `memory.py`,
|
||||||
`MemoryStoreError` naming the field, never into an empty answer. A fixed set of queryable fields
|
`S3Store._select`). The store therefore writes every row with its kind's full set of queryable
|
||||||
per row kind, so that every filtered field is present in every row of its kind, is in progress
|
fields (`QUERY_FIELDS`), using `""` where a field does not apply, and refuses a `where` on an
|
||||||
and not on main as of this page.
|
undeclared field. Existing rows are rewritten once with `ousast plane memory-normalise`.
|
||||||
|
|||||||
+3
-4
@@ -179,10 +179,9 @@ drop matches; it raises:
|
|||||||
memory s3://sast-memory: S3 Select on <key> failed (EvaluatorBindingDoesNotExist: ...) (a field of [<fields>] is absent from the object's leading rows, which the server reads as its schema); the store has no local fallback
|
memory s3://sast-memory: S3 Select on <key> failed (EvaluatorBindingDoesNotExist: ...) (a field of [<fields>] is absent from the object's leading rows, which the server reads as its schema); the store has no local fallback
|
||||||
```
|
```
|
||||||
|
|
||||||
The rule that follows: a field the store filters on must be present in every row of its kind
|
The rule that follows: a field the store filters on is present in every row of its kind from
|
||||||
from the first row on, i.e. each row kind has a fixed set of queryable fields. Enforcing that set
|
the first row on, as `""` where it does not apply; each row kind has a fixed set of queryable
|
||||||
per kind in the store is in progress and not on main as of this page (see
|
fields, enforced at write time (see [Memory](memory.md#queryable-fields-per-kind)).
|
||||||
[Memory](memory.md#queryable-fields-per-kind-in-progress)).
|
|
||||||
|
|
||||||
## Checks against the real server
|
## Checks against the real server
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user