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
Make annotation layer name check deferrable, fixing false positives (#8896)
- removes unused route editAnnotationLayer
- change to transactionally update annotation layers in postgres, after
it was reported by tracingstore side
- make the name unique check deferrable, so it is only checked on the
transaction commit.
- This fixes the following error scenario: The user renames layer 1 from
A to B and layer 2 from C to A. This is legitimate, as no duplicate
names exist if the order is correct. However, since the postgres updates
are not guaranteed to come in the same order, this could previously lead
to false positive duplicate checks.
- Note that running this evolution on large annotation_layers tables may
be slow, as the constraint is completely rebuilt.
### Steps to test:
- Create annotation with multiple volume annotation layers
- rename multiple ones of them such that the name that was previously
taken by one layer is then immediately taken by another. Should not
fail. Save and reload should work and show the correct names.
### Issues:
- fixes#8647
------
- [x] Added changelog entry (create a `$PR_NUMBER.md` file in
`unreleased_changes` or use `./tools/create-changelog-entry.py`)
- [x] Considered [common edge
cases](../blob/master/.github/common_edge_cases.md)
- Fixed a bug where annotation updates would fail if multiple annotation layers are renamed such that a previously-taken name is then used by another layer.
0 commit comments