mirror of
https://github.com/lancedb/lancedb.git
synced 2026-09-01 11:08:55 +00:00
388c253f30
Keeping `kind: "select"` for a namespaced definition was a silent downgrade hazard: released readers drop unknown fields and resolve a select source at the root, so a rolled-back worker could refresh a view from a same-name root table and certify the wrong rows. Root definitions keep the `select` form byte-for-byte; a namespaced source is stored as `namespaced_select`, which older readers route to their existing unrecognized-kind refusal. The reader also refuses a kind that disagrees with its namespace, since no correct writer produces one. The Python and Node definition parsers learn the new kind alongside the Rust core, so every same-version reader agrees.