Replace all database.beginTransaction with beginTransactionNonExclusive
This ensures other database readers can continue reading while we do our write transaction. PiperOrigin-RevId: 281520758
This commit is contained in:
parent
704bd8af09
commit
8becf02c30
@ -285,7 +285,7 @@ public final class DefaultDownloadIndex implements WritableDownloadIndex {
|
||||
int version = VersionTable.getVersion(readableDatabase, VersionTable.FEATURE_OFFLINE, name);
|
||||
if (version != TABLE_VERSION) {
|
||||
SQLiteDatabase writableDatabase = databaseProvider.getWritableDatabase();
|
||||
writableDatabase.beginTransaction();
|
||||
writableDatabase.beginTransactionNonExclusive();
|
||||
try {
|
||||
VersionTable.setVersion(
|
||||
writableDatabase, VersionTable.FEATURE_OFFLINE, name, TABLE_VERSION);
|
||||
|
@ -78,7 +78,7 @@ import org.checkerframework.checker.nullness.qual.MonotonicNonNull;
|
||||
try {
|
||||
String tableName = getTableName(hexUid);
|
||||
SQLiteDatabase writableDatabase = databaseProvider.getWritableDatabase();
|
||||
writableDatabase.beginTransaction();
|
||||
writableDatabase.beginTransactionNonExclusive();
|
||||
try {
|
||||
VersionTable.removeVersion(
|
||||
writableDatabase, VersionTable.FEATURE_CACHE_FILE_METADATA, hexUid);
|
||||
@ -116,7 +116,7 @@ import org.checkerframework.checker.nullness.qual.MonotonicNonNull;
|
||||
readableDatabase, VersionTable.FEATURE_CACHE_FILE_METADATA, hexUid);
|
||||
if (version != TABLE_VERSION) {
|
||||
SQLiteDatabase writableDatabase = databaseProvider.getWritableDatabase();
|
||||
writableDatabase.beginTransaction();
|
||||
writableDatabase.beginTransactionNonExclusive();
|
||||
try {
|
||||
VersionTable.setVersion(
|
||||
writableDatabase, VersionTable.FEATURE_CACHE_FILE_METADATA, hexUid, TABLE_VERSION);
|
||||
@ -214,7 +214,7 @@ import org.checkerframework.checker.nullness.qual.MonotonicNonNull;
|
||||
Assertions.checkNotNull(tableName);
|
||||
try {
|
||||
SQLiteDatabase writableDatabase = databaseProvider.getWritableDatabase();
|
||||
writableDatabase.beginTransaction();
|
||||
writableDatabase.beginTransactionNonExclusive();
|
||||
try {
|
||||
for (String name : names) {
|
||||
writableDatabase.delete(tableName, WHERE_NAME_EQUALS, new String[] {name});
|
||||
|
@ -797,7 +797,7 @@ import org.checkerframework.checker.nullness.compatqual.NullableType;
|
||||
hexUid);
|
||||
if (version != TABLE_VERSION) {
|
||||
SQLiteDatabase writableDatabase = databaseProvider.getWritableDatabase();
|
||||
writableDatabase.beginTransaction();
|
||||
writableDatabase.beginTransactionNonExclusive();
|
||||
try {
|
||||
initializeTable(writableDatabase);
|
||||
writableDatabase.setTransactionSuccessful();
|
||||
@ -832,7 +832,7 @@ import org.checkerframework.checker.nullness.compatqual.NullableType;
|
||||
public void storeFully(HashMap<String, CachedContent> content) throws IOException {
|
||||
try {
|
||||
SQLiteDatabase writableDatabase = databaseProvider.getWritableDatabase();
|
||||
writableDatabase.beginTransaction();
|
||||
writableDatabase.beginTransactionNonExclusive();
|
||||
try {
|
||||
initializeTable(writableDatabase);
|
||||
for (CachedContent cachedContent : content.values()) {
|
||||
@ -855,7 +855,7 @@ import org.checkerframework.checker.nullness.compatqual.NullableType;
|
||||
}
|
||||
try {
|
||||
SQLiteDatabase writableDatabase = databaseProvider.getWritableDatabase();
|
||||
writableDatabase.beginTransaction();
|
||||
writableDatabase.beginTransactionNonExclusive();
|
||||
try {
|
||||
for (int i = 0; i < pendingUpdates.size(); i++) {
|
||||
CachedContent cachedContent = pendingUpdates.valueAt(i);
|
||||
@ -931,7 +931,7 @@ import org.checkerframework.checker.nullness.compatqual.NullableType;
|
||||
try {
|
||||
String tableName = getTableName(hexUid);
|
||||
SQLiteDatabase writableDatabase = databaseProvider.getWritableDatabase();
|
||||
writableDatabase.beginTransaction();
|
||||
writableDatabase.beginTransactionNonExclusive();
|
||||
try {
|
||||
VersionTable.removeVersion(
|
||||
writableDatabase, VersionTable.FEATURE_CACHE_CONTENT_METADATA, hexUid);
|
||||
|
Loading…
x
Reference in New Issue
Block a user