v0.19.0
v0.19.0 — CASE and operators in the build-time SET dialect
slater-build can now ingest business-key MERGE dumps whose SET right-hand
sides use CASE expressions and infix operators, not just function calls,
literals, and same-node property references.
Highlights
- Build-time
SETgains a full scalar-expression grammar:CASE
(searched and simple), comparison (=,<>,<,<=,>,>=),
arithmetic and string concatenation (+,-,*,/,%), and
booleanAND/OR/NOT, with standard precedence and parentheses. - A common accumulator idiom now builds unmodified, e.g.
SET n.summary = CASE WHEN coalesce(n.summary,'') = '' THEN x ELSE n.summary + '; ' + x END. Each assignment folds against the node's
accumulated properties in input order, so the result matches a live graph
engine's — without the quadratic read-grow-rewrite cost. - Operator, comparison, and truthiness semantics are shared with the query
engine throughslater-scalar, so build-time and query-time evaluation
agree (string-concat+, three-valued=/NULL handling, Kleene booleans). - CASE branches evaluate lazily: only the selected
THEN/ELSEruns.
Scope and compatibility
- Edge
SETand overlay-patchSETremain literal-only. - Existing dumps are unaffected; this is strictly a superset of the prior
dialect.
No configuration changes are required.
Full Changelog: v0.18.0...v0.19.0