Skip to content

feat: Add support for new Firestore types #6928

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

Open
wants to merge 8 commits into
base: main
Choose a base branch
from
Open

Conversation

ehsannas
Copy link
Contributor

@ehsannas ehsannas commented May 1, 2025

Adds support for MinKey, MaxKey, RegexValue, Int32Value, BsonObjectId, BsonTimestamp, and BsonBinaryData.

@ehsannas
Copy link
Contributor Author

ehsannas commented May 1, 2025

TODO:

  • Fix merge conflicts
  • Add changelog
  • Fix TODOs in the code

@ehsannas ehsannas self-assigned this May 1, 2025
Copy link
Contributor

github-actions bot commented May 2, 2025

Vertex AI Mock Responses Check ⚠️

A newer major version of the mock responses for Vertex AI unit tests is available. update_responses.sh should be updated to clone the latest version of the responses: v11.1

Copy link
Contributor

github-actions bot commented May 2, 2025

Test Results

  188 files  +  166    188 suites  +166   4m 33s ⏱️ + 3m 59s
1 296 tests +1 196  1 280 ✅ +1 180  16 💤 +16  0 ❌ ±0 
2 616 runs  +2 416  2 584 ✅ +2 384  32 💤 +32  0 ❌ ±0 

Results for commit 4417c2b. ± Comparison against base commit 0a880cc.

This pull request removes 100 and adds 1296 tests. Note that renamed tests count towards both.
com.google.firebase.ai.DevAPIStreamingSnapshotTests ‑ citation parsed correctly
com.google.firebase.ai.DevAPIStreamingSnapshotTests ‑ image rejected
com.google.firebase.ai.DevAPIStreamingSnapshotTests ‑ long reply
com.google.firebase.ai.DevAPIStreamingSnapshotTests ‑ prompt blocked for safety
com.google.firebase.ai.DevAPIStreamingSnapshotTests ‑ short reply
com.google.firebase.ai.DevAPIStreamingSnapshotTests ‑ stopped for recitation
com.google.firebase.ai.DevAPIUnarySnapshotTests ‑ citation returns correctly
com.google.firebase.ai.DevAPIUnarySnapshotTests ‑ invalid api key
com.google.firebase.ai.DevAPIUnarySnapshotTests ‑ long reply
com.google.firebase.ai.DevAPIUnarySnapshotTests ‑ response blocked for safety
…
com.google.firebase.firestore.AggregateQuerySnapshotTest ‑ createWithCountShouldReturnInstanceWithTheGivenQueryAndCount
com.google.firebase.firestore.AggregateQueryTest ‑ testSourceMustNotBeNull
com.google.firebase.firestore.BlobTest ‑ testComparison
com.google.firebase.firestore.BlobTest ‑ testEquals
com.google.firebase.firestore.BlobTest ‑ testMutableBytes
com.google.firebase.firestore.BsonTypesTest ‑ testBsonBinaryDataEquality
com.google.firebase.firestore.BsonTypesTest ‑ testBsonObjectIdEquality
com.google.firebase.firestore.BsonTypesTest ‑ testBsonTimeStampEquality
com.google.firebase.firestore.BsonTypesTest ‑ testInt32Equality
com.google.firebase.firestore.BsonTypesTest ‑ testMaxKeyIsSingleton
…

♻️ This comment has been updated with latest results.

@google-oss-bot
Copy link
Contributor

google-oss-bot commented May 2, 2025

Coverage Report 1

Affected Products

  • firebase-firestore

    Overall coverage changed from 45.77% (0a880cc) to 46.61% (c17a8ad) by +0.84%.

    18 individual files with coverage change

    FilenameBase (0a880cc)Merge (c17a8ad)Diff
    BsonBinaryData.java?78.95%?
    BsonObjectId.java?81.82%?
    BsonTimestamp.java?60.00%?
    CustomClassMapper.java83.74%79.19%-4.54%
    DocumentSnapshot.java52.58%49.04%-3.54%
    FirestoreIndexValueWriter.java82.11%98.72%+16.61%
    IndexByteEncoder.java88.57%94.29%+5.71%
    Int32Value.java?81.82%?
    LruGarbageCollector.java97.27%93.64%-3.64%
    MaxKey.java?100.00%?
    MinKey.java?100.00%?
    OrderedCodeWriter.java68.52%72.84%+4.32%
    RegexValue.java?83.33%?
    SetMutation.java94.44%97.22%+2.78%
    UserDataReader.java71.30%77.21%+5.91%
    UserDataWriter.java44.64%60.76%+16.12%
    Value.java41.48%42.49%+1.02%
    Values.java96.52%98.01%+1.49%

Test Logs

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

Copy link
Contributor

github-actions bot commented May 2, 2025

+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Javadoc Changes:
--- /home/runner/diff/original/firebase-kotlindoc/android/client/firebase-firestore/_toc.yaml	2025-05-05 16:48:46.839222296 +0000
+++ /home/runner/diff/modified/firebase-kotlindoc/android/client/firebase-firestore/_toc.yaml	2025-05-05 16:45:13.607330716 +0000
@@ -38,6 +38,12 @@
       path: "/docs/reference/android/com/google/firebase/firestore/AggregateQuerySnapshot.html"
     - title: "Blob"
       path: "/docs/reference/android/com/google/firebase/firestore/Blob.html"
+    - title: "BsonBinaryData"
+      path: "/docs/reference/android/com/google/firebase/firestore/BsonBinaryData.html"
+    - title: "BsonObjectId"
+      path: "/docs/reference/android/com/google/firebase/firestore/BsonObjectId.html"
+    - title: "BsonTimestamp"
+      path: "/docs/reference/android/com/google/firebase/firestore/BsonTimestamp.html"
     - title: "CollectionReference"
       path: "/docs/reference/android/com/google/firebase/firestore/CollectionReference.html"
     - title: "DocumentChange"
@@ -62,10 +68,14 @@
       path: "/docs/reference/android/com/google/firebase/firestore/FirestoreKt.html"
     - title: "GeoPoint"
       path: "/docs/reference/android/com/google/firebase/firestore/GeoPoint.html"
+    - title: "Int32Value"
+      path: "/docs/reference/android/com/google/firebase/firestore/Int32Value.html"
     - title: "LoadBundleTask"
       path: "/docs/reference/android/com/google/firebase/firestore/LoadBundleTask.html"
     - title: "LoadBundleTaskProgress"
       path: "/docs/reference/android/com/google/firebase/firestore/LoadBundleTaskProgress.html"
+    - title: "MaxKey"
+      path: "/docs/reference/android/com/google/firebase/firestore/MaxKey.html"
     - title: "MemoryCacheSettings"
       path: "/docs/reference/android/com/google/firebase/firestore/MemoryCacheSettings.html"
     - title: "MemoryCacheSettings.Builder"
@@ -78,6 +88,8 @@
       path: "/docs/reference/android/com/google/firebase/firestore/MemoryLruGcSettings.html"
     - title: "MemoryLruGcSettings.Builder"
       path: "/docs/reference/android/com/google/firebase/firestore/MemoryLruGcSettings.Builder.html"
+    - title: "MinKey"
+      path: "/docs/reference/android/com/google/firebase/firestore/MinKey.html"
     - title: "PersistentCacheIndexManager"
       path: "/docs/reference/android/com/google/firebase/firestore/PersistentCacheIndexManager.html"
     - title: "PersistentCacheSettings"
@@ -90,6 +102,8 @@
       path: "/docs/reference/android/com/google/firebase/firestore/QueryDocumentSnapshot.html"
     - title: "QuerySnapshot"
       path: "/docs/reference/android/com/google/firebase/firestore/QuerySnapshot.html"
+    - title: "RegexValue"
+      path: "/docs/reference/android/com/google/firebase/firestore/RegexValue.html"
     - title: "SetOptions"
       path: "/docs/reference/android/com/google/firebase/firestore/SetOptions.html"
     - title: "SnapshotListenOptions"
--- /home/runner/diff/original/firebase-kotlindoc/android/com/google/firebase/firestore/BsonBinaryData.html	1970-01-01 00:00:00.000000000 +0000
+++ /home/runner/diff/modified/firebase-kotlindoc/android/com/google/firebase/firestore/BsonBinaryData.html	2025-05-05 16:45:13.629330705 +0000
@@ -0,0 +1,329 @@
+
+  
+    BsonBinaryData
+{% setvar book_path %}/_book.yaml{% endsetvar %}
+{% include "docs/reference/android/_reference-head-tags.html" %}
+  
+  
+    
+

