You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
docs: selective_fact_fetch doc comment omits valid_from/valid_to from dedup key #376
The doc comment on selective_fact_fetch (src/query/datalog/executor.rs) says it returns Some(facts) "deduplicated by (entity, attribute, tx_count, asserted, value)". The dedup key (FactDedupKey) now also includes valid_from and valid_to. That makes it the full EAVT key identity, so facts that differ only in valid time are no longer collapsed.
The inline comment above type FactDedupKey is correct. Only the function-level doc comment is stale.
Fix
Update the doc comment to name the full key: (entity, attribute, tx_count, asserted, value, valid_from, valid_to), i.e. the same identity as EavtKey. Better still, point to FactDedupKey so the two cannot drift apart again.
Context
Found in the re-review of the final fix wave on the #371/#287 branch (fix/371-index-value-collision), after valid time was added to the dedup key. It was deferred there because that review process allows no second fix wave.
Superseded by #380 (merged to main as 402790d). selective_fact_fetch no longer de-duplicates at all: its only consumer, net_asserted_facts, already ignores duplicate records, and the dedup key (entity, attribute, tx_count, asserted) was lossy (it dropped same-transaction multi-window rows). With the dedup gone, there's no key left to document.
Note for the next main → v3 merge:v3 still has its v8 dedup, keyed on the full EAVT identity. When resolving the conflict in src/query/datalog/executor.rs, take main's version (no dedup, attribute-narrowed fetch). The v8 key-level net-assert work is tracked in #379.
Activity
adityamukho commentedon Sep 26, 2026
Superseded by #380 (merged to main as 402790d).
selective_fact_fetchno longer de-duplicates at all: its only consumer,net_asserted_facts, already ignores duplicate records, and the dedup key(entity, attribute, tx_count, asserted)was lossy (it dropped same-transaction multi-window rows). With the dedup gone, there's no key left to document.Note for the next main →
v3merge:v3still has its v8 dedup, keyed on the full EAVT identity. When resolving the conflict insrc/query/datalog/executor.rs, take main's version (no dedup, attribute-narrowed fetch). The v8 key-level net-assert work is tracked in #379.