Skip to content

Support a way to find out what will be changed by a builder before committing #74

@matko

Description

@matko

Simple builders currently save a list of additions and removals, both in id and string form (depending on how they come in), and process these lists at commit time to figure out what actually needs to happen.

In terminusdb, we're currently implementing a type of object whose identity is entirely dependent on their inner values - their id becomes a hash of those values. Multiple documents that point to this value will be pointing at the same object. This introduces a garbage collection problem where we'd like to delete this value object when the last reference to it is deleted. However, the way things are now, we can only figure out that the last reference got deleted after we have already done the commit.

We need some sort of inbetween phase, where the builder is not yet committed (we can still add extra additions/removals to it), but we do know exactly what would happen if it were to commit.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions