Diffusion Elisa fde30aa8c9df

improve database performance and reliability

Authored by mgallien on Nov 20 2018, 9:33 PM.

Description

improve database performance and reliability

Summary:
let database test addOneTrackWithoutAlbumArtist have a file database

let the numeric unique id starts at 1 instead of 2

let fix warnings from QtCreator in database tests

DatabaseInterface: does not emit track changed signals for newly added

album artist name is directly a foreign key in Albums

should help to ensure greater reliability

lists of authors where not working so let's scrap this

use the unique fields of Albums for foreign key in Tracks

remove TracksArtists Table

no longer store tracks count and single disc states in albums table

reduce overhead from AllTracksModel

reduce overhead of AllAlbumsModel and make it synchronous

do not list files too early from Baloo

keep all files discovered from a source and fix a minor related issue

add a test for DatabaseInterface::askRestoredTracks

add albums and artists cache and improve cache usage

improve management of files not modified since last scan of music files

CCBUG: 389136
CCBUG: 396607
CCBUG: 396840

Test Plan: tests are OK and Elisa application is still working

Reviewers: astippich, januz

Reviewed By: astippich

Tags: Elisa

Differential Revision: https://phabricator.kde.org/D16302

Merged Changes

CommitAuthorDetailsCommitted
28769a64efc2D16302mgallien
fix import of tracks with paths containing particular character like { } 
Nov 20 2018
e3cd920c63caD16302mgallien
really cache only artists and not the other people 
Nov 17 2018
7c4cfa460920D16302mgallien
fix errors when inserting multiple albums with same title 
Nov 17 2018
40f275ae3ce5D16302mgallien
allow tracks without artist 
Nov 17 2018
7cbe013afe91D16302mgallien
improve management of files not modified since last scan of music files 
Nov 17 2018
1163bb71e1e4D16302mgallien
add albums and artists cache and improve cache usage 
Nov 17 2018
f58bdd48ec15D16302mgallien
add a test for DatabaseInterface::askRestoredTracks 
Nov 17 2018
f7990d3052bbD16302mgallien
keep all files discovered from a source and fix a minor related issue 
Nov 17 2018
b33cc33224bdD16302mgallien
do not list files too early from Baloo 
Nov 17 2018
a45a570450c3D16302mgallien
reduce overhead of AllAlbumsModel and make it synchronous 
Nov 17 2018
e84ee95d94a5D16302mgallien
reduce overhead from AllTracksModel 
Nov 17 2018
e200b17ab6c5D16302mgallien
[WIP] improve database performance and reliability 
Nov 17 2018
67bce5909c93D16302mgallien
remove TracksArtists Table 
Nov 17 2018
9fa5ca30958dD16302mgallien
use the unique fields of Albums for foreign key in Tracks 
Nov 17 2018
6022598637ffD16302mgallien
album artist name is directly a foreign key in Albums 
Nov 17 2018
89bcd208ac7eD16302mgallien
DatabaseInterface: does not emit track changed signals for newly added 
Nov 17 2018
6f3e8125f51eD16302mgallien
let fix warnings from QtCreator in database tests 
Nov 17 2018
1eb854dcda97D16302mgallien
let the numeric unique id starts at 1 instead of 2 
Nov 17 2018
cd8062fb91c3D16302mgallien
let database test addOneTrackWithoutAlbumArtist have a file database 
Nov 17 2018