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
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions