From c5947e577ef5a149cfc3b3c52b14a95df2e2a793 Mon Sep 17 00:00:00 2001 From: Daniel Santiago Rivera Date: Thu, 9 Mar 2023 22:12:28 +0000 Subject: [PATCH] Revert "Clear statement cache if schema changes." Revert submission 21849810-cherrypick-sql-cache-issue-elg7faliq8 Reason for revert: b/272303109 Reverted changes: /q/submissionid:21849810-cherrypick-sql-cache-issue-elg7faliq8 Change-Id: Ibda8e55d21308061ea3d13c918ec471a34e4e427 --- .../java/android/database/sqlite/SQLiteConnection.java | 4 ---- .../android/database/sqlite/SQLiteConnectionPool.java | 10 ---------- core/java/android/database/sqlite/SQLiteDatabase.java | 6 ++---- 3 files changed, 2 insertions(+), 18 deletions(-) diff --git a/core/java/android/database/sqlite/SQLiteConnection.java b/core/java/android/database/sqlite/SQLiteConnection.java index 45326610fbd00..4b3eb3a000ff6 100644 --- a/core/java/android/database/sqlite/SQLiteConnection.java +++ b/core/java/android/database/sqlite/SQLiteConnection.java @@ -1392,10 +1392,6 @@ public final class SQLiteConnection implements CancellationSignal.OnCancelListen return sql.replaceAll("[\\s]*\\n+[\\s]*", " "); } - void clearPreparedStatementCache() { - mPreparedStatementCache.evictAll(); - } - /** * Holder type for a prepared statement. * diff --git a/core/java/android/database/sqlite/SQLiteConnectionPool.java b/core/java/android/database/sqlite/SQLiteConnectionPool.java index 6023d66b9c883..069c264313e79 100644 --- a/core/java/android/database/sqlite/SQLiteConnectionPool.java +++ b/core/java/android/database/sqlite/SQLiteConnectionPool.java @@ -1126,16 +1126,6 @@ public final class SQLiteConnectionPool implements Closeable { mConnectionWaiterPool = waiter; } - void clearAcquiredConnectionsPreparedStatementCache() { - synchronized (mLock) { - if (!mAcquiredConnections.isEmpty()) { - for (SQLiteConnection connection : mAcquiredConnections.keySet()) { - connection.clearPreparedStatementCache(); - } - } - } - } - /** * Dumps debugging information about this connection pool. * diff --git a/core/java/android/database/sqlite/SQLiteDatabase.java b/core/java/android/database/sqlite/SQLiteDatabase.java index db898c3b7b5d2..c08294f42c45d 100644 --- a/core/java/android/database/sqlite/SQLiteDatabase.java +++ b/core/java/android/database/sqlite/SQLiteDatabase.java @@ -2088,12 +2088,10 @@ public final class SQLiteDatabase extends SQLiteClosable { try (SQLiteStatement statement = new SQLiteStatement(this, sql, bindArgs)) { return statement.executeUpdateDelete(); } finally { - // If schema was updated, close non-primary connections and clear prepared - // statement caches of active connections, otherwise they might have outdated - // schema information. + // If schema was updated, close non-primary connections, otherwise they might + // have outdated schema information if (statementType == DatabaseUtils.STATEMENT_DDL) { mConnectionPoolLocked.closeAvailableNonPrimaryConnectionsAndLogExceptions(); - mConnectionPoolLocked.clearAcquiredConnectionsPreparedStatementCache(); } } } finally {