Skip to content

Deprecate clearAll in favor of removeAll #132

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
wants to merge 1 commit into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@

PUT_CHANGELOG_HERE

- Deprecate `ApolloStore`/`NormalizedCache` `clearAll()` in favor of `removeAll()` for consistency with `remove()`
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Note that in Java and Kotlin collections, removeAll() takes a list of items to remove, while clear() clears the whole collection

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fair! Oh well clearAll() isn't that bad after all.


# Version 0.0.9
_2025-04-09_

Expand Down
1 change: 1 addition & 0 deletions Writerside/topics/migration-guide.md
Original file line number Diff line number Diff line change
Expand Up @@ -128,6 +128,7 @@ client.apolloStore.writeOperation(
- `readFragment()` now returns a `ReadResult<D>` (it previously returned a `<D>`). This allows for surfacing metadata associated to the returned data, e.g. staleness.
- Records are now rooted per operation type (`QUERY_ROOT`, `MUTATION_ROOT`, `SUBSCRIPTION_ROOT`), when previously these were all at the same level, which could cause conflicts.
- `ApolloClient.apolloStore` is deprecated in favor of `ApolloClient.store` for consistency.
- `ApolloStore` / `NormalizedCache` `clearAll()` are deprecated in favor of `removeAll()` for consistency with `remove()`.

## CacheResolver, CacheKeyResolver

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ public final class com/apollographql/cache/normalized/sql/SqlNormalizedCache : c
public fun merge (Ljava/util/Collection;Lcom/apollographql/cache/normalized/api/CacheHeaders;Lcom/apollographql/cache/normalized/api/RecordMerger;)Ljava/util/Set;
public fun remove (Ljava/util/Collection;Z)I
public fun remove-eNSUWrY (Ljava/lang/String;Z)Z
public fun removeAll ()V
public fun trim (JF)J
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ public final class com/apollographql/cache/normalized/sql/SqlNormalizedCache : c
public fun merge (Ljava/util/Collection;Lcom/apollographql/cache/normalized/api/CacheHeaders;Lcom/apollographql/cache/normalized/api/RecordMerger;)Ljava/util/Set;
public fun remove (Ljava/util/Collection;Z)I
public fun remove-eNSUWrY (Ljava/lang/String;Z)Z
public fun removeAll ()V
public fun trim (JF)J
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -85,14 +85,14 @@ final class com.apollographql.cache.normalized.sql.internal.record/SelectRecords
}

