diff options
author | Android Build Coastguard Worker <android-build-coastguard-worker@google.com> | 2023-03-13 16:19:04 +0000 |
---|---|---|
committer | Gerrit Code Review <noreply-gerritcodereview@google.com> | 2023-03-13 16:19:04 +0000 |
commit | e751ecce954c0fe38b65cf800d3e0d1fdc8a884a (patch) | |
tree | d64e84ea6f4f9fd5a73c3c5d0dafb94319460d8b | |
parent | e45926c282f76fcba0b4e86bfa74bc6e5a5ca642 (diff) | |
parent | 5484a710cb61c69640de371ac766d0af467edfc5 (diff) | |
download | support-snap-temp-L61500000959085932.tar.gz |
Merge "Resolving issue where `attachedDbs` was not returning the full list of attached databases." into snap-temp-L61500000959085932snap-temp-L61500000959085932
2 files changed, 31 insertions, 1 deletions
diff --git a/sqlite/sqlite-framework/src/androidTest/java/androidx/sqlite/db/framework/FrameworkSQLiteDatabaseTest.kt b/sqlite/sqlite-framework/src/androidTest/java/androidx/sqlite/db/framework/FrameworkSQLiteDatabaseTest.kt index c807e239cd3..f419abd5234 100644 --- a/sqlite/sqlite-framework/src/androidTest/java/androidx/sqlite/db/framework/FrameworkSQLiteDatabaseTest.kt +++ b/sqlite/sqlite-framework/src/androidTest/java/androidx/sqlite/db/framework/FrameworkSQLiteDatabaseTest.kt @@ -79,4 +79,33 @@ class FrameworkSQLiteDatabaseTest { val cursor2 = db.query("select * from user where idk=1") assertThat(cursor2.count).isEqualTo(0) } + + @Test + fun testFrameWorkSQLiteDatabase_attachDbWorks() { + val openHelper2 = FrameworkSQLiteOpenHelper( + context, + "test2.db", + OpenHelperRecoveryTest.EmptyCallback(), + useNoBackupDirectory = false, + allowDataLossOnRecovery = false + ) + val db1 = openHelper.writableDatabase + val db2 = openHelper2.writableDatabase + + db1.execSQL( + "ATTACH DATABASE '${db2.path}' AS database2" + ) + + val cursor = db1.query("pragma database_list") + val expected = buildList<Pair<String, String>> { + while (cursor.moveToNext()) { + add(cursor.getString(1) to cursor.getString(2)) + } + } + cursor.close() + openHelper2.close() + + val actual = db1.attachedDbs?.map { it.first to it.second } + assertThat(expected).isEqualTo(actual) + } }
\ No newline at end of file diff --git a/sqlite/sqlite-framework/src/main/java/androidx/sqlite/db/framework/FrameworkSQLiteDatabase.kt b/sqlite/sqlite-framework/src/main/java/androidx/sqlite/db/framework/FrameworkSQLiteDatabase.kt index 00257a1905d..b9aeb34aad5 100644 --- a/sqlite/sqlite-framework/src/main/java/androidx/sqlite/db/framework/FrameworkSQLiteDatabase.kt +++ b/sqlite/sqlite-framework/src/main/java/androidx/sqlite/db/framework/FrameworkSQLiteDatabase.kt @@ -290,7 +290,8 @@ internal class FrameworkSQLiteDatabase( override val isWriteAheadLoggingEnabled: Boolean get() = SupportSQLiteCompat.Api16Impl.isWriteAheadLoggingEnabled(delegate) - override val attachedDbs: List<Pair<String, String>>? = delegate.attachedDbs + override val attachedDbs: List<Pair<String, String>>? + get() = delegate.attachedDbs override val isDatabaseIntegrityOk: Boolean get() = delegate.isDatabaseIntegrityOk |