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:
tonihei 2019-11-20 16:01:45 +00:00 committed by Oliver Woodman
parent 704bd8af09
commit 8becf02c30
3 changed files with 8 additions and 8 deletions

View File

@ -285,7 +285,7 @@ public final class DefaultDownloadIndex implements WritableDownloadIndex {
int version = VersionTable.getVersion(readableDatabase, VersionTable.FEATURE_OFFLINE, name); int version = VersionTable.getVersion(readableDatabase, VersionTable.FEATURE_OFFLINE, name);
if (version != TABLE_VERSION) { if (version != TABLE_VERSION) {
SQLiteDatabase writableDatabase = databaseProvider.getWritableDatabase(); SQLiteDatabase writableDatabase = databaseProvider.getWritableDatabase();
writableDatabase.beginTransaction(); writableDatabase.beginTransactionNonExclusive();
try { try {
VersionTable.setVersion( VersionTable.setVersion(
writableDatabase, VersionTable.FEATURE_OFFLINE, name, TABLE_VERSION); writableDatabase, VersionTable.FEATURE_OFFLINE, name, TABLE_VERSION);

View File

@ -78,7 +78,7 @@ import org.checkerframework.checker.nullness.qual.MonotonicNonNull;
try { try {
String tableName = getTableName(hexUid); String tableName = getTableName(hexUid);
SQLiteDatabase writableDatabase = databaseProvider.getWritableDatabase(); SQLiteDatabase writableDatabase = databaseProvider.getWritableDatabase();
writableDatabase.beginTransaction(); writableDatabase.beginTransactionNonExclusive();
try { try {
VersionTable.removeVersion( VersionTable.removeVersion(
writableDatabase, VersionTable.FEATURE_CACHE_FILE_METADATA, hexUid); 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); readableDatabase, VersionTable.FEATURE_CACHE_FILE_METADATA, hexUid);
if (version != TABLE_VERSION) { if (version != TABLE_VERSION) {
SQLiteDatabase writableDatabase = databaseProvider.getWritableDatabase(); SQLiteDatabase writableDatabase = databaseProvider.getWritableDatabase();
writableDatabase.beginTransaction(); writableDatabase.beginTransactionNonExclusive();
try { try {
VersionTable.setVersion( VersionTable.setVersion(
writableDatabase, VersionTable.FEATURE_CACHE_FILE_METADATA, hexUid, TABLE_VERSION); writableDatabase, VersionTable.FEATURE_CACHE_FILE_METADATA, hexUid, TABLE_VERSION);
@ -214,7 +214,7 @@ import org.checkerframework.checker.nullness.qual.MonotonicNonNull;
Assertions.checkNotNull(tableName); Assertions.checkNotNull(tableName);
try { try {
SQLiteDatabase writableDatabase = databaseProvider.getWritableDatabase(); SQLiteDatabase writableDatabase = databaseProvider.getWritableDatabase();
writableDatabase.beginTransaction(); writableDatabase.beginTransactionNonExclusive();
try { try {
for (String name : names) { for (String name : names) {
writableDatabase.delete(tableName, WHERE_NAME_EQUALS, new String[] {name}); writableDatabase.delete(tableName, WHERE_NAME_EQUALS, new String[] {name});

View File

@ -797,7 +797,7 @@ import org.checkerframework.checker.nullness.compatqual.NullableType;
hexUid); hexUid);
if (version != TABLE_VERSION) { if (version != TABLE_VERSION) {
SQLiteDatabase writableDatabase = databaseProvider.getWritableDatabase(); SQLiteDatabase writableDatabase = databaseProvider.getWritableDatabase();
writableDatabase.beginTransaction(); writableDatabase.beginTransactionNonExclusive();
try { try {
initializeTable(writableDatabase); initializeTable(writableDatabase);
writableDatabase.setTransactionSuccessful(); writableDatabase.setTransactionSuccessful();
@ -832,7 +832,7 @@ import org.checkerframework.checker.nullness.compatqual.NullableType;
public void storeFully(HashMap<String, CachedContent> content) throws IOException { public void storeFully(HashMap<String, CachedContent> content) throws IOException {
try { try {
SQLiteDatabase writableDatabase = databaseProvider.getWritableDatabase(); SQLiteDatabase writableDatabase = databaseProvider.getWritableDatabase();
writableDatabase.beginTransaction(); writableDatabase.beginTransactionNonExclusive();
try { try {
initializeTable(writableDatabase); initializeTable(writableDatabase);
for (CachedContent cachedContent : content.values()) { for (CachedContent cachedContent : content.values()) {
@ -855,7 +855,7 @@ import org.checkerframework.checker.nullness.compatqual.NullableType;
} }
try { try {
SQLiteDatabase writableDatabase = databaseProvider.getWritableDatabase(); SQLiteDatabase writableDatabase = databaseProvider.getWritableDatabase();
writableDatabase.beginTransaction(); writableDatabase.beginTransactionNonExclusive();
try { try {
for (int i = 0; i < pendingUpdates.size(); i++) { for (int i = 0; i < pendingUpdates.size(); i++) {
CachedContent cachedContent = pendingUpdates.valueAt(i); CachedContent cachedContent = pendingUpdates.valueAt(i);
@ -931,7 +931,7 @@ import org.checkerframework.checker.nullness.compatqual.NullableType;
try { try {
String tableName = getTableName(hexUid); String tableName = getTableName(hexUid);
SQLiteDatabase writableDatabase = databaseProvider.getWritableDatabase(); SQLiteDatabase writableDatabase = databaseProvider.getWritableDatabase();
writableDatabase.beginTransaction(); writableDatabase.beginTransactionNonExclusive();
try { try {
VersionTable.removeVersion( VersionTable.removeVersion(
writableDatabase, VersionTable.FEATURE_CACHE_CONTENT_METADATA, hexUid); writableDatabase, VersionTable.FEATURE_CACHE_CONTENT_METADATA, hexUid);