github-actions[bot] commented on code in PR #30997: URL: https://github.com/apache/doris/pull/30997#discussion_r1483892943
########## be/src/vec/aggregate_functions/aggregate_function_window.h: ########## @@ -231,6 +231,59 @@ class WindowFunctionPercentRank final void deserialize(AggregateDataPtr place, BufferReadable& buf, Arena*) const override {} }; +struct CumeDistData { + int64_t numerator = 0; + int64_t denominator = 0; + int64_t peer_group_start = 0; +}; + +class WindowFunctionCumeDist final + : public IAggregateFunctionDataHelper<CumeDistData, WindowFunctionCumeDist> { +private: + static void check_default(AggregateDataPtr place, int64_t partition_start, Review Comment: warning: pointer parameter 'place' can be pointer to const [readability-non-const-parameter] ```suggestion static void check_default(const AggregateDataPtr place, int64_t partition_start, ``` ########## be/src/vec/aggregate_functions/aggregate_function_window.h: ########## @@ -231,6 +231,59 @@ void deserialize(AggregateDataPtr place, BufferReadable& buf, Arena*) const override {} }; +struct CumeDistData { + int64_t numerator = 0; + int64_t denominator = 0; + int64_t peer_group_start = 0; +}; + +class WindowFunctionCumeDist final + : public IAggregateFunctionDataHelper<CumeDistData, WindowFunctionCumeDist> { +private: + static void check_default(AggregateDataPtr place, int64_t partition_start, + int64_t partition_end) { + if (data(place).denominator == 0) { + data(place).denominator = partition_end - partition_start; + } + } + +public: + WindowFunctionCumeDist(const DataTypes& argument_types_) + : IAggregateFunctionDataHelper(argument_types_) {} + + String get_name() const override { return "cume_dist"; } + + DataTypePtr get_return_type() const override { return std::make_shared<DataTypeFloat64>(); } + + void add(AggregateDataPtr place, const IColumn**, size_t, Arena*) const override {} + + void add_range_single_place(int64_t partition_start, int64_t partition_end, int64_t frame_start, Review Comment: warning: method 'add_range_single_place' can be made static [readability-convert-member-functions-to-static] ```suggestion static void add_range_single_place(int64_t partition_start, int64_t partition_end, int64_t frame_start, ``` be/src/vec/aggregate_functions/aggregate_function_window.h:261: ```diff - Arena* arena) const override { + Arena* arena) override { ``` -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org For additional commands, e-mail: commits-h...@doris.apache.org