From 4ec8012e27dbd44b83ed1289b221c610264f7b3b Mon Sep 17 00:00:00 2001 From: Nikolai Kochetov Date: Thu, 18 Jun 2020 16:43:29 +0300 Subject: [PATCH] Fix msan test. --- src/Columns/IColumnImpl.h | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/Columns/IColumnImpl.h b/src/Columns/IColumnImpl.h index 06261ba4adc..74bc1c96563 100644 --- a/src/Columns/IColumnImpl.h +++ b/src/Columns/IColumnImpl.h @@ -79,7 +79,16 @@ void IColumn::compareImpl(const Derived & rhs, size_t rhs_row_num, if constexpr (use_indexes) row = indexes[i]; - compare_results[row] = compareAt(row, rhs_row_num, rhs, nan_direction_hint); + int res = compareAt(row, rhs_row_num, rhs, nan_direction_hint); + + /// We need to convert int to Int8. Sometimes comparison return values which do not fit in one byte. + if (res < 0) + compare_results[row] = -1; + else if (res > 0) + compare_results[row] = 1; + else + compare_results[row] = 0; + if constexpr (reversed) compare_results[row] = -compare_results[row];