BsonBinaryData

+

+

public final class BsonBinaryData
+

+
+

Represents a BSON Binary data type in Firestore documents.

+

Summary

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Public methods

ByteString + +

Returns the underlying data as a ByteString.

+
byte[] + +

Returns a copy of the underlying data as a byte[] array.

+
boolean + +

Returns true if this BsonBinaryData is equal to the provided object.

+
static BsonBinaryData +
@Nonnull
fromByteString(int subtype, @Nonnull ByteString byteString)
+

Creates a new BsonBinaryData instance from the provided ByteString and subtype.

+
static BsonBinaryData +
@Nonnull
fromBytes(int subtype, @Nonnull byte[] bytes)
+

Creates a new BsonBinaryData instance from the provided bytes and subtype.

+
int + +
int + +

Returns the subtype of this binary data.

+
String + +
+
+
+

Public methods

+
+

dataAsByteString

+
@Nonnull
public ByteString dataAsByteString()
+

Returns the underlying data as a ByteString.

+
+ + + + + + + + + + + + + + + + +
Returns
ByteString +

The data as a ByteString.

+
+
+
+
+

dataAsBytes

+
@Nonnull
public byte[] dataAsBytes()
+

Returns a copy of the underlying data as a byte[] array.

+
+ + + + + + + + + + + + + + + + +
Returns
byte[] +

The data as a byte[] array.

+
+
+
+
+

equals

+
public boolean equals(Object obj)
+

Returns true if this BsonBinaryData is equal to the provided object.

+
+ + + + + + + + + + + + + + + + +
Parameters
Object obj +

The object to compare against.

+
+
+
+ + + + + + + + + + + + + + + + +
Returns
boolean +

Whether this BsonBinaryData is equal to the provided object.

+
+
+
+
+

fromByteString

+
@Nonnull
public static BsonBinaryData fromByteString(int subtype, @Nonnull ByteString byteString)
+

Creates a new BsonBinaryData instance from the provided ByteString and subtype.

+
+ + + + + + + + + + + + + + + + + + + + +
Parameters
int subtype +

The subtype to use for this instance.

+
@Nonnull ByteString byteString +

The byteString to use for this instance.

+
+
+
+ + + + + + + + + + + + + + + + +
Returns
BsonBinaryData +

The new BsonBinaryData instance

+
+
+
+
+

fromBytes

+
@Nonnull
public static BsonBinaryData fromBytes(int subtype, @Nonnull byte[] bytes)
+

Creates a new BsonBinaryData instance from the provided bytes and subtype. Makes a copy of the bytes passed in.

+
+ + + + + + + + + + + + + + + + + + + + +
Parameters
int subtype +

The subtype to use for this instance.

+
@Nonnull byte[] bytes +

The bytes to use for this instance.

+
+
+
+ + + + + + + + + + + + + + + + +
Returns
BsonBinaryData +

The new BsonBinaryData instance

+
+
+
+
+

hashCode

+
public int hashCode()
+
+
+

subtype

+
public int subtype()
+

Returns the subtype of this binary data.

+
+ + + + + + + + + + + + + + + + +
Returns
int +

The subtype of the binary data.

+
+
+
+
+

toString

+
public String toString()
+
+
+ + +
--- /home/runner/diff/original/firebase-kotlindoc/android/com/google/firebase/firestore/BsonObjectId.html	1970-01-01 00:00:00.000000000 +0000
+++ /home/runner/diff/modified/firebase-kotlindoc/android/com/google/firebase/firestore/BsonObjectId.html	2025-05-05 16:45:13.658330691 +0000
@@ -0,0 +1,188 @@
+
+  
+    BsonObjectId
+{% setvar book_path %}/_book.yaml{% endsetvar %}
+{% include "docs/reference/android/_reference-head-tags.html" %}
+  
+  
+    
+

BsonObjectId

+

+

public final class BsonObjectId
+

+
+

Represents a BSON ObjectId type in Firestore documents.

+

Summary

+
+ + + + + + + + + + + + + + + + +

Public fields

final String + +
+
+
+ + + + + + + + + + + + + + + +

Public constructors

+ +

Constructor that creates a new BSON ObjectId value with the given value.

+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + +

Public methods

boolean + +

Returns true if this BsonObjectId is equal to the provided object.

+
int + +
String + +
+
+
+

Public fields

+
+

value

+
public final String value
+
+
+
+

Public constructors

+
+

BsonObjectId

+
public BsonObjectId(@NonNull String oid)
+

Constructor that creates a new BSON ObjectId value with the given value.

+
+ + + + + + + + + + + + + + + + +
Parameters
@NonNull String oid +

The 24-character hex string representing the ObjectId.

+
+
+
+
+
+

Public methods

+
+

equals

+
public boolean equals(Object obj)
+

Returns true if this BsonObjectId is equal to the provided object.

+
+ + + + + + + + + + + + + + + + +
Parameters
Object obj +

The object to compare against.

+
+
+
+ + + + + + + + + + + + + + + + +
Returns
boolean +

Whether this BsonObjectId is equal to the provided object.

+
+
+
+
+

hashCode

+
public int hashCode()
+
+
+

toString

+
public String toString()
+
+
+ + +
--- /home/runner/diff/original/firebase-kotlindoc/android/com/google/firebase/firestore/BsonTimestamp.html	1970-01-01 00:00:00.000000000 +0000
+++ /home/runner/diff/modified/firebase-kotlindoc/android/com/google/firebase/firestore/BsonTimestamp.html	2025-05-05 16:45:13.657330691 +0000
@@ -0,0 +1,204 @@
+
+  
+    BsonTimestamp
+{% setvar book_path %}/_book.yaml{% endsetvar %}
+{% include "docs/reference/android/_reference-head-tags.html" %}
+  
+  
+    
+

BsonTimestamp

+

+

public final class BsonTimestamp
+

+
+

Represents a BSON Timestamp type in Firestore documents.

+

Summary

+
+ + + + + + + + + + + + + + + + + + + + +

Public fields

final long + +
final long + +
+
+
+ + + + + + + + + + + + + + + +

Public constructors

+
BsonTimestamp(long seconds, long increment)
+

Constructor that creates a new BSON Timestamp value with the given values.

+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + +

Public methods

boolean + +

Returns true if this BsonTimestampValue is equal to the provided object.

+
int + +
String + +
+
+
+

Public fields

+
+

increment

+
public final long increment
+
+
+

seconds

+
public final long seconds
+
+
+
+

Public constructors

+
+

BsonTimestamp

+
public BsonTimestamp(long seconds, long increment)
+

Constructor that creates a new BSON Timestamp value with the given values.

+
+ + + + + + + + + + + + + + + + + + + + +
Parameters
long seconds +

An unsigned 32-bit integer value stored as long representing the seconds.

+
long increment +

An unsigned 32-bit integer value stored as long representing the increment.

+
+
+
+
+
+

Public methods

+
+

equals

+
public boolean equals(Object obj)
+

Returns true if this BsonTimestampValue is equal to the provided object.

+
+ + + + + + + + + + + + + + + + +
Parameters
Object obj +

The object to compare against.

+
+
+
+ + + + + + + + + + + + + + + + +
Returns
boolean +

Whether this BsonTimestampValue is equal to the provided object.

+
+
+
+
+

hashCode

+
public int hashCode()
+
+
+

toString

+
public String toString()
+
+
+ + +
--- /home/runner/diff/original/firebase-kotlindoc/android/com/google/firebase/firestore/DocumentSnapshot.html	2025-05-05 16:48:46.849222291 +0000
+++ /home/runner/diff/modified/firebase-kotlindoc/android/com/google/firebase/firestore/DocumentSnapshot.html	2025-05-05 16:45:13.625330707 +0000
@@ -188,6 +188,27 @@
             
@Nullable BsonBinaryData + +

Returns the value of the field as a BsonBinaryData.

+
@Nullable BsonObjectId + +

Returns the value of the field as a BsonObjectId.

+
@Nullable BsonTimestamp + +

