Buffered cursor backed by a pre-computed Vec<Row>. Used both as
a simple “rows already collected” adapter and as the leaf fallback
for operators whose internals still require full materialization.
Pull-based read-write executor. Wraps the existing
MutableExecutor under the same row-cursor API. Mutations are
applied during open_compiled; the returned cursor yields the
resulting rows lazily.
Classify a compiled query for streaming. Treats any UNION branch
the same as the head: a single mutating op anywhere across the
compiled query promotes the whole query to Mutating.
Fallible conversion used on every write path
(set_property_from_expr, overwrite_entity_target,
mutate_entity_target, eval_properties_expr, plus CREATE /
MERGE). Rejects nodes, relationships and paths at any depth, and
VECTOR values nested inside lists — everything else falls through to
the infallible From implementation above. A top-level VECTOR
property is always fine; only LISTs that directly contain a VECTOR
entry are rejected. Index seeks also convert through here: a value
that can’t be a property falls back to a scan, where it matches
nothing.