My Introduction: A DB guy (GN)

Maximilian Kossick maximilian.kossick at googlemail.com
Wed Sep 8 22:28:45 CEST 2010


On Wed, Sep 8, 2010 at 8:56 PM, Ralf Engels <ralf-engels at gmx.de> wrote:
> On Mi, 2010-09-08 at 12:00 +0200, amarok-devel-request at kde.org wrote:
>>
>> logging out while amarok was playing) the statistics, dynamic playlist
>> and a
>> bunch of other tables would be outdated. I'll try to catch up with
>> what's
>> going on first and then contribute to the best of my abilities.
>
> Hi,
> I am currently reworking the collection scanner, the scan processor and
> a lot of things around it.
>
> I didn't need to change any tables but I suspect that access to the
> tracks and urls table could be optimized. I can provide some data if you
> need.
> You can see the code that creates the tables in
> src/core-impl/collection/sqlcollection/DatabaseUpdater.cpp
>
> Also you might want to have a look at my current state here:
> http://gitorious.org/~rengels/amarok/rengelss-amarok/commits/collectionscanner
>
> I plan to wait until 2.3.2 is before commiting. The changes were quite
> extensive (but good. I discovered a lot of small bugs and
> inconsistencies).
>

A couple of comments:

Why did you remove the injection of SqlCollection's dependencies and
put everything back into the SqlCollection ctor? That make's it
impossible to inject mocks and creates a compile-time dependency
(commit 4c076e7). Which would probably make a lot of you changes to
the tests unnecessary.

You should use QDateTime (or whatever that class is called) instead of
uint. int/uint are remains of A1 that should have been remvoed a long
time ago.

friend class TestScanResultProcessorFull in SqlRegistry? Why is that necessary?

Meta classes are not QObjects because then you'd have to think about
their thread affinity...the objects might not be created in the GUI
thread.


More information about the Amarok-devel mailing list