Returns the value of the field as a BsonTimestampValue.

+
@Nullable Map<StringObject> @@ -243,6 +264,13 @@
@Nullable Int32Value + +

Returns the value of the field as a 32-bit integer.

+
@Nullable Long @@ -250,12 +278,26 @@
@Nullable MaxKey + +

Returns the value of the field as a MaxKey.

+
@NonNull SnapshotMetadata
@Nullable MinKey + +

Returns the value of the field as a MinKey.

+
@NonNull DocumentReference @@ -263,6 +305,13 @@
@Nullable RegexValue + +

Returns the value of the field as a RegexValue.

+
@Nullable String @@ -1089,6 +1138,210 @@
+
+

getBsonBinaryData

+
public @Nullable BsonBinaryData getBsonBinaryData(@NonNull String field)
+

Returns the value of the field as a BsonBinaryData.

+
+ + + + + + + + + + + + + + + + +
Parameters
@NonNull String field +

The path to the field.

+
+
+
+ + + + + + + + + + + + + + + + +
Returns
@Nullable BsonBinaryData +

The value of the field.

+
+
+
+ + + + + + + + + + + + + + + + +
Throws
java.lang.RuntimeException java.lang.RuntimeException +

if the value is not a BsonBinaryData.

+
+
+
+
+

getBsonObjectId

+
public @Nullable BsonObjectId getBsonObjectId(@NonNull String field)
+

Returns the value of the field as a BsonObjectId.

+
+ + + + + + + + + + + + + + + + +
Parameters
@NonNull String field +

The path to the field.

+
+
+
+ + + + + + + + + + + + + + + + +
Returns
@Nullable BsonObjectId +

The value of the field.

+
+
+
+ + + + + + + + + + + + + + + + +
Throws
java.lang.RuntimeException java.lang.RuntimeException +

if the value is not a BsonObjectId.

+
+
+
+
+

getBsonTimestamp

+
public @Nullable BsonTimestamp getBsonTimestamp(@NonNull String field)
+

Returns the value of the field as a BsonTimestampValue.

+
+ + + + + + + + + + + + + + + + +
Parameters
@NonNull String field +

The path to the field.

+
+
+
+ + + + + + + + + + + + + + + + +
Returns
@Nullable BsonTimestamp +

The value of the field.

+
+
+
+ + + + + + + + + + + + + + + + +
Throws
java.lang.RuntimeException java.lang.RuntimeException +

if the value is not a BsonTimestampValue.

+
+
+

getData

public @Nullable Map<StringObjectgetData()
@@ -1533,6 +1786,74 @@
+
+

getInt32Value

+
public @Nullable Int32Value getInt32Value(@NonNull String field)
+

Returns the value of the field as a 32-bit integer.

+
+ + + + + + + + + + + + + + + + +
Parameters
@NonNull String field +

The path to the field.

+
+
+
+ + + + + + + + + + + + + + + + +
Returns
@Nullable Int32Value +

The value of the field.

+
+
+
+ + + + + + + + + + + + + + + + +
Throws
java.lang.RuntimeException java.lang.RuntimeException +

if the value is not a Int32Value.

+
+
+

getLong

public @Nullable Long getLong(@NonNull String field)
@@ -1601,6 +1922,74 @@
+
+

getMaxKey

+
public @Nullable MaxKey getMaxKey(@NonNull String field)
+

Returns the value of the field as a MaxKey.

+
+ + + + + + + + + + + + + + + + +
Parameters
@NonNull String field +

The path to the field.

+
+
+
+ + + + + + + + + + + + + + + + +
Returns
@Nullable MaxKey +

The value of the field.

+
+
+
+ + + + + + + + + + + + + + + + +
Throws
java.lang.RuntimeException java.lang.RuntimeException +

if the value is not a MaxKey.

+
+
+

getMetadata

public @NonNull SnapshotMetadata getMetadata()
@@ -1626,6 +2015,74 @@
+
+

getMinKey

+
public @Nullable MinKey getMinKey(@NonNull String field)
+

Returns the value of the field as a MinKey.

+
+ + + + + + + + + + + + + + + + +
Parameters
@NonNull String field +

The path to the field.

+
+
+
+ + + + + + + + + + + + + + + + +
Returns
@Nullable MinKey +

The value of the field.

+
+
+
+ + + + + + + + + + + + + + + + +
Throws
java.lang.RuntimeException java.lang.RuntimeException +

if the value is not a MinKey.

+
+
+

getReference

public @NonNull DocumentReference getReference()
@@ -1649,6 +2106,74 @@ + +
+
+
+

getRegexValue

+
public @Nullable RegexValue getRegexValue(@NonNull String field)
+

Returns the value of the field as a RegexValue.

+
+ + + + + + + + + + + + + + + + +
Parameters
@NonNull String field +

The path to the field.

+
+
+
+ + + + + + + + + + + + + + + + +
Returns
@Nullable RegexValue +

The value of the field.

+
+
+
+ + + + + + + + + + + + + + + +
Throws
java.lang.RuntimeException java.lang.RuntimeException +

if the value is not a RegexValue.

+
--- /home/runner/diff/original/firebase-kotlindoc/android/com/google/firebase/firestore/Int32Value.html	1970-01-01 00:00:00.000000000 +0000
+++ /home/runner/diff/modified/firebase-kotlindoc/android/com/google/firebase/firestore/Int32Value.html	2025-05-05 16:45:13.650330695 +0000
@@ -0,0 +1,165 @@
+
+  
+    Int32Value
+{% setvar book_path %}/_book.yaml{% endsetvar %}
+{% include "docs/reference/android/_reference-head-tags.html" %}
+  
+  
+    
+

Int32Value

+

+

public final class Int32Value
+

+
+

Represents a 32-bit integer type in Firestore documents.

+

Summary

+
+ + + + + + + + + + + + + + + + +

Public fields

final int + +
+
+
+ + + + + + + + + + + + + + + +

Public constructors

+
Int32Value(int value)
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + +

Public methods

boolean + +

Returns true if this Int32Value is equal to the provided object.

+
int + +
String + +
+
+
+

Public fields

+
+

value

+
public final int value
+
+
+
+

Public constructors

+
+

Int32Value

+
public Int32Value(int value)
+
+
+
+

Public methods

+
+

equals

+
public boolean equals(Object obj)
+

Returns true if this Int32Value is equal to the provided object.

+
+ + + + + + + + + + + + + + + + +
Parameters
Object obj +

The object to compare against.

+
+
+
+ + + + + + + + + + + + + + + + +
Returns
boolean +

Whether this Int32Value is equal to the provided object.

+
+
+
+
+

hashCode

+
public int hashCode()
+
+
+

toString

+
public String toString()
+
+
+ + +
--- /home/runner/diff/original/firebase-kotlindoc/android/com/google/firebase/firestore/MaxKey.html	1970-01-01 00:00:00.000000000 +0000
+++ /home/runner/diff/modified/firebase-kotlindoc/android/com/google/firebase/firestore/MaxKey.html	2025-05-05 16:45:13.617330711 +0000
@@ -0,0 +1,110 @@
+
+  
+    MaxKey
+{% setvar book_path %}/_book.yaml{% endsetvar %}
+{% include "docs/reference/android/_reference-head-tags.html" %}
+  
+  
+    
+

MaxKey

+

+

public final class MaxKey
+

+
+

Represents the Firestore "Max Key" data type.

+

Summary

+
+ + + + + + + + + + + + + + + + + + + + + + + + +

Public methods

boolean + +

Returns true if this MaxKey is equal to the provided object.

+
int + +
static @NonNull MaxKey + +
+
+
+

Public methods

+
+

equals

+
public boolean equals(Object obj)
+

Returns true if this MaxKey is equal to the provided object.

+
+ + + + + + + + + + + + + + + + +
Parameters
Object obj +

The object to compare against.

+
+
+
+ + + + + + + + + + + + + + + + +
Returns
boolean +

Whether this MaxKey is equal to the provided object.

+
+
+
+
+

hashCode

+
public int hashCode()
+
+
+

instance

