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
Datomic has the concept of "Excision" which is a somewhat long process of completely deleting data from all indexes, including history. Datomic's approach to this is a bit complex because the data is stored in a B-tree in many blocks in the database, so an excision involves a re-index of the affected parts of the index. We have a much simpler path in MnemonicDB.
The interface for this operation should simply be conn.Excise(IEnumerable<EntityId> ids). That operation will do the following:
for each entity Id
pull all datoms from the current index
issue a delete call against every current index for each datom found in that first query
pull all the datoms from the history index
issue a delete call against every history index for each datom found that query
issue a delete from the TXLog for every datom found in the other two queries
Since the datoms are stored exactly the same in all idexes (the indexes only sort differently) in MnemonicDB, that's all that is needed to implement this feature.
The text was updated successfully, but these errors were encountered:
Datomic has the concept of "Excision" which is a somewhat long process of completely deleting data from all indexes, including history. Datomic's approach to this is a bit complex because the data is stored in a B-tree in many blocks in the database, so an excision involves a re-index of the affected parts of the index. We have a much simpler path in MnemonicDB.
The interface for this operation should simply be
conn.Excise(IEnumerable<EntityId> ids)
. That operation will do the following:Since the datoms are stored exactly the same in all idexes (the indexes only sort differently) in MnemonicDB, that's all that is needed to implement this feature.
The text was updated successfully, but these errors were encountered: