Fix decimal aggregates test for s390x #49382
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.
Functional test
00700_decimal_aggregates
fails on s390x because the following SQL returns different results on LE and BE machines:It returns
(102,100,101)
on LE machines and(99,101,102)
on BE machines.Actually both results are correct since HyperLogLog algorithm allows some small errors and it hashes LE numbers on LE machines and BE numbers on BE machines which causes different results(See the following code in src/AggregateFunctions/UniqVariadicHash.h).
So the fix is to modify the SQL so that it works correct on both LE and BE machines.
Changelog category (leave one):
Changelog entry (a user-readable short description of the changes that goes to CHANGELOG.md):
Fixed decimal aggregates functional test for x390x.