Bug 435070 - Use WAL mode for SQLite databases
Summary: Use WAL mode for SQLite databases
Status: RESOLVED FIXED
Alias: None
Product: digikam
Classification: Applications
Component: Database-Sqlite (other bugs)
Version First Reported In: 7.2.0
Platform: Other Linux
: NOR wishlist
Target Milestone: ---
Assignee: Digikam Developers
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2021-03-28 15:39 UTC by zilexa
Modified: 2022-08-14 17:26 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed/Implemented In: 8.0.0
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
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