Ash.Resource.Transformers.AddTemporalRelationshipFilters (ash v3.34.5)

Copy Markdown View Source

Temporal compile-time wiring:

  • Rejects accepting the period attribute as action input — a temporal write always establishes validity from as_of onward, so the period is set by the data layer, never by the caller.
  • Bakes a range_overlaps(parent(source), destination) filter into relationships that declare temporal_keys with both a source and destination period attribute.

The relationship filter is done at transform time (not by checking the destination's temporality, which would introduce a compile-time dependency) — it reads only the declared temporal_keys option and attribute names. Because the overlap becomes part of relationship.filter, every consumer (in-memory loads and data-layer joins) applies it automatically. A separate verifier checks temporal_keys is correct.

Summary

Functions

after?(arg1)

Callback implementation for Spark.Dsl.Transformer.after?/1.

after_compile?()

Callback implementation for Spark.Dsl.Transformer.after_compile?/0.

before?(_)

Callback implementation for Spark.Dsl.Transformer.before?/1.

transform(dsl_state)

Callback implementation for Spark.Dsl.Transformer.transform/1.