+
public static @NonNull MaxKey instance()
+
+
+ + +
--- /home/runner/diff/original/firebase-kotlindoc/android/com/google/firebase/firestore/MinKey.html	1970-01-01 00:00:00.000000000 +0000
+++ /home/runner/diff/modified/firebase-kotlindoc/android/com/google/firebase/firestore/MinKey.html	2025-05-05 16:45:13.649330695 +0000
@@ -0,0 +1,110 @@
+
+  
+    MinKey
+{% setvar book_path %}/_book.yaml{% endsetvar %}
+{% include "docs/reference/android/_reference-head-tags.html" %}
+  
+  
+    
+

MinKey

+

+

public final class MinKey
+

+
+

Represents the Firestore "Min Key" data type.

+

Summary

+
+ + + + + + + + + + + + + + + + + + + + + + + + +

Public methods

boolean + +

Returns true if this MinKey is equal to the provided object.

+
int + +
static @NonNull MinKey + +
+
+
+

Public methods

+
+

equals

+
public boolean equals(Object obj)
+

Returns true if this MinKey is equal to the provided object.

+
+ + + + + + + + + + + + + + + + +
Parameters
Object obj +

The object to compare against.

+
+
+
+ + + + + + + + + + + + + + + + +
Returns
boolean +

Whether this MinKey is equal to the provided object.

+
+
+
+
+

hashCode

+
public int hashCode()
+
+
+

instance

+
public static @NonNull MinKey instance()
+
+
+ + +
--- /home/runner/diff/original/firebase-kotlindoc/android/com/google/firebase/firestore/QueryDocumentSnapshot.html	2025-05-05 16:48:46.861222287 +0000
+++ /home/runner/diff/modified/firebase-kotlindoc/android/com/google/firebase/firestore/QueryDocumentSnapshot.html	2025-05-05 16:45:13.651330694 +0000
@@ -264,6 +264,27 @@
                       
                     
                     
+                      @Nullable BsonBinaryData
+                      
+                        
+                        

Returns the value of the field as a BsonBinaryData.

+ + + + @Nullable BsonObjectId + + +

Returns the value of the field as a BsonObjectId.

+ + + + @Nullable BsonTimestamp + + +

Returns the value of the field as a BsonTimestampValue.

+ + + @Nullable Date @@ -305,6 +326,13 @@ + @Nullable Int32Value + + +

Returns the value of the field as a 32-bit integer.

+ + + @Nullable Long @@ -312,12 +340,26 @@ + @Nullable MaxKey + + +

Returns the value of the field as a MaxKey.

+ + + @NonNull SnapshotMetadata + @Nullable MinKey + + +

Returns the value of the field as a MinKey.

+ + + @NonNull DocumentReference @@ -325,6 +367,13 @@ + @Nullable RegexValue + + +

Returns the value of the field as a RegexValue.

+ + + @Nullable String
--- /home/runner/diff/original/firebase-kotlindoc/android/com/google/firebase/firestore/RegexValue.html	1970-01-01 00:00:00.000000000 +0000
+++ /home/runner/diff/modified/firebase-kotlindoc/android/com/google/firebase/firestore/RegexValue.html	2025-05-05 16:45:13.639330700 +0000
@@ -0,0 +1,175 @@
+
+  
+    RegexValue
+{% setvar book_path %}/_book.yaml{% endsetvar %}
+{% include "docs/reference/android/_reference-head-tags.html" %}
+  
+  
+    
+

RegexValue

+

+

public final class RegexValue
+

+
+

Represents a regular expression type in Firestore documents.

+

Summary

+
+ + + + + + + + + + + + + + + + + + + + +

Public fields

final String + +
final String + +
+
+
+ + + + + + + + + + + + + + + +

Public constructors

+
RegexValue(@NonNull String pattern, @NonNull String options)
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + +

Public methods

boolean + +

Returns true if this RegexValue is equal to the provided object.

+
int + +
String + +
+
+
+

Public fields

+
+

options

+
public final String options
+
+
+

pattern

+
public final String pattern
+
+
+
+

Public constructors

+
+

RegexValue

+
public RegexValue(@NonNull String pattern, @NonNull String options)
+
+
+
+

Public methods

+
+

equals

+
public boolean equals(Object obj)
+

Returns true if this RegexValue is equal to the provided object.

+
+ + + + + + + + + + + + + + + + +
Parameters
Object obj +

The object to compare against.

+
+
+
+ + + + + + + + + + + + + + + + +
Returns
boolean +

Whether this RegexValue is equal to the provided object.

+
+
+
+
+

hashCode

+
public int hashCode()
+
+
+

toString

+
public String toString()
+
+
+ + +
--- /home/runner/diff/original/firebase-kotlindoc/android/com/google/firebase/firestore/package-summary.html	2025-05-05 16:48:46.850222291 +0000
+++ /home/runner/diff/modified/firebase-kotlindoc/android/com/google/firebase/firestore/package-summary.html	2025-05-05 16:45:13.629330705 +0000
@@ -155,6 +155,24 @@
             
           
           
+            BsonBinaryData
+            
+              

Represents a BSON Binary data type in Firestore documents.

+ + + + BsonObjectId + +

Represents a BSON ObjectId type in Firestore documents.

+ + + + BsonTimestamp + +

Represents a BSON Timestamp type in Firestore documents.

+ + + CollectionReference

A CollectionReference can be used for adding documents, getting document references, and querying for documents (using the methods inherited from Query).

@@ -226,6 +244,12 @@ + Int32Value + +

Represents a 32-bit integer type in Firestore documents.

+ + + LoadBundleTask

Represents the task of loading a Firestore bundle.

@@ -238,6 +262,12 @@ + MaxKey + +

Represents the Firestore "Max Key" data type.

+ + + MemoryCacheSettings

Configures the SDK to use a memory cache.

@@ -270,6 +300,12 @@ + MinKey + +

Represents the Firestore "Min Key" data type.

+ + + PersistentCacheIndexManager

Persistent cache indexes can improve performance of local query execution.

@@ -306,6 +342,12 @@ + RegexValue + +

Represents a regular expression type in Firestore documents.

+ + + SetOptions

An options object that configures the behavior of set() calls.

--- /home/runner/diff/original/firebase-kotlindoc/kotlin/client/firebase-firestore/_toc.yaml	2025-05-05 16:48:46.803222310 +0000
+++ /home/runner/diff/modified/firebase-kotlindoc/kotlin/client/firebase-firestore/_toc.yaml	2025-05-05 16:45:13.552330744 +0000
@@ -38,6 +38,12 @@
       path: "/docs/reference/kotlin/com/google/firebase/firestore/AggregateQuerySnapshot.html"
     - title: "Blob"
       path: "/docs/reference/kotlin/com/google/firebase/firestore/Blob.html"
+    - title: "BsonBinaryData"
+      path: "/docs/reference/kotlin/com/google/firebase/firestore/BsonBinaryData.html"
+    - title: "BsonObjectId"
+      path: "/docs/reference/kotlin/com/google/firebase/firestore/BsonObjectId.html"
+    - title: "BsonTimestamp"
+      path: "/docs/reference/kotlin/com/google/firebase/firestore/BsonTimestamp.html"
     - title: "CollectionReference"
       path: "/docs/reference/kotlin/com/google/firebase/firestore/CollectionReference.html"
     - title: "DocumentChange"
@@ -60,10 +66,14 @@
       path: "/docs/reference/kotlin/com/google/firebase/firestore/FirebaseFirestoreSettings.Builder.html"
     - title: "GeoPoint"
       path: "/docs/reference/kotlin/com/google/firebase/firestore/GeoPoint.html"
+    - title: "Int32Value"
+      path: "/docs/reference/kotlin/com/google/firebase/firestore/Int32Value.html"
     - title: "LoadBundleTask"
       path: "/docs/reference/kotlin/com/google/firebase/firestore/LoadBundleTask.html"
     - title: "LoadBundleTaskProgress"
       path: "/docs/reference/kotlin/com/google/firebase/firestore/LoadBundleTaskProgress.html"
+    - title: "MaxKey"
+      path: "/docs/reference/kotlin/com/google/firebase/firestore/MaxKey.html"
     - title: "MemoryCacheSettings"
       path: "/docs/reference/kotlin/com/google/firebase/firestore/MemoryCacheSettings.html"
     - title: "MemoryCacheSettings.Builder"
