Skip to content

Reference annotation update does not follow soft-delete-and-add pattern #51

@ceesem

Description

@ceesem

When updating annotations in "normal" tables, the annotation is marked as deleted without changing any data and a superseded_id is set to track the altered annotation. This allows time slicing and ensures data is never lost.

In reference tables, however, the data is updated in-place. This is intentional, as the code specifically has different behavior for reference tables, but this has a number of negative effects. Most importantly, old data is actually destroyed and time slicing is not possible. It also breaks the logic of live-live query, which uses the deleted tag to know to remove annotations from queried results. Neither @dlbrittain nor I could figure out a reason why this behavior should differ from regular tables.

Metadata

Metadata

Assignees

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