CMRT 20: Feature: Clear and force-reanalyze fingerprint - #26
Open
Swarnadip-Kar wants to merge 4 commits into
Open
CMRT 20: Feature: Clear and force-reanalyze fingerprint#26Swarnadip-Kar wants to merge 4 commits into
Swarnadip-Kar wants to merge 4 commits into
Conversation
Coverage Report for CI Build 27115462417Coverage decreased (-0.05%) to 30.466%Details
Uncovered Changes
Coverage Regressions8 previously-covered lines in 6 files lost coverage.
Coverage Stats
💛 - Coveralls |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Wipe all fingerprint data fora track so the analyzer
gets a completely fresh slate on the next run.
once the data is gone the existing
hasValidFingerprint() check returns false and the full
pipeline runs normally.
Changes
trackfingerprintdao.h / .cpp
deleteChromaFile (outside transaction — FS not transactional)
canonical reassignment or group deletion in cmrt_groups
DELETE cmrt_members / fingerprint_metadata / acoustid_queue
calls clearFingerprintData(); returns count cleared
wtrackmenu.h / .cpp
entry in the Clear submenu; uses TrackId + DAO directly, no
TrackPointerOperation (no in-memory TrackPointer needed)
iterates TrackIds and calls clearFingerprintData() for each — "Clear
All" must not silently leave fingerprint data behind
dlgpreffingerprint.ui
btnClearAllFingerprints; height increased from 280 to 400
dlgpreffingerprint.h / .cpp
DlgPrefLibrary taking Library*) to access the DAO at runtime
Cancel default) -> clearAllFingerprintData() -> count summary dialog
dlgpreferences.cpp
Notes for reviewers
file deletion cannot be rolled back. If the DB transaction later fails
the file is already gone — the analyzer correctly sees no fingerprint
on the next run. The reverse order would leave valid DB rows pointing
at missing files.
clearFingerprintData needs only a TrackId and DAO — loading an
in-memory TrackPointer would be wasteful and would hold the cache lock
during a multi-table DB transaction unnecessarily.
pass TrackCollectionManager*.
Depends on: cmrt-dialog-acoustid-submit (#24)