diff --git a/src/libtomahawk/database/DatabaseCommand_AllTracks.cpp b/src/libtomahawk/database/DatabaseCommand_AllTracks.cpp index 56878142c..8c273f5b9 100644 --- a/src/libtomahawk/database/DatabaseCommand_AllTracks.cpp +++ b/src/libtomahawk/database/DatabaseCommand_AllTracks.cpp @@ -115,10 +115,10 @@ DatabaseCommand_AllTracks::exec( DatabaseImpl* dbi ) Tomahawk::result_ptr result = Tomahawk::Result::get( url ); Tomahawk::query_ptr qry = Tomahawk::Query::get( artist, track, album ); - Tomahawk::track_ptr t = Tomahawk::Track::get( artist, track, album, query.value( 6 ).toUInt(), composer, query.value( 13 ).toUInt(), query.value( 12 ).toUInt() ); + Tomahawk::track_ptr t = Tomahawk::Track::get( query.value( 16 ).toUInt(), artist, track, album, query.value( 6 ).toUInt(), composer, query.value( 13 ).toUInt(), query.value( 12 ).toUInt() ); + t->loadAttributes(); result->setTrack( t ); - result->setTrackId( query.value( 16 ).toUInt() ); result->setSize( query.value( 5 ).toUInt() ); result->setBitrate( query.value( 7 ).toUInt() ); result->setModificationTime( query.value( 10 ).toUInt() ); @@ -126,19 +126,6 @@ DatabaseCommand_AllTracks::exec( DatabaseImpl* dbi ) result->setScore( 1.0 ); result->setCollection( s->dbCollection() ); - TomahawkSqlQuery attrQuery = dbi->newquery(); - QVariantMap attr; - - attrQuery.prepare( "SELECT k, v FROM track_attributes WHERE id = ?" ); - attrQuery.bindValue( 0, result->trackId() ); - attrQuery.exec(); - while ( attrQuery.next() ) - { - attr[ attrQuery.value( 0 ).toString() ] = attrQuery.value( 1 ).toString(); - } - - result->setAttributes( attr ); - QList results; results << result; qry->addResults( results ); diff --git a/src/libtomahawk/database/DatabaseCommand_Resolve.cpp b/src/libtomahawk/database/DatabaseCommand_Resolve.cpp index 7d847bbdb..e1fa17b55 100644 --- a/src/libtomahawk/database/DatabaseCommand_Resolve.cpp +++ b/src/libtomahawk/database/DatabaseCommand_Resolve.cpp @@ -141,28 +141,15 @@ DatabaseCommand_Resolve::resolve( DatabaseImpl* lib ) continue; } - track_ptr track = Track::get( files_query.value( 12 ).toString(), files_query.value( 14 ).toString(), files_query.value( 13 ).toString(), files_query.value( 5 ).toUInt(), files_query.value( 15 ).toString(), files_query.value( 17 ).toUInt(), files_query.value( 11 ).toUInt() ); + track_ptr track = Track::get( files_query.value( 9 ).toUInt(), files_query.value( 12 ).toString(), files_query.value( 14 ).toString(), files_query.value( 13 ).toString(), files_query.value( 5 ).toUInt(), files_query.value( 15 ).toString(), files_query.value( 17 ).toUInt(), files_query.value( 11 ).toUInt() ); + track->loadAttributes(); result->setTrack( track ); result->setModificationTime( files_query.value( 1 ).toUInt() ); result->setSize( files_query.value( 2 ).toUInt() ); result->setMimetype( files_query.value( 4 ).toString() ); result->setBitrate( files_query.value( 6 ).toUInt() ); - result->setTrackId( files_query.value( 9 ).toUInt() ); result->setRID( uuid() ); - - TomahawkSqlQuery attrQuery = lib->newquery(); - QVariantMap attr; - - attrQuery.prepare( "SELECT k, v FROM track_attributes WHERE id = ?" ); - attrQuery.bindValue( 0, result->trackId() ); - attrQuery.exec(); - while ( attrQuery.next() ) - { - attr[ attrQuery.value( 0 ).toString() ] = attrQuery.value( 1 ).toString(); - } - - result->setAttributes( attr ); result->setCollection( s->dbCollection() ); res << result; @@ -263,7 +250,8 @@ DatabaseCommand_Resolve::fullTextResolve( DatabaseImpl* lib ) continue; } - track_ptr track = Track::get( files_query.value( 12 ).toString(), files_query.value( 14 ).toString(), files_query.value( 13 ).toString(), files_query.value( 5 ).toUInt(), files_query.value( 15 ).toString(), files_query.value( 17 ).toUInt(), files_query.value( 11 ).toUInt() ); + track_ptr track = Track::get( files_query.value( 9 ).toUInt(), files_query.value( 12 ).toString(), files_query.value( 14 ).toString(), files_query.value( 13 ).toString(), files_query.value( 5 ).toUInt(), files_query.value( 15 ).toString(), files_query.value( 17 ).toUInt(), files_query.value( 11 ).toUInt() ); + track->loadAttributes(); result->setTrack( track ); result->setModificationTime( files_query.value( 1 ).toUInt() ); @@ -271,31 +259,17 @@ DatabaseCommand_Resolve::fullTextResolve( DatabaseImpl* lib ) result->setMimetype( files_query.value( 4 ).toString() ); result->setBitrate( files_query.value( 6 ).toUInt() ); result->setRID( uuid() ); - result->setTrackId( files_query.value( 9 ).toUInt() ); + result->setCollection( s->dbCollection() ); for ( int k = 0; k < trackPairs.count(); k++ ) { - if ( trackPairs.at( k ).first == (int)result->trackId() ) + if ( trackPairs.at( k ).first == (int)track->trackId() ) { result->setScore( trackPairs.at( k ).second ); break; } } - TomahawkSqlQuery attrQuery = lib->newquery(); - QVariantMap attr; - - attrQuery.prepare( "SELECT k, v FROM track_attributes WHERE id = ?" ); - attrQuery.bindValue( 0, result->trackId() ); - attrQuery.exec(); - while ( attrQuery.next() ) - { - attr[ attrQuery.value( 0 ).toString() ] = attrQuery.value( 1 ).toString(); - } - - result->setAttributes( attr ); - result->setCollection( s->dbCollection() ); - res << result; }