Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 5 additions & 2 deletions be/src/util/counts.h
Original file line number Diff line number Diff line change
Expand Up @@ -99,7 +99,8 @@ class Counts {
double u = (_nums.size() - 1) * quantile;
auto index = static_cast<uint32_t>(u);
return _nums[index] +
(u - static_cast<double>(index)) * (_nums[index + 1] - _nums[index]);
(u - static_cast<double>(index)) * (static_cast<double>(_nums[index + 1]) -
static_cast<double>(_nums[index]));
} else {
DCHECK(_nums.empty());
size_t rows = 0;
Expand All @@ -124,7 +125,9 @@ class Counts {
if (quantile == 1) {
return second_number;
}
return first_number + (u - static_cast<double>(index)) * (second_number - first_number);
return first_number +
(u - static_cast<double>(index)) *
(static_cast<double>(second_number) - static_cast<double>(first_number));
}
}

Expand Down
19 changes: 10 additions & 9 deletions be/src/vec/aggregate_functions/aggregate_function_avg.h
Original file line number Diff line number Diff line change
Expand Up @@ -143,8 +143,8 @@ class AggregateFunctionAvg final
}

template <bool is_add>
void update_value(AggregateDataPtr __restrict place, const IColumn** columns,
ssize_t row_num) const {
NO_SANITIZE_UNDEFINED void update_value(AggregateDataPtr __restrict place,
const IColumn** columns, ssize_t row_num) const {
#ifdef __clang__
#pragma clang fp reassociate(on)
#endif
Expand Down Expand Up @@ -177,8 +177,8 @@ class AggregateFunctionAvg final
this->data(place).count = 0;
}

void merge(AggregateDataPtr __restrict place, ConstAggregateDataPtr rhs,
Arena&) const override {
NO_SANITIZE_UNDEFINED void merge(AggregateDataPtr __restrict place, ConstAggregateDataPtr rhs,
Arena&) const override {
if constexpr (is_decimal(T)) {
this->data(place).sum += this->data(rhs).sum.value;
} else {
Expand Down Expand Up @@ -235,8 +235,9 @@ class AggregateFunctionAvg final
}
}

void deserialize_and_merge_from_column(AggregateDataPtr __restrict place, const IColumn& column,
Arena&) const override {
NO_SANITIZE_UNDEFINED void deserialize_and_merge_from_column(AggregateDataPtr __restrict place,
const IColumn& column,
Arena&) const override {
auto& col = assert_cast<const ColumnFixedLengthObject&>(column);
const size_t num_rows = column.size();
DCHECK(col.size() >= num_rows) << "source column's size should greater than num_rows";
Expand All @@ -248,9 +249,9 @@ class AggregateFunctionAvg final
}
}

void deserialize_and_merge_from_column_range(AggregateDataPtr __restrict place,
const IColumn& column, size_t begin, size_t end,
Arena&) const override {
NO_SANITIZE_UNDEFINED void deserialize_and_merge_from_column_range(
AggregateDataPtr __restrict place, const IColumn& column, size_t begin, size_t end,
Arena&) const override {
DCHECK(end <= column.size() && begin <= end)
<< ", begin:" << begin << ", end:" << end << ", column.size():" << column.size();
auto& col = assert_cast<const ColumnFixedLengthObject&>(column);
Expand Down
11 changes: 5 additions & 6 deletions be/src/vec/aggregate_functions/aggregate_function_sum.h
Original file line number Diff line number Diff line change
Expand Up @@ -214,12 +214,11 @@ class AggregateFunctionSum final

bool supported_incremental_mode() const override { return true; }

void execute_function_with_incremental(int64_t partition_start, int64_t partition_end,
int64_t frame_start, int64_t frame_end,
AggregateDataPtr place, const IColumn** columns,
Arena& arena, bool previous_is_nul, bool end_is_nul,
bool has_null, UInt8* use_null_result,
UInt8* could_use_previous_result) const override {
NO_SANITIZE_UNDEFINED void execute_function_with_incremental(
int64_t partition_start, int64_t partition_end, int64_t frame_start, int64_t frame_end,
AggregateDataPtr place, const IColumn** columns, Arena& arena, bool previous_is_nul,
bool end_is_nul, bool has_null, UInt8* use_null_result,
UInt8* could_use_previous_result) const override {
int64_t current_frame_start = std::max<int64_t>(frame_start, partition_start);
int64_t current_frame_end = std::min<int64_t>(frame_end, partition_end);

Expand Down
2 changes: 1 addition & 1 deletion be/src/vec/functions/minus.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,7 @@ struct MinusImpl {
static constexpr auto name = "subtract";
static constexpr PrimitiveType PType = Type;
using Arg = typename PrimitiveTypeTraits<Type>::ColumnItemType;
static inline Arg apply(Arg a, Arg b) { return a - b; }
NO_SANITIZE_UNDEFINED static inline Arg apply(Arg a, Arg b) { return a - b; }
};

void register_function_minus(SimpleFunctionFactory& factory) {
Expand Down
9 changes: 5 additions & 4 deletions be/src/vec/runtime/vdatetime_value.h
Original file line number Diff line number Diff line change
Expand Up @@ -1425,13 +1425,14 @@ class DateV2Value {

int64_t to_int64() const {
if constexpr (is_datetime) {
return (date_v2_value_.year_ * 10000L + date_v2_value_.month_ * 100 +
return (date_v2_value_.year_ * 10000LL + date_v2_value_.month_ * 100LL +
date_v2_value_.day_) *
1000000L +
date_v2_value_.hour_ * 10000 + date_v2_value_.minute_ * 100 +
1000000LL +
date_v2_value_.hour_ * 10000LL + date_v2_value_.minute_ * 100LL +
date_v2_value_.second_;
} else {
return date_v2_value_.year_ * 10000 + date_v2_value_.month_ * 100 + date_v2_value_.day_;
return date_v2_value_.year_ * 10000LL + date_v2_value_.month_ * 100LL +
date_v2_value_.day_;
}
}

Expand Down
Loading