Skip to content
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

Firestore: deleteAllPersistentCacheIndexes() added, but hidden for now #7587

Merged

Conversation

dconeybe
Copy link
Contributor

@dconeybe dconeybe commented Aug 24, 2023

Implement the new deleteAllPersistentCacheIndexes() function. This function can be used to delete client-side indexes that were either created manually via the legacy, experimental setIndexConfiguration() API or auto-created via the new enablePersistentCacheIndexAutoCreation() API (which was added in #7542).

Note that this new function is not available publicly yet because there is still more work to do. A future PR will add this and the other index auto-creation functions from #7542 to the public API surface.

This is a port of firebase/firebase-android-sdk#5162

The functions and types added by this PR were made publicly available in #7599.

@dconeybe dconeybe self-assigned this Aug 24, 2023
@changeset-bot
Copy link

changeset-bot bot commented Aug 24, 2023

🦋 Changeset detected

Latest commit: 5a159f3

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 3 packages
Name Type
@firebase/firestore Patch
firebase Patch
@firebase/firestore-compat Patch

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

@google-oss-bot
Copy link
Contributor

google-oss-bot commented Aug 24, 2023

Size Report 1

Affected Products

  • @firebase/firestore

    TypeBase (5f6304d)Merge (f04e24f)Diff
    browser374 kB375 kB+909 B (+0.2%)
    esm5359 kB360 kB+887 B (+0.2%)
    main576 kB577 kB+1.30 kB (+0.2%)
    module374 kB375 kB+909 B (+0.2%)
    react-native375 kB376 kB+909 B (+0.2%)
  • bundle

    TypeBase (5f6304d)Merge (f04e24f)Diff
    firestore (Persistence)302 kB302 kB+149 B (+0.0%)
    firestore (Query Cursors)239 kB239 kB+45 B (+0.0%)
    firestore (Query)236 kB237 kB+45 B (+0.0%)
    firestore (Read data once)224 kB224 kB+45 B (+0.0%)
    firestore (Realtime updates)226 kB226 kB+45 B (+0.0%)
    firestore (Transaction)204 kB204 kB+45 B (+0.0%)
    firestore (Write data)204 kB204 kB+45 B (+0.0%)
  • firebase

    TypeBase (5f6304d)Merge (f04e24f)Diff
    firebase-compat.js779 kB779 kB+145 B (+0.0%)
    firebase-firestore-compat.js341 kB341 kB+145 B (+0.0%)
    firebase-firestore.js434 kB435 kB+863 B (+0.2%)

Test Logs

  1. https://storage.googleapis.com/firebase-sdk-metric-reports/U8XVlFi15o.html

@google-oss-bot
Copy link
Contributor

google-oss-bot commented Aug 24, 2023

Size Analysis Report 1

Affected Products

  • @firebase/firestore

    • addDoc

      Size

      TypeBase (5f6304d)Merge (f04e24f)Diff
      size123 kB123 kB+45 B (+0.0%)
      size-with-ext-deps194 kB194 kB+45 B (+0.0%)
    • deleteAllPersistentCacheIndexes

      Size

      TypeBase (5f6304d)Merge (f04e24f)Diff
      size?87.4 kB? (?)
      size-with-ext-deps?157 kB? (?)

      Dependency

      TypeBase (5f6304d)Merge (f04e24f)Diff
      functions?

      113 dependencies

      __PRIVATE__queryToTarget
      __PRIVATE_applyArrayRemoveTransformOperation
      __PRIVATE_applyArrayUnionTransformOperation
      __PRIVATE_applyTransformOperationToLocalView
      __PRIVATE_applyTransformOperationToRemoteDocument
      __PRIVATE_argToString
      __PRIVATE_arrayEquals
      __PRIVATE_arrayValueContains
      __PRIVATE_boundCompareToDocument
      __PRIVATE_boundEquals
      __PRIVATE_calculateOverlayMutation
      __PRIVATE_canFallbackFromIndexedDbError
      __PRIVATE_canonifyFilter
      __PRIVATE_canonifyTarget
      __PRIVATE_canonifyValue
      __PRIVATE_cloneLongPollingOptions
      __PRIVATE_coercedFieldValuesArray
      __PRIVATE_compareDocs
      __PRIVATE_compareTimestamps
      __PRIVATE_compositeFilterIsConjunction
      __PRIVATE_compositeFilterIsFlat
      __PRIVATE_compositeFilterIsFlatConjunction
      __PRIVATE_computeTransformOperationBaseValue
      __PRIVATE_configureFirestore
      __PRIVATE_convertOverlayedDocumentMapToDocumentMap
      __PRIVATE_convertQueryTargetToQuery
      __PRIVATE_debugCast
      __PRIVATE_deepClone
      __PRIVATE_documentKeySet
      __PRIVATE_ensureOfflineComponents
      __PRIVATE_extractDocumentKeysFromArrayValue
      __PRIVATE_extractLocalPathFromResourceName
      __PRIVATE_fieldTransformEquals
      __PRIVATE_filterEquals
      __PRIVATE_firestoreClientDeleteAllFieldIndexes
      __PRIVATE_fromBundledQuery
      __PRIVATE_fromFieldPathReference
      __PRIVATE_fromFilter
      __PRIVATE_fromQueryPath
      __PRIVATE_fromResourceName
      __PRIVATE_fromVersion
      __PRIVATE_getFirstOrderByField
      __PRIVATE_getInequalityFilterField
      __PRIVATE_getLocalStore
      __PRIVATE_getLocalWriteTime
      __PRIVATE_getLogLevel
      __PRIVATE_getPatch
      __PRIVATE_getPreviousValue
      __PRIVATE_hardAssert
      __PRIVATE_indexOffsetComparator
      __PRIVATE_isCollectionGroupQuery
      __PRIVATE_isIndexedDbTransactionError
      __PRIVATE_isMapValue
      __PRIVATE_isMaxValue
      __PRIVATE_isNegativeZero
      __PRIVATE_isNullOrUndefined
      __PRIVATE_isServerTimestamp
      __PRIVATE_isValidResourceName
      __PRIVATE_localStoreHandleUserChange
      __PRIVATE_localTransformResults
      __PRIVATE_logDebug
      __PRIVATE_logError
      __PRIVATE_logWarn
      __PRIVATE_mutableDocumentMap
      __PRIVATE_mutationApplyToLocalView
      __PRIVATE_mutationApplyToRemoteDocument
      __PRIVATE_mutationEquals
      __PRIVATE_newDocumentKeyMap
      __PRIVATE_newIndexOffsetFromDocument
      __PRIVATE_newIndexOffsetSuccessorFromReadTime
      __PRIVATE_newLocalStore
      __PRIVATE_newMutationMap
      __PRIVATE_newOverlayMap
      __PRIVATE_newQuery
      __PRIVATE_newQueryComparator
      __PRIVATE_newSerializer
      __PRIVATE_newTarget
      __PRIVATE_normalizeByteString
      __PRIVATE_normalizeNumber
      __PRIVATE_normalizeTimestamp
      __PRIVATE_objectSize
      __PRIVATE_orderByEquals
      __PRIVATE_preconditionIsValidForDocument
      __PRIVATE_primitiveComparator
      __PRIVATE_queryMatches
      __PRIVATE_queryMatchesAllDocuments
      __PRIVATE_queryNormalizedOrderBy
      __PRIVATE_queryToTarget
      __PRIVATE_queryWithLimit
      __PRIVATE_randomBytes
      __PRIVATE_serverTransformResults
      __PRIVATE_setOfflineComponentProvider
      __PRIVATE_stringifyFilter
      __PRIVATE_stringifyQuery
      __PRIVATE_targetEquals
      __PRIVATE_targetIdSet
      __PRIVATE_toDouble
      __PRIVATE_toInteger
      __PRIVATE_typeOrder
      __PRIVATE_validateIsNotUsedTogether
      __PRIVATE_valueCompare
      __PRIVATE_valueEquals
      __PRIVATE_wrapInUserErrorIfRecoverable
      asNumber
      canonicalId
      deleteAllPersistentCacheIndexes
      documentMap
      fail
      forEach
      getDocument
      isArray
      isEmpty
      isInteger

      ?
      classes?

      92 dependencies

      AppCheckToken
      BasePath
      Bound
      ByteString
      CompositeFilter
      DatabaseId
      DatabaseInfo
      DelayedOperation
      DocumentKey
      FieldFilter
      FieldMask
      FieldPath$1
      Filter
      Firestore
      Firestore$1
      FirestoreClient
      FirestoreError
      FirestoreSettingsImpl
      IndexOffset
      JsonProtoSerializer
      LLRBNode
      LocalDocumentsView
      MemoryOfflineComponentProvider
      MutableDocument
      Mutation
      MutationBatch
      ObjectMap
      ObjectValue
      OrderBy
      Overlay
      OverlayedDocument
      PersistencePromise
      PersistenceTransaction
      Precondition
      QueryContext
      RemoteDocumentChangeBuffer
      ResourcePath
      SnapshotVersion
      SortedMap
      SortedMapIterator
      SortedSet
      SortedSetIterator
      Timestamp
      TransformOperation
      User
      __PRIVATE_ArrayContainsAnyFilter
      __PRIVATE_ArrayContainsFilter
      __PRIVATE_ArrayRemoveTransformOperation
      __PRIVATE_ArrayUnionTransformOperation
      __PRIVATE_AsyncQueueImpl
      __PRIVATE_AutoId
      __PRIVATE_Base64DecodeError
      __PRIVATE_Deferred
      __PRIVATE_DeleteMutation
      __PRIVATE_DocReference
      __PRIVATE_EmptyAuthCredentialsProvider
      __PRIVATE_ExponentialBackoff
      __PRIVATE_FirebaseAppCheckTokenProvider
      __PRIVATE_FirebaseAuthCredentialsProvider
      __PRIVATE_FirstPartyAuthCredentialsProvider
      __PRIVATE_FirstPartyToken
      __PRIVATE_InFilter
      __PRIVATE_KeyFieldFilter
      __PRIVATE_KeyFieldInFilter
      __PRIVATE_KeyFieldNotInFilter
      __PRIVATE_ListenSequence
      __PRIVATE_LocalClientState
      __PRIVATE_LocalSerializer
      __PRIVATE_LocalStoreImpl
      __PRIVATE_MemoryBundleCache
      __PRIVATE_MemoryCollectionParentIndex
      __PRIVATE_MemoryDocumentOverlayCache
      __PRIVATE_MemoryEagerDelegate
      __PRIVATE_MemoryIndexManager
      __PRIVATE_MemoryMutationQueue
      __PRIVATE_MemoryPersistence
      __PRIVATE_MemoryRemoteDocumentCacheImpl
      __PRIVATE_MemoryRemoteDocumentChangeBuffer
      __PRIVATE_MemorySharedClientState
      __PRIVATE_MemoryTargetCache
      __PRIVATE_MemoryTransaction
      __PRIVATE_NotInFilter
      __PRIVATE_NumericIncrementTransformOperation
      __PRIVATE_OAuthToken
      __PRIVATE_PatchMutation
      __PRIVATE_QueryEngine
      __PRIVATE_QueryImpl
      __PRIVATE_ReferenceSet
      __PRIVATE_ServerTimestampTransform
      __PRIVATE_SetMutation
      __PRIVATE_TargetIdGenerator
      __PRIVATE_TargetImpl

      ?
      variables?

      14 dependencies

      C
      D
      S
      _e
      ae
      b
      ee
      ie
      me
      oe
      re
      te
      ue
      w

      ?
      enums??

      External Dependency

      ModuleBase (5f6304d)Merge (f04e24f)Diff
      @firebase/app?

      SDK_VERSION
      _registerComponent
      registerVersion

      ?
      @firebase/component?

      Component

      ?
      @firebase/logger?

      LogLevel
      Logger

      ?
      @firebase/util?

      FirebaseError

      ?
      @firebase/webchannel-wrapper?

      Integer

      ?
    • deleteDoc

      Size

      TypeBase (5f6304d)Merge (f04e24f)Diff
      size114 kB114 kB+45 B (+0.0%)
      size-with-ext-deps184 kB185 kB+45 B (+0.0%)
    • disableNetwork

      Size

      TypeBase (5f6304d)Merge (f04e24f)Diff
      size103 kB103 kB+45 B (+0.0%)
      size-with-ext-deps173 kB173 kB+45 B (+0.0%)
    • disablePersistentCacheIndexAutoCreation

      Size

      TypeBase (5f6304d)Merge (f04e24f)Diff
      size87.3 kB87.4 kB+44 B (+0.1%)
      size-with-ext-deps157 kB157 kB+45 B (+0.0%)
    • enableIndexedDbPersistence

      Size

      TypeBase (5f6304d)Merge (f04e24f)Diff
      size185 kB186 kB+149 B (+0.1%)
      size-with-ext-deps257 kB257 kB+149 B (+0.1%)
    • enableMultiTabIndexedDbPersistence

      Size

      TypeBase (5f6304d)Merge (f04e24f)Diff
      size221 kB221 kB+149 B (+0.1%)
      size-with-ext-deps293 kB293 kB+149 B (+0.1%)
    • enableNetwork

      Size

      TypeBase (5f6304d)Merge (f04e24f)Diff
      size102 kB103 kB+45 B (+0.0%)
      size-with-ext-deps173 kB173 kB+45 B (+0.0%)
    • enablePersistentCacheIndexAutoCreation

      Size

      TypeBase (5f6304d)Merge (f04e24f)Diff
      size87.3 kB87.4 kB+44 B (+0.1%)
      size-with-ext-deps157 kB157 kB+45 B (+0.0%)
    • executeWrite

      Size

      TypeBase (5f6304d)Merge (f04e24f)Diff
      size113 kB113 kB+45 B (+0.0%)
      size-with-ext-deps184 kB184 kB+45 B (+0.0%)
    • getAggregateFromServer

      Size

      TypeBase (5f6304d)Merge (f04e24f)Diff
      size110 kB110 kB+45 B (+0.0%)
      size-with-ext-deps180 kB180 kB+45 B (+0.0%)
    • getCountFromServer

      Size

      TypeBase (5f6304d)Merge (f04e24f)Diff
      size110 kB110 kB+45 B (+0.0%)
      size-with-ext-deps180 kB180 kB+45 B (+0.0%)
    • getDoc

      Size

      TypeBase (5f6304d)Merge (f04e24f)Diff
      size143 kB143 kB+45 B (+0.0%)
      size-with-ext-deps213 kB214 kB+45 B (+0.0%)
    • getDocFromCache

      Size

      TypeBase (5f6304d)Merge (f04e24f)Diff
      size94.8 kB94.8 kB+44 B (+0.0%)
      size-with-ext-deps165 kB165 kB+45 B (+0.0%)
    • getDocFromServer

      Size

      TypeBase (5f6304d)Merge (f04e24f)Diff
      size143 kB143 kB+45 B (+0.0%)
      size-with-ext-deps214 kB214 kB+45 B (+0.0%)
    • getDocs

      Size

      TypeBase (5f6304d)Merge (f04e24f)Diff
      size145 kB145 kB+45 B (+0.0%)
      size-with-ext-deps215 kB215 kB+45 B (+0.0%)
    • getDocsFromCache

      Size

      TypeBase (5f6304d)Merge (f04e24f)Diff
      size102 kB102 kB+44 B (+0.0%)
      size-with-ext-deps172 kB172 kB+45 B (+0.0%)
    • getDocsFromServer

      Size

      TypeBase (5f6304d)Merge (f04e24f)Diff
      size145 kB145 kB+45 B (+0.0%)
      size-with-ext-deps215 kB215 kB+45 B (+0.0%)
    • loadBundle

      Size

      TypeBase (5f6304d)Merge (f04e24f)Diff
      size112 kB112 kB+45 B (+0.0%)
      size-with-ext-deps182 kB182 kB+45 B (+0.0%)
    • memoryEagerGarbageCollector

      Size

      TypeBase (5f6304d)Merge (f04e24f)Diff
      size85.3 kB85.4 kB+44 B (+0.1%)
      size-with-ext-deps155 kB155 kB+45 B (+0.0%)
    • memoryLocalCache

      Size

      TypeBase (5f6304d)Merge (f04e24f)Diff
      size99.6 kB99.6 kB+45 B (+0.0%)
      size-with-ext-deps170 kB170 kB+45 B (+0.0%)
    • memoryLruGarbageCollector

      Size

      TypeBase (5f6304d)Merge (f04e24f)Diff
      size91.8 kB91.9 kB+44 B (+0.0%)
      size-with-ext-deps162 kB162 kB+45 B (+0.0%)

      Dependency

      TypeBase (5f6304d)Merge (f04e24f)Diff
      variables

      16 dependencies

      C
      D
      Ee
      S
      _e
      ae
      b
      ee
      ie
      me
      oe
      re
      te
      ue
      v
      w

      16 dependencies

      C
      D
      S
      Te
      _e
      ae
      b
      ee
      ie
      me
      oe
      re
      te
      ue
      v
      w

      + Te
      - Ee

    • namedQuery

      Size

      TypeBase (5f6304d)Merge (f04e24f)Diff
      size88.3 kB88.3 kB+44 B (+0.0%)
      size-with-ext-deps158 kB158 kB+45 B (+0.0%)
    • onSnapshot

      Size

      TypeBase (5f6304d)Merge (f04e24f)Diff
      size145 kB145 kB+45 B (+0.0%)
      size-with-ext-deps216 kB216 kB+45 B (+0.0%)
    • onSnapshotsInSync

      Size

      TypeBase (5f6304d)Merge (f04e24f)Diff
      size135 kB135 kB+45 B (+0.0%)
      size-with-ext-deps205 kB205 kB+45 B (+0.0%)
    • persistentLocalCache

      Size

      TypeBase (5f6304d)Merge (f04e24f)Diff
      size183 kB183 kB+149 B (+0.1%)
      size-with-ext-deps254 kB255 kB+149 B (+0.1%)
    • persistentMultipleTabManager

      Size

      TypeBase (5f6304d)Merge (f04e24f)Diff
      size218 kB218 kB+149 B (+0.1%)
      size-with-ext-deps290 kB290 kB+149 B (+0.1%)
    • persistentSingleTabManager

      Size

      TypeBase (5f6304d)Merge (f04e24f)Diff
      size182 kB183 kB+149 B (+0.1%)
      size-with-ext-deps254 kB254 kB+149 B (+0.1%)
    • runTransaction

      Size

      TypeBase (5f6304d)Merge (f04e24f)Diff
      size123 kB123 kB+45 B (+0.0%)
      size-with-ext-deps194 kB194 kB+45 B (+0.0%)
    • setDoc

      Size

      TypeBase (5f6304d)Merge (f04e24f)Diff
      size122 kB122 kB+45 B (+0.0%)
      size-with-ext-deps193 kB193 kB+45 B (+0.0%)
    • setIndexConfiguration

      Size

      TypeBase (5f6304d)Merge (f04e24f)Diff
      size90.9 kB90.9 kB+44 B (+0.0%)
      size-with-ext-deps161 kB161 kB+45 B (+0.0%)
    • updateDoc

      Size

      TypeBase (5f6304d)Merge (f04e24f)Diff
      size123 kB123 kB+45 B (+0.0%)
      size-with-ext-deps193 kB193 kB+45 B (+0.0%)
    • waitForPendingWrites

      Size

      TypeBase (5f6304d)Merge (f04e24f)Diff
      size103 kB103 kB+45 B (+0.0%)
      size-with-ext-deps173 kB173 kB+45 B (+0.0%)
    • writeBatch

      Size

      TypeBase (5f6304d)Merge (f04e24f)Diff
      size125 kB125 kB+45 B (+0.0%)
      size-with-ext-deps195 kB195 kB+45 B (+0.0%)

Test Logs

  1. https://storage.googleapis.com/firebase-sdk-metric-reports/QfdercPISH.html

@dconeybe dconeybe marked this pull request as ready for review August 25, 2023 01:30
@dconeybe dconeybe requested review from a team as code owners August 25, 2023 01:30
Copy link
Contributor

@wu-hui wu-hui left a comment

Choose a reason for hiding this comment

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

LGTM, thanks!

@dconeybe dconeybe merged commit 25cda8a into master Aug 25, 2023
43 checks passed
@dconeybe dconeybe deleted the dconeybe/ClientSideIndexDeleteAllIndexesNoTestingHooks branch August 25, 2023 19:25
@google-oss-bot google-oss-bot mentioned this pull request Aug 29, 2023
@firebase firebase locked and limited conversation to collaborators Sep 25, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants