Fix string hash and add more hash tests #3473
Merged
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.
Should fix kuzudb/explorer#129. Not only was the type of the value being used for the bit shift not wide enough (the characters are
char
s, but the result of a bitshift seems to always be at leastint
), but it was signed, and signed bit shifts may add new bits as 0 or 1 depending on the implementation, which I think is causing the difference among the platforms.The existing string tests were fairly limited so I added some more which better cover the corner cases.
This will break storage since is changes the behaviour of the hash function used in the hash index.