forked from qt-creator/qt-creator
ClangRefactoring: Ensure that database is written to log after indexing
Change-Id: Ic2473d9fe8dc9b41a7da728c9e1b5202524c1a79 Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
This commit is contained in:
@@ -406,6 +406,27 @@ void DatabaseBackend::setBusyTimeout(std::chrono::milliseconds timeout)
|
||||
sqlite3_busy_timeout(m_databaseHandle, int(timeout.count()));
|
||||
}
|
||||
|
||||
void DatabaseBackend::walCheckpointFull()
|
||||
{
|
||||
int resultCode = sqlite3_wal_checkpoint_v2(m_databaseHandle,
|
||||
nullptr,
|
||||
SQLITE_CHECKPOINT_TRUNCATE,
|
||||
nullptr,
|
||||
nullptr);
|
||||
|
||||
switch (resultCode) {
|
||||
case SQLITE_OK:
|
||||
break;
|
||||
case SQLITE_BUSY:
|
||||
throw DatabaseIsBusy("DatabaseBackend::walCheckpointFull: Operation could not concluded "
|
||||
"because database is busy!");
|
||||
case SQLITE_ERROR:
|
||||
throwException("DatabaseBackend::walCheckpointFull: Error occurred!");
|
||||
case SQLITE_MISUSE:
|
||||
throwExceptionStatic("DatabaseBackend::walCheckpointFull: Misuse of database!");
|
||||
}
|
||||
}
|
||||
|
||||
void DatabaseBackend::throwExceptionStatic(const char *whatHasHappens)
|
||||
{
|
||||
throw Exception(whatHasHappens);
|
||||
|
||||
Reference in New Issue
Block a user