diff options
| -rw-r--r-- | core/java/android/content/ContentResolver.java | 2 | ||||
| -rw-r--r-- | core/java/android/database/sqlite/SQLiteDatabase.java | 14 |
2 files changed, 9 insertions, 7 deletions
diff --git a/core/java/android/content/ContentResolver.java b/core/java/android/content/ContentResolver.java index d114ecce3d96..b4718ab6ef2b 100644 --- a/core/java/android/content/ContentResolver.java +++ b/core/java/android/content/ContentResolver.java @@ -247,6 +247,8 @@ public abstract class ContentResolver { releaseProvider(provider); return null; } + // force query execution + qCursor.getCount(); long durationMillis = SystemClock.uptimeMillis() - startTime; maybeLogQueryToEventLog(durationMillis, uri, projection, selection, sortOrder); // Wrap the cursor object into CursorWrapperInner object diff --git a/core/java/android/database/sqlite/SQLiteDatabase.java b/core/java/android/database/sqlite/SQLiteDatabase.java index 70f681fef6ad..fb5507dc8f83 100644 --- a/core/java/android/database/sqlite/SQLiteDatabase.java +++ b/core/java/android/database/sqlite/SQLiteDatabase.java @@ -1341,19 +1341,19 @@ public class SQLiteDatabase extends SQLiteClosable { SQLiteCursorDriver driver = new SQLiteDirectCursorDriver(this, sql, editTable); Cursor cursor = null; - int count = 0; try { cursor = driver.query( cursorFactory != null ? cursorFactory : mFactory, selectionArgs); - - // Force query execution - if (cursor != null) { - count = cursor.getCount(); - } } finally { if (Config.LOGV || mSlowQueryThreshold != -1) { + // Force query execution + int count = -1; + if (cursor != null) { + count = cursor.getCount(); + } + long duration = System.currentTimeMillis() - timeStart; if (Config.LOGV || duration >= mSlowQueryThreshold) { @@ -1361,7 +1361,7 @@ public class SQLiteDatabase extends SQLiteClosable { "query (" + duration + " ms): " + driver.toString() + ", args are " + (selectionArgs != null ? TextUtils.join(",", selectionArgs) - : "<null>") + ", count is " + count); + : "<null>") + ", count is " + count); } } } |