pub fn read(db: &Db, scan: &Scan) -> Vec<Node>Expand description
Read the relation.
The order is NQL’s execution order, and it is load-bearing:
- candidates — every row, at a sequence or at the tip
- filters —
VALID AS OF, thenSEARCH - row-set transforms —
TRACE, thenTRAVERSE
Filters before transforms is the part worth stating. Tracing first and
filtering after would apply SEARCH to the CHAIN rather than to the roots
the chain was grown from, which is a different question with a
plausible-looking answer.