@@ -76,6 +86,8 @@
       path: "/docs/reference/kotlin/com/google/firebase/firestore/MemoryLruGcSettings.html"
     - title: "MemoryLruGcSettings.Builder"
       path: "/docs/reference/kotlin/com/google/firebase/firestore/MemoryLruGcSettings.Builder.html"
+    - title: "MinKey"
+      path: "/docs/reference/kotlin/com/google/firebase/firestore/MinKey.html"
     - title: "PersistentCacheIndexManager"
       path: "/docs/reference/kotlin/com/google/firebase/firestore/PersistentCacheIndexManager.html"
     - title: "PersistentCacheSettings"
@@ -88,6 +100,8 @@
       path: "/docs/reference/kotlin/com/google/firebase/firestore/QueryDocumentSnapshot.html"
     - title: "QuerySnapshot"
       path: "/docs/reference/kotlin/com/google/firebase/firestore/QuerySnapshot.html"
+    - title: "RegexValue"
+      path: "/docs/reference/kotlin/com/google/firebase/firestore/RegexValue.html"
     - title: "SetOptions"
       path: "/docs/reference/kotlin/com/google/firebase/firestore/SetOptions.html"
     - title: "SnapshotListenOptions"
--- /home/runner/diff/original/firebase-kotlindoc/kotlin/com/google/firebase/firestore/BsonBinaryData.html	1970-01-01 00:00:00.000000000 +0000
+++ /home/runner/diff/modified/firebase-kotlindoc/kotlin/com/google/firebase/firestore/BsonBinaryData.html	2025-05-05 16:45:13.574330733 +0000
@@ -0,0 +1,329 @@
+
+  
+    BsonBinaryData
+{% setvar book_path %}/_book.yaml{% endsetvar %}
+{% include "docs/reference/kotlin/_reference-head-tags.html" %}
+  
+  
+    
+

BsonBinaryData

+

+

class BsonBinaryData
+

+
+

Represents a BSON Binary data type in Firestore documents.

+

Summary

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Public functions

ByteString! + +

Returns the underlying data as a ByteString.

+
ByteArray<Byte>! + +

Returns a copy of the underlying data as a byte[] array.

+
Boolean +
equals(obj: Any!)
+

Returns true if this BsonBinaryData is equal to the provided object.

+
java-static BsonBinaryData! +
@Nonnull
fromByteString(subtype: Int, @Nonnull byteString: ByteString!)
+

Creates a new BsonBinaryData instance from the provided ByteString and subtype.

+
java-static BsonBinaryData! +
@Nonnull
fromBytes(subtype: Int, @Nonnull bytes: ByteArray!)
+

Creates a new BsonBinaryData instance from the provided bytes and subtype.

+
Int + +
Int + +

Returns the subtype of this binary data.

+
String! + +
+
+
+

Public functions

+
+

dataAsByteString

+
@Nonnull
fun dataAsByteString(): ByteString!
+

Returns the underlying data as a ByteString.

+
+ + + + + + + + + + + + + + + + +
Returns
ByteString! +

The data as a ByteString.

+
+
+
+
+

dataAsBytes

+
@Nonnull
fun dataAsBytes(): ByteArray<Byte>!
+

Returns a copy of the underlying data as a byte[] array.

+
+ + + + + + + + + + + + + + + + +
Returns
ByteArray<Byte>! +

The data as a byte[] array.

+
+
+
+
+

equals

+
fun equals(obj: Any!): Boolean
+

Returns true if this BsonBinaryData is equal to the provided object.

+
+ + + + + + + + + + + + + + + + +
Parameters
obj: Any! +

The object to compare against.

+
+
+
+ + + + + + + + + + + + + + + + +
Returns
Boolean +

Whether this BsonBinaryData is equal to the provided object.

+
+
+
+
+

fromByteString

+
@Nonnull
java-static fun fromByteString(subtype: Int, @Nonnull byteString: ByteString!): BsonBinaryData!
+

Creates a new BsonBinaryData instance from the provided ByteString and subtype.

+
+ + + + + + + + + + + + + + + + + + + + +
Parameters
subtype: Int +

The subtype to use for this instance.

+
@Nonnull byteString: ByteString! +

The byteString to use for this instance.

+
+
+
+ + + + + + + + + + + + + + + + +
Returns
BsonBinaryData! +

The new BsonBinaryData instance

+
+
+
+
+

fromBytes

+
@Nonnull
java-static fun fromBytes(subtype: Int, @Nonnull bytes: ByteArray!): BsonBinaryData!
+

Creates a new BsonBinaryData instance from the provided bytes and subtype. Makes a copy of the bytes passed in.

+
+ + + + + + + + + + + + + + + + + + + + +
Parameters
subtype: Int +

The subtype to use for this instance.

+
@Nonnull bytes: ByteArray! +

The bytes to use for this instance.

+
+
+
+ + + + + + + + + + + + + + + + +
Returns
BsonBinaryData! +

The new BsonBinaryData instance

+
+
+
+
+

hashCode

+
fun hashCode(): Int
+
+
+

subtype

+
fun subtype(): Int
+

Returns the subtype of this binary data.

+
+ + + + + + + + + + + + + + + + +
Returns
Int +

The subtype of the binary data.

+
+
+
+
+

toString

+
fun toString(): String!
+
+
+ + +
--- /home/runner/diff/original/firebase-kotlindoc/kotlin/com/google/firebase/firestore/BsonObjectId.html	1970-01-01 00:00:00.000000000 +0000
+++ /home/runner/diff/modified/firebase-kotlindoc/kotlin/com/google/firebase/firestore/BsonObjectId.html	2025-05-05 16:45:13.606330717 +0000
@@ -0,0 +1,188 @@
+
+  
+    BsonObjectId
+{% setvar book_path %}/_book.yaml{% endsetvar %}
+{% include "docs/reference/kotlin/_reference-head-tags.html" %}
+  
+  
+    
+

BsonObjectId

+

+

class BsonObjectId
+

+
+

Represents a BSON ObjectId type in Firestore documents.

+

Summary

+
+ + + + + + + + + + + + + + + +

Public constructors

+ +

Constructor that creates a new BSON ObjectId value with the given value.

+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + +

Public functions

Boolean +
equals(obj: Any!)
+

Returns true if this BsonObjectId is equal to the provided object.

+
Int + +
String! + +
+
+
+ + + + + + + + + + + + + + + + +

Public properties

String! + +
+
+
+

Public constructors

+
+

BsonObjectId

+
BsonObjectId(oid: String)
+

Constructor that creates a new BSON ObjectId value with the given value.

+
+ + + + + + + + + + + + + + + + +
Parameters
oid: String +

The 24-character hex string representing the ObjectId.

+
+
+
+
+
+

Public functions

+
+

equals

+
fun equals(obj: Any!): Boolean
+

Returns true if this BsonObjectId is equal to the provided object.

+
+ + + + + + + + + + + + + + + + +
Parameters
obj: Any! +

The object to compare against.

+
+
+
+ + + + + + + + + + + + + + + + +
Returns
Boolean +

Whether this BsonObjectId is equal to the provided object.

+
+
+
+
+

hashCode

+
fun hashCode(): Int
+
+
+

toString

+
fun toString(): String!
+
+
+
+

Public properties

+
+

value

+
val valueString!
+
+
+ + +
--- /home/runner/diff/original/firebase-kotlindoc/kotlin/com/google/firebase/firestore/BsonTimestamp.html	1970-01-01 00:00:00.000000000 +0000
+++ /home/runner/diff/modified/firebase-kotlindoc/kotlin/com/google/firebase/firestore/BsonTimestamp.html	2025-05-05 16:45:13.605330717 +0000
@@ -0,0 +1,204 @@
+
+  
+    BsonTimestamp
+{% setvar book_path %}/_book.yaml{% endsetvar %}
+{% include "docs/reference/kotlin/_reference-head-tags.html" %}
+  
+  
+    
+

BsonTimestamp

+

+

class BsonTimestamp
+

+
+

Represents a BSON Timestamp type in Firestore documents.

+

Summary

+
+ + + + + + + + + + + + + + + +

Public constructors

+
BsonTimestamp(seconds: Long, increment: Long)
+

Constructor that creates a new BSON Timestamp value with the given values.

+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + +

Public functions

Boolean +
equals(obj: Any!)
+

Returns true if this BsonTimestampValue is equal to the provided object.

