Bunch of changes to databaseinterface.cpp to try to improve readability
Reason for the change
I started working on adding support for multi-valued tags (e.g. multiple genres) and found this file to be very difficult to parse. This is mainly due to the sheer size of the file but there were some other readability issues that I have changed.
These changes are made to my preference, so please let me know if you disagree with anything.
Combine database table checks into 1 function
- Now we just declare the expected table structure at the top of the file
Delete unused enum
- Wasn't used
DatabaseInterface::checkDatabaseSchema: refactor as pure function
DatabaseInterface::checkTable: refactor as pure function
- This makes the context that calls these much easier to parse. We no longer have to worry about the internals of this or how it might change the state of the database/class.
DatabaseInterface: Rename query initialization functions
DatabaseInterface: Rename manageNewDatabaseVersion
- Makes it much easier to understand the intent of these functions
DatabaseInterface: add method currentDatabaseVersion for readability
- Makes it easier to read the context that calls this function
DatabaseInterface: set latest DB version at top of file next to latest schema
- Previously we were setting this in two places, now we set it in one. I placed this near the database schema declaration since these two variables are inherently linked.
Move albumInfoIsSame() from DatabaseInterface to TrackDataType
Move isSameTrack from DatabaseInterface to TrackDataType
- These functions only compare the internals of two TrackDataTypes. This just helps to reduce the line count of the file.
DatabaseInterface: Re-order methods
- I find it much easier to read code when all the related functions are grouped together.
Test plan
Tests are still passing