-
Notifications
You must be signed in to change notification settings - Fork 25.8k
Add constraints to dimension fields #74939
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
Merged
Merged
Changes from all commits
Commits
Show all changes
15 commits
Select commit
Hold shift + click to select a range
07710a4
Add constraints to dimension fields:
csoulios 1204f57
Added single-valued field constraint to ip
csoulios 979ccb3
Minor improvement
csoulios 091991f
Added single-value field checks for numbers
csoulios cc241aa
Ensure index and doc_values for dimensions
csoulios 601cd31
Merge branch 'master' into ts-dimensions-constraints
csoulios 7899433
Add constraint for dimension fields per index
csoulios 7fb2f6b
Merge branch 'master' into ts-dimensions-constraints
csoulios d3a6262
Fixed broken tests
csoulios 43257b1
Fix broken test
csoulios 12a2f9a
Do not allow keywords > 1024 chars long
csoulios e4eb87b
Do not allow keywords > 1024 bytes long
csoulios e4a5f05
Do not allow normalizer to best for kw
csoulios d755c38
Move getByKey right above addWithKey for clarity
csoulios e578713
Merge branch 'master' into ts-dimensions-constraints
csoulios File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
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.
I see why you did it this way. I wish there were something cleaner - the
addWithKeything does seem to be something we do in other places though.I wonder if we need the
getByKeyat all - maybe we could makeaddWithKeyreturn the old field and we could check and throw an exception we like? Or something like that. I dunno, feels wasteful to check up front when we already have the check inaddWithKey.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.
I could totally omit the
getByKey()call.addWithKey()checks if there is an entry already and will throw athrow new IllegalStateException("Only one field can be stored per key");I used
getByKey()because I wanted to produce a better error messageThere 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.
It looks like we do the
if (context.doc().getByKey(fieldType().name()) != null) {dance all over the place. Would you be ok refactoring them all in a follow up? It feels like a good thing to clean up to me but not a good thing to mix into this change.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.
If we're going to keep the
getByKeything in this change, could you move it to right aboveaddWithKeyline? I feel like putting them together would make it a little more readable.