-
Notifications
You must be signed in to change notification settings - Fork 3.7k
hamming_distance function #59379
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
Closed
Closed
hamming_distance function #59379
Conversation
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
Contributor
|
Thank you for your contribution to Apache Doris. Please clearly describe your PR:
|
- Add visitToSeconds and visitUnicodeNormalize methods to ExpressionVisitor - Fix test data in test_hamming_distance.groovy (replace NULL with empty strings) - Add regression test output baseline - Format function_string_test.cpp with clang-format
ed9ae0b to
29b657b
Compare
Author
|
run buildall |
- Remove invalid test cases with unequal string lengths from regression test - Add visitHammingDistance method to ExpressionVisitor
- Add null value test cases to ensure proper null handling - All test cases now have equal length strings or null values
- Remove all test cases that involve NULL inputs since the function throws exceptions on null inputs - Change table schema to use NOT NULL columns - Remove null-related query tests that would fail
- Add test cases that expect exceptions for NULL inputs and unequal string lengths - Use 'exception' keyword to test expected error conditions - Cover NULL-NULL, NULL-string, and unequal length scenarios
344c7f9 to
a038fbb
Compare
Author
|
run buildall |
Author
|
run buildall |
Author
|
run buildall |
0cc0328 to
0061141
Compare
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Description
Add
hamming_distancefunction to calculate the Hamming distance between two strings.Changes
hamming_distanceinfunction_string.cppwithFunctionBinaryToType + HammingDistanceImpl,and raise an error when the two input strings have different lengths instead of returning NULL.
HammingDistancescalar function in Nereids withAlwaysNullable(returns NULL when any input is NULL).check_function_all_arg_combto cover all argument combinations.test_hamming_distance.groovy.Behavior
Testing
./run-be-ut.sh(pass)../run-regression-test.sh --run test_hamming_distance(pass).