Skip to content

Subquery#2323

Draft
cherylEnkidu wants to merge 17 commits intomainfrom
cheryl/subquery
Draft

Subquery#2323
cherylEnkidu wants to merge 17 commits intomainfrom
cheryl/subquery

Conversation

@cherylEnkidu
Copy link
Contributor

@cherylEnkidu cherylEnkidu commented Feb 24, 2026

feat: add support for Pipeline subqueries

This PR introduces support for Pipeline Subqueries, allowing users to perform complex data transformations and aggregations on subcollections within a pipeline.

Key Features

  • Subcollection Pipelines: Added Pipeline.subcollection(String path) to initiate a pipeline on a subcollection of the current document.
  • Variable Definition: Added Pipeline.define(...) to bind values to variables for reuse within the pipeline scope.
  • Expression Enhancements:
    • Expression.currentDocument(): Reference the current document in a pipeline stage.
    • Expression.variable(String name): Access defined variables.
    • Pipeline.toArrayExpression() and Pipeline.toScalarExpression(): Convert subquery results into array or scalar expressions for use in parent pipelines.

Testing

  • Added ITPipelineSubqueryTest.java containing integration tests for subquery functionality.
  • Verified compatibility with the Enterprise backend.

@cherylEnkidu cherylEnkidu requested review from a team as code owners February 24, 2026 19:09
@generated-files-bot
Copy link

generated-files-bot bot commented Feb 24, 2026

Warning: This pull request is touching the following templated files:

  • proto-google-cloud-firestore-v1/src/main/java/com/google/firestore/v1/DocumentProto.java
  • proto-google-cloud-firestore-v1/src/main/java/com/google/firestore/v1/Value.java

@product-auto-label product-auto-label bot added size: l Pull request size is large. api: firestore Issues related to the googleapis/java-firestore API. labels Feb 24, 2026
@product-auto-label product-auto-label bot added size: xl Pull request size is extra large. size: l Pull request size is large. and removed size: l Pull request size is large. size: xl Pull request size is extra large. labels Feb 25, 2026
@cherylEnkidu cherylEnkidu marked this pull request as draft February 26, 2026 19:33
@product-auto-label product-auto-label bot added size: xl Pull request size is extra large. and removed size: l Pull request size is large. labels Feb 26, 2026
@product-auto-label product-auto-label bot added size: l Pull request size is large. and removed size: xl Pull request size is extra large. labels Feb 26, 2026
@product-auto-label product-auto-label bot added size: xl Pull request size is extra large. and removed size: l Pull request size is large. labels Feb 26, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

api: firestore Issues related to the googleapis/java-firestore API. size: xl Pull request size is extra large.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants