SQLite
 sql >> Database >  >> RDS >> SQLite

Quanto è sicuro per i thread EnableWriteAheadLogging nel contesto dell'utilizzo reale e della documentazione SQLite?

Questo non ha nulla a che fare con la sicurezza del thread .

In modalità WAL, uno scrittore non blocca i lettori, quindi il framework Android ritiene che in questo caso sia una buona idea utilizzare un pool di connessioni più ampio.

O forse no, come mostra questo commento:

private void setMaxConnectionPoolSizeLocked() {
    if ((mConfiguration.openFlags & SQLiteDatabase.ENABLE_WRITE_AHEAD_LOGGING) != 0) {
        mMaxConnectionPoolSize = SQLiteGlobal.getWALConnectionPoolSize();
    } else {
        // TODO: We don't actually need to restrict the connection pool size to 1
        // for non-WAL databases. There might be reasons to use connection pooling
        // with other journal modes. For now, enabling connection pooling and
        // using WAL are the same thing in the API.
        mMaxConnectionPoolSize = 1;
    }
}