Bug 435070

Summary: Use WAL mode for SQLite databases
Product: [Applications] digikam Reporter: zilexa <zilexa>
Component: Database-SqliteAssignee: Digikam Developers <digikam-bugs-null>
Status: RESOLVED FIXED    
Severity: wishlist CC: caulier.gilles
Priority: NOR    
Version First Reported In: 7.2.0   
Target Milestone: ---   
Platform: Other   
OS: Linux   
Latest Commit: Version Fixed/Implemented In: 8.0.0
Sentry Crash Report:

Description zilexa 2021-03-28 15:39:22 UTC
SUMMARY
Use WAL mode for the SQLite databases. This has 3 advantages: 
1. it increases performance. 
2. it is the default choice for Copy-on-Write filesystems such as BtrFS
3. It reduces wear on SSDs.
Extensive testing results can be found here: 
https://wiki.tnonline.net/w/Blog/SQLite_Performance_on_Btrfs

STEPS TO REPRODUCE
whish instead of bug 

OBSERVED RESULT
-

EXPECTED RESULT
-

SOFTWARE/OS VERSIONS
All Linux OS

ADDITIONAL INFORMATION
Extensive testing results can be found here: 
https://wiki.tnonline.net/w/Blog/SQLite_Performance_on_Btrfs
Comment 1 Maik Qualmann 2022-06-27 11:32:47 UTC
*** Bug 456024 has been marked as a duplicate of this bug. ***
Comment 2 Maik Qualmann 2022-08-14 17:26:29 UTC
Git commit ccca2deb3773313832591d1226574ee8aaa72f92 by Maik Qualmann.
Committed on 14/08/2022 at 17:24.
Pushed by mqualmann into branch 'master'.

add database option to enable SQLite WAL mode support
Related: bug 456024
FIXED-IN: 8.0.0

M  +2    -2    NEWS
M  +4    -2    core/libs/album/manager/albummanager_database.cpp
M  +9    -5    core/libs/database/coredb/coredbaccess.cpp
M  +63   -0    core/libs/database/engine/dbenginebackend.cpp
M  +5    -0    core/libs/database/engine/dbenginebackend.h
M  +15   -1    core/libs/database/engine/dbengineparameters.cpp
M  +2    -0    core/libs/database/engine/dbengineparameters.h
M  +7    -3    core/libs/database/similaritydb/similaritydbaccess.cpp
M  +7    -3    core/libs/database/thumbsdb/thumbsdbaccess.cpp
M  +13   -1    core/libs/database/utils/widgets/dbsettingswidget.cpp
M  +4    -0    core/libs/database/utils/widgets/dbsettingswidget_p.h
M  +4    -0    core/libs/facesengine/facedb/facedbaccess.cpp

https://invent.kde.org/graphics/digikam/commit/ccca2deb3773313832591d1226574ee8aaa72f92