COUNT API proposal
DO NOT MERGE - This PR is only created to get initial feedback. This PR will eventually be deleted.
The public api surface has changed for the subproject firebase-firestore: error: Added class com.google.firebase.firestore.AggregateField [AddedClass] error: Added class com.google.firebase.firestore.AggregateQuery [AddedClass] error: Added class com.google.firebase.firestore.AggregateQuerySnapshot [AddedClass] error: Added class com.google.firebase.firestore.AggregateSnapshot [AddedClass] error: Added class com.google.firebase.firestore.LatencyCompensationMode [AddedClass] error: Added method com.google.firebase.firestore.Query.aggregate(com.google.firebase.firestore.AggregateField) [AddedMethod] error: Added method com.google.firebase.firestore.Query.count() [AddedMethod]
Please update the api.txt files for the subprojects being affected by this change by running ./gradlew ${subproject}:generateApiTxtFile. Also perform a major/minor bump accordingly.
Coverage Report 1
Affected Products
firebase-firestoreOverall coverage changed from ? (8cc5d4a) to 45.78% (6050af0) by ?.
307 individual files with coverage change
Filename Base (8cc5d4a) Merge (6050af0) Diff AbstractStream.java ? 34.81% ? ActivityScope.java ? 0.00% ? AggregateDemo.java ? 0.00% ? AggregateQuery.java ? 0.00% ? AggregateQuerySnapshot.java ? 0.00% ? AggregateSource.java ? 0.00% ? AndroidConnectivityMonitor.java ? 39.51% ? ApiUtil.java ? 12.50% ? ArrayContainsAnyFilter.java ? 100.00% ? ArrayContainsFilter.java ? 100.00% ? ArrayTransformOperation.java ? 86.49% ? ArrayValue.java ? 48.60% ? ArrayValueOrBuilder.java ? 0.00% ? Assert.java ? 60.00% ? AsyncEventListener.java ? 0.00% ? AsyncQueue.java ? 78.11% ? AutoValue_FieldIndex.java ? 58.33% ? AutoValue_FieldIndex_IndexOffset.java ? 58.62% ? AutoValue_FieldIndex_IndexState.java ? 59.09% ? AutoValue_FieldIndex_Segment.java ? 54.17% ? AutoValue_IndexEntry.java ? 34.21% ? AutoValue_Overlay.java ? 54.55% ? BackgroundQueue.java ? 81.25% ? BasePath.java ? 86.54% ? BatchGetDocumentsRequest.java ? 0.00% ? BatchGetDocumentsRequestOrBuilder.java ? 0.00% ? BatchGetDocumentsResponse.java ? 0.00% ? BatchGetDocumentsResponseOrBuilder.java ? 0.00% ? BeginTransactionRequest.java ? 0.00% ? BeginTransactionRequestOrBuilder.java ? 0.00% ? BeginTransactionResponse.java ? 0.00% ? BeginTransactionResponseOrBuilder.java ? 0.00% ? Blob.java ? 76.92% ? Bound.java ? 39.29% ? BundleCache.java ? 0.00% ? BundleCallback.java ? 0.00% ? BundledDocumentMetadata.java ? 0.00% ? BundledDocumentMetadataOrBuilder.java ? 0.00% ? BundleDocument.java ? 90.00% ? BundledQuery.java ? 34.57% ? BundledQueryOrBuilder.java ? 0.00% ? BundleElement.java ? 0.00% ? BundleElementOrBuilder.java ? 0.00% ? BundleLoader.java ? 100.00% ? BundleMetadata.java ? 0.00% ? BundleMetadataOrBuilder.java ? 0.00% ? BundleProto.java ? 0.00% ? BundleReader.java ? 95.29% ? BundleSerializer.java ? 89.47% ? ByteBufferInputStream.java ? 83.33% ? CollectionReference.java ? 13.64% ? CommitRequest.java ? 0.00% ? CommitRequestOrBuilder.java ? 0.00% ? CommitResponse.java ? 0.00% ? CommitResponseOrBuilder.java ? 0.00% ? CommonProto.java ? 0.00% ? ComponentProvider.java ? 100.00% ? CompositeFilter.java ? 98.46% ? ConnectivityMonitor.java ? 0.00% ? Consumer.java ? 0.00% ? CreateDocumentRequest.java ? 0.00% ? CreateDocumentRequestOrBuilder.java ? 0.00% ? CredentialsProvider.java ? 100.00% ? Cursor.java ? 35.29% ? CursorOrBuilder.java ? 0.00% ? CustomClassMapper.java ? 84.25% ? DatabaseId.java ? 70.37% ? DatabaseInfo.java ? 90.91% ? Datastore.java ? 29.76% ? DatastoreTestTrace.java ? 0.00% ? DeleteDocumentRequest.java ? 0.00% ? DeleteDocumentRequestOrBuilder.java ? 0.00% ? DeleteMutation.java ? 90.48% ? DirectionalIndexByteEncoder.java ? 100.00% ? Document.java ? 100.00% ? DocumentChange.java ? 67.61% ? DocumentChangeOrBuilder.java ? 0.00% ? DocumentCollections.java ? 83.33% ? DocumentDelete.java ? 34.62% ? DocumentDeleteOrBuilder.java ? 0.00% ? DocumentId.java ? 0.00% ? DocumentKey.java ? 97.14% ? DocumentMask.java ? 40.66% ? DocumentMaskOrBuilder.java ? 0.00% ? DocumentOrBuilder.java ? 0.00% ? DocumentOverlayCache.java ? 0.00% ? DocumentProto.java ? 0.00% ? DocumentReference.java ? 13.24% ? DocumentRemove.java ? 29.23% ? DocumentRemoveOrBuilder.java ? 0.00% ? DocumentSet.java ? 83.78% ? DocumentSnapshot.java ? 37.50% ? DocumentTransform.java ? 29.31% ? DocumentTransformOrBuilder.java ? 0.00% ? DocumentViewChange.java ? 90.91% ? DocumentViewChangeSet.java ? 87.88% ? EncodedPath.java ? 93.22% ? EventListener.java ? 0.00% ? EventManager.java ? 96.15% ? Exclude.java ? 0.00% ? Executors.java ? 100.00% ? ExistenceFilter.java ? 80.00% ? ExistenceFilterOrBuilder.java ? 0.00% ? ExponentialBackoff.java ? 30.43% ? FieldFilter.java ? 93.06% ? FieldIndex.java ? 98.18% ? FieldMask.java ? 57.89% ? FieldPath.java ? 89.66% ? FieldTransform.java ? 64.71% ? FieldValue.java ? 82.14% ? FileUtil.java ? 0.00% ? Filter.java ? 0.00% ? FirebaseAppCheckTokenProvider.java ? 93.75% ? FirebaseAuthCredentialsProvider.java ? 100.00% ? FirebaseClientGrpcMetadataProvider.java ? 44.00% ? FirebaseFirestore.java ? 36.67% ? FirebaseFirestoreException.java ? 83.72% ? FirebaseFirestoreSettings.java ? 75.00% ? FirestoreCallCredentials.java ? 18.60% ? FirestoreChannel.java ? 16.38% ? FirestoreClient.java ? 30.88% ? FirestoreGrpc.java ? 2.62% ? FirestoreIndexValueWriter.java ? 77.11% ? FirestoreMultiDbComponent.java ? 100.00% ? FirestoreProto.java ? 0.00% ? FirestoreRegistrar.java ? 100.00% ? Function.java ? 0.00% ? GeoPoint.java ? 91.67% ? GetDocumentRequest.java ? 0.00% ? GetDocumentRequestOrBuilder.java ? 0.00% ? GrpcCallProvider.java ? 62.35% ? GrpcMetadataProvider.java ? 0.00% ? IgnoreExtraProperties.java ? 0.00% ? IncomingStreamObserver.java ? 0.00% ? Index.java ? 30.02% ? IndexBackfiller.java ? 79.69% ? IndexByteEncoder.java ? 88.57% ? IndexEntry.java ? 100.00% ? IndexManager.java ? 100.00% ? IndexOrBuilder.java ? 0.00% ? IndexProto.java ? 0.00% ? InFilter.java ? 100.00% ? IntMath.java ? 41.67% ? KeyFieldFilter.java ? 66.67% ? KeyFieldInFilter.java ? 0.00% ? KeyFieldNotInFilter.java ? 0.00% ? LimboDocumentChange.java ? 70.59% ? ListCollectionIdsRequest.java ? 0.00% ? ListCollectionIdsRequestOrBuilder.java ? 0.00% ? ListCollectionIdsResponse.java ? 0.00% ? ListCollectionIdsResponseOrBuilder.java ? 0.00% ? ListDocumentsRequest.java ? 0.00% ? ListDocumentsRequestOrBuilder.java ? 0.00% ? ListDocumentsResponse.java ? 0.00% ? ListDocumentsResponseOrBuilder.java ? 0.00% ? Listener.java ? 0.00% ? ListenerRegistration.java ? 0.00% ? ListenerRegistrationImpl.java ? 0.00% ? ListenRequest.java ? 10.66% ? ListenRequestOrBuilder.java ? 0.00% ? ListenResponse.java ? 32.64% ? ListenResponseOrBuilder.java ? 0.00% ? ListenSequence.java ? 100.00% ? LoadBundleTask.java ? 25.26% ? LoadBundleTaskProgress.java ? 60.47% ? LocalDocumentsResult.java ? 100.00% ? LocalDocumentsView.java ? 100.00% ? LocalSerializer.java ? 97.35% ? LocalStore.java ? 99.37% ? LocalViewChanges.java ? 100.00% ? Logger.java ? 75.00% ? LogicUtils.java ? 96.15% ? LruDelegate.java ? 0.00% ? LruGarbageCollector.java ? 84.11% ? MapValue.java ? 53.00% ? MapValueOrBuilder.java ? 0.00% ? MemoryBundleCache.java ? 100.00% ? MemoryComponentProvider.java ? 100.00% ? MemoryDocumentOverlayCache.java ? 100.00% ? MemoryEagerReferenceDelegate.java ? 100.00% ? MemoryIndexManager.java ? 68.97% ? MemoryLruReferenceDelegate.java ? 96.00% ? MemoryMutationQueue.java ? 98.57% ? MemoryOverlayMigrationManager.java ? 100.00% ? MemoryPersistence.java ? 100.00% ? MemoryRemoteDocumentCache.java ? 98.21% ? MemoryTargetCache.java ? 100.00% ? MetadataChanges.java ? 100.00% ? MutableDocument.java ? 100.00% ? Mutation.java ? 98.48% ? MutationBatch.java ? 89.06% ? MutationBatchResult.java ? 100.00% ? MutationQueue.java ? 0.00% ? MutationResult.java ? 100.00% ? NamedQuery.java ? 0.00% ? NamedQueryOrBuilder.java ? 0.00% ? NotInFilter.java ? 85.71% ? NumberComparisonHelper.java ? 100.00% ? NumericIncrementTransformOperation.java ? 87.50% ? ObjectValue.java ? 99.06% ? OnlineState.java ? 100.00% ? OnlineStateTracker.java ? 98.11% ? OnProgressListener.java ? 0.00% ? OrderBy.java ? 96.55% ? OrderedCodeWriter.java ? 68.52% ? Overlay.java ? 100.00% ? OverlayedDocument.java ? 100.00% ? OverlayMigrationManager.java ? 0.00% ? PatchMutation.java ? 98.39% ? Persistence.java ? 100.00% ? Precondition.java ? 37.82% ? PreconditionOrBuilder.java ? 0.00% ? Preconditions.java ? 52.63% ? PropertyName.java ? 0.00% ? Query.java ? 3.64% ? QueryDocumentSnapshot.java ? 64.71% ? QueryEngine.java ? 98.63% ? QueryListener.java ? 100.00% ? QueryProto.java ? 0.00% ? QueryPurpose.java ? 100.00% ? QueryResult.java ? 100.00% ? QuerySnapshot.java ? 76.36% ? QueryView.java ? 100.00% ? ReferenceDelegate.java ? 0.00% ? ReferenceSet.java ? 92.45% ? RemoteDocumentCache.java ? 0.00% ? RemoteEvent.java ? 92.31% ? RemoteSerializer.java ? 84.63% ? RemoteStore.java ? 89.56% ? ResourcePath.java ? 94.74% ? RollbackRequest.java ? 0.00% ? RollbackRequestOrBuilder.java ? 0.00% ? RunQueryRequest.java ? 0.00% ? RunQueryRequestOrBuilder.java ? 0.00% ? RunQueryResponse.java ? 0.00% ? RunQueryResponseOrBuilder.java ? 0.00% ? Scheduler.java ? 0.00% ? ServerTimestamp.java ? 0.00% ? ServerTimestampOperation.java ? 100.00% ? ServerTimestamps.java ? 79.17% ? SetMutation.java ? 94.44% ? SetOptions.java ? 0.00% ? SnapshotMetadata.java ? 68.75% ? SnapshotVersion.java ? 87.50% ? Source.java ? 0.00% ? SQLiteBundleCache.java ? 90.00% ? SQLiteComponentProvider.java ? 100.00% ? SQLiteDocumentOverlayCache.java ? 97.85% ? SQLiteIndexManager.java ? 99.48% ? SQLiteLruReferenceDelegate.java ? 98.67% ? SQLiteMutationQueue.java ? 82.76% ? SQLiteOverlayMigrationManager.java ? 90.48% ? SQLitePersistence.java ? 86.34% ? SQLiteRemoteDocumentCache.java ? 98.17% ? SQLiteSchema.java ? 96.63% ? SQLiteTargetCache.java ? 98.47% ? Stream.java ? 100.00% ? StructuredQuery.java ? 32.54% ? StructuredQueryOrBuilder.java ? 0.00% ? Supplier.java ? 0.00% ? SyncEngine.java ? 93.57% ? Target.java ? 95.33% ? TargetCache.java ? 0.00% ? TargetChange.java ? 80.00% ? TargetChangeOrBuilder.java ? 0.00% ? TargetData.java ? 77.50% ? TargetIdGenerator.java ? 100.00% ? TargetIndexMatcher.java ? 100.00% ? TargetOrBuilder.java ? 0.00% ? TargetState.java ? 97.78% ? ThrottledForwardingExecutor.java ? 100.00% ? ThrowOnExtraProperties.java ? 0.00% ? Timestamp.java ? 80.39% ? Token.java ? 0.00% ? Transaction.java ? 0.00% ? TransactionOptions.java ? 0.00% ? TransactionOptionsOrBuilder.java ? 0.00% ? TransactionRunner.java ? 0.00% ? TransformOperation.java ? 0.00% ? UpdateDocumentRequest.java ? 0.00% ? UpdateDocumentRequestOrBuilder.java ? 0.00% ? User.java ? 78.57% ? UserData.java ? 66.00% ? UserDataReader.java ? 70.48% ? UserDataWriter.java ? 51.02% ? Util.java ? 67.63% ? Value.java ? 40.97% ? ValueOrBuilder.java ? 0.00% ? Values.java ? 95.65% ? VerifyMutation.java ? 46.15% ? View.java ? 96.79% ? ViewChange.java ? 100.00% ? ViewSnapshot.java ? 88.33% ? WatchChange.java ? 70.51% ? WatchChangeAggregator.java ? 98.21% ? WatchStream.java ? 19.23% ? Write.java ? 36.11% ? WriteBatch.java ? 0.00% ? WriteOrBuilder.java ? 0.00% ? WriteProto.java ? 0.00% ? WriteRequest.java ? 10.41% ? WriteRequestOrBuilder.java ? 0.00% ? WriteResponse.java ? 11.70% ? WriteResponseOrBuilder.java ? 0.00% ? WriteResult.java ? 0.00% ? WriteResultOrBuilder.java ? 0.00% ? WriteStream.java ? 31.82% ?
Test Logs
- Merge (6050af0): https://android-ci.firebaseopensource.com/view/gcs/android-ci/pr-logs/pull/firebase_firebase-android-sdk/3521/check-coverage-changed/1554651159896002565
Notes
- Commit (6050af0) is created by Prow via merging PR base commit (8cc5d4a) and head commit (bacc0e1).
- Run
gradle <product>:checkCoverageto produce HTML coverage reports locally. After gradle commands finished, report files can be found under<product-build-dir>/reports/jacoco/.
Size Report 1
Affected Products
firebase-firestoreType Base (8cc5d4a) Merge (6050af0) Diff aar 1.26 MB 1.26 MB +2.96 kB (+0.2%) apk (release) 3.39 MB 3.39 MB +404 B (+0.0%) firebase-firestore-ktxType Base (8cc5d4a) Merge (6050af0) Diff apk (release) 3.94 MB 3.94 MB +436 B (+0.0%)
Test Logs
- Base (8cc5d4a): https://android-ci.firebaseopensource.com/view/gcs/android-ci/logs/postsubmit-binary-size/1554547598252052480
- Merge (6050af0): https://android-ci.firebaseopensource.com/view/gcs/android-ci/pr-logs/pull/firebase_firebase-android-sdk/3521/binary-size/1554651159896002566
Notes
- Commit (6050af0) is created by Prow via merging PR base commit (8cc5d4a) and head commit (bacc0e1).
The public api surface has changed for the subproject firebase-firestore: error: Added class com.google.firebase.firestore.AggregateExecutionMode [AddedClass] error: Added class com.google.firebase.firestore.AggregateField [AddedClass] error: Added class com.google.firebase.firestore.AggregateQuery [AddedClass] error: Added class com.google.firebase.firestore.AggregateQuerySnapshot [AddedClass] error: Added class com.google.firebase.firestore.AggregateSnapshot [AddedClass] error: Added method com.google.firebase.firestore.Query.aggregate(com.google.firebase.firestore.AggregateField) [AddedMethod] error: Added method com.google.firebase.firestore.Query.aggregate(com.google.firebase.firestore.AggregateExecutionMode,com.google.firebase.firestore.AggregateField) [AddedMethod] error: Added method com.google.firebase.firestore.Query.count() [AddedMethod] error: Added method com.google.firebase.firestore.Query.count(com.google.firebase.firestore.AggregateExecutionMode) [AddedMethod]
Please update the api.txt files for the subprojects being affected by this change by running ./gradlew ${subproject}:generateApiTxtFile. Also perform a major/minor bump accordingly.
The public api surface has changed for the subproject firebase-firestore: error: Added class com.google.firebase.firestore.AggregateExecutionMode [AddedClass] error: Added class com.google.firebase.firestore.AggregateField [AddedClass] error: Added class com.google.firebase.firestore.AggregateQuery [AddedClass] error: Added class com.google.firebase.firestore.AggregateQuerySnapshot [AddedClass] error: Added class com.google.firebase.firestore.AggregateSnapshot [AddedClass] error: Added method com.google.firebase.firestore.Query.aggregate(com.google.firebase.firestore.AggregateField) [AddedMethod] error: Added method com.google.firebase.firestore.Query.aggregate(com.google.firebase.firestore.AggregateExecutionMode,com.google.firebase.firestore.AggregateField) [AddedMethod] error: Added method com.google.firebase.firestore.Query.count() [AddedMethod] error: Added method com.google.firebase.firestore.Query.count(com.google.firebase.firestore.AggregateExecutionMode) [AddedMethod]
Please update the api.txt files for the subprojects being affected by this change by running ./gradlew ${subproject}:generateApiTxtFile. Also perform a major/minor bump accordingly.
The public api surface has changed for the subproject firebase-firestore: error: Added class com.google.firebase.firestore.AggregateExecutionMode [AddedClass] error: Added class com.google.firebase.firestore.AggregateField [AddedClass] error: Added class com.google.firebase.firestore.AggregateQuery [AddedClass] error: Added class com.google.firebase.firestore.AggregateQuerySnapshot [AddedClass] error: Added class com.google.firebase.firestore.AggregateSnapshot [AddedClass] error: Added method com.google.firebase.firestore.Query.aggregate(com.google.firebase.firestore.AggregateField) [AddedMethod] error: Added method com.google.firebase.firestore.Query.aggregate(com.google.firebase.firestore.AggregateExecutionMode,com.google.firebase.firestore.AggregateField) [AddedMethod] error: Added method com.google.firebase.firestore.Query.count() [AddedMethod] error: Added method com.google.firebase.firestore.Query.count(com.google.firebase.firestore.AggregateExecutionMode) [AddedMethod]
Please update the api.txt files for the subprojects being affected by this change by running ./gradlew ${subproject}:generateApiTxtFile. Also perform a major/minor bump accordingly.
The public api surface has changed for the subproject firebase-firestore: error: Added class com.google.firebase.firestore.AggregateQuery [AddedClass] error: Added class com.google.firebase.firestore.AggregateQuerySnapshot [AddedClass] error: Added class com.google.firebase.firestore.AggregateSource [AddedClass] error: Added method com.google.firebase.firestore.Query.count() [AddedMethod]
Please update the api.txt files for the subprojects being affected by this change by running ./gradlew ${subproject}:generateApiTxtFile. Also perform a major/minor bump accordingly.
Unit Test Results
0 tests ±0 0 :heavy_check_mark: ±0 0s :stopwatch: ±0s 0 suites ±0 0 :zzz: ±0 0 files ±0 0 :x: ±0
Results for commit bacc0e17. ± Comparison against base commit 8cc5d4ac.
:recycle: This comment has been updated with latest results.
The public api surface has changed for the subproject firebase-firestore: error: Added class com.google.firebase.firestore.AggregateQuery [AddedClass] error: Added class com.google.firebase.firestore.AggregateQuerySnapshot [AddedClass] error: Added class com.google.firebase.firestore.AggregateSource [AddedClass] error: Added method com.google.firebase.firestore.Query.count() [AddedMethod]
Please update the api.txt files for the subprojects being affected by this change by running ./gradlew ${subproject}:generateApiTxtFile. Also perform a major/minor bump accordingly.
The public api surface has changed for the subproject firebase-firestore: error: Added class com.google.firebase.firestore.AggregateQuery [AddedClass] error: Added class com.google.firebase.firestore.AggregateQuerySnapshot [AddedClass] error: Added class com.google.firebase.firestore.AggregateSource [AddedClass] error: Added method com.google.firebase.firestore.Query.count() [AddedMethod]
Please update the api.txt files for the subprojects being affected by this change by running ./gradlew ${subproject}:generateApiTxtFile. Also perform a major/minor bump accordingly.
The public api surface has changed for the subproject firebase-firestore: error: Added class com.google.firebase.firestore.AggregateQuery [AddedClass] error: Added class com.google.firebase.firestore.AggregateQuerySnapshot [AddedClass] error: Added class com.google.firebase.firestore.AggregateSource [AddedClass] error: Added method com.google.firebase.firestore.Query.count() [AddedMethod]
Please update the api.txt files for the subprojects being affected by this change by running ./gradlew ${subproject}:generateApiTxtFile. Also perform a major/minor bump accordingly.
The public api surface has changed for the subproject firebase-firestore: error: Added class com.google.firebase.firestore.AggregateQuery [AddedClass] error: Added class com.google.firebase.firestore.AggregateQuerySnapshot [AddedClass] error: Added class com.google.firebase.firestore.AggregateSource [AddedClass] error: Added method com.google.firebase.firestore.Query.count() [AddedMethod]
Please update the api.txt files for the subprojects being affected by this change by running ./gradlew ${subproject}:generateApiTxtFile. Also perform a major/minor bump accordingly.
@dconeybe: The following tests failed, say /retest to rerun them all:
| Test name | Commit | Details | Rerun command |
|---|---|---|---|
| api-information | bacc0e17ea3030c3da21e7a1efe9f7a167c23bc0 | link | /test api-information |
| check-changed | bacc0e17ea3030c3da21e7a1efe9f7a167c23bc0 | link | /test check-changed |
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.