1
0
mirror of https://github.com/tomahawk-player/tomahawk.git synced 2025-08-06 22:26:32 +02:00

* Seemed unsafe to reuse the same sql query object over and over again.

This commit is contained in:
Christian Muehlhaeuser
2011-01-06 11:45:09 +01:00
parent 0b26cf1695
commit 1eb4adaefe
2 changed files with 16 additions and 3 deletions

View File

@@ -36,7 +36,7 @@ DatabaseImpl::DatabaseImpl( const QString& dbname, Database* parent )
}
QSqlQuery qry = QSqlQuery( db );
query = newquery();
TomahawkSqlQuery query = newquery();
qry.exec( "SELECT v FROM settings WHERE k='schema_version'" );
if ( qry.next() )
@@ -141,6 +141,7 @@ DatabaseImpl::updateSchema( int currentver )
continue;
qDebug() << "Executing:" << s;
TomahawkSqlQuery query;
query.exec( s );
}
@@ -153,6 +154,7 @@ QVariantMap
DatabaseImpl::file( int fid )
{
QVariantMap m;
TomahawkSqlQuery query = newquery();
query.exec( QString( "SELECT url, mtime, size, md5, mimetype, duration, bitrate, "
"file_join.artist, file_join.album, file_join.track, "
"(select name from artist where id = file_join.artist) as artname, "
@@ -194,6 +196,7 @@ DatabaseImpl::artistId( const QString& name_orig, bool& isnew )
int id = 0;
QString sortname = DatabaseImpl::sortname( name_orig );
TomahawkSqlQuery query = newquery();
query.prepare( "SELECT id FROM artist WHERE sortname = ?" );
query.addBindValue( sortname );
query.exec();
@@ -234,6 +237,7 @@ DatabaseImpl::trackId( int artistid, const QString& name_orig, bool& isnew )
QString sortname = DatabaseImpl::sortname( name_orig );
//if( ( id = m_artistcache[sortname] ) ) return id;
TomahawkSqlQuery query = newquery();
query.prepare( "SELECT id FROM track WHERE artist = ? AND sortname = ?" );
query.addBindValue( artistid );
query.addBindValue( sortname );
@@ -284,6 +288,7 @@ DatabaseImpl::albumId( int artistid, const QString& name_orig, bool& isnew )
QString sortname = DatabaseImpl::sortname( name_orig );
//if( ( id = m_albumcache[sortname] ) ) return id;
TomahawkSqlQuery query = newquery();
query.prepare( "SELECT id FROM album WHERE artist = ? AND sortname = ?" );
query.addBindValue( artistid );
query.addBindValue( sortname );
@@ -329,6 +334,7 @@ DatabaseImpl::searchTable( const QString& table, const QString& name_orig, uint
QString name = sortname( name_orig );
// first check for exact matches:
TomahawkSqlQuery query = newquery();
query.prepare( QString( "SELECT id FROM %1 WHERE sortname = ?" ).arg( table ) );
query.addBindValue( name );
query.exec();
@@ -364,6 +370,8 @@ QList< int >
DatabaseImpl::getTrackFids( int tid )
{
QList< int > ret;
TomahawkSqlQuery query = newquery();
query.exec( QString( "SELECT file.id FROM file, file_join "
"WHERE file_join.file=file.id "
"AND file_join.track = %1 ").arg( tid ) );
@@ -415,7 +423,9 @@ DatabaseImpl::sortname( const QString& str )
QVariantMap
DatabaseImpl::artist( int id )
{
TomahawkSqlQuery query = newquery();
query.exec( QString( "SELECT id, name, sortname FROM artist WHERE id = %1" ).arg( id ) );
QVariantMap m;
if( !query.next() )
return m;
@@ -430,7 +440,9 @@ DatabaseImpl::artist( int id )
QVariantMap
DatabaseImpl::track( int id )
{
TomahawkSqlQuery query = newquery();
query.exec( QString( "SELECT id, artist, name, sortname FROM track WHERE id = %1" ).arg( id ) );
QVariantMap m;
if( !query.next() )
return m;
@@ -446,7 +458,9 @@ DatabaseImpl::track( int id )
QVariantMap
DatabaseImpl::album( int id )
{
TomahawkSqlQuery query = newquery();
query.exec( QString( "SELECT id, artist, name, sortname FROM album WHERE id = %1" ).arg( id ) );
QVariantMap m;
if( !query.next() )
return m;

View File

@@ -65,10 +65,9 @@ signals:
public slots:
private:
bool updateSchema( int currentver );
QSqlDatabase db;
TomahawkSqlQuery query;
QString m_lastart, m_lastalb, m_lasttrk;
int m_lastartid, m_lastalbid, m_lasttrkid;