mirror of
https://github.com/tomahawk-player/tomahawk.git
synced 2025-03-20 07:49:42 +01:00
* Only sync lucene index once (at most) per sync.
This commit is contained in:
parent
9291c75669
commit
26a7d37298
@ -214,14 +214,13 @@ DatabaseCommand_AddFiles::exec( DatabaseImpl* dbi )
|
||||
query->addResults( results );
|
||||
|
||||
m_queries << query;
|
||||
|
||||
added++;
|
||||
}
|
||||
qDebug() << "Inserted" << added;
|
||||
qDebug() << "Inserted" << added << "tracks to database";
|
||||
|
||||
// TODO building the index could be a separate job, outside this transaction
|
||||
if ( added )
|
||||
dbi->updateSearchIndex();
|
||||
source()->updateIndexWhenSynced();
|
||||
|
||||
qDebug() << "Committing" << added << "tracks...";
|
||||
emit done( m_files, source()->collection() );
|
||||
|
@ -131,14 +131,6 @@ DatabaseImpl::loadIndex()
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
DatabaseImpl::updateSearchIndex()
|
||||
{
|
||||
DatabaseCommand* cmd = new DatabaseCommand_UpdateSearchIndex();
|
||||
Database::instance()->enqueue( QSharedPointer<DatabaseCommand>( cmd ) );
|
||||
}
|
||||
|
||||
|
||||
bool
|
||||
DatabaseImpl::updateSchema( int oldVersion )
|
||||
{
|
||||
|
@ -72,9 +72,6 @@ public:
|
||||
return left.second > right.second;
|
||||
}
|
||||
|
||||
// indexes entries from "table" where id >= pkey
|
||||
void updateSearchIndex();
|
||||
|
||||
QString dbid() const { return m_dbid; }
|
||||
|
||||
void loadIndex();
|
||||
|
@ -25,6 +25,7 @@
|
||||
#include "network/controlconnection.h"
|
||||
#include "database/databasecommand_addsource.h"
|
||||
#include "database/databasecommand_sourceoffline.h"
|
||||
#include "database/databasecommand_updatesearchindex.h"
|
||||
#include "database/database.h"
|
||||
|
||||
#include <QCoreApplication>
|
||||
@ -42,6 +43,7 @@ Source::Source( int id, const QString& username )
|
||||
, m_online( false )
|
||||
, m_username( username )
|
||||
, m_id( id )
|
||||
, m_updateIndexWhenSynced( false )
|
||||
, m_state( DBSyncConnection::UNKNOWN )
|
||||
, m_cc( 0 )
|
||||
, m_avatar( 0 )
|
||||
@ -235,23 +237,43 @@ Source::onStateChanged( DBSyncConnection::State newstate, DBSyncConnection::Stat
|
||||
switch( newstate )
|
||||
{
|
||||
case DBSyncConnection::CHECKING:
|
||||
{
|
||||
msg = tr( "Checking" );
|
||||
break;
|
||||
}
|
||||
case DBSyncConnection::FETCHING:
|
||||
{
|
||||
msg = tr( "Fetching" );
|
||||
break;
|
||||
}
|
||||
case DBSyncConnection::PARSING:
|
||||
{
|
||||
msg = tr( "Parsing" );
|
||||
break;
|
||||
}
|
||||
case DBSyncConnection::SAVING:
|
||||
{
|
||||
msg = tr( "Saving" );
|
||||
break;
|
||||
}
|
||||
case DBSyncConnection::SYNCED:
|
||||
{
|
||||
if ( m_updateIndexWhenSynced )
|
||||
{
|
||||
m_updateIndexWhenSynced = false;
|
||||
|
||||
DatabaseCommand* cmd = new DatabaseCommand_UpdateSearchIndex();
|
||||
Database::instance()->enqueue( QSharedPointer<DatabaseCommand>( cmd ) );
|
||||
}
|
||||
|
||||
msg = QString();
|
||||
break;
|
||||
}
|
||||
case DBSyncConnection::SCANNING:
|
||||
{
|
||||
msg = tr( "Scanning (%L1 tracks)" ).arg( info );
|
||||
break;
|
||||
}
|
||||
|
||||
default:
|
||||
msg = QString();
|
||||
@ -332,3 +354,9 @@ Source::reportSocialAttributesChanged( DatabaseCommand_SocialAction* action )
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
Source::updateIndexWhenSynced()
|
||||
{
|
||||
m_updateIndexWhenSynced = true;
|
||||
}
|
||||
|
@ -30,9 +30,10 @@
|
||||
|
||||
#include "dllmacro.h"
|
||||
|
||||
class DatabaseCommand_LogPlayback;
|
||||
class ControlConnection;
|
||||
class DatabaseCommand_LogPlayback;
|
||||
class DatabaseCommand_SocialAction;
|
||||
class DatabaseCommand_UpdateSearchIndex;
|
||||
|
||||
namespace Tomahawk
|
||||
{
|
||||
@ -45,6 +46,7 @@ friend class ::DBSyncConnection;
|
||||
friend class ::ControlConnection;
|
||||
friend class ::DatabaseCommand_LogPlayback;
|
||||
friend class ::DatabaseCommand_SocialAction;
|
||||
friend class ::DatabaseCommand_AddFiles;
|
||||
|
||||
public:
|
||||
enum AvatarStyle { Original, FancyStyle };
|
||||
@ -109,6 +111,7 @@ private slots:
|
||||
void dbLoaded( unsigned int id, const QString& fname );
|
||||
QString lastCmdGuid() const { return m_lastCmdGuid; }
|
||||
void setLastCmdGuid( const QString& guid ) { m_lastCmdGuid = guid; }
|
||||
void updateIndexWhenSynced();
|
||||
|
||||
void setOffline();
|
||||
void setOnline();
|
||||
@ -131,6 +134,7 @@ private:
|
||||
QString m_friendlyname;
|
||||
int m_id;
|
||||
bool m_scrubFriendlyName;
|
||||
bool m_updateIndexWhenSynced;
|
||||
|
||||
Tomahawk::query_ptr m_currentTrack;
|
||||
QString m_textStatus;
|
||||
|
Loading…
x
Reference in New Issue
Block a user