Skip to content

Fixes for some database and encoding related bugs

Tuomas Nurmi requested to merge nurmi/amarok:databaseBugs into master

WARNING: commits contain a database upgrade, backup before testing strongly recommended (When using embedded database, it should be easy as cp -r ~/.local/share/amarok/mysqle ~/.local/share/amarok/backupmysqle and restoring backup should be possible by removing the updated mysqle dir and moving backupmysqle back in place.)

The original intention was to fix two bugs: Database should be utf8mb4 for complete UTF8 support and Directory changedates (and track createdates and modifydates) shouldn't hit year 2038 problem.

Fixing them requires changes to database layout. This would be the first database scheme update since 2012, so care must be taken.

The merge request includes a commit that sets up some new tests for the specific bugs. Additionally when testing, I encountered some similar-but-not-totally-related issues with UTF8 characters and stored dates, and fixes for those and cleaning up of some obsolete encoding/escaping codepaths in tag reading/scanning are included as separate commits, too.

CCBUG: 426807

CCBUG: 462268

Edited by Tuomas Nurmi

Merge request reports

Loading