void SQLiteDatabase::runIncrementalVacuumCommand() { MutexLocker locker(m_authorizerLock); enableAuthorizer(false); if (!executeCommand("PRAGMA incremental_vacuum")) LOG(SQLDatabase, "Unable to run incremental vacuum - %s", lastErrorMsg()); enableAuthorizer(true); }
int SQLiteDatabase::runIncrementalVacuumCommand() { LockHolder locker(m_authorizerLock); enableAuthorizer(false); if (!executeCommand(ASCIILiteral("PRAGMA incremental_vacuum"))) LOG(SQLDatabase, "Unable to run incremental vacuum - %s", lastErrorMsg()); enableAuthorizer(true); return lastError(); }
bool SQLiteDatabase::open(const String& filename, bool forWebSQLDatabase) { close(); m_openError = SQLiteFileSystem::openDatabase(filename, &m_db, forWebSQLDatabase); if (m_openError != SQLITE_OK) { m_openErrorMessage = m_db ? sqlite3_errmsg(m_db) : "sqlite_open returned null"; LOG_ERROR("SQLite database failed to load from %s\nCause - %s", filename.ascii().data(), m_openErrorMessage.data()); sqlite3_close(m_db); m_db = 0; return false; } overrideUnauthorizedFunctions(); m_openError = sqlite3_extended_result_codes(m_db, 1); if (m_openError != SQLITE_OK) { m_openErrorMessage = sqlite3_errmsg(m_db); LOG_ERROR("SQLite database error when enabling extended errors - %s", m_openErrorMessage.data()); sqlite3_close(m_db); m_db = 0; return false; } if (isOpen()) m_openingThread = currentThread(); else m_openErrorMessage = "sqlite_open returned null"; if (!SQLiteStatement(*this, ASCIILiteral("PRAGMA temp_store = MEMORY;")).executeCommand()) LOG_ERROR("SQLite database could not set temp_store to memory"); SQLiteStatement walStatement(*this, ASCIILiteral("PRAGMA journal_mode=WAL;")); int result = walStatement.step(); if (result != SQLITE_OK && result != SQLITE_ROW) LOG_ERROR("SQLite database failed to set journal_mode to WAL, error: %s", lastErrorMsg()); #ifndef NDEBUG if (result == SQLITE_ROW) { String mode = walStatement.getColumnText(0); if (!equalIgnoringCase(mode, "wal")) LOG_ERROR("journal_mode of database should be 'wal', but is '%s'", mode.utf8().data()); } #endif return isOpen(); }
void SQLiteDatabase::runVacuumCommand() { if (!executeCommand("VACUUM;")) LOG(SQLDatabase, "Unable to vacuum database - %s", lastErrorMsg()); }
int SQLiteDatabase::runVacuumCommand() { if (!executeCommand(ASCIILiteral("VACUUM;"))) LOG(SQLDatabase, "Unable to vacuum database - %s", lastErrorMsg()); return lastError(); }