qpdb / mentat

A persistent, relational store inspired by Datomic and DataScript.
https://mentat.rs/
Apache License 2.0
52 stars 2 forks source link

Implement :db/isComponent #282

Open gburd opened 4 years ago

gburd commented 4 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).