+
Int + +
String! + +
+
+
+ + + + + + + + + + + + + + + + + + + + +

Public properties

Long + +
Long + +
+
+
+

Public constructors

+
+

BsonTimestamp

+
BsonTimestamp(seconds: Long, increment: Long)
+

Constructor that creates a new BSON Timestamp value with the given values.

+
+ + + + + + + + + + + + + + + + + + + + +
Parameters
seconds: Long +

An unsigned 32-bit integer value stored as long representing the seconds.

+
increment: Long +

An unsigned 32-bit integer value stored as long representing the increment.

+
+
+
+
+
+

Public functions

+
+

equals

+
fun equals(obj: Any!): Boolean
+

Returns true if this BsonTimestampValue is equal to the provided object.

+
+ + + + + + + + + + + + + + + + +
Parameters
obj: Any! +

The object to compare against.

+
+
+
+ + + + + + + + + + + + + + + + +
Returns
Boolean +

Whether this BsonTimestampValue is equal to the provided object.

+
+
+
+
+

hashCode

+
fun hashCode(): Int
+
+
+

toString

+
fun toString(): String!
+
+
+
+

Public properties

+
+

increment

+
val incrementLong
+
+
+

seconds

+
val secondsLong
+
+
+ + +
--- /home/runner/diff/original/firebase-kotlindoc/kotlin/com/google/firebase/firestore/DocumentSnapshot.html	2025-05-05 16:48:46.811222307 +0000
+++ /home/runner/diff/modified/firebase-kotlindoc/kotlin/com/google/firebase/firestore/DocumentSnapshot.html	2025-05-05 16:45:13.573330733 +0000
@@ -167,6 +167,27 @@
             
           
           
+            BsonBinaryData?
+            
+              
+              

Returns the value of the field as a BsonBinaryData.

+ + + + BsonObjectId? + + +

Returns the value of the field as a BsonObjectId.

+ + + + BsonTimestamp? + + +

Returns the value of the field as a BsonTimestampValue.

+ + + (Mutable)Map<String!, Any!>? @@ -222,6 +243,13 @@ + Int32Value? + + +

Returns the value of the field as a 32-bit integer.

+ + + Long?
getLong(field: String)
@@ -229,6 +257,20 @@ + MaxKey? + +
getMaxKey(field: String)
+

Returns the value of the field as a MaxKey.

+ + + + MinKey? + +
getMinKey(field: String)
+

Returns the value of the field as a MinKey.

+ + + DocumentReference @@ -236,6 +278,13 @@ + RegexValue? + + +

Returns the value of the field as a RegexValue.

+ + + String?
getString(field: String)
@@ -1076,6 +1125,210 @@
+
+

getBsonBinaryData

+
fun getBsonBinaryData(field: String): BsonBinaryData?
+

Returns the value of the field as a BsonBinaryData.

+
+ + + + + + + + + + + + + + + + +
Parameters
field: String +

The path to the field.

+
+
+
+ + + + + + + + + + + + + + + + +
Returns
BsonBinaryData? +

The value of the field.

+
+
+
+ + + + + + + + + + + + + + + + +
Throws
java.lang.RuntimeException: java.lang.RuntimeException +

if the value is not a BsonBinaryData.

+
+
+
+
+

getBsonObjectId

+
fun getBsonObjectId(field: String): BsonObjectId?
+

Returns the value of the field as a BsonObjectId.

+
+ + + + + + + + + + + + + + + + +
Parameters
field: String +

The path to the field.

+
+
+
+ + + + + + + + + + + + + + + + +
Returns
BsonObjectId? +

The value of the field.

+
+
+
+ + + + + + + + + + + + + + + + +
Throws
java.lang.RuntimeException: java.lang.RuntimeException +

if the value is not a BsonObjectId.

+
+
+
+
+

getBsonTimestamp

+
fun getBsonTimestamp(field: String): BsonTimestamp?
+

Returns the value of the field as a BsonTimestampValue.

+
+ + + + + + + + + + + + + + + + +
Parameters
field: String +

The path to the field.

+
+
+
+ + + + + + + + + + + + + + + + +
Returns
BsonTimestamp? +

The value of the field.

+
+
+
+ + + + + + + + + + + + + + + + +
Throws
java.lang.RuntimeException: java.lang.RuntimeException +

if the value is not a BsonTimestampValue.

+
+
+

getData

fun getData(): (Mutable)Map<String!, Any!>?
@@ -1520,6 +1773,74 @@
+
+

getInt32Value

+
fun getInt32Value(field: String): Int32Value?
+

Returns the value of the field as a 32-bit integer.

+
+ + + + + + + + + + + + + + + + +
Parameters
field: String +

The path to the field.

+
+
+
+ + + + + + + + + + + + + + + + +
Returns
Int32Value? +

The value of the field.

+
+
+
+ + + + + + + + + + + + + + + + +
Throws
java.lang.RuntimeException: java.lang.RuntimeException +

if the value is not a Int32Value.

+
+
+

getLong

fun getLong(field: String): Long?
@@ -1588,6 +1909,142 @@
+
+

getMaxKey

+
fun getMaxKey(field: String): MaxKey?
+

Returns the value of the field as a MaxKey.

+
+ + + + + + + + + + + + + + + + +
Parameters
field: String +

The path to the field.

+
+
+
+ + + + + + + + + + + + + + + + +
Returns
MaxKey? +

The value of the field.

+
+
+
+ + + + + + + + + + + + + + + + +
Throws
java.lang.RuntimeException: java.lang.RuntimeException +

if the value is not a MaxKey.

+
+
+
+
+

getMinKey

+
fun getMinKey(field: String): MinKey?
+

Returns the value of the field as a MinKey.

+
+ + + + + + + + + + + + + + + + +
Parameters
field: String +

The path to the field.

+
+
+
+ + + + + + + + + + + + + + + + +
Returns
MinKey? +

The value of the field.

+
+
+
+ + + + + + + + + + + + + + + + +
Throws
java.lang.RuntimeException: java.lang.RuntimeException +

if the value is not a MinKey.

+
+
+

getReference

fun getReference(): DocumentReference
@@ -1611,6 +2068,74 @@ + +
+
+
+

getRegexValue

+
fun getRegexValue(field: String): RegexValue?
+

Returns the value of the field as a RegexValue.

+
+ + + + + + + + + + + + + + + + +
Parameters
field: String +

The path to the field.

+
+
+
+ + + + + + + + + + + + + + + + +
Returns
RegexValue? +

The value of the field.

+
+
+
+ + + + + + + + + + + + + + + +
Throws
java.lang.RuntimeException: java.lang.RuntimeException +

if the value is not a RegexValue.

+
--- /home/runner/diff/original/firebase-kotlindoc/kotlin/com/google/firebase/firestore/Int32Value.html	1970-01-01 00:00:00.000000000 +0000
+++ /home/runner/diff/modified/firebase-kotlindoc/kotlin/com/google/firebase/firestore/Int32Value.html	2025-05-05 16:45:13.593330723 +0000
@@ -0,0 +1,165 @@
+
+  
+    Int32Value
+{% setvar book_path %}/_book.yaml{% endsetvar %}
+{% include "docs/reference/kotlin/_reference-head-tags.html" %}
+  
+  
+    
+

Int32Value

+

+

class Int32Value
+

+
+

Represents a 32-bit integer type in Firestore documents.

+

Summary

+
+ + + + + + + + + + + + + + + +

Public constructors

+
Int32Value(value: Int)
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + +

Public functions

Boolean +
equals(obj: Any!)
+

Returns true if this Int32Value is equal to the provided object.

+
Int + +
String! + +
+
+
+ + + + + + + + + + + + + + + + +

Public properties

Int + +
+
+
+

Public constructors

+
+

Int32Value

+
Int32Value(value: Int)
+
+
+
+

Public functions

+
+

equals

+
fun equals(obj: Any!): Boolean
+

Returns true if this Int32Value is equal to the provided object.

+
+ + + + + + + + + + + + + + + + +
Parameters
obj: Any! +

The object to compare against.

+
+
+
+ + + + + + + + + + + + + + + + +
Returns
Boolean +

Whether this Int32Value is equal to the provided object.

+
+
+
+
+

hashCode

+
fun hashCode(): Int
+
+
+

toString

