-
Notifications
You must be signed in to change notification settings - Fork 16
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
UpdateTargetLocator->ActionTargetLocator, refactor part 2 #262
UpdateTargetLocator->ActionTargetLocator, refactor part 2 #262
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@tatu-at-datastax Can you see if we can move the 2 class to util package. Also there is a unit test failure.
*/ | ||
public record UpdateTarget( | ||
public record ActionTarget( |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Same as what is in UpdateTargetLocator.
* possibly Projection) | ||
* </ul> | ||
*/ | ||
public class ActionTargetLocator { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can we have this class named as just TargetLocator and move it to util package? That way we can use it for projection/sorting.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@maheshrajamani Yes, I will do that today. Was wondering about it since it's not really update (or update action) specific.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Are you going to do it as part of this PR?
Renamed "UpdateTarget[Locator]" to "PathMatch[Locator]", moved to util. Did other related renaming, hopefully didn't miss too many references. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
What this PR does:
Further refactoring of existing
UpdateTarget[Locator]
intoActionTarget[Locator]
for more efficient handling, reuse.Specifically now decoding of target locator for
UpdateOperation
s occurs during construction, and not evaluation: this reduces processing for "updateMany()" use case. Similarly added method (ActionTargetLocator.findValueIn()) is planned to be usable for in-memory Sorting (and later on hopefully with Projection as well).Also pushes handling of
Action
s (per-field part of full Update Operation) to base class to allow centralized path-conflict checking (to solve #232 in near future)Which issue(s) this PR fixes:
Fixes #257
Checklist