@@ -24,13 +24,13 @@ import com.google.firebase.firestore.model.Document
2424import com.google.firebase.firestore.model.MutableDocument
2525import com.google.firebase.firestore.model.ResourcePath
2626import com.google.firebase.firestore.pipeline.BooleanExpression
27+ import com.google.firebase.firestore.pipeline.BooleanFunctionExpression
2728import com.google.firebase.firestore.pipeline.CollectionGroupOptions
2829import com.google.firebase.firestore.pipeline.CollectionGroupSource
2930import com.google.firebase.firestore.pipeline.CollectionSource
3031import com.google.firebase.firestore.pipeline.CollectionSourceOptions
3132import com.google.firebase.firestore.pipeline.EvaluationContext
3233import com.google.firebase.firestore.pipeline.Field
33- import com.google.firebase.firestore.pipeline.FunctionExpression
3434import com.google.firebase.firestore.pipeline.InternalOptions
3535import com.google.firebase.firestore.pipeline.LimitStage
3636import com.google.firebase.firestore.pipeline.OffsetStage
@@ -384,9 +384,9 @@ internal constructor(
384384 // Check for Where stage
385385 if (stage is WhereStage ) {
386386 // Check if it's the special 'exists(__name__)' case
387- val funcExpr = stage.condition as ? FunctionExpression
388- if (funcExpr?.name == " exists" && funcExpr.params.size == 1 ) {
389- val fieldExpr = funcExpr.params[0 ] as ? Field
387+ val funcExpr = stage.condition as ? BooleanFunctionExpression
388+ if (funcExpr?.expr?. name == " exists" && funcExpr.expr .params.size == 1 ) {
389+ val fieldExpr = funcExpr?.expr? .params[0 ] as ? Field
390390 if (fieldExpr?.fieldPath?.isKeyField == true ) {
391391 continue // This specific 'exists(__name__)' filter doesn't count
392392 }
0 commit comments