+
fun toString(): String!
+
+
+
+

Public properties

+
+

value

+
val valueInt
+
+
+ + +
--- /home/runner/diff/original/firebase-kotlindoc/kotlin/com/google/firebase/firestore/MaxKey.html	1970-01-01 00:00:00.000000000 +0000
+++ /home/runner/diff/modified/firebase-kotlindoc/kotlin/com/google/firebase/firestore/MaxKey.html	2025-05-05 16:45:13.564330738 +0000
@@ -0,0 +1,110 @@
+
+  
+    MaxKey
+{% setvar book_path %}/_book.yaml{% endsetvar %}
+{% include "docs/reference/kotlin/_reference-head-tags.html" %}
+  
+  
+    
+

MaxKey

+

+

class MaxKey
+

+
+

Represents the Firestore "Max Key" data type.

+

Summary

+
+ + + + + + + + + + + + + + + + + + + + + + + + +

Public functions

Boolean +
equals(obj: Any!)
+

Returns true if this MaxKey is equal to the provided object.

+
Int + +
java-static MaxKey + +
+
+
+

Public functions

+
+

equals

+
fun equals(obj: Any!): Boolean
+

Returns true if this MaxKey is equal to the provided object.

+
+ + + + + + + + + + + + + + + + +
Parameters
obj: Any! +

The object to compare against.

+
+
+
+ + + + + + + + + + + + + + + + +
Returns
Boolean +

Whether this MaxKey is equal to the provided object.

+
+
+
+
+

hashCode

+
fun hashCode(): Int
+
+
+

instance

+
java-static fun instance(): MaxKey
+
+
+ + +
--- /home/runner/diff/original/firebase-kotlindoc/kotlin/com/google/firebase/firestore/MinKey.html	1970-01-01 00:00:00.000000000 +0000
+++ /home/runner/diff/modified/firebase-kotlindoc/kotlin/com/google/firebase/firestore/MinKey.html	2025-05-05 16:45:13.593330723 +0000
@@ -0,0 +1,110 @@
+
+  
+    MinKey
+{% setvar book_path %}/_book.yaml{% endsetvar %}
+{% include "docs/reference/kotlin/_reference-head-tags.html" %}
+  
+  
+    
+

MinKey

+

+

class MinKey
+

+
+

Represents the Firestore "Min Key" data type.

+

Summary

+
+ + + + + + + + + + + + + + + + + + + + + + + + +

Public functions

Boolean +
equals(obj: Any!)
+

Returns true if this MinKey is equal to the provided object.

+
Int + +
java-static MinKey + +
+
+
+

Public functions

+
+

equals

+
fun equals(obj: Any!): Boolean
+

Returns true if this MinKey is equal to the provided object.

+
+ + + + + + + + + + + + + + + + +
Parameters
obj: Any! +

The object to compare against.

+
+
+
+ + + + + + + + + + + + + + + + +
Returns
Boolean +

Whether this MinKey is equal to the provided object.

+
+
+
+
+

hashCode

+
fun hashCode(): Int
+
+
+

instance

+
java-static fun instance(): MinKey
+
+
+ + +
--- /home/runner/diff/original/firebase-kotlindoc/kotlin/com/google/firebase/firestore/QueryDocumentSnapshot.html	2025-05-05 16:48:46.826222301 +0000
+++ /home/runner/diff/modified/firebase-kotlindoc/kotlin/com/google/firebase/firestore/QueryDocumentSnapshot.html	2025-05-05 16:45:13.594330723 +0000
@@ -233,6 +233,27 @@
                       
                     
                     
+                      BsonBinaryData?
+                      
+                        
+                        

Returns the value of the field as a BsonBinaryData.

+ + + + BsonObjectId? + + +

Returns the value of the field as a BsonObjectId.

+ + + + BsonTimestamp? + + +

Returns the value of the field as a BsonTimestampValue.

+ + + Date?
getDate(field: String)
@@ -274,6 +295,13 @@ + Int32Value? + + +

Returns the value of the field as a 32-bit integer.

+ + + Long?
getLong(field: String)
@@ -281,12 +309,26 @@ + MaxKey? + +
getMaxKey(field: String)
+

Returns the value of the field as a MaxKey.

+ + + SnapshotMetadata + MinKey? + +
getMinKey(field: String)
+

Returns the value of the field as a MinKey.

+ + + DocumentReference @@ -294,6 +336,13 @@ + RegexValue? + + +

Returns the value of the field as a RegexValue.

+ + + String?
getString(field: String)
--- /home/runner/diff/original/firebase-kotlindoc/kotlin/com/google/firebase/firestore/RegexValue.html	1970-01-01 00:00:00.000000000 +0000
+++ /home/runner/diff/modified/firebase-kotlindoc/kotlin/com/google/firebase/firestore/RegexValue.html	2025-05-05 16:45:13.589330725 +0000
@@ -0,0 +1,175 @@
+
+  
+    RegexValue
+{% setvar book_path %}/_book.yaml{% endsetvar %}
+{% include "docs/reference/kotlin/_reference-head-tags.html" %}
+  
+  
+    
+

RegexValue

+

+

class RegexValue
+

+
+

Represents a regular expression type in Firestore documents.

+

Summary

+
+ + + + + + + + + + + + + + + +

Public constructors

+
RegexValue(pattern: String, options: String)
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + +

Public functions

Boolean +
equals(obj: Any!)
+

Returns true if this RegexValue is equal to the provided object.

+
Int + +
String! + +
+
+
+ + + + + + + + + + + + + + + + + + + + +

Public properties

String! + +
String! + +
+
+
+

Public constructors

+
+

RegexValue

+
RegexValue(pattern: String, options: String)
+
+
+
+

Public functions

+
+

equals

+
fun equals(obj: Any!): Boolean
+

Returns true if this RegexValue is equal to the provided object.

+
+ + + + + + + + + + + + + + + + +
Parameters
obj: Any! +

The object to compare against.

+
+
+
+ + + + + + + + + + + + + + + + +
Returns
Boolean +

Whether this RegexValue is equal to the provided object.

+
+
+
+
+

hashCode

+
fun hashCode(): Int
+
+
+

toString

+
fun toString(): String!
+
+
+
+

Public properties

+
+

options

+
val optionsString!
+
+
+

pattern

+
val patternString!
+
+
+ + +
--- /home/runner/diff/original/firebase-kotlindoc/kotlin/com/google/firebase/firestore/package-summary.html	2025-05-05 16:48:46.816222305 +0000
+++ /home/runner/diff/modified/firebase-kotlindoc/kotlin/com/google/firebase/firestore/package-summary.html	2025-05-05 16:45:13.574330733 +0000
@@ -108,6 +108,24 @@
             
           
           
+            BsonBinaryData
+            
+              

Represents a BSON Binary data type in Firestore documents.

+ + + + BsonObjectId + +

Represents a BSON ObjectId type in Firestore documents.

+ + + + BsonTimestamp + +

Represents a BSON Timestamp type in Firestore documents.

+ + + CollectionReference

A CollectionReference can be used for adding documents, getting document references, and querying for documents (using the methods inherited from Query).

@@ -175,6 +193,12 @@ + Int32Value + +

Represents a 32-bit integer type in Firestore documents.

+ + + LoadBundleTask

Represents the task of loading a Firestore bundle.

@@ -187,6 +211,12 @@ + MaxKey + +

Represents the Firestore "Max Key" data type.

+ + + MemoryCacheSettings

Configures the SDK to use a memory cache.

@@ -219,6 +249,12 @@ + MinKey + +

Represents the Firestore "Min Key" data type.

+ + + PersistentCacheIndexManager

Persistent cache indexes can improve performance of local query execution.

@@ -255,6 +291,12 @@ + RegexValue + +

Represents a regular expression type in Firestore documents.

+ + + SetOptions

An options object that configures the behavior of set() calls.

@google-oss-bot
Copy link
Contributor

google-oss-bot commented May 2, 2025

Size Report 1

Affected Products

  • firebase-firestore

    TypeBase (0a880cc)Merge (c17a8ad)Diff
    aar1.45 MB1.46 MB+13.7 kB (+0.9%)
    apk (release)11.4 MB11.4 MB+15.9 kB (+0.1%)

Test Logs

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

