Skip to content

feat(firestore): pipeline subequeries#16470

Open
daniel-sanche wants to merge 18 commits intomainfrom
firestore_pipelines_join
Open

feat(firestore): pipeline subequeries#16470
daniel-sanche wants to merge 18 commits intomainfrom
firestore_pipelines_join

Conversation

@daniel-sanche
Copy link
Copy Markdown
Contributor

@daniel-sanche daniel-sanche commented Mar 27, 2026

Add support for Pipeline subqueries, allowing users to perform complex data transformation by embedding a full pipeline inside another

New Stages:

  • define
  • subcollection

New Expressions:

  • current_document
  • variable
  • get_field

New classes:

  • SubPipeline, which represents a pipeline without an associated client, which can not be executed

Copy link
Copy Markdown
Contributor

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

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

Code Review

This pull request introduces support for subqueries and variables within Firestore pipelines. Key additions include methods to convert pipelines into array or scalar expressions, a define stage for binding variables, and a subcollection source for relative path queries. New expression types like Variable and CurrentDocument were also implemented alongside corresponding system tests. Feedback was provided to add a type hint to the _PipelineValueExpression constructor to improve type safety and code clarity.

@daniel-sanche daniel-sanche marked this pull request as ready for review March 31, 2026 19:51
@daniel-sanche daniel-sanche requested review from a team as code owners March 31, 2026 19:51
@daniel-sanche daniel-sanche changed the title [DRAFT] feat(firestore): pipeline subequeries feat(firestore): pipeline subequeries Mar 31, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant