LibraryFeature's cannot support drop of multiple tracks. Repeated dropping can stall mixxx.
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Mixxx |
Fix Released
|
Medium
|
Max Linke | ||
1.10 |
Won't Fix
|
Medium
|
akash shetye | ||
1.11 |
Fix Released
|
Medium
|
Max Linke | ||
1.9 |
Won't Fix
|
Medium
|
Unassigned |
Bug Description
As Mixxx currently cannot filter columns (https:/
Little (<100 tracks) Mixxx is "Not Responding"
Big (<5000 tracks) Mixxx is "Not Responding" forever, ergo crashing.
Win7 x64, Intel Pentium Dual Core T2390, 3GB RAM (Asus X51L laptop)
Mixxx 1.10.0beta1 x64
======
The reason for this is that LibraryFeature/
Related branches
- RJ Skerry-Ryan: Approve
-
Diff: 391 lines (+209/-8)14 files modifiedmixxx/src/library/cratetablemodel.cpp (+26/-0)
mixxx/src/library/cratetablemodel.h (+1/-0)
mixxx/src/library/dao/cratedao.cpp (+32/-0)
mixxx/src/library/dao/cratedao.h (+1/-0)
mixxx/src/library/dao/playlistdao.cpp (+45/-0)
mixxx/src/library/dao/playlistdao.h (+2/-0)
mixxx/src/library/dao/trackdao.cpp (+21/-0)
mixxx/src/library/dao/trackdao.h (+1/-0)
mixxx/src/library/librarytablemodel.cpp (+17/-0)
mixxx/src/library/librarytablemodel.h (+1/-0)
mixxx/src/library/playlisttablemodel.cpp (+35/-0)
mixxx/src/library/playlisttablemodel.h (+1/-0)
mixxx/src/library/trackmodel.h (+5/-0)
mixxx/src/widget/wtracktableview.cpp (+21/-8)
description: | updated |
summary: |
- Add tracks to crate -> Mixxx "Not Responding" + LibraryFeature's cannot support drop of multiple tracks. Repeated + dropping can stall mixxx. |
description: | updated |
Changed in mixxx: | |
status: | New → Confirmed |
importance: | Undecided → Medium |
Changed in mixxx: | |
assignee: | nobody → akash shetye (shetyeakash) |
Changed in mixxx: | |
status: | Confirmed → Fix Committed |
status: | Fix Committed → Confirmed |
tags: | added: library performance |
Changed in mixxx: | |
status: | Confirmed → Fix Committed |
assignee: | akash shetye (shetyeakash) → Max Linke (max-linke) |
Changed in mixxx: | |
status: | Fix Committed → Fix Released |
I found a very efficient way to do bulk inserts on the database, the same approach may be extended to include other DAO functionalities that suffer from huge overhead due to frequent commits. The patch uses transactions and the bulk inserts within the transaction to overcome the need to auto-commit by committing at the end only.