Skip to content

Conversation

tom-andersen
Copy link
Contributor

@tom-andersen tom-andersen commented Dec 16, 2024

Currently this is a prototype of pipeline and stage options.

This is open for discussion and adjustment to pattern. With some refinement, this can become to part of the preview.

  • Change FindNearestOptions to wither style.
  • Fix encoding of Unnest stage to proto, such that args and options match specifrication.
  • Add internal options object to superclass of stages, and use it to standardize encoding.
  • Reduce logic in individual stages, by having them only construct the proto stage args, instead of entire stage proto.
  • Use final and static where possible to encapsulate, control extension, and generally improve performance.
  • Add internal encodeValue overloads to simplify code path.
  • Add base class AbstractOptions as parent to all options. This will provide escape hatch methods, and subclasses can contain convenience methods for known options.
  • Refactor FindNearest DistanceMeasure to use simpler constants. This reduces numbers of classes, code, and avoid continually creating new objects at runtime.
  • Implement some known "hints". This is incomplete, and needs to be expanded upon as backend defines this more clearly.

@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 Dec 16, 2024
@tom-andersen tom-andersen marked this pull request as ready for review December 20, 2024 16:18
@tom-andersen tom-andersen requested a review from a team as a code owner December 20, 2024 16:18
@wu-hui wu-hui merged commit 3ba4d1e into wuandy/JavaPplPP Aug 14, 2025
4 of 16 checks passed
@wu-hui wu-hui deleted the tomandersen/pipelineOptions branch August 14, 2025 14:40
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: l Pull request size is large.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants