Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Prototype of PipelineOptions #1959

Open
wants to merge 7 commits into
base: wuandy/JavaPplPP
Choose a base branch
from

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
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