final class com.apollographql.cache.normalized.sql/SqlNormalizedCache : com.apollographql.cache.normalized.api/NormalizedCache { // com.apollographql.cache.normalized.sql/SqlNormalizedCache|null[0]
final fun clearAll() // com.apollographql.cache.normalized.sql/SqlNormalizedCache.clearAll|clearAll(){}[0]
final fun dump(): kotlin.collections/Map<kotlin.reflect/KClass<*>, kotlin.collections/Map<com.apollographql.cache.normalized.api/CacheKey, com.apollographql.cache.normalized.api/Record>> // com.apollographql.cache.normalized.sql/SqlNormalizedCache.dump|dump(){}[0]
final fun loadRecord(com.apollographql.cache.normalized.api/CacheKey, com.apollographql.cache.normalized.api/CacheHeaders): com.apollographql.cache.normalized.api/Record? // com.apollographql.cache.normalized.sql/SqlNormalizedCache.loadRecord|loadRecord(com.apollographql.cache.normalized.api.CacheKey;com.apollographql.cache.normalized.api.CacheHeaders){}[0]
final fun loadRecords(kotlin.collections/Collection<com.apollographql.cache.normalized.api/CacheKey>, com.apollographql.cache.normalized.api/CacheHeaders): kotlin.collections/Collection<com.apollographql.cache.normalized.api/Record> // com.apollographql.cache.normalized.sql/SqlNormalizedCache.loadRecords|loadRecords(kotlin.collections.Collection<com.apollographql.cache.normalized.api.CacheKey>;com.apollographql.cache.normalized.api.CacheHeaders){}[0]
final fun merge(com.apollographql.cache.normalized.api/Record, com.apollographql.cache.normalized.api/CacheHeaders, com.apollographql.cache.normalized.api/RecordMerger): kotlin.collections/Set<kotlin/String> // com.apollographql.cache.normalized.sql/SqlNormalizedCache.merge|merge(com.apollographql.cache.normalized.api.Record;com.apollographql.cache.normalized.api.CacheHeaders;com.apollographql.cache.normalized.api.RecordMerger){}[0]
final fun merge(kotlin.collections/Collection<com.apollographql.cache.normalized.api/Record>, com.apollographql.cache.normalized.api/CacheHeaders, com.apollographql.cache.normalized.api/RecordMerger): kotlin.collections/Set<kotlin/String> // com.apollographql.cache.normalized.sql/SqlNormalizedCache.merge|merge(kotlin.collections.Collection<com.apollographql.cache.normalized.api.Record>;com.apollographql.cache.normalized.api.CacheHeaders;com.apollographql.cache.normalized.api.RecordMerger){}[0]
final fun remove(com.apollographql.cache.normalized.api/CacheKey, kotlin/Boolean): kotlin/Boolean // com.apollographql.cache.normalized.sql/SqlNormalizedCache.remove|remove(com.apollographql.cache.normalized.api.CacheKey;kotlin.Boolean){}[0]
final fun remove(kotlin.collections/Collection<com.apollographql.cache.normalized.api/CacheKey>, kotlin/Boolean): kotlin/Int // com.apollographql.cache.normalized.sql/SqlNormalizedCache.remove|remove(kotlin.collections.Collection<com.apollographql.cache.normalized.api.CacheKey>;kotlin.Boolean){}[0]
final fun removeAll() // com.apollographql.cache.normalized.sql/SqlNormalizedCache.removeAll|removeAll(){}[0]
final fun trim(kotlin/Long, kotlin/Float): kotlin/Long // com.apollographql.cache.normalized.sql/SqlNormalizedCache.trim|trim(kotlin.Long;kotlin.Float){}[0]
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ class SqlNormalizedCache internal constructor(
}
}

override fun clearAll() {
override fun removeAll() {
recordDatabase.deleteAllRecords()
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ class SqlNormalizedCacheTest {

@BeforeTest
fun setUp() {
cache.clearAll()
cache.removeAll()
}

@Test
Expand Down Expand Up @@ -114,10 +114,10 @@ class SqlNormalizedCacheTest {
}

@Test
fun testClearAll() {
fun testRemoveAll() {
createRecord(QUERY_ROOT_KEY)
createRecord(STANDARD_KEY)
cache.clearAll()
cache.removeAll()
assertNull(cache.loadRecord(QUERY_ROOT_KEY, CacheHeaders.NONE))
assertNull(cache.loadRecord(STANDARD_KEY, CacheHeaders.NONE))
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ import kotlin.test.assertNull
class TrimTest {
@Test
fun trimTest() {
val apolloStore = ApolloStore(SqlNormalizedCacheFactory()).also { it.clearAll() }
val apolloStore = ApolloStore(SqlNormalizedCacheFactory()).also { it.removeAll() }

val largeString = "".padStart(1024, '?')

Expand Down
6 changes: 6 additions & 0 deletions normalized-cache/api/normalized-cache.api
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ public abstract interface class com/apollographql/cache/normalized/ApolloStore {
public abstract fun readOperation (Lcom/apollographql/apollo/api/Operation;Lcom/apollographql/apollo/api/CustomScalarAdapters;Lcom/apollographql/cache/normalized/api/CacheHeaders;)Lcom/apollographql/apollo/api/ApolloResponse;
public abstract fun remove (Ljava/util/List;Z)I
public abstract fun remove-eNSUWrY (Ljava/lang/String;Z)Z
public abstract fun removeAll ()Z
public abstract fun rollbackOptimisticUpdates (Ljava/util/UUID;)Ljava/util/Set;
public abstract fun trim (JF)J
public abstract fun writeFragment-1qdIjGk (Lcom/apollographql/apollo/api/Fragment;Ljava/lang/String;Lcom/apollographql/apollo/api/Fragment$Data;Lcom/apollographql/apollo/api/CustomScalarAdapters;Lcom/apollographql/cache/normalized/api/CacheHeaders;)Ljava/util/Set;
Expand All @@ -25,6 +26,7 @@ public final class com/apollographql/cache/normalized/ApolloStore$Companion {
}

public final class com/apollographql/cache/normalized/ApolloStore$DefaultImpls {
public static fun clearAll (Lcom/apollographql/cache/normalized/ApolloStore;)Z
public static synthetic fun normalize-niOPdRo$default (Lcom/apollographql/cache/normalized/ApolloStore;Lcom/apollographql/apollo/api/Executable;Ljava/util/Map;Ljava/lang/String;Lcom/apollographql/apollo/api/CustomScalarAdapters;ILjava/lang/Object;)Ljava/util/Map;
public static synthetic fun readFragment-dEpVOtE$default (Lcom/apollographql/cache/normalized/ApolloStore;Lcom/apollographql/apollo/api/Fragment;Ljava/lang/String;Lcom/apollographql/apollo/api/CustomScalarAdapters;Lcom/apollographql/cache/normalized/api/CacheHeaders;ILjava/lang/Object;)Lcom/apollographql/cache/normalized/ApolloStore$ReadResult;
public static synthetic fun readOperation$default (Lcom/apollographql/cache/normalized/ApolloStore;Lcom/apollographql/apollo/api/Operation;Lcom/apollographql/apollo/api/CustomScalarAdapters;Lcom/apollographql/cache/normalized/api/CacheHeaders;ILjava/lang/Object;)Lcom/apollographql/apollo/api/ApolloResponse;
Expand Down Expand Up @@ -202,6 +204,7 @@ public final class com/apollographql/cache/normalized/SimpleApolloStore {
public static synthetic fun remove$default (Lcom/apollographql/cache/normalized/SimpleApolloStore;Ljava/util/List;ZILjava/lang/Object;)I
public final fun remove-eNSUWrY (Ljava/lang/String;Z)Z
public static synthetic fun remove-eNSUWrY$default (Lcom/apollographql/cache/normalized/SimpleApolloStore;Ljava/lang/String;ZILjava/lang/Object;)Z
public final fun removeAll ()Z
public final fun rollbackOptimisticUpdates (Ljava/util/UUID;)Ljava/util/Set;
public final fun trim (JF)J
public static synthetic fun trim$default (Lcom/apollographql/cache/normalized/SimpleApolloStore;JFILjava/lang/Object;)J
Expand Down Expand Up @@ -495,6 +498,7 @@ public abstract interface class com/apollographql/cache/normalized/api/Normalize
public static fun prettifyDump (Ljava/util/Map;)Ljava/lang/String;
public abstract fun remove (Ljava/util/Collection;Z)I
public abstract fun remove-eNSUWrY (Ljava/lang/String;Z)Z
public abstract fun removeAll ()V
public abstract fun trim (JF)J
}

Expand All @@ -503,6 +507,7 @@ public final class com/apollographql/cache/normalized/api/NormalizedCache$Compan
}

public final class com/apollographql/cache/normalized/api/NormalizedCache$DefaultImpls {
public static fun clearAll (Lcom/apollographql/cache/normalized/api/NormalizedCache;)V
public static fun trim (Lcom/apollographql/cache/normalized/api/NormalizedCache;JF)J
public static synthetic fun trim$default (Lcom/apollographql/cache/normalized/api/NormalizedCache;JFILjava/lang/Object;)J
}
Expand Down Expand Up @@ -634,6 +639,7 @@ public final class com/apollographql/cache/normalized/memory/MemoryCache : com/a
public fun merge (Ljava/util/Collection;Lcom/apollographql/cache/normalized/api/CacheHeaders;Lcom/apollographql/cache/normalized/api/RecordMerger;)Ljava/util/Set;
public fun remove (Ljava/util/Collection;Z)I
public fun remove-eNSUWrY (Ljava/lang/String;Z)Z
public fun removeAll ()V
public fun trim (JF)J
}

Expand Down
Loading