ehsannas added 2 commits May 2, 2025 14:20
@ehsannas ehsannas assigned milaGGL and unassigned ehsannas May 2, 2025
@google-oss-bot
Copy link
Contributor

google-oss-bot commented May 2, 2025

Startup Time Report 1

Note: Layout is sometimes suboptimal due to limited formatting support on GitHub. Please check this report on GCS.

Notes

Startup Times

  • fire-fst

    DeviceStatisticsDistributions
    oriole-32
    Percentile0a880ccc17a8adDiffSignificant (?)
    p10263 ±11 μs261 ±9 μs-1.48 μs (-0.6%)NO
    p25271 ±10 μs269 ±12 μs-1.56 μs (-0.6%)NO
    p50282 ±10 μs280 ±15 μs-2.68 μs (-0.9%)NO
    p75301 ±14 μs303 ±28 μs+2.17 μs (+0.7%)NO
    p90343 ±53 μs370 ±78 μs+27.3 μs (+8.0%)NO

    20 test runs in comparison
    CommitTest Runs
    0a880cc
    • 2025-05-01_22:24:39.654561_vcIC
    • 2025-05-01_22:24:39.654622_MJFO
    • 2025-05-01_22:24:39.654634_QIyf
    • 2025-05-01_22:24:39.654642_mpdI
    • 2025-05-01_22:24:39.654649_ZYgA
    • 2025-05-01_22:24:39.654657_jRtF
    • 2025-05-01_22:24:39.654674_NClG
    • 2025-05-01_22:24:39.654682_GTUC
    • 2025-05-01_22:24:39.654688_wHwo
    • 2025-05-01_22:24:39.654694_iiia
    c17a8ad
    • 2025-05-05_16:58:38.907655_OQaI
    • 2025-05-05_16:58:38.908952_oQjb
    • 2025-05-05_16:58:38.908962_FVMk
    • 2025-05-05_16:58:38.908968_ccwX
    • 2025-05-05_16:58:38.908972_bDak
    • 2025-05-05_16:58:38.908976_EUoc
    • 2025-05-05_16:58:38.908984_jhNk
    • 2025-05-05_16:58:38.908987_uYvt
    • 2025-05-05_16:58:38.908991_DKHu
    • 2025-05-05_16:58:38.908995_CXtI
    redfin-30
    Percentile0a880ccc17a8adDiffSignificant (?)
    p10526 ±43 μs501 ±37 μs-25.5 μs (-4.8%)NO
    p25541 ±45 μs516 ±40 μs-25.2 μs (-4.7%)NO
    p50562 ±46 μs538 ±40 μs-24.0 μs (-4.3%)NO
    p75589 ±51 μs567 ±43 μs-21.8 μs (-3.7%)NO
    p90628 ±75 μs602 ±45 μs-25.9 μs (-4.1%)NO

    20 test runs in comparison
    CommitTest Runs
    0a880cc
    • 2025-05-01_22:24:39.654561_vcIC
    • 2025-05-01_22:24:39.654622_MJFO
    • 2025-05-01_22:24:39.654634_QIyf
    • 2025-05-01_22:24:39.654642_mpdI
    • 2025-05-01_22:24:39.654649_ZYgA
    • 2025-05-01_22:24:39.654657_jRtF
    • 2025-05-01_22:24:39.654674_NClG
    • 2025-05-01_22:24:39.654682_GTUC
    • 2025-05-01_22:24:39.654688_wHwo
    • 2025-05-01_22:24:39.654694_iiia
    c17a8ad
    • 2025-05-05_16:58:38.907655_OQaI
    • 2025-05-05_16:58:38.908952_oQjb
    • 2025-05-05_16:58:38.908962_FVMk
    • 2025-05-05_16:58:38.908968_ccwX
    • 2025-05-05_16:58:38.908972_bDak
    • 2025-05-05_16:58:38.908976_EUoc
    • 2025-05-05_16:58:38.908984_jhNk
    • 2025-05-05_16:58:38.908987_uYvt
    • 2025-05-05_16:58:38.908991_DKHu
    • 2025-05-05_16:58:38.908995_CXtI
  • timeToInitialDisplay

    DeviceStatisticsDistributions
    oriole-32
    Percentile0a880ccc17a8adDiffSignificant (?)
    p10193 ±2 ms199 ±2 ms+5.77 ms (+3.0%)NO
    p25199 ±2 ms205 ±2 ms+5.89 ms (+3.0%)NO
    p50205 ±2 ms212 ±2 ms+6.48 ms (+3.2%)NO
    p75213 ±3 ms220 ±3 ms+6.83 ms (+3.2%)NO
    p90221 ±3 ms230 ±4 ms+8.57 ms (+3.9%)NO

    20 test runs in comparison
    CommitTest Runs
    0a880cc
    • 2025-05-01_22:24:39.654561_vcIC
    • 2025-05-01_22:24:39.654622_MJFO
    • 2025-05-01_22:24:39.654634_QIyf
    • 2025-05-01_22:24:39.654642_mpdI
    • 2025-05-01_22:24:39.654649_ZYgA
    • 2025-05-01_22:24:39.654657_jRtF
    • 2025-05-01_22:24:39.654674_NClG
    • 2025-05-01_22:24:39.654682_GTUC
    • 2025-05-01_22:24:39.654688_wHwo
    • 2025-05-01_22:24:39.654694_iiia
    c17a8ad
    • 2025-05-05_16:58:38.907655_OQaI
    • 2025-05-05_16:58:38.908952_oQjb
    • 2025-05-05_16:58:38.908962_FVMk
    • 2025-05-05_16:58:38.908968_ccwX
    • 2025-05-05_16:58:38.908972_bDak
    • 2025-05-05_16:58:38.908976_EUoc
    • 2025-05-05_16:58:38.908984_jhNk
    • 2025-05-05_16:58:38.908987_uYvt
    • 2025-05-05_16:58:38.908991_DKHu
    • 2025-05-05_16:58:38.908995_CXtI
    redfin-30
    Percentile0a880ccc17a8adDiffSignificant (?)
    p10225 ±4 ms247 ±11 ms+22.0 ms (+9.8%)NO
    p25231 ±4 ms253 ±11 ms+22.7 ms (+9.8%)NO
    p50239 ±5 ms261 ±11 ms+22.4 ms (+9.4%)NO
    p75247 ±5 ms271 ±11 ms+24.5 ms (+9.9%)NO
    p90255 ±5 ms286 ±11 ms+30.8 ms (+12.1%)MAYBE

    20 test runs in comparison
    CommitTest Runs
    0a880cc
    • 2025-05-01_22:24:39.654561_vcIC
    • 2025-05-01_22:24:39.654622_MJFO
    • 2025-05-01_22:24:39.654634_QIyf
    • 2025-05-01_22:24:39.654642_mpdI
    • 2025-05-01_22:24:39.654649_ZYgA
    • 2025-05-01_22:24:39.654657_jRtF
    • 2025-05-01_22:24:39.654674_NClG
    • 2025-05-01_22:24:39.654682_GTUC
    • 2025-05-01_22:24:39.654688_wHwo
    • 2025-05-01_22:24:39.654694_iiia
    c17a8ad
    • 2025-05-05_16:58:38.907655_OQaI
    • 2025-05-05_16:58:38.908952_oQjb
    • 2025-05-05_16:58:38.908962_FVMk
    • 2025-05-05_16:58:38.908968_ccwX
    • 2025-05-05_16:58:38.908972_bDak
    • 2025-05-05_16:58:38.908976_EUoc
    • 2025-05-05_16:58:38.908984_jhNk
    • 2025-05-05_16:58:38.908987_uYvt
    • 2025-05-05_16:58:38.908991_DKHu
    • 2025-05-05_16:58:38.908995_CXtI

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

@Test
public void testSetMerge() {
CollectionReference collection = testCollection();
CollectionReference collection = testCollectionOnNightly();
Copy link
Contributor Author

Choose a reason for hiding this comment

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

These should be switched back

}

// TODO(Mila/BSON): remove the cache population after updating the
// assertSDKQueryResultsConsistentWithBackend
Copy link
Contributor Author

Choose a reason for hiding this comment

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

these should be resolved.

IIUC all of the

    // Pre-populate the cache with all docs
    waitFor(randomColl.get());

can now be removed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants