mozilla / mentat

UNMAINTAINED A persistent, relational store inspired by Datomic and DataScript.
https://mozilla.github.io/mentat/
Apache License 2.0
1.65k stars 115 forks source link

Implement :db/isComponent #781

Open ncalexan opened 6 years ago

ncalexan commented 6 years ago

As of v0.8.1, Mentat doesn't really support :db/isComponent true. This ticket tracks adding support.

This means that retracting [e a v] where a is :db/isComponent true retracts [v _ _] and so on, recursively.

This is one of the cases where the entities transacted aren't a superset of the datoms actually transacted, similar how :db/retractEntity. That means there's non-obvious interactions with transaction watchers, and thus with caches (and, in the future, materialized views).