Skip to content

Commit 3b44f37

Browse files
committed
Merge branch 'main' into dl/string-expressions
2 parents 2f3f3e9 + cc7d1b4 commit 3b44f37

File tree

6 files changed

+2
-31
lines changed

6 files changed

+2
-31
lines changed

ci/fireci/pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ dependencies = [
1414
"pandas==2.3.3",
1515
"PyGithub==1.58.2",
1616
"pystache==0.6.0",
17-
"requests==2.32.4",
17+
"requests==2.33.0",
1818
"seaborn==0.12.2",
1919
"PyYAML==6.0.1",
2020
"termcolor==2.4.0",

firebase-firestore/CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
# Unreleased
22

3+
- [feature] Pipeline operations are GA now.
34
- [feature] Added support for Pipeline expressions `nor` and `switchOn`.
45
[#7903](https://github.com/firebase/firebase-android-sdk/pull/7903)
56
- [feature] Added support for `first`, `last`, `arrayAgg`, and `arrayAggDistinct` Pipeline expressions.

firebase-firestore/src/main/java/com/google/firebase/firestore/FirebaseFirestore.java

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,6 @@
2727
import com.google.android.gms.tasks.Task;
2828
import com.google.android.gms.tasks.TaskCompletionSource;
2929
import com.google.android.gms.tasks.Tasks;
30-
import com.google.common.annotations.Beta;
3130
import com.google.firebase.FirebaseApp;
3231
import com.google.firebase.annotations.PreviewApi;
3332
import com.google.firebase.appcheck.interop.InteropAppCheckTokenProvider;
@@ -914,7 +913,6 @@ static void setClientLanguage(@NonNull String languageToken) {
914913
*
915914
* @return A {@code PipelineSource} to begin defining the pipeline's stages.
916915
*/
917-
@Beta
918916
@NonNull
919917
public PipelineSource pipeline() {
920918
clientProvider.ensureConfigured();

firebase-firestore/src/main/java/com/google/firebase/firestore/Pipeline.kt

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@ package com.google.firebase.firestore
1616

1717
import com.google.android.gms.tasks.Task
1818
import com.google.android.gms.tasks.TaskCompletionSource
19-
import com.google.common.annotations.Beta
2019
import com.google.firebase.Timestamp
2120
import com.google.firebase.firestore.model.Document
2221
import com.google.firebase.firestore.model.DocumentKey
@@ -81,7 +80,6 @@ import com.google.firestore.v1.Value
8180
* only</b>. <li>They do <b>not</b> utilize or update the local SDK cache. <li>They do <b>not</b>
8281
* support realtime snapshot listeners. </ul>
8382
*/
84-
@Beta
8583
class Pipeline
8684
internal constructor(
8785
private val firestore: FirebaseFirestore,
@@ -900,7 +898,6 @@ internal constructor(
900898
}
901899

902900
/** Start of a Firestore Pipeline */
903-
@Beta
904901
class PipelineSource internal constructor(private val firestore: FirebaseFirestore) {
905902

906903
/**
@@ -1051,7 +1048,6 @@ class PipelineSource internal constructor(private val firestore: FirebaseFiresto
10511048
* Represents the results of a Pipeline query, including the data and metadata. It is usually
10521049
* accessed via [Pipeline.Snapshot].
10531050
*/
1054-
@Beta
10551051
class PipelineResult
10561052
internal constructor(
10571053
private val userDataWriter: UserDataWriter,

firebase-firestore/src/main/java/com/google/firebase/firestore/pipeline/expressions.kt

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@
1414

1515
package com.google.firebase.firestore.pipeline
1616

17-
import com.google.common.annotations.Beta
1817
import com.google.firebase.Timestamp
1918
import com.google.firebase.firestore.Blob
2019
import com.google.firebase.firestore.DocumentReference
@@ -57,7 +56,6 @@ import java.util.Date
5756
* The [Expression] class provides a fluent API for building expressions. You can chain together
5857
* method calls to create complex expressions.
5958
*/
60-
@Beta
6159
abstract class Expression internal constructor() {
6260

6361
internal abstract fun canonicalId(): String
@@ -8925,7 +8923,6 @@ abstract class Expression internal constructor() {
89258923
}
89268924

89278925
/** Expressions that have an alias are [Selectable] */
8928-
@Beta
89298926
abstract class Selectable : Expression() {
89308927
internal abstract val alias: String
89318928
internal abstract val expr: Expression
@@ -8943,7 +8940,6 @@ abstract class Selectable : Expression() {
89438940
}
89448941

89458942
/** Represents an expression that will be given the alias in the output document. */
8946-
@Beta
89478943
class AliasedExpression
89488944
internal constructor(override val alias: String, override val expr: Expression) : Selectable() {
89498945
override fun toProto(userDataReader: UserDataReader): Value = expr.toProto(userDataReader)
@@ -8973,7 +8969,6 @@ internal constructor(override val alias: String, override val expr: Expression)
89738969
*
89748970
* You can create a [Field] instance using the static [Expression.field] method:
89758971
*/
8976-
@Beta
89778972
class Field internal constructor(internal val fieldPath: ModelFieldPath) : Selectable() {
89788973
companion object {
89798974

@@ -9054,7 +9049,6 @@ class Field internal constructor(internal val fieldPath: ModelFieldPath) : Selec
90549049
* [and], [equal], or the methods on [Expression] ([Expression.equal]), [Expression.lessThan], etc)
90559050
* to construct new [FunctionExpression] instances.
90569051
*/
9057-
@Beta
90589052
open class FunctionExpression
90599053
internal constructor(
90609054
internal val name: String,
@@ -9143,7 +9137,6 @@ internal constructor(
91439137
}
91449138

91459139
/** A class that represents a filter condition. */
9146-
@Beta
91479140
abstract class BooleanExpression : Expression() {
91489141

91499142
/**
@@ -9329,7 +9322,6 @@ internal class BooleanField(val field: Field) : BooleanExpression() {
93299322
*
93309323
* You create [Ordering] instances using the [ascending] and [descending] helper methods.
93319324
*/
9332-
@Beta
93339325
class Ordering internal constructor(val expr: Expression, val dir: Direction) {
93349326
internal fun canonicalId(): String {
93359327
val direction = if (dir == Direction.ASCENDING) "asc" else "desc"

firebase-firestore/src/main/java/com/google/firebase/firestore/pipeline/stage.kt

Lines changed: 0 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@
1414

1515
package com.google.firebase.firestore.pipeline
1616

17-
import com.google.common.annotations.Beta
1817
import com.google.firebase.firestore.UserDataReader
1918
import com.google.firebase.firestore.VectorValue
2019
import com.google.firebase.firestore.model.Document
@@ -31,7 +30,6 @@ import com.google.firestore.v1.Pipeline
3130
import com.google.firestore.v1.Value
3231
import javax.annotation.Nonnull
3332

34-
@Beta
3533
sealed class Stage<T : Stage<T>>(internal val name: String, internal val options: InternalOptions) {
3634
internal fun toProtoStage(userDataReader: UserDataReader): Pipeline.Stage {
3735
val builder = Pipeline.Stage.newBuilder()
@@ -110,7 +108,6 @@ sealed class Stage<T : Stage<T>>(internal val name: String, internal val options
110108
* This class provides a way to call stages that are supported by the Firestore backend but that are
111109
* not implemented in the SDK version being used.
112110
*/
113-
@Beta
114111
class RawStage
115112
private constructor(
116113
name: String,
@@ -205,7 +202,6 @@ internal constructor(options: InternalOptions = InternalOptions.EMPTY) :
205202
}
206203
}
207204

208-
@Beta
209205
class CollectionSource
210206
internal constructor(
211207
internal val path: ResourcePath,
@@ -253,7 +249,6 @@ internal constructor(
253249
}
254250
}
255251

256-
@Beta
257252
class CollectionSourceOptions internal constructor(options: InternalOptions) :
258253
AbstractOptions<CollectionSourceOptions>(options) {
259254
/** Creates a new, empty `CollectionSourceOptions` object. */
@@ -272,7 +267,6 @@ class CollectionSourceOptions internal constructor(options: InternalOptions) :
272267
}
273268
}
274269

275-
@Beta
276270
class CollectionHints internal constructor(options: InternalOptions) :
277271
AbstractOptions<CollectionHints>(options) {
278272
/** Creates a new, empty `CollectionHints` object. */
@@ -303,7 +297,6 @@ class CollectionHints internal constructor(options: InternalOptions) :
303297
}
304298
}
305299

306-
@Beta
307300
class CollectionGroupSource
308301
internal constructor(val collectionId: String, options: InternalOptions) :
309302
Stage<CollectionGroupSource>("collection_group", options) {
@@ -344,7 +337,6 @@ internal constructor(val collectionId: String, options: InternalOptions) :
344337
}
345338
}
346339

347-
@Beta
348340
class CollectionGroupOptions internal constructor(options: InternalOptions) :
349341
AbstractOptions<CollectionGroupOptions>(options) {
350342
/** Creates a new, empty `CollectionGroupOptions` object. */
@@ -473,7 +465,6 @@ internal constructor(
473465
* [AggregateFunction.alias] on [AggregateFunction] instances. Each aggregation calculates a value
474466
* (e.g., sum, average, count) based on the documents within its group.
475467
*/
476-
@Beta
477468
class AggregateStage
478469
private constructor(
479470
private val accumulators: Map<String, AggregateFunction>,
@@ -574,7 +565,6 @@ private constructor(
574565
}
575566
}
576567

577-
@Beta
578568
class AggregateHints internal constructor(options: InternalOptions) :
579569
AbstractOptions<AggregateHints>(options) {
580570
/** Creates a new, empty `AggregateHints` object. */
@@ -589,7 +579,6 @@ class AggregateHints internal constructor(options: InternalOptions) :
589579
}
590580
}
591581

592-
@Beta
593582
class AggregateOptions internal constructor(options: InternalOptions) :
594583
AbstractOptions<AggregateOptions>(options) {
595584
/** Creates a new, empty `AggregateOptions` object. */
@@ -648,7 +637,6 @@ internal constructor(
648637
* Performs a vector similarity search, ordering the result set by most similar to least similar,
649638
* and returning the first N documents in the result set.
650639
*/
651-
@Beta
652640
class FindNearestStage
653641
internal constructor(
654642
private val property: Expression,
@@ -795,7 +783,6 @@ internal constructor(
795783
}
796784
}
797785

798-
@Beta
799786
class FindNearestOptions private constructor(options: InternalOptions) :
800787
AbstractOptions<FindNearestOptions>(options) {
801788
/** Creates a new, empty `FindNearestOptions` object. */
@@ -1128,7 +1115,6 @@ internal constructor(
11281115
* dictate how the sample is calculated either by specifying a target output size, or by specifying
11291116
* a target percentage of the input size.
11301117
*/
1131-
@Beta
11321118
class SampleStage
11331119
private constructor(
11341120
private val size: Number,
@@ -1228,7 +1214,6 @@ internal constructor(
12281214
* Takes a specified array from the input documents and outputs a document for each element with the
12291215
* element stored in a field with name specified by the alias.
12301216
*/
1231-
@Beta
12321217
class UnnestStage
12331218
internal constructor(
12341219
private val selectable: Selectable,
@@ -1302,7 +1287,6 @@ internal constructor(
13021287
fun withIndexField(indexField: String): UnnestStage = withOption("index_field", indexField)
13031288
}
13041289

1305-
@Beta
13061290
class UnnestOptions private constructor(options: InternalOptions) :
13071291
AbstractOptions<UnnestOptions>(options) {
13081292
/** Creates a new, empty `UnnestOptions` object. */

0 commit comments

Comments
 (0)