Some actions threaten to put the database in an invalid state if the most direct route is taken. One example of this is Entry deletion. Since a single entry can be referenced in many locations (as a child or parent of other Entry's), we need to make sure the full effects of these actions are understood and leave behind a valid database.
For the deletion action specifically, this promises to be an involved / expensive operation.
The update operation may also result similar issues. If we have a Collection that was used to generate a snapshot, then that originating Collection is modified, then the originating collection no longer matches the created snapshots.
It's worth considering to what extent we want to support the CRUD operations.
Some actions threaten to put the database in an invalid state if the most direct route is taken. One example of this is Entry deletion. Since a single entry can be referenced in many locations (as a child or parent of other Entry's), we need to make sure the full effects of these actions are understood and leave behind a valid database.
For the deletion action specifically, this promises to be an involved / expensive operation.
The update operation may also result similar issues. If we have a Collection that was used to generate a snapshot, then that originating Collection is modified, then the originating collection no longer matches the created snapshots.
It's worth considering to what extent we want to support the CRUD operations.