feat: Add subquery support in pipeline#7736
Conversation
Using Gemini Code AssistThe full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips. Invoking Gemini You can request assistance from Gemini at any point by creating a comment using either
Customization To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a Limitations & Feedback Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here. |
📝 PRs merging into main branchOur main branch should always be in a releasable state. If you are working on a larger change, or if you don't want this change to see the light of the day just yet, consider using a feature branch first, and only merge into the main branch when the code complete and ready to be released. |
…/pipeline/DisjunctiveTests.kt Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
wu-hui
left a comment
There was a problem hiding this comment.
Couple nits on documentation, LGTM!
Summary
This PR implements the Query Pipeline Subquery API in the Android SDK, enabling complex data retrieval patterns including joins, aggregations on related collections, and value binding.
New API
Pipeline
define(aliasedExpression: AliasedExpression, ...): Defines one or more variables in the pipeline's scope for internal reuse.define(stage: DefineStage): Overload for defining variables using aDefineStageobject.toScalarExpression(): Converts the pipeline into an expression that evaluates to a single scalar result.toArrayExpression(): Converts the pipeline into an expression that evaluates to an array of results.Expression
Implementation Details
toScalarExpressionandtoArrayExpressionhandle the execution of sub-pipelines and format the results based on the output structure (unwrapping single fields or returning maps for multiple fields).