Coverage Report

Created: 2026-04-15 12:36

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
be/src/exprs/aggregate/aggregate_function_linear_histogram.h
Line
Count
Source
1
// Licensed to the Apache Software Foundation (ASF) under one
2
// or more contributor license agreements.  See the NOTICE file
3
// distributed with this work for additional information
4
// regarding copyright ownership.  The ASF licenses this file
5
// to you under the Apache License, Version 2.0 (the
6
// "License"); you may not use this file except in compliance
7
// with the License.  You may obtain a copy of the License at
8
//
9
//   http://www.apache.org/licenses/LICENSE-2.0
10
//
11
// Unless required by applicable law or agreed to in writing,
12
// software distributed under the License is distributed on an
13
// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
14
// KIND, either express or implied.  See the License for the
15
// specific language governing permissions and limitations
16
// under the License.
17
18
#pragma once
19
20
#include <rapidjson/document.h>
21
#include <rapidjson/prettywriter.h>
22
#include <rapidjson/stringbuffer.h>
23
24
#include <unordered_map>
25
#include <vector>
26
27
#include "core/data_type/data_type_decimal.h"
28
#include "core/types.h"
29
#include "exprs/aggregate/aggregate_function.h"
30
#include "exprs/aggregate/aggregate_function_simple_factory.h"
31
32
// TODO: optimize count=0
33
// TODO: support datetime
34
// TODO: support foreach
35
36
namespace doris {
37
38
template <PrimitiveType T>
39
struct AggregateFunctionLinearHistogramData {
40
    // bucket key limits
41
    const static int32_t MIN_BUCKET_KEY = std::numeric_limits<int32_t>::min();
42
    const static int32_t MAX_BUCKET_KEY = std::numeric_limits<int32_t>::max();
43
44
private:
45
    // influxdb use double
46
    double interval = 0;
47
    double offset;
48
    double lower; // not used yet
49
    double upper; // not used yet
50
    std::unordered_map<int32_t, size_t,
51
2.45k
                       decltype([](int32_t key) { return static_cast<size_t>(key); })>
_ZNK5doris36AggregateFunctionLinearHistogramDataILNS_13PrimitiveTypeE3EEUliE_clEi
Line
Count
Source
51
442
                       decltype([](int32_t key) { return static_cast<size_t>(key); })>
_ZNK5doris36AggregateFunctionLinearHistogramDataILNS_13PrimitiveTypeE4EEUliE_clEi
Line
Count
Source
51
442
                       decltype([](int32_t key) { return static_cast<size_t>(key); })>
_ZNK5doris36AggregateFunctionLinearHistogramDataILNS_13PrimitiveTypeE5EEUliE_clEi
Line
Count
Source
51
442
                       decltype([](int32_t key) { return static_cast<size_t>(key); })>
_ZNK5doris36AggregateFunctionLinearHistogramDataILNS_13PrimitiveTypeE6EEUliE_clEi
Line
Count
Source
51
442
                       decltype([](int32_t key) { return static_cast<size_t>(key); })>
_ZNK5doris36AggregateFunctionLinearHistogramDataILNS_13PrimitiveTypeE7EEUliE_clEi
Line
Count
Source
51
442
                       decltype([](int32_t key) { return static_cast<size_t>(key); })>
_ZNK5doris36AggregateFunctionLinearHistogramDataILNS_13PrimitiveTypeE8EEUliE_clEi
Line
Count
Source
51
40
                       decltype([](int32_t key) { return static_cast<size_t>(key); })>
_ZNK5doris36AggregateFunctionLinearHistogramDataILNS_13PrimitiveTypeE9EEUliE_clEi
Line
Count
Source
51
40
                       decltype([](int32_t key) { return static_cast<size_t>(key); })>
_ZNK5doris36AggregateFunctionLinearHistogramDataILNS_13PrimitiveTypeE28EEUliE_clEi
Line
Count
Source
51
40
                       decltype([](int32_t key) { return static_cast<size_t>(key); })>
_ZNK5doris36AggregateFunctionLinearHistogramDataILNS_13PrimitiveTypeE29EEUliE_clEi
Line
Count
Source
51
40
                       decltype([](int32_t key) { return static_cast<size_t>(key); })>
_ZNK5doris36AggregateFunctionLinearHistogramDataILNS_13PrimitiveTypeE30EEUliE_clEi
Line
Count
Source
51
40
                       decltype([](int32_t key) { return static_cast<size_t>(key); })>
_ZNK5doris36AggregateFunctionLinearHistogramDataILNS_13PrimitiveTypeE35EEUliE_clEi
Line
Count
Source
51
40
                       decltype([](int32_t key) { return static_cast<size_t>(key); })>
52
            buckets;
53
54
public:
55
    // reset
56
0
    void reset() {
57
0
        offset = 0;
58
0
        interval = 0;
59
0
        buckets.clear();
60
0
    }
Unexecuted instantiation: _ZN5doris36AggregateFunctionLinearHistogramDataILNS_13PrimitiveTypeE3EE5resetEv
Unexecuted instantiation: _ZN5doris36AggregateFunctionLinearHistogramDataILNS_13PrimitiveTypeE4EE5resetEv
Unexecuted instantiation: _ZN5doris36AggregateFunctionLinearHistogramDataILNS_13PrimitiveTypeE5EE5resetEv
Unexecuted instantiation: _ZN5doris36AggregateFunctionLinearHistogramDataILNS_13PrimitiveTypeE6EE5resetEv
Unexecuted instantiation: _ZN5doris36AggregateFunctionLinearHistogramDataILNS_13PrimitiveTypeE7EE5resetEv
Unexecuted instantiation: _ZN5doris36AggregateFunctionLinearHistogramDataILNS_13PrimitiveTypeE8EE5resetEv
Unexecuted instantiation: _ZN5doris36AggregateFunctionLinearHistogramDataILNS_13PrimitiveTypeE9EE5resetEv
Unexecuted instantiation: _ZN5doris36AggregateFunctionLinearHistogramDataILNS_13PrimitiveTypeE28EE5resetEv
Unexecuted instantiation: _ZN5doris36AggregateFunctionLinearHistogramDataILNS_13PrimitiveTypeE29EE5resetEv
Unexecuted instantiation: _ZN5doris36AggregateFunctionLinearHistogramDataILNS_13PrimitiveTypeE30EE5resetEv
Unexecuted instantiation: _ZN5doris36AggregateFunctionLinearHistogramDataILNS_13PrimitiveTypeE35EE5resetEv
61
62
2.12k
    void set_parameters(double input_interval, double input_offset) {
63
2.12k
        interval = input_interval;
64
2.12k
        offset = input_offset;
65
2.12k
    }
_ZN5doris36AggregateFunctionLinearHistogramDataILNS_13PrimitiveTypeE3EE14set_parametersEdd
Line
Count
Source
62
400
    void set_parameters(double input_interval, double input_offset) {
63
400
        interval = input_interval;
64
400
        offset = input_offset;
65
400
    }
_ZN5doris36AggregateFunctionLinearHistogramDataILNS_13PrimitiveTypeE4EE14set_parametersEdd
Line
Count
Source
62
400
    void set_parameters(double input_interval, double input_offset) {
63
400
        interval = input_interval;
64
400
        offset = input_offset;
65
400
    }
_ZN5doris36AggregateFunctionLinearHistogramDataILNS_13PrimitiveTypeE5EE14set_parametersEdd
Line
Count
Source
62
400
    void set_parameters(double input_interval, double input_offset) {
63
400
        interval = input_interval;
64
400
        offset = input_offset;
65
400
    }
_ZN5doris36AggregateFunctionLinearHistogramDataILNS_13PrimitiveTypeE6EE14set_parametersEdd
Line
Count
Source
62
400
    void set_parameters(double input_interval, double input_offset) {
63
400
        interval = input_interval;
64
400
        offset = input_offset;
65
400
    }
_ZN5doris36AggregateFunctionLinearHistogramDataILNS_13PrimitiveTypeE7EE14set_parametersEdd
Line
Count
Source
62
400
    void set_parameters(double input_interval, double input_offset) {
63
400
        interval = input_interval;
64
400
        offset = input_offset;
65
400
    }
_ZN5doris36AggregateFunctionLinearHistogramDataILNS_13PrimitiveTypeE8EE14set_parametersEdd
Line
Count
Source
62
20
    void set_parameters(double input_interval, double input_offset) {
63
20
        interval = input_interval;
64
20
        offset = input_offset;
65
20
    }
_ZN5doris36AggregateFunctionLinearHistogramDataILNS_13PrimitiveTypeE9EE14set_parametersEdd
Line
Count
Source
62
20
    void set_parameters(double input_interval, double input_offset) {
63
20
        interval = input_interval;
64
20
        offset = input_offset;
65
20
    }
_ZN5doris36AggregateFunctionLinearHistogramDataILNS_13PrimitiveTypeE28EE14set_parametersEdd
Line
Count
Source
62
20
    void set_parameters(double input_interval, double input_offset) {
63
20
        interval = input_interval;
64
20
        offset = input_offset;
65
20
    }
_ZN5doris36AggregateFunctionLinearHistogramDataILNS_13PrimitiveTypeE29EE14set_parametersEdd
Line
Count
Source
62
20
    void set_parameters(double input_interval, double input_offset) {
63
20
        interval = input_interval;
64
20
        offset = input_offset;
65
20
    }
_ZN5doris36AggregateFunctionLinearHistogramDataILNS_13PrimitiveTypeE30EE14set_parametersEdd
Line
Count
Source
62
20
    void set_parameters(double input_interval, double input_offset) {
63
20
        interval = input_interval;
64
20
        offset = input_offset;
65
20
    }
_ZN5doris36AggregateFunctionLinearHistogramDataILNS_13PrimitiveTypeE35EE14set_parametersEdd
Line
Count
Source
62
20
    void set_parameters(double input_interval, double input_offset) {
63
20
        interval = input_interval;
64
20
        offset = input_offset;
65
20
    }
66
67
    // add
68
2.12k
    void add(const typename PrimitiveTypeTraits<T>::CppType& value, UInt32 scale) {
69
2.12k
        double val = 0;
70
2.12k
        if constexpr (is_decimal(T)) {
71
80
            using NativeType = typename PrimitiveTypeTraits<T>::CppType::NativeType;
72
80
            val = static_cast<double>(value.value) /
73
80
                  static_cast<double>(decimal_scale_multiplier<NativeType>(scale));
74
2.04k
        } else {
75
2.04k
            val = static_cast<double>(value);
76
2.04k
        }
77
2.12k
        double key = std::floor((val - offset) / interval);
78
2.12k
        if (key <= MIN_BUCKET_KEY || key >= MAX_BUCKET_KEY) {
79
0
            throw doris::Exception(ErrorCode::INVALID_ARGUMENT, "{} exceeds the bucket range limit",
80
0
                                   val);
81
0
        }
82
2.12k
        buckets[static_cast<int32_t>(key)]++;
83
2.12k
    }
_ZN5doris36AggregateFunctionLinearHistogramDataILNS_13PrimitiveTypeE3EE3addERKaj
Line
Count
Source
68
400
    void add(const typename PrimitiveTypeTraits<T>::CppType& value, UInt32 scale) {
69
400
        double val = 0;
70
        if constexpr (is_decimal(T)) {
71
            using NativeType = typename PrimitiveTypeTraits<T>::CppType::NativeType;
72
            val = static_cast<double>(value.value) /
73
                  static_cast<double>(decimal_scale_multiplier<NativeType>(scale));
74
400
        } else {
75
400
            val = static_cast<double>(value);
76
400
        }
77
400
        double key = std::floor((val - offset) / interval);
78
400
        if (key <= MIN_BUCKET_KEY || key >= MAX_BUCKET_KEY) {
79
0
            throw doris::Exception(ErrorCode::INVALID_ARGUMENT, "{} exceeds the bucket range limit",
80
0
                                   val);
81
0
        }
82
400
        buckets[static_cast<int32_t>(key)]++;
83
400
    }
_ZN5doris36AggregateFunctionLinearHistogramDataILNS_13PrimitiveTypeE4EE3addERKsj
Line
Count
Source
68
400
    void add(const typename PrimitiveTypeTraits<T>::CppType& value, UInt32 scale) {
69
400
        double val = 0;
70
        if constexpr (is_decimal(T)) {
71
            using NativeType = typename PrimitiveTypeTraits<T>::CppType::NativeType;
72
            val = static_cast<double>(value.value) /
73
                  static_cast<double>(decimal_scale_multiplier<NativeType>(scale));
74
400
        } else {
75
400
            val = static_cast<double>(value);
76
400
        }
77
400
        double key = std::floor((val - offset) / interval);
78
400
        if (key <= MIN_BUCKET_KEY || key >= MAX_BUCKET_KEY) {
79
0
            throw doris::Exception(ErrorCode::INVALID_ARGUMENT, "{} exceeds the bucket range limit",
80
0
                                   val);
81
0
        }
82
400
        buckets[static_cast<int32_t>(key)]++;
83
400
    }
_ZN5doris36AggregateFunctionLinearHistogramDataILNS_13PrimitiveTypeE5EE3addERKij
Line
Count
Source
68
400
    void add(const typename PrimitiveTypeTraits<T>::CppType& value, UInt32 scale) {
69
400
        double val = 0;
70
        if constexpr (is_decimal(T)) {
71
            using NativeType = typename PrimitiveTypeTraits<T>::CppType::NativeType;
72
            val = static_cast<double>(value.value) /
73
                  static_cast<double>(decimal_scale_multiplier<NativeType>(scale));
74
400
        } else {
75
400
            val = static_cast<double>(value);
76
400
        }
77
400
        double key = std::floor((val - offset) / interval);
78
400
        if (key <= MIN_BUCKET_KEY || key >= MAX_BUCKET_KEY) {
79
0
            throw doris::Exception(ErrorCode::INVALID_ARGUMENT, "{} exceeds the bucket range limit",
80
0
                                   val);
81
0
        }
82
400
        buckets[static_cast<int32_t>(key)]++;
83
400
    }
_ZN5doris36AggregateFunctionLinearHistogramDataILNS_13PrimitiveTypeE6EE3addERKlj
Line
Count
Source
68
400
    void add(const typename PrimitiveTypeTraits<T>::CppType& value, UInt32 scale) {
69
400
        double val = 0;
70
        if constexpr (is_decimal(T)) {
71
            using NativeType = typename PrimitiveTypeTraits<T>::CppType::NativeType;
72
            val = static_cast<double>(value.value) /
73
                  static_cast<double>(decimal_scale_multiplier<NativeType>(scale));
74
400
        } else {
75
400
            val = static_cast<double>(value);
76
400
        }
77
400
        double key = std::floor((val - offset) / interval);
78
400
        if (key <= MIN_BUCKET_KEY || key >= MAX_BUCKET_KEY) {
79
0
            throw doris::Exception(ErrorCode::INVALID_ARGUMENT, "{} exceeds the bucket range limit",
80
0
                                   val);
81
0
        }
82
400
        buckets[static_cast<int32_t>(key)]++;
83
400
    }
_ZN5doris36AggregateFunctionLinearHistogramDataILNS_13PrimitiveTypeE7EE3addERKnj
Line
Count
Source
68
400
    void add(const typename PrimitiveTypeTraits<T>::CppType& value, UInt32 scale) {
69
400
        double val = 0;
70
        if constexpr (is_decimal(T)) {
71
            using NativeType = typename PrimitiveTypeTraits<T>::CppType::NativeType;
72
            val = static_cast<double>(value.value) /
73
                  static_cast<double>(decimal_scale_multiplier<NativeType>(scale));
74
400
        } else {
75
400
            val = static_cast<double>(value);
76
400
        }
77
400
        double key = std::floor((val - offset) / interval);
78
400
        if (key <= MIN_BUCKET_KEY || key >= MAX_BUCKET_KEY) {
79
0
            throw doris::Exception(ErrorCode::INVALID_ARGUMENT, "{} exceeds the bucket range limit",
80
0
                                   val);
81
0
        }
82
400
        buckets[static_cast<int32_t>(key)]++;
83
400
    }
_ZN5doris36AggregateFunctionLinearHistogramDataILNS_13PrimitiveTypeE8EE3addERKfj
Line
Count
Source
68
20
    void add(const typename PrimitiveTypeTraits<T>::CppType& value, UInt32 scale) {
69
20
        double val = 0;
70
        if constexpr (is_decimal(T)) {
71
            using NativeType = typename PrimitiveTypeTraits<T>::CppType::NativeType;
72
            val = static_cast<double>(value.value) /
73
                  static_cast<double>(decimal_scale_multiplier<NativeType>(scale));
74
20
        } else {
75
20
            val = static_cast<double>(value);
76
20
        }
77
20
        double key = std::floor((val - offset) / interval);
78
20
        if (key <= MIN_BUCKET_KEY || key >= MAX_BUCKET_KEY) {
79
0
            throw doris::Exception(ErrorCode::INVALID_ARGUMENT, "{} exceeds the bucket range limit",
80
0
                                   val);
81
0
        }
82
20
        buckets[static_cast<int32_t>(key)]++;
83
20
    }
_ZN5doris36AggregateFunctionLinearHistogramDataILNS_13PrimitiveTypeE9EE3addERKdj
Line
Count
Source
68
20
    void add(const typename PrimitiveTypeTraits<T>::CppType& value, UInt32 scale) {
69
20
        double val = 0;
70
        if constexpr (is_decimal(T)) {
71
            using NativeType = typename PrimitiveTypeTraits<T>::CppType::NativeType;
72
            val = static_cast<double>(value.value) /
73
                  static_cast<double>(decimal_scale_multiplier<NativeType>(scale));
74
20
        } else {
75
20
            val = static_cast<double>(value);
76
20
        }
77
20
        double key = std::floor((val - offset) / interval);
78
20
        if (key <= MIN_BUCKET_KEY || key >= MAX_BUCKET_KEY) {
79
0
            throw doris::Exception(ErrorCode::INVALID_ARGUMENT, "{} exceeds the bucket range limit",
80
0
                                   val);
81
0
        }
82
20
        buckets[static_cast<int32_t>(key)]++;
83
20
    }
_ZN5doris36AggregateFunctionLinearHistogramDataILNS_13PrimitiveTypeE28EE3addERKNS_7DecimalIiEEj
Line
Count
Source
68
20
    void add(const typename PrimitiveTypeTraits<T>::CppType& value, UInt32 scale) {
69
20
        double val = 0;
70
20
        if constexpr (is_decimal(T)) {
71
20
            using NativeType = typename PrimitiveTypeTraits<T>::CppType::NativeType;
72
20
            val = static_cast<double>(value.value) /
73
20
                  static_cast<double>(decimal_scale_multiplier<NativeType>(scale));
74
        } else {
75
            val = static_cast<double>(value);
76
        }
77
20
        double key = std::floor((val - offset) / interval);
78
20
        if (key <= MIN_BUCKET_KEY || key >= MAX_BUCKET_KEY) {
79
0
            throw doris::Exception(ErrorCode::INVALID_ARGUMENT, "{} exceeds the bucket range limit",
80
0
                                   val);
81
0
        }
82
20
        buckets[static_cast<int32_t>(key)]++;
83
20
    }
_ZN5doris36AggregateFunctionLinearHistogramDataILNS_13PrimitiveTypeE29EE3addERKNS_7DecimalIlEEj
Line
Count
Source
68
20
    void add(const typename PrimitiveTypeTraits<T>::CppType& value, UInt32 scale) {
69
20
        double val = 0;
70
20
        if constexpr (is_decimal(T)) {
71
20
            using NativeType = typename PrimitiveTypeTraits<T>::CppType::NativeType;
72
20
            val = static_cast<double>(value.value) /
73
20
                  static_cast<double>(decimal_scale_multiplier<NativeType>(scale));
74
        } else {
75
            val = static_cast<double>(value);
76
        }
77
20
        double key = std::floor((val - offset) / interval);
78
20
        if (key <= MIN_BUCKET_KEY || key >= MAX_BUCKET_KEY) {
79
0
            throw doris::Exception(ErrorCode::INVALID_ARGUMENT, "{} exceeds the bucket range limit",
80
0
                                   val);
81
0
        }
82
20
        buckets[static_cast<int32_t>(key)]++;
83
20
    }
_ZN5doris36AggregateFunctionLinearHistogramDataILNS_13PrimitiveTypeE30EE3addERKNS_12Decimal128V3Ej
Line
Count
Source
68
20
    void add(const typename PrimitiveTypeTraits<T>::CppType& value, UInt32 scale) {
69
20
        double val = 0;
70
20
        if constexpr (is_decimal(T)) {
71
20
            using NativeType = typename PrimitiveTypeTraits<T>::CppType::NativeType;
72
20
            val = static_cast<double>(value.value) /
73
20
                  static_cast<double>(decimal_scale_multiplier<NativeType>(scale));
74
        } else {
75
            val = static_cast<double>(value);
76
        }
77
20
        double key = std::floor((val - offset) / interval);
78
20
        if (key <= MIN_BUCKET_KEY || key >= MAX_BUCKET_KEY) {
79
0
            throw doris::Exception(ErrorCode::INVALID_ARGUMENT, "{} exceeds the bucket range limit",
80
0
                                   val);
81
0
        }
82
20
        buckets[static_cast<int32_t>(key)]++;
83
20
    }
_ZN5doris36AggregateFunctionLinearHistogramDataILNS_13PrimitiveTypeE35EE3addERKNS_7DecimalIN4wide7integerILm256EiEEEEj
Line
Count
Source
68
20
    void add(const typename PrimitiveTypeTraits<T>::CppType& value, UInt32 scale) {
69
20
        double val = 0;
70
20
        if constexpr (is_decimal(T)) {
71
20
            using NativeType = typename PrimitiveTypeTraits<T>::CppType::NativeType;
72
20
            val = static_cast<double>(value.value) /
73
20
                  static_cast<double>(decimal_scale_multiplier<NativeType>(scale));
74
        } else {
75
            val = static_cast<double>(value);
76
        }
77
20
        double key = std::floor((val - offset) / interval);
78
20
        if (key <= MIN_BUCKET_KEY || key >= MAX_BUCKET_KEY) {
79
0
            throw doris::Exception(ErrorCode::INVALID_ARGUMENT, "{} exceeds the bucket range limit",
80
0
                                   val);
81
0
        }
82
20
        buckets[static_cast<int32_t>(key)]++;
83
20
    }
84
85
    // merge
86
33
    void merge(const AggregateFunctionLinearHistogramData& rhs) {
87
33
        if (rhs.interval == 0) {
88
11
            return;
89
11
        }
90
91
22
        interval = rhs.interval;
92
22
        offset = rhs.offset;
93
94
165
        for (const auto& [key, count] : rhs.buckets) {
95
165
            buckets[key] += count;
96
165
        }
97
22
    }
_ZN5doris36AggregateFunctionLinearHistogramDataILNS_13PrimitiveTypeE3EE5mergeERKS2_
Line
Count
Source
86
3
    void merge(const AggregateFunctionLinearHistogramData& rhs) {
87
3
        if (rhs.interval == 0) {
88
1
            return;
89
1
        }
90
91
2
        interval = rhs.interval;
92
2
        offset = rhs.offset;
93
94
21
        for (const auto& [key, count] : rhs.buckets) {
95
21
            buckets[key] += count;
96
21
        }
97
2
    }
_ZN5doris36AggregateFunctionLinearHistogramDataILNS_13PrimitiveTypeE4EE5mergeERKS2_
Line
Count
Source
86
3
    void merge(const AggregateFunctionLinearHistogramData& rhs) {
87
3
        if (rhs.interval == 0) {
88
1
            return;
89
1
        }
90
91
2
        interval = rhs.interval;
92
2
        offset = rhs.offset;
93
94
21
        for (const auto& [key, count] : rhs.buckets) {
95
21
            buckets[key] += count;
96
21
        }
97
2
    }
_ZN5doris36AggregateFunctionLinearHistogramDataILNS_13PrimitiveTypeE5EE5mergeERKS2_
Line
Count
Source
86
3
    void merge(const AggregateFunctionLinearHistogramData& rhs) {
87
3
        if (rhs.interval == 0) {
88
1
            return;
89
1
        }
90
91
2
        interval = rhs.interval;
92
2
        offset = rhs.offset;
93
94
21
        for (const auto& [key, count] : rhs.buckets) {
95
21
            buckets[key] += count;
96
21
        }
97
2
    }
_ZN5doris36AggregateFunctionLinearHistogramDataILNS_13PrimitiveTypeE6EE5mergeERKS2_
Line
Count
Source
86
3
    void merge(const AggregateFunctionLinearHistogramData& rhs) {
87
3
        if (rhs.interval == 0) {
88
1
            return;
89
1
        }
90
91
2
        interval = rhs.interval;
92
2
        offset = rhs.offset;
93
94
21
        for (const auto& [key, count] : rhs.buckets) {
95
21
            buckets[key] += count;
96
21
        }
97
2
    }
_ZN5doris36AggregateFunctionLinearHistogramDataILNS_13PrimitiveTypeE7EE5mergeERKS2_
Line
Count
Source
86
3
    void merge(const AggregateFunctionLinearHistogramData& rhs) {
87
3
        if (rhs.interval == 0) {
88
1
            return;
89
1
        }
90
91
2
        interval = rhs.interval;
92
2
        offset = rhs.offset;
93
94
21
        for (const auto& [key, count] : rhs.buckets) {
95
21
            buckets[key] += count;
96
21
        }
97
2
    }
_ZN5doris36AggregateFunctionLinearHistogramDataILNS_13PrimitiveTypeE8EE5mergeERKS2_
Line
Count
Source
86
3
    void merge(const AggregateFunctionLinearHistogramData& rhs) {
87
3
        if (rhs.interval == 0) {
88
1
            return;
89
1
        }
90
91
2
        interval = rhs.interval;
92
2
        offset = rhs.offset;
93
94
10
        for (const auto& [key, count] : rhs.buckets) {
95
10
            buckets[key] += count;
96
10
        }
97
2
    }
_ZN5doris36AggregateFunctionLinearHistogramDataILNS_13PrimitiveTypeE9EE5mergeERKS2_
Line
Count
Source
86
3
    void merge(const AggregateFunctionLinearHistogramData& rhs) {
87
3
        if (rhs.interval == 0) {
88
1
            return;
89
1
        }
90
91
2
        interval = rhs.interval;
92
2
        offset = rhs.offset;
93
94
10
        for (const auto& [key, count] : rhs.buckets) {
95
10
            buckets[key] += count;
96
10
        }
97
2
    }
_ZN5doris36AggregateFunctionLinearHistogramDataILNS_13PrimitiveTypeE28EE5mergeERKS2_
Line
Count
Source
86
3
    void merge(const AggregateFunctionLinearHistogramData& rhs) {
87
3
        if (rhs.interval == 0) {
88
1
            return;
89
1
        }
90
91
2
        interval = rhs.interval;
92
2
        offset = rhs.offset;
93
94
10
        for (const auto& [key, count] : rhs.buckets) {
95
10
            buckets[key] += count;
96
10
        }
97
2
    }
_ZN5doris36AggregateFunctionLinearHistogramDataILNS_13PrimitiveTypeE29EE5mergeERKS2_
Line
Count
Source
86
3
    void merge(const AggregateFunctionLinearHistogramData& rhs) {
87
3
        if (rhs.interval == 0) {
88
1
            return;
89
1
        }
90
91
2
        interval = rhs.interval;
92
2
        offset = rhs.offset;
93
94
10
        for (const auto& [key, count] : rhs.buckets) {
95
10
            buckets[key] += count;
96
10
        }
97
2
    }
_ZN5doris36AggregateFunctionLinearHistogramDataILNS_13PrimitiveTypeE30EE5mergeERKS2_
Line
Count
Source
86
3
    void merge(const AggregateFunctionLinearHistogramData& rhs) {
87
3
        if (rhs.interval == 0) {
88
1
            return;
89
1
        }
90
91
2
        interval = rhs.interval;
92
2
        offset = rhs.offset;
93
94
10
        for (const auto& [key, count] : rhs.buckets) {
95
10
            buckets[key] += count;
96
10
        }
97
2
    }
_ZN5doris36AggregateFunctionLinearHistogramDataILNS_13PrimitiveTypeE35EE5mergeERKS2_
Line
Count
Source
86
3
    void merge(const AggregateFunctionLinearHistogramData& rhs) {
87
3
        if (rhs.interval == 0) {
88
1
            return;
89
1
        }
90
91
2
        interval = rhs.interval;
92
2
        offset = rhs.offset;
93
94
10
        for (const auto& [key, count] : rhs.buckets) {
95
10
            buckets[key] += count;
96
10
        }
97
2
    }
98
99
    // write
100
33
    void write(BufferWritable& buf) const {
101
33
        buf.write_binary(offset);
102
33
        buf.write_binary(interval);
103
33
        buf.write_binary(lower);
104
33
        buf.write_binary(upper);
105
33
        buf.write_binary(buckets.size());
106
165
        for (const auto& [key, count] : buckets) {
107
165
            buf.write_binary(key);
108
165
            buf.write_binary(count);
109
165
        }
110
33
    }
_ZNK5doris36AggregateFunctionLinearHistogramDataILNS_13PrimitiveTypeE3EE5writeERNS_14BufferWritableE
Line
Count
Source
100
3
    void write(BufferWritable& buf) const {
101
3
        buf.write_binary(offset);
102
3
        buf.write_binary(interval);
103
3
        buf.write_binary(lower);
104
3
        buf.write_binary(upper);
105
3
        buf.write_binary(buckets.size());
106
21
        for (const auto& [key, count] : buckets) {
107
21
            buf.write_binary(key);
108
21
            buf.write_binary(count);
109
21
        }
110
3
    }
_ZNK5doris36AggregateFunctionLinearHistogramDataILNS_13PrimitiveTypeE4EE5writeERNS_14BufferWritableE
Line
Count
Source
100
3
    void write(BufferWritable& buf) const {
101
3
        buf.write_binary(offset);
102
3
        buf.write_binary(interval);
103
3
        buf.write_binary(lower);
104
3
        buf.write_binary(upper);
105
3
        buf.write_binary(buckets.size());
106
21
        for (const auto& [key, count] : buckets) {
107
21
            buf.write_binary(key);
108
21
            buf.write_binary(count);
109
21
        }
110
3
    }
_ZNK5doris36AggregateFunctionLinearHistogramDataILNS_13PrimitiveTypeE5EE5writeERNS_14BufferWritableE
Line
Count
Source
100
3
    void write(BufferWritable& buf) const {
101
3
        buf.write_binary(offset);
102
3
        buf.write_binary(interval);
103
3
        buf.write_binary(lower);
104
3
        buf.write_binary(upper);
105
3
        buf.write_binary(buckets.size());
106
21
        for (const auto& [key, count] : buckets) {
107
21
            buf.write_binary(key);
108
21
            buf.write_binary(count);
109
21
        }
110
3
    }
_ZNK5doris36AggregateFunctionLinearHistogramDataILNS_13PrimitiveTypeE6EE5writeERNS_14BufferWritableE
Line
Count
Source
100
3
    void write(BufferWritable& buf) const {
101
3
        buf.write_binary(offset);
102
3
        buf.write_binary(interval);
103
3
        buf.write_binary(lower);
104
3
        buf.write_binary(upper);
105
3
        buf.write_binary(buckets.size());
106
21
        for (const auto& [key, count] : buckets) {
107
21
            buf.write_binary(key);
108
21
            buf.write_binary(count);
109
21
        }
110
3
    }
_ZNK5doris36AggregateFunctionLinearHistogramDataILNS_13PrimitiveTypeE7EE5writeERNS_14BufferWritableE
Line
Count
Source
100
3
    void write(BufferWritable& buf) const {
101
3
        buf.write_binary(offset);
102
3
        buf.write_binary(interval);
103
3
        buf.write_binary(lower);
104
3
        buf.write_binary(upper);
105
3
        buf.write_binary(buckets.size());
106
21
        for (const auto& [key, count] : buckets) {
107
21
            buf.write_binary(key);
108
21
            buf.write_binary(count);
109
21
        }
110
3
    }
_ZNK5doris36AggregateFunctionLinearHistogramDataILNS_13PrimitiveTypeE8EE5writeERNS_14BufferWritableE
Line
Count
Source
100
3
    void write(BufferWritable& buf) const {
101
3
        buf.write_binary(offset);
102
3
        buf.write_binary(interval);
103
3
        buf.write_binary(lower);
104
3
        buf.write_binary(upper);
105
3
        buf.write_binary(buckets.size());
106
10
        for (const auto& [key, count] : buckets) {
107
10
            buf.write_binary(key);
108
10
            buf.write_binary(count);
109
10
        }
110
3
    }
_ZNK5doris36AggregateFunctionLinearHistogramDataILNS_13PrimitiveTypeE9EE5writeERNS_14BufferWritableE
Line
Count
Source
100
3
    void write(BufferWritable& buf) const {
101
3
        buf.write_binary(offset);
102
3
        buf.write_binary(interval);
103
3
        buf.write_binary(lower);
104
3
        buf.write_binary(upper);
105
3
        buf.write_binary(buckets.size());
106
10
        for (const auto& [key, count] : buckets) {
107
10
            buf.write_binary(key);
108
10
            buf.write_binary(count);
109
10
        }
110
3
    }
_ZNK5doris36AggregateFunctionLinearHistogramDataILNS_13PrimitiveTypeE28EE5writeERNS_14BufferWritableE
Line
Count
Source
100
3
    void write(BufferWritable& buf) const {
101
3
        buf.write_binary(offset);
102
3
        buf.write_binary(interval);
103
3
        buf.write_binary(lower);
104
3
        buf.write_binary(upper);
105
3
        buf.write_binary(buckets.size());
106
10
        for (const auto& [key, count] : buckets) {
107
10
            buf.write_binary(key);
108
10
            buf.write_binary(count);
109
10
        }
110
3
    }
_ZNK5doris36AggregateFunctionLinearHistogramDataILNS_13PrimitiveTypeE29EE5writeERNS_14BufferWritableE
Line
Count
Source
100
3
    void write(BufferWritable& buf) const {
101
3
        buf.write_binary(offset);
102
3
        buf.write_binary(interval);
103
3
        buf.write_binary(lower);
104
3
        buf.write_binary(upper);
105
3
        buf.write_binary(buckets.size());
106
10
        for (const auto& [key, count] : buckets) {
107
10
            buf.write_binary(key);
108
10
            buf.write_binary(count);
109
10
        }
110
3
    }
_ZNK5doris36AggregateFunctionLinearHistogramDataILNS_13PrimitiveTypeE30EE5writeERNS_14BufferWritableE
Line
Count
Source
100
3
    void write(BufferWritable& buf) const {
101
3
        buf.write_binary(offset);
102
3
        buf.write_binary(interval);
103
3
        buf.write_binary(lower);
104
3
        buf.write_binary(upper);
105
3
        buf.write_binary(buckets.size());
106
10
        for (const auto& [key, count] : buckets) {
107
10
            buf.write_binary(key);
108
10
            buf.write_binary(count);
109
10
        }
110
3
    }
_ZNK5doris36AggregateFunctionLinearHistogramDataILNS_13PrimitiveTypeE35EE5writeERNS_14BufferWritableE
Line
Count
Source
100
3
    void write(BufferWritable& buf) const {
101
3
        buf.write_binary(offset);
102
3
        buf.write_binary(interval);
103
3
        buf.write_binary(lower);
104
3
        buf.write_binary(upper);
105
3
        buf.write_binary(buckets.size());
106
10
        for (const auto& [key, count] : buckets) {
107
10
            buf.write_binary(key);
108
10
            buf.write_binary(count);
109
10
        }
110
3
    }
111
112
    // read
113
33
    void read(BufferReadable& buf) {
114
33
        buf.read_binary(offset);
115
33
        buf.read_binary(interval);
116
33
        buf.read_binary(lower);
117
33
        buf.read_binary(upper);
118
33
        size_t size;
119
33
        buf.read_binary(size);
120
198
        for (size_t i = 0; i < size; i++) {
121
165
            int32_t key;
122
165
            size_t count;
123
165
            buf.read_binary(key);
124
165
            buf.read_binary(count);
125
165
            buckets[key] = count;
126
165
        }
127
33
    }
_ZN5doris36AggregateFunctionLinearHistogramDataILNS_13PrimitiveTypeE3EE4readERNS_14BufferReadableE
Line
Count
Source
113
3
    void read(BufferReadable& buf) {
114
3
        buf.read_binary(offset);
115
3
        buf.read_binary(interval);
116
3
        buf.read_binary(lower);
117
3
        buf.read_binary(upper);
118
3
        size_t size;
119
3
        buf.read_binary(size);
120
24
        for (size_t i = 0; i < size; i++) {
121
21
            int32_t key;
122
21
            size_t count;
123
21
            buf.read_binary(key);
124
21
            buf.read_binary(count);
125
21
            buckets[key] = count;
126
21
        }
127
3
    }
_ZN5doris36AggregateFunctionLinearHistogramDataILNS_13PrimitiveTypeE4EE4readERNS_14BufferReadableE
Line
Count
Source
113
3
    void read(BufferReadable& buf) {
114
3
        buf.read_binary(offset);
115
3
        buf.read_binary(interval);
116
3
        buf.read_binary(lower);
117
3
        buf.read_binary(upper);
118
3
        size_t size;
119
3
        buf.read_binary(size);
120
24
        for (size_t i = 0; i < size; i++) {
121
21
            int32_t key;
122
21
            size_t count;
123
21
            buf.read_binary(key);
124
21
            buf.read_binary(count);
125
21
            buckets[key] = count;
126
21
        }
127
3
    }
_ZN5doris36AggregateFunctionLinearHistogramDataILNS_13PrimitiveTypeE5EE4readERNS_14BufferReadableE
Line
Count
Source
113
3
    void read(BufferReadable& buf) {
114
3
        buf.read_binary(offset);
115
3
        buf.read_binary(interval);
116
3
        buf.read_binary(lower);
117
3
        buf.read_binary(upper);
118
3
        size_t size;
119
3
        buf.read_binary(size);
120
24
        for (size_t i = 0; i < size; i++) {
121
21
            int32_t key;
122
21
            size_t count;
123
21
            buf.read_binary(key);
124
21
            buf.read_binary(count);
125
21
            buckets[key] = count;
126
21
        }
127
3
    }
_ZN5doris36AggregateFunctionLinearHistogramDataILNS_13PrimitiveTypeE6EE4readERNS_14BufferReadableE
Line
Count
Source
113
3
    void read(BufferReadable& buf) {
114
3
        buf.read_binary(offset);
115
3
        buf.read_binary(interval);
116
3
        buf.read_binary(lower);
117
3
        buf.read_binary(upper);
118
3
        size_t size;
119
3
        buf.read_binary(size);
120
24
        for (size_t i = 0; i < size; i++) {
121
21
            int32_t key;
122
21
            size_t count;
123
21
            buf.read_binary(key);
124
21
            buf.read_binary(count);
125
21
            buckets[key] = count;
126
21
        }
127
3
    }
_ZN5doris36AggregateFunctionLinearHistogramDataILNS_13PrimitiveTypeE7EE4readERNS_14BufferReadableE
Line
Count
Source
113
3
    void read(BufferReadable& buf) {
114
3
        buf.read_binary(offset);
115
3
        buf.read_binary(interval);
116
3
        buf.read_binary(lower);
117
3
        buf.read_binary(upper);
118
3
        size_t size;
119
3
        buf.read_binary(size);
120
24
        for (size_t i = 0; i < size; i++) {
121
21
            int32_t key;
122
21
            size_t count;
123
21
            buf.read_binary(key);
124
21
            buf.read_binary(count);
125
21
            buckets[key] = count;
126
21
        }
127
3
    }
_ZN5doris36AggregateFunctionLinearHistogramDataILNS_13PrimitiveTypeE8EE4readERNS_14BufferReadableE
Line
Count
Source
113
3
    void read(BufferReadable& buf) {
114
3
        buf.read_binary(offset);
115
3
        buf.read_binary(interval);
116
3
        buf.read_binary(lower);
117
3
        buf.read_binary(upper);
118
3
        size_t size;
119
3
        buf.read_binary(size);
120
13
        for (size_t i = 0; i < size; i++) {
121
10
            int32_t key;
122
10
            size_t count;
123
10
            buf.read_binary(key);
124
10
            buf.read_binary(count);
125
10
            buckets[key] = count;
126
10
        }
127
3
    }
_ZN5doris36AggregateFunctionLinearHistogramDataILNS_13PrimitiveTypeE9EE4readERNS_14BufferReadableE
Line
Count
Source
113
3
    void read(BufferReadable& buf) {
114
3
        buf.read_binary(offset);
115
3
        buf.read_binary(interval);
116
3
        buf.read_binary(lower);
117
3
        buf.read_binary(upper);
118
3
        size_t size;
119
3
        buf.read_binary(size);
120
13
        for (size_t i = 0; i < size; i++) {
121
10
            int32_t key;
122
10
            size_t count;
123
10
            buf.read_binary(key);
124
10
            buf.read_binary(count);
125
10
            buckets[key] = count;
126
10
        }
127
3
    }
_ZN5doris36AggregateFunctionLinearHistogramDataILNS_13PrimitiveTypeE28EE4readERNS_14BufferReadableE
Line
Count
Source
113
3
    void read(BufferReadable& buf) {
114
3
        buf.read_binary(offset);
115
3
        buf.read_binary(interval);
116
3
        buf.read_binary(lower);
117
3
        buf.read_binary(upper);
118
3
        size_t size;
119
3
        buf.read_binary(size);
120
13
        for (size_t i = 0; i < size; i++) {
121
10
            int32_t key;
122
10
            size_t count;
123
10
            buf.read_binary(key);
124
10
            buf.read_binary(count);
125
10
            buckets[key] = count;
126
10
        }
127
3
    }
_ZN5doris36AggregateFunctionLinearHistogramDataILNS_13PrimitiveTypeE29EE4readERNS_14BufferReadableE
Line
Count
Source
113
3
    void read(BufferReadable& buf) {
114
3
        buf.read_binary(offset);
115
3
        buf.read_binary(interval);
116
3
        buf.read_binary(lower);
117
3
        buf.read_binary(upper);
118
3
        size_t size;
119
3
        buf.read_binary(size);
120
13
        for (size_t i = 0; i < size; i++) {
121
10
            int32_t key;
122
10
            size_t count;
123
10
            buf.read_binary(key);
124
10
            buf.read_binary(count);
125
10
            buckets[key] = count;
126
10
        }
127
3
    }
_ZN5doris36AggregateFunctionLinearHistogramDataILNS_13PrimitiveTypeE30EE4readERNS_14BufferReadableE
Line
Count
Source
113
3
    void read(BufferReadable& buf) {
114
3
        buf.read_binary(offset);
115
3
        buf.read_binary(interval);
116
3
        buf.read_binary(lower);
117
3
        buf.read_binary(upper);
118
3
        size_t size;
119
3
        buf.read_binary(size);
120
13
        for (size_t i = 0; i < size; i++) {
121
10
            int32_t key;
122
10
            size_t count;
123
10
            buf.read_binary(key);
124
10
            buf.read_binary(count);
125
10
            buckets[key] = count;
126
10
        }
127
3
    }
_ZN5doris36AggregateFunctionLinearHistogramDataILNS_13PrimitiveTypeE35EE4readERNS_14BufferReadableE
Line
Count
Source
113
3
    void read(BufferReadable& buf) {
114
3
        buf.read_binary(offset);
115
3
        buf.read_binary(interval);
116
3
        buf.read_binary(lower);
117
3
        buf.read_binary(upper);
118
3
        size_t size;
119
3
        buf.read_binary(size);
120
13
        for (size_t i = 0; i < size; i++) {
121
10
            int32_t key;
122
10
            size_t count;
123
10
            buf.read_binary(key);
124
10
            buf.read_binary(count);
125
10
            buckets[key] = count;
126
10
        }
127
3
    }
128
129
    // insert_result_into
130
66
    void insert_result_into(IColumn& to) const {
131
66
        std::vector<std::pair<int32_t, size_t>> bucket_vector(buckets.begin(), buckets.end());
132
66
        std::sort(bucket_vector.begin(), bucket_vector.end(),
133
366
                  [](const auto& lhs, const auto& rhs) { return lhs.first < rhs.first; });
_ZZNK5doris36AggregateFunctionLinearHistogramDataILNS_13PrimitiveTypeE3EE18insert_result_intoERNS_7IColumnEENKUlRKT_RKT0_E_clISt4pairIimESE_EEDaS7_SA_
Line
Count
Source
133
54
                  [](const auto& lhs, const auto& rhs) { return lhs.first < rhs.first; });
_ZZNK5doris36AggregateFunctionLinearHistogramDataILNS_13PrimitiveTypeE4EE18insert_result_intoERNS_7IColumnEENKUlRKT_RKT0_E_clISt4pairIimESE_EEDaS7_SA_
Line
Count
Source
133
54
                  [](const auto& lhs, const auto& rhs) { return lhs.first < rhs.first; });
_ZZNK5doris36AggregateFunctionLinearHistogramDataILNS_13PrimitiveTypeE5EE18insert_result_intoERNS_7IColumnEENKUlRKT_RKT0_E_clISt4pairIimESE_EEDaS7_SA_
Line
Count
Source
133
54
                  [](const auto& lhs, const auto& rhs) { return lhs.first < rhs.first; });
_ZZNK5doris36AggregateFunctionLinearHistogramDataILNS_13PrimitiveTypeE6EE18insert_result_intoERNS_7IColumnEENKUlRKT_RKT0_E_clISt4pairIimESE_EEDaS7_SA_
Line
Count
Source
133
54
                  [](const auto& lhs, const auto& rhs) { return lhs.first < rhs.first; });
_ZZNK5doris36AggregateFunctionLinearHistogramDataILNS_13PrimitiveTypeE7EE18insert_result_intoERNS_7IColumnEENKUlRKT_RKT0_E_clISt4pairIimESE_EEDaS7_SA_
Line
Count
Source
133
54
                  [](const auto& lhs, const auto& rhs) { return lhs.first < rhs.first; });
_ZZNK5doris36AggregateFunctionLinearHistogramDataILNS_13PrimitiveTypeE8EE18insert_result_intoERNS_7IColumnEENKUlRKT_RKT0_E_clISt4pairIimESE_EEDaS7_SA_
Line
Count
Source
133
16
                  [](const auto& lhs, const auto& rhs) { return lhs.first < rhs.first; });
_ZZNK5doris36AggregateFunctionLinearHistogramDataILNS_13PrimitiveTypeE9EE18insert_result_intoERNS_7IColumnEENKUlRKT_RKT0_E_clISt4pairIimESE_EEDaS7_SA_
Line
Count
Source
133
16
                  [](const auto& lhs, const auto& rhs) { return lhs.first < rhs.first; });
_ZZNK5doris36AggregateFunctionLinearHistogramDataILNS_13PrimitiveTypeE28EE18insert_result_intoERNS_7IColumnEENKUlRKT_RKT0_E_clISt4pairIimESE_EEDaS7_SA_
Line
Count
Source
133
16
                  [](const auto& lhs, const auto& rhs) { return lhs.first < rhs.first; });
_ZZNK5doris36AggregateFunctionLinearHistogramDataILNS_13PrimitiveTypeE29EE18insert_result_intoERNS_7IColumnEENKUlRKT_RKT0_E_clISt4pairIimESE_EEDaS7_SA_
Line
Count
Source
133
16
                  [](const auto& lhs, const auto& rhs) { return lhs.first < rhs.first; });
_ZZNK5doris36AggregateFunctionLinearHistogramDataILNS_13PrimitiveTypeE30EE18insert_result_intoERNS_7IColumnEENKUlRKT_RKT0_E_clISt4pairIimESE_EEDaS7_SA_
Line
Count
Source
133
16
                  [](const auto& lhs, const auto& rhs) { return lhs.first < rhs.first; });
_ZZNK5doris36AggregateFunctionLinearHistogramDataILNS_13PrimitiveTypeE35EE18insert_result_intoERNS_7IColumnEENKUlRKT_RKT0_E_clISt4pairIimESE_EEDaS7_SA_
Line
Count
Source
133
16
                  [](const auto& lhs, const auto& rhs) { return lhs.first < rhs.first; });
134
135
66
        rapidjson::Document doc;
136
66
        doc.SetObject();
137
66
        rapidjson::Document::AllocatorType& allocator = doc.GetAllocator();
138
139
66
        unsigned num_buckets = bucket_vector.empty() ? 0
140
66
                                                     : bucket_vector.rbegin()->first -
141
44
                                                               bucket_vector.begin()->first + 1;
142
66
        doc.AddMember("num_buckets", num_buckets, allocator);
143
144
66
        rapidjson::Value bucket_arr(rapidjson::kArrayType);
145
66
        bucket_arr.Reserve(num_buckets, allocator);
146
147
66
        if (num_buckets > 0) {
148
44
            int32_t idx = bucket_vector.begin()->first;
149
44
            double left = bucket_vector.begin()->first * interval + offset;
150
44
            size_t count = 0;
151
44
            size_t acc_count = 0;
152
153
330
            for (const auto& [key, count_] : bucket_vector) {
154
756
                for (; idx <= key; ++idx) {
155
426
                    rapidjson::Value bucket_json(rapidjson::kObjectType);
156
426
                    bucket_json.AddMember("lower", left, allocator);
157
426
                    left += interval;
158
426
                    bucket_json.AddMember("upper", left, allocator);
159
426
                    count = (idx == key) ? count_ : 0;
160
426
                    bucket_json.AddMember("count", static_cast<uint64_t>(count), allocator);
161
426
                    acc_count += count;
162
426
                    bucket_json.AddMember("acc_count", static_cast<uint64_t>(acc_count), allocator);
163
426
                    bucket_arr.PushBack(bucket_json, allocator);
164
426
                }
165
330
            }
166
44
        }
167
168
66
        doc.AddMember("buckets", bucket_arr, allocator);
169
170
66
        rapidjson::StringBuffer buffer;
171
66
        rapidjson::Writer<rapidjson::StringBuffer> writer(buffer);
172
66
        doc.Accept(writer);
173
174
66
        auto& column = assert_cast<ColumnString&>(to);
175
66
        column.insert_data(buffer.GetString(), buffer.GetSize());
176
66
    }
_ZNK5doris36AggregateFunctionLinearHistogramDataILNS_13PrimitiveTypeE3EE18insert_result_intoERNS_7IColumnE
Line
Count
Source
130
6
    void insert_result_into(IColumn& to) const {
131
6
        std::vector<std::pair<int32_t, size_t>> bucket_vector(buckets.begin(), buckets.end());
132
6
        std::sort(bucket_vector.begin(), bucket_vector.end(),
133
6
                  [](const auto& lhs, const auto& rhs) { return lhs.first < rhs.first; });
134
135
6
        rapidjson::Document doc;
136
6
        doc.SetObject();
137
6
        rapidjson::Document::AllocatorType& allocator = doc.GetAllocator();
138
139
6
        unsigned num_buckets = bucket_vector.empty() ? 0
140
6
                                                     : bucket_vector.rbegin()->first -
141
4
                                                               bucket_vector.begin()->first + 1;
142
6
        doc.AddMember("num_buckets", num_buckets, allocator);
143
144
6
        rapidjson::Value bucket_arr(rapidjson::kArrayType);
145
6
        bucket_arr.Reserve(num_buckets, allocator);
146
147
6
        if (num_buckets > 0) {
148
4
            int32_t idx = bucket_vector.begin()->first;
149
4
            double left = bucket_vector.begin()->first * interval + offset;
150
4
            size_t count = 0;
151
4
            size_t acc_count = 0;
152
153
42
            for (const auto& [key, count_] : bucket_vector) {
154
84
                for (; idx <= key; ++idx) {
155
42
                    rapidjson::Value bucket_json(rapidjson::kObjectType);
156
42
                    bucket_json.AddMember("lower", left, allocator);
157
42
                    left += interval;
158
42
                    bucket_json.AddMember("upper", left, allocator);
159
42
                    count = (idx == key) ? count_ : 0;
160
42
                    bucket_json.AddMember("count", static_cast<uint64_t>(count), allocator);
161
42
                    acc_count += count;
162
42
                    bucket_json.AddMember("acc_count", static_cast<uint64_t>(acc_count), allocator);
163
42
                    bucket_arr.PushBack(bucket_json, allocator);
164
42
                }
165
42
            }
166
4
        }
167
168
6
        doc.AddMember("buckets", bucket_arr, allocator);
169
170
6
        rapidjson::StringBuffer buffer;
171
6
        rapidjson::Writer<rapidjson::StringBuffer> writer(buffer);
172
6
        doc.Accept(writer);
173
174
6
        auto& column = assert_cast<ColumnString&>(to);
175
6
        column.insert_data(buffer.GetString(), buffer.GetSize());
176
6
    }
_ZNK5doris36AggregateFunctionLinearHistogramDataILNS_13PrimitiveTypeE4EE18insert_result_intoERNS_7IColumnE
Line
Count
Source
130
6
    void insert_result_into(IColumn& to) const {
131
6
        std::vector<std::pair<int32_t, size_t>> bucket_vector(buckets.begin(), buckets.end());
132
6
        std::sort(bucket_vector.begin(), bucket_vector.end(),
133
6
                  [](const auto& lhs, const auto& rhs) { return lhs.first < rhs.first; });
134
135
6
        rapidjson::Document doc;
136
6
        doc.SetObject();
137
6
        rapidjson::Document::AllocatorType& allocator = doc.GetAllocator();
138
139
6
        unsigned num_buckets = bucket_vector.empty() ? 0
140
6
                                                     : bucket_vector.rbegin()->first -
141
4
                                                               bucket_vector.begin()->first + 1;
142
6
        doc.AddMember("num_buckets", num_buckets, allocator);
143
144
6
        rapidjson::Value bucket_arr(rapidjson::kArrayType);
145
6
        bucket_arr.Reserve(num_buckets, allocator);
146
147
6
        if (num_buckets > 0) {
148
4
            int32_t idx = bucket_vector.begin()->first;
149
4
            double left = bucket_vector.begin()->first * interval + offset;
150
4
            size_t count = 0;
151
4
            size_t acc_count = 0;
152
153
42
            for (const auto& [key, count_] : bucket_vector) {
154
84
                for (; idx <= key; ++idx) {
155
42
                    rapidjson::Value bucket_json(rapidjson::kObjectType);
156
42
                    bucket_json.AddMember("lower", left, allocator);
157
42
                    left += interval;
158
42
                    bucket_json.AddMember("upper", left, allocator);
159
42
                    count = (idx == key) ? count_ : 0;
160
42
                    bucket_json.AddMember("count", static_cast<uint64_t>(count), allocator);
161
42
                    acc_count += count;
162
42
                    bucket_json.AddMember("acc_count", static_cast<uint64_t>(acc_count), allocator);
163
42
                    bucket_arr.PushBack(bucket_json, allocator);
164
42
                }
165
42
            }
166
4
        }
167
168
6
        doc.AddMember("buckets", bucket_arr, allocator);
169
170
6
        rapidjson::StringBuffer buffer;
171
6
        rapidjson::Writer<rapidjson::StringBuffer> writer(buffer);
172
6
        doc.Accept(writer);
173
174
6
        auto& column = assert_cast<ColumnString&>(to);
175
6
        column.insert_data(buffer.GetString(), buffer.GetSize());
176
6
    }
_ZNK5doris36AggregateFunctionLinearHistogramDataILNS_13PrimitiveTypeE5EE18insert_result_intoERNS_7IColumnE
Line
Count
Source
130
6
    void insert_result_into(IColumn& to) const {
131
6
        std::vector<std::pair<int32_t, size_t>> bucket_vector(buckets.begin(), buckets.end());
132
6
        std::sort(bucket_vector.begin(), bucket_vector.end(),
133
6
                  [](const auto& lhs, const auto& rhs) { return lhs.first < rhs.first; });
134
135
6
        rapidjson::Document doc;
136
6
        doc.SetObject();
137
6
        rapidjson::Document::AllocatorType& allocator = doc.GetAllocator();
138
139
6
        unsigned num_buckets = bucket_vector.empty() ? 0
140
6
                                                     : bucket_vector.rbegin()->first -
141
4
                                                               bucket_vector.begin()->first + 1;
142
6
        doc.AddMember("num_buckets", num_buckets, allocator);
143
144
6
        rapidjson::Value bucket_arr(rapidjson::kArrayType);
145
6
        bucket_arr.Reserve(num_buckets, allocator);
146
147
6
        if (num_buckets > 0) {
148
4
            int32_t idx = bucket_vector.begin()->first;
149
4
            double left = bucket_vector.begin()->first * interval + offset;
150
4
            size_t count = 0;
151
4
            size_t acc_count = 0;
152
153
42
            for (const auto& [key, count_] : bucket_vector) {
154
84
                for (; idx <= key; ++idx) {
155
42
                    rapidjson::Value bucket_json(rapidjson::kObjectType);
156
42
                    bucket_json.AddMember("lower", left, allocator);
157
42
                    left += interval;
158
42
                    bucket_json.AddMember("upper", left, allocator);
159
42
                    count = (idx == key) ? count_ : 0;
160
42
                    bucket_json.AddMember("count", static_cast<uint64_t>(count), allocator);
161
42
                    acc_count += count;
162
42
                    bucket_json.AddMember("acc_count", static_cast<uint64_t>(acc_count), allocator);
163
42
                    bucket_arr.PushBack(bucket_json, allocator);
164
42
                }
165
42
            }
166
4
        }
167
168
6
        doc.AddMember("buckets", bucket_arr, allocator);
169
170
6
        rapidjson::StringBuffer buffer;
171
6
        rapidjson::Writer<rapidjson::StringBuffer> writer(buffer);
172
6
        doc.Accept(writer);
173
174
6
        auto& column = assert_cast<ColumnString&>(to);
175
6
        column.insert_data(buffer.GetString(), buffer.GetSize());
176
6
    }
_ZNK5doris36AggregateFunctionLinearHistogramDataILNS_13PrimitiveTypeE6EE18insert_result_intoERNS_7IColumnE
Line
Count
Source
130
6
    void insert_result_into(IColumn& to) const {
131
6
        std::vector<std::pair<int32_t, size_t>> bucket_vector(buckets.begin(), buckets.end());
132
6
        std::sort(bucket_vector.begin(), bucket_vector.end(),
133
6
                  [](const auto& lhs, const auto& rhs) { return lhs.first < rhs.first; });
134
135
6
        rapidjson::Document doc;
136
6
        doc.SetObject();
137
6
        rapidjson::Document::AllocatorType& allocator = doc.GetAllocator();
138
139
6
        unsigned num_buckets = bucket_vector.empty() ? 0
140
6
                                                     : bucket_vector.rbegin()->first -
141
4
                                                               bucket_vector.begin()->first + 1;
142
6
        doc.AddMember("num_buckets", num_buckets, allocator);
143
144
6
        rapidjson::Value bucket_arr(rapidjson::kArrayType);
145
6
        bucket_arr.Reserve(num_buckets, allocator);
146
147
6
        if (num_buckets > 0) {
148
4
            int32_t idx = bucket_vector.begin()->first;
149
4
            double left = bucket_vector.begin()->first * interval + offset;
150
4
            size_t count = 0;
151
4
            size_t acc_count = 0;
152
153
42
            for (const auto& [key, count_] : bucket_vector) {
154
84
                for (; idx <= key; ++idx) {
155
42
                    rapidjson::Value bucket_json(rapidjson::kObjectType);
156
42
                    bucket_json.AddMember("lower", left, allocator);
157
42
                    left += interval;
158
42
                    bucket_json.AddMember("upper", left, allocator);
159
42
                    count = (idx == key) ? count_ : 0;
160
42
                    bucket_json.AddMember("count", static_cast<uint64_t>(count), allocator);
161
42
                    acc_count += count;
162
42
                    bucket_json.AddMember("acc_count", static_cast<uint64_t>(acc_count), allocator);
163
42
                    bucket_arr.PushBack(bucket_json, allocator);
164
42
                }
165
42
            }
166
4
        }
167
168
6
        doc.AddMember("buckets", bucket_arr, allocator);
169
170
6
        rapidjson::StringBuffer buffer;
171
6
        rapidjson::Writer<rapidjson::StringBuffer> writer(buffer);
172
6
        doc.Accept(writer);
173
174
6
        auto& column = assert_cast<ColumnString&>(to);
175
6
        column.insert_data(buffer.GetString(), buffer.GetSize());
176
6
    }
_ZNK5doris36AggregateFunctionLinearHistogramDataILNS_13PrimitiveTypeE7EE18insert_result_intoERNS_7IColumnE
Line
Count
Source
130
6
    void insert_result_into(IColumn& to) const {
131
6
        std::vector<std::pair<int32_t, size_t>> bucket_vector(buckets.begin(), buckets.end());
132
6
        std::sort(bucket_vector.begin(), bucket_vector.end(),
133
6
                  [](const auto& lhs, const auto& rhs) { return lhs.first < rhs.first; });
134
135
6
        rapidjson::Document doc;
136
6
        doc.SetObject();
137
6
        rapidjson::Document::AllocatorType& allocator = doc.GetAllocator();
138
139
6
        unsigned num_buckets = bucket_vector.empty() ? 0
140
6
                                                     : bucket_vector.rbegin()->first -
141
4
                                                               bucket_vector.begin()->first + 1;
142
6
        doc.AddMember("num_buckets", num_buckets, allocator);
143
144
6
        rapidjson::Value bucket_arr(rapidjson::kArrayType);
145
6
        bucket_arr.Reserve(num_buckets, allocator);
146
147
6
        if (num_buckets > 0) {
148
4
            int32_t idx = bucket_vector.begin()->first;
149
4
            double left = bucket_vector.begin()->first * interval + offset;
150
4
            size_t count = 0;
151
4
            size_t acc_count = 0;
152
153
42
            for (const auto& [key, count_] : bucket_vector) {
154
84
                for (; idx <= key; ++idx) {
155
42
                    rapidjson::Value bucket_json(rapidjson::kObjectType);
156
42
                    bucket_json.AddMember("lower", left, allocator);
157
42
                    left += interval;
158
42
                    bucket_json.AddMember("upper", left, allocator);
159
42
                    count = (idx == key) ? count_ : 0;
160
42
                    bucket_json.AddMember("count", static_cast<uint64_t>(count), allocator);
161
42
                    acc_count += count;
162
42
                    bucket_json.AddMember("acc_count", static_cast<uint64_t>(acc_count), allocator);
163
42
                    bucket_arr.PushBack(bucket_json, allocator);
164
42
                }
165
42
            }
166
4
        }
167
168
6
        doc.AddMember("buckets", bucket_arr, allocator);
169
170
6
        rapidjson::StringBuffer buffer;
171
6
        rapidjson::Writer<rapidjson::StringBuffer> writer(buffer);
172
6
        doc.Accept(writer);
173
174
6
        auto& column = assert_cast<ColumnString&>(to);
175
6
        column.insert_data(buffer.GetString(), buffer.GetSize());
176
6
    }
_ZNK5doris36AggregateFunctionLinearHistogramDataILNS_13PrimitiveTypeE8EE18insert_result_intoERNS_7IColumnE
Line
Count
Source
130
6
    void insert_result_into(IColumn& to) const {
131
6
        std::vector<std::pair<int32_t, size_t>> bucket_vector(buckets.begin(), buckets.end());
132
6
        std::sort(bucket_vector.begin(), bucket_vector.end(),
133
6
                  [](const auto& lhs, const auto& rhs) { return lhs.first < rhs.first; });
134
135
6
        rapidjson::Document doc;
136
6
        doc.SetObject();
137
6
        rapidjson::Document::AllocatorType& allocator = doc.GetAllocator();
138
139
6
        unsigned num_buckets = bucket_vector.empty() ? 0
140
6
                                                     : bucket_vector.rbegin()->first -
141
4
                                                               bucket_vector.begin()->first + 1;
142
6
        doc.AddMember("num_buckets", num_buckets, allocator);
143
144
6
        rapidjson::Value bucket_arr(rapidjson::kArrayType);
145
6
        bucket_arr.Reserve(num_buckets, allocator);
146
147
6
        if (num_buckets > 0) {
148
4
            int32_t idx = bucket_vector.begin()->first;
149
4
            double left = bucket_vector.begin()->first * interval + offset;
150
4
            size_t count = 0;
151
4
            size_t acc_count = 0;
152
153
20
            for (const auto& [key, count_] : bucket_vector) {
154
56
                for (; idx <= key; ++idx) {
155
36
                    rapidjson::Value bucket_json(rapidjson::kObjectType);
156
36
                    bucket_json.AddMember("lower", left, allocator);
157
36
                    left += interval;
158
36
                    bucket_json.AddMember("upper", left, allocator);
159
36
                    count = (idx == key) ? count_ : 0;
160
36
                    bucket_json.AddMember("count", static_cast<uint64_t>(count), allocator);
161
36
                    acc_count += count;
162
36
                    bucket_json.AddMember("acc_count", static_cast<uint64_t>(acc_count), allocator);
163
36
                    bucket_arr.PushBack(bucket_json, allocator);
164
36
                }
165
20
            }
166
4
        }
167
168
6
        doc.AddMember("buckets", bucket_arr, allocator);
169
170
6
        rapidjson::StringBuffer buffer;
171
6
        rapidjson::Writer<rapidjson::StringBuffer> writer(buffer);
172
6
        doc.Accept(writer);
173
174
6
        auto& column = assert_cast<ColumnString&>(to);
175
6
        column.insert_data(buffer.GetString(), buffer.GetSize());
176
6
    }
_ZNK5doris36AggregateFunctionLinearHistogramDataILNS_13PrimitiveTypeE9EE18insert_result_intoERNS_7IColumnE
Line
Count
Source
130
6
    void insert_result_into(IColumn& to) const {
131
6
        std::vector<std::pair<int32_t, size_t>> bucket_vector(buckets.begin(), buckets.end());
132
6
        std::sort(bucket_vector.begin(), bucket_vector.end(),
133
6
                  [](const auto& lhs, const auto& rhs) { return lhs.first < rhs.first; });
134
135
6
        rapidjson::Document doc;
136
6
        doc.SetObject();
137
6
        rapidjson::Document::AllocatorType& allocator = doc.GetAllocator();
138
139
6
        unsigned num_buckets = bucket_vector.empty() ? 0
140
6
                                                     : bucket_vector.rbegin()->first -
141
4
                                                               bucket_vector.begin()->first + 1;
142
6
        doc.AddMember("num_buckets", num_buckets, allocator);
143
144
6
        rapidjson::Value bucket_arr(rapidjson::kArrayType);
145
6
        bucket_arr.Reserve(num_buckets, allocator);
146
147
6
        if (num_buckets > 0) {
148
4
            int32_t idx = bucket_vector.begin()->first;
149
4
            double left = bucket_vector.begin()->first * interval + offset;
150
4
            size_t count = 0;
151
4
            size_t acc_count = 0;
152
153
20
            for (const auto& [key, count_] : bucket_vector) {
154
56
                for (; idx <= key; ++idx) {
155
36
                    rapidjson::Value bucket_json(rapidjson::kObjectType);
156
36
                    bucket_json.AddMember("lower", left, allocator);
157
36
                    left += interval;
158
36
                    bucket_json.AddMember("upper", left, allocator);
159
36
                    count = (idx == key) ? count_ : 0;
160
36
                    bucket_json.AddMember("count", static_cast<uint64_t>(count), allocator);
161
36
                    acc_count += count;
162
36
                    bucket_json.AddMember("acc_count", static_cast<uint64_t>(acc_count), allocator);
163
36
                    bucket_arr.PushBack(bucket_json, allocator);
164
36
                }
165
20
            }
166
4
        }
167
168
6
        doc.AddMember("buckets", bucket_arr, allocator);
169
170
6
        rapidjson::StringBuffer buffer;
171
6
        rapidjson::Writer<rapidjson::StringBuffer> writer(buffer);
172
6
        doc.Accept(writer);
173
174
6
        auto& column = assert_cast<ColumnString&>(to);
175
6
        column.insert_data(buffer.GetString(), buffer.GetSize());
176
6
    }
_ZNK5doris36AggregateFunctionLinearHistogramDataILNS_13PrimitiveTypeE28EE18insert_result_intoERNS_7IColumnE
Line
Count
Source
130
6
    void insert_result_into(IColumn& to) const {
131
6
        std::vector<std::pair<int32_t, size_t>> bucket_vector(buckets.begin(), buckets.end());
132
6
        std::sort(bucket_vector.begin(), bucket_vector.end(),
133
6
                  [](const auto& lhs, const auto& rhs) { return lhs.first < rhs.first; });
134
135
6
        rapidjson::Document doc;
136
6
        doc.SetObject();
137
6
        rapidjson::Document::AllocatorType& allocator = doc.GetAllocator();
138
139
6
        unsigned num_buckets = bucket_vector.empty() ? 0
140
6
                                                     : bucket_vector.rbegin()->first -
141
4
                                                               bucket_vector.begin()->first + 1;
142
6
        doc.AddMember("num_buckets", num_buckets, allocator);
143
144
6
        rapidjson::Value bucket_arr(rapidjson::kArrayType);
145
6
        bucket_arr.Reserve(num_buckets, allocator);
146
147
6
        if (num_buckets > 0) {
148
4
            int32_t idx = bucket_vector.begin()->first;
149
4
            double left = bucket_vector.begin()->first * interval + offset;
150
4
            size_t count = 0;
151
4
            size_t acc_count = 0;
152
153
20
            for (const auto& [key, count_] : bucket_vector) {
154
56
                for (; idx <= key; ++idx) {
155
36
                    rapidjson::Value bucket_json(rapidjson::kObjectType);
156
36
                    bucket_json.AddMember("lower", left, allocator);
157
36
                    left += interval;
158
36
                    bucket_json.AddMember("upper", left, allocator);
159
36
                    count = (idx == key) ? count_ : 0;
160
36
                    bucket_json.AddMember("count", static_cast<uint64_t>(count), allocator);
161
36
                    acc_count += count;
162
36
                    bucket_json.AddMember("acc_count", static_cast<uint64_t>(acc_count), allocator);
163
36
                    bucket_arr.PushBack(bucket_json, allocator);
164
36
                }
165
20
            }
166
4
        }
167
168
6
        doc.AddMember("buckets", bucket_arr, allocator);
169
170
6
        rapidjson::StringBuffer buffer;
171
6
        rapidjson::Writer<rapidjson::StringBuffer> writer(buffer);
172
6
        doc.Accept(writer);
173
174
6
        auto& column = assert_cast<ColumnString&>(to);
175
6
        column.insert_data(buffer.GetString(), buffer.GetSize());
176
6
    }
_ZNK5doris36AggregateFunctionLinearHistogramDataILNS_13PrimitiveTypeE29EE18insert_result_intoERNS_7IColumnE
Line
Count
Source
130
6
    void insert_result_into(IColumn& to) const {
131
6
        std::vector<std::pair<int32_t, size_t>> bucket_vector(buckets.begin(), buckets.end());
132
6
        std::sort(bucket_vector.begin(), bucket_vector.end(),
133
6
                  [](const auto& lhs, const auto& rhs) { return lhs.first < rhs.first; });
134
135
6
        rapidjson::Document doc;
136
6
        doc.SetObject();
137
6
        rapidjson::Document::AllocatorType& allocator = doc.GetAllocator();
138
139
6
        unsigned num_buckets = bucket_vector.empty() ? 0
140
6
                                                     : bucket_vector.rbegin()->first -
141
4
                                                               bucket_vector.begin()->first + 1;
142
6
        doc.AddMember("num_buckets", num_buckets, allocator);
143
144
6
        rapidjson::Value bucket_arr(rapidjson::kArrayType);
145
6
        bucket_arr.Reserve(num_buckets, allocator);
146
147
6
        if (num_buckets > 0) {
148
4
            int32_t idx = bucket_vector.begin()->first;
149
4
            double left = bucket_vector.begin()->first * interval + offset;
150
4
            size_t count = 0;
151
4
            size_t acc_count = 0;
152
153
20
            for (const auto& [key, count_] : bucket_vector) {
154
56
                for (; idx <= key; ++idx) {
155
36
                    rapidjson::Value bucket_json(rapidjson::kObjectType);
156
36
                    bucket_json.AddMember("lower", left, allocator);
157
36
                    left += interval;
158
36
                    bucket_json.AddMember("upper", left, allocator);
159
36
                    count = (idx == key) ? count_ : 0;
160
36
                    bucket_json.AddMember("count", static_cast<uint64_t>(count), allocator);
161
36
                    acc_count += count;
162
36
                    bucket_json.AddMember("acc_count", static_cast<uint64_t>(acc_count), allocator);
163
36
                    bucket_arr.PushBack(bucket_json, allocator);
164
36
                }
165
20
            }
166
4
        }
167
168
6
        doc.AddMember("buckets", bucket_arr, allocator);
169
170
6
        rapidjson::StringBuffer buffer;
171
6
        rapidjson::Writer<rapidjson::StringBuffer> writer(buffer);
172
6
        doc.Accept(writer);
173
174
6
        auto& column = assert_cast<ColumnString&>(to);
175
6
        column.insert_data(buffer.GetString(), buffer.GetSize());
176
6
    }
_ZNK5doris36AggregateFunctionLinearHistogramDataILNS_13PrimitiveTypeE30EE18insert_result_intoERNS_7IColumnE
Line
Count
Source
130
6
    void insert_result_into(IColumn& to) const {
131
6
        std::vector<std::pair<int32_t, size_t>> bucket_vector(buckets.begin(), buckets.end());
132
6
        std::sort(bucket_vector.begin(), bucket_vector.end(),
133
6
                  [](const auto& lhs, const auto& rhs) { return lhs.first < rhs.first; });
134
135
6
        rapidjson::Document doc;
136
6
        doc.SetObject();
137
6
        rapidjson::Document::AllocatorType& allocator = doc.GetAllocator();
138
139
6
        unsigned num_buckets = bucket_vector.empty() ? 0
140
6
                                                     : bucket_vector.rbegin()->first -
141
4
                                                               bucket_vector.begin()->first + 1;
142
6
        doc.AddMember("num_buckets", num_buckets, allocator);
143
144
6
        rapidjson::Value bucket_arr(rapidjson::kArrayType);
145
6
        bucket_arr.Reserve(num_buckets, allocator);
146
147
6
        if (num_buckets > 0) {
148
4
            int32_t idx = bucket_vector.begin()->first;
149
4
            double left = bucket_vector.begin()->first * interval + offset;
150
4
            size_t count = 0;
151
4
            size_t acc_count = 0;
152
153
20
            for (const auto& [key, count_] : bucket_vector) {
154
56
                for (; idx <= key; ++idx) {
155
36
                    rapidjson::Value bucket_json(rapidjson::kObjectType);
156
36
                    bucket_json.AddMember("lower", left, allocator);
157
36
                    left += interval;
158
36
                    bucket_json.AddMember("upper", left, allocator);
159
36
                    count = (idx == key) ? count_ : 0;
160
36
                    bucket_json.AddMember("count", static_cast<uint64_t>(count), allocator);
161
36
                    acc_count += count;
162
36
                    bucket_json.AddMember("acc_count", static_cast<uint64_t>(acc_count), allocator);
163
36
                    bucket_arr.PushBack(bucket_json, allocator);
164
36
                }
165
20
            }
166
4
        }
167
168
6
        doc.AddMember("buckets", bucket_arr, allocator);
169
170
6
        rapidjson::StringBuffer buffer;
171
6
        rapidjson::Writer<rapidjson::StringBuffer> writer(buffer);
172
6
        doc.Accept(writer);
173
174
6
        auto& column = assert_cast<ColumnString&>(to);
175
6
        column.insert_data(buffer.GetString(), buffer.GetSize());
176
6
    }
_ZNK5doris36AggregateFunctionLinearHistogramDataILNS_13PrimitiveTypeE35EE18insert_result_intoERNS_7IColumnE
Line
Count
Source
130
6
    void insert_result_into(IColumn& to) const {
131
6
        std::vector<std::pair<int32_t, size_t>> bucket_vector(buckets.begin(), buckets.end());
132
6
        std::sort(bucket_vector.begin(), bucket_vector.end(),
133
6
                  [](const auto& lhs, const auto& rhs) { return lhs.first < rhs.first; });
134
135
6
        rapidjson::Document doc;
136
6
        doc.SetObject();
137
6
        rapidjson::Document::AllocatorType& allocator = doc.GetAllocator();
138
139
6
        unsigned num_buckets = bucket_vector.empty() ? 0
140
6
                                                     : bucket_vector.rbegin()->first -
141
4
                                                               bucket_vector.begin()->first + 1;
142
6
        doc.AddMember("num_buckets", num_buckets, allocator);
143
144
6
        rapidjson::Value bucket_arr(rapidjson::kArrayType);
145
6
        bucket_arr.Reserve(num_buckets, allocator);
146
147
6
        if (num_buckets > 0) {
148
4
            int32_t idx = bucket_vector.begin()->first;
149
4
            double left = bucket_vector.begin()->first * interval + offset;
150
4
            size_t count = 0;
151
4
            size_t acc_count = 0;
152
153
20
            for (const auto& [key, count_] : bucket_vector) {
154
56
                for (; idx <= key; ++idx) {
155
36
                    rapidjson::Value bucket_json(rapidjson::kObjectType);
156
36
                    bucket_json.AddMember("lower", left, allocator);
157
36
                    left += interval;
158
36
                    bucket_json.AddMember("upper", left, allocator);
159
36
                    count = (idx == key) ? count_ : 0;
160
36
                    bucket_json.AddMember("count", static_cast<uint64_t>(count), allocator);
161
36
                    acc_count += count;
162
36
                    bucket_json.AddMember("acc_count", static_cast<uint64_t>(acc_count), allocator);
163
36
                    bucket_arr.PushBack(bucket_json, allocator);
164
36
                }
165
20
            }
166
4
        }
167
168
6
        doc.AddMember("buckets", bucket_arr, allocator);
169
170
6
        rapidjson::StringBuffer buffer;
171
6
        rapidjson::Writer<rapidjson::StringBuffer> writer(buffer);
172
6
        doc.Accept(writer);
173
174
6
        auto& column = assert_cast<ColumnString&>(to);
175
6
        column.insert_data(buffer.GetString(), buffer.GetSize());
176
6
    }
177
};
178
179
class AggregateFunctionLinearHistogramConsts {
180
public:
181
    const static std::string NAME;
182
};
183
184
template <PrimitiveType T, typename Data, bool has_offset>
185
class AggregateFunctionLinearHistogram final
186
        : public IAggregateFunctionDataHelper<
187
                  Data, AggregateFunctionLinearHistogram<T, Data, has_offset>>,
188
          MultiExpression,
189
          NotNullableAggregateFunction {
190
public:
191
    using ColVecType = typename PrimitiveTypeTraits<T>::ColumnType;
192
193
    AggregateFunctionLinearHistogram(const DataTypes& argument_types_)
194
33
            : IAggregateFunctionDataHelper<Data,
195
33
                                           AggregateFunctionLinearHistogram<T, Data, has_offset>>(
196
33
                      argument_types_),
197
33
              scale(get_decimal_scale(*argument_types_[0])) {}
_ZN5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE3ENS_36AggregateFunctionLinearHistogramDataILS1_3EEELb1EEC2ERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS9_EE
Line
Count
Source
194
1
            : IAggregateFunctionDataHelper<Data,
195
1
                                           AggregateFunctionLinearHistogram<T, Data, has_offset>>(
196
1
                      argument_types_),
197
1
              scale(get_decimal_scale(*argument_types_[0])) {}
_ZN5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE4ENS_36AggregateFunctionLinearHistogramDataILS1_4EEELb1EEC2ERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS9_EE
Line
Count
Source
194
1
            : IAggregateFunctionDataHelper<Data,
195
1
                                           AggregateFunctionLinearHistogram<T, Data, has_offset>>(
196
1
                      argument_types_),
197
1
              scale(get_decimal_scale(*argument_types_[0])) {}
_ZN5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE5ENS_36AggregateFunctionLinearHistogramDataILS1_5EEELb1EEC2ERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS9_EE
Line
Count
Source
194
1
            : IAggregateFunctionDataHelper<Data,
195
1
                                           AggregateFunctionLinearHistogram<T, Data, has_offset>>(
196
1
                      argument_types_),
197
1
              scale(get_decimal_scale(*argument_types_[0])) {}
_ZN5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE6ENS_36AggregateFunctionLinearHistogramDataILS1_6EEELb1EEC2ERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS9_EE
Line
Count
Source
194
1
            : IAggregateFunctionDataHelper<Data,
195
1
                                           AggregateFunctionLinearHistogram<T, Data, has_offset>>(
196
1
                      argument_types_),
197
1
              scale(get_decimal_scale(*argument_types_[0])) {}
_ZN5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE7ENS_36AggregateFunctionLinearHistogramDataILS1_7EEELb1EEC2ERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS9_EE
Line
Count
Source
194
1
            : IAggregateFunctionDataHelper<Data,
195
1
                                           AggregateFunctionLinearHistogram<T, Data, has_offset>>(
196
1
                      argument_types_),
197
1
              scale(get_decimal_scale(*argument_types_[0])) {}
_ZN5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE8ENS_36AggregateFunctionLinearHistogramDataILS1_8EEELb1EEC2ERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS9_EE
Line
Count
Source
194
1
            : IAggregateFunctionDataHelper<Data,
195
1
                                           AggregateFunctionLinearHistogram<T, Data, has_offset>>(
196
1
                      argument_types_),
197
1
              scale(get_decimal_scale(*argument_types_[0])) {}
_ZN5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE9ENS_36AggregateFunctionLinearHistogramDataILS1_9EEELb1EEC2ERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS9_EE
Line
Count
Source
194
1
            : IAggregateFunctionDataHelper<Data,
195
1
                                           AggregateFunctionLinearHistogram<T, Data, has_offset>>(
196
1
                      argument_types_),
197
1
              scale(get_decimal_scale(*argument_types_[0])) {}
_ZN5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE28ENS_36AggregateFunctionLinearHistogramDataILS1_28EEELb1EEC2ERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS9_EE
Line
Count
Source
194
1
            : IAggregateFunctionDataHelper<Data,
195
1
                                           AggregateFunctionLinearHistogram<T, Data, has_offset>>(
196
1
                      argument_types_),
197
1
              scale(get_decimal_scale(*argument_types_[0])) {}
_ZN5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE29ENS_36AggregateFunctionLinearHistogramDataILS1_29EEELb1EEC2ERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS9_EE
Line
Count
Source
194
1
            : IAggregateFunctionDataHelper<Data,
195
1
                                           AggregateFunctionLinearHistogram<T, Data, has_offset>>(
196
1
                      argument_types_),
197
1
              scale(get_decimal_scale(*argument_types_[0])) {}
_ZN5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE30ENS_36AggregateFunctionLinearHistogramDataILS1_30EEELb1EEC2ERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS9_EE
Line
Count
Source
194
1
            : IAggregateFunctionDataHelper<Data,
195
1
                                           AggregateFunctionLinearHistogram<T, Data, has_offset>>(
196
1
                      argument_types_),
197
1
              scale(get_decimal_scale(*argument_types_[0])) {}
_ZN5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE35ENS_36AggregateFunctionLinearHistogramDataILS1_35EEELb1EEC2ERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS9_EE
Line
Count
Source
194
1
            : IAggregateFunctionDataHelper<Data,
195
1
                                           AggregateFunctionLinearHistogram<T, Data, has_offset>>(
196
1
                      argument_types_),
197
1
              scale(get_decimal_scale(*argument_types_[0])) {}
_ZN5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE3ENS_36AggregateFunctionLinearHistogramDataILS1_3EEELb0EEC2ERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS9_EE
Line
Count
Source
194
2
            : IAggregateFunctionDataHelper<Data,
195
2
                                           AggregateFunctionLinearHistogram<T, Data, has_offset>>(
196
2
                      argument_types_),
197
2
              scale(get_decimal_scale(*argument_types_[0])) {}
_ZN5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE4ENS_36AggregateFunctionLinearHistogramDataILS1_4EEELb0EEC2ERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS9_EE
Line
Count
Source
194
2
            : IAggregateFunctionDataHelper<Data,
195
2
                                           AggregateFunctionLinearHistogram<T, Data, has_offset>>(
196
2
                      argument_types_),
197
2
              scale(get_decimal_scale(*argument_types_[0])) {}
_ZN5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE5ENS_36AggregateFunctionLinearHistogramDataILS1_5EEELb0EEC2ERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS9_EE
Line
Count
Source
194
2
            : IAggregateFunctionDataHelper<Data,
195
2
                                           AggregateFunctionLinearHistogram<T, Data, has_offset>>(
196
2
                      argument_types_),
197
2
              scale(get_decimal_scale(*argument_types_[0])) {}
_ZN5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE6ENS_36AggregateFunctionLinearHistogramDataILS1_6EEELb0EEC2ERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS9_EE
Line
Count
Source
194
2
            : IAggregateFunctionDataHelper<Data,
195
2
                                           AggregateFunctionLinearHistogram<T, Data, has_offset>>(
196
2
                      argument_types_),
197
2
              scale(get_decimal_scale(*argument_types_[0])) {}
_ZN5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE7ENS_36AggregateFunctionLinearHistogramDataILS1_7EEELb0EEC2ERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS9_EE
Line
Count
Source
194
2
            : IAggregateFunctionDataHelper<Data,
195
2
                                           AggregateFunctionLinearHistogram<T, Data, has_offset>>(
196
2
                      argument_types_),
197
2
              scale(get_decimal_scale(*argument_types_[0])) {}
_ZN5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE8ENS_36AggregateFunctionLinearHistogramDataILS1_8EEELb0EEC2ERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS9_EE
Line
Count
Source
194
2
            : IAggregateFunctionDataHelper<Data,
195
2
                                           AggregateFunctionLinearHistogram<T, Data, has_offset>>(
196
2
                      argument_types_),
197
2
              scale(get_decimal_scale(*argument_types_[0])) {}
_ZN5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE9ENS_36AggregateFunctionLinearHistogramDataILS1_9EEELb0EEC2ERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS9_EE
Line
Count
Source
194
2
            : IAggregateFunctionDataHelper<Data,
195
2
                                           AggregateFunctionLinearHistogram<T, Data, has_offset>>(
196
2
                      argument_types_),
197
2
              scale(get_decimal_scale(*argument_types_[0])) {}
_ZN5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE28ENS_36AggregateFunctionLinearHistogramDataILS1_28EEELb0EEC2ERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS9_EE
Line
Count
Source
194
2
            : IAggregateFunctionDataHelper<Data,
195
2
                                           AggregateFunctionLinearHistogram<T, Data, has_offset>>(
196
2
                      argument_types_),
197
2
              scale(get_decimal_scale(*argument_types_[0])) {}
_ZN5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE29ENS_36AggregateFunctionLinearHistogramDataILS1_29EEELb0EEC2ERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS9_EE
Line
Count
Source
194
2
            : IAggregateFunctionDataHelper<Data,
195
2
                                           AggregateFunctionLinearHistogram<T, Data, has_offset>>(
196
2
                      argument_types_),
197
2
              scale(get_decimal_scale(*argument_types_[0])) {}
_ZN5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE30ENS_36AggregateFunctionLinearHistogramDataILS1_30EEELb0EEC2ERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS9_EE
Line
Count
Source
194
2
            : IAggregateFunctionDataHelper<Data,
195
2
                                           AggregateFunctionLinearHistogram<T, Data, has_offset>>(
196
2
                      argument_types_),
197
2
              scale(get_decimal_scale(*argument_types_[0])) {}
_ZN5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE35ENS_36AggregateFunctionLinearHistogramDataILS1_35EEELb0EEC2ERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS9_EE
Line
Count
Source
194
2
            : IAggregateFunctionDataHelper<Data,
195
2
                                           AggregateFunctionLinearHistogram<T, Data, has_offset>>(
196
2
                      argument_types_),
197
2
              scale(get_decimal_scale(*argument_types_[0])) {}
198
199
0
    std::string get_name() const override { return AggregateFunctionLinearHistogramConsts::NAME; }
Unexecuted instantiation: _ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE3ENS_36AggregateFunctionLinearHistogramDataILS1_3EEELb1EE8get_nameB5cxx11Ev
Unexecuted instantiation: _ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE4ENS_36AggregateFunctionLinearHistogramDataILS1_4EEELb1EE8get_nameB5cxx11Ev
Unexecuted instantiation: _ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE5ENS_36AggregateFunctionLinearHistogramDataILS1_5EEELb1EE8get_nameB5cxx11Ev
Unexecuted instantiation: _ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE6ENS_36AggregateFunctionLinearHistogramDataILS1_6EEELb1EE8get_nameB5cxx11Ev
Unexecuted instantiation: _ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE7ENS_36AggregateFunctionLinearHistogramDataILS1_7EEELb1EE8get_nameB5cxx11Ev
Unexecuted instantiation: _ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE8ENS_36AggregateFunctionLinearHistogramDataILS1_8EEELb1EE8get_nameB5cxx11Ev
Unexecuted instantiation: _ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE9ENS_36AggregateFunctionLinearHistogramDataILS1_9EEELb1EE8get_nameB5cxx11Ev
Unexecuted instantiation: _ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE28ENS_36AggregateFunctionLinearHistogramDataILS1_28EEELb1EE8get_nameB5cxx11Ev
Unexecuted instantiation: _ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE29ENS_36AggregateFunctionLinearHistogramDataILS1_29EEELb1EE8get_nameB5cxx11Ev
Unexecuted instantiation: _ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE30ENS_36AggregateFunctionLinearHistogramDataILS1_30EEELb1EE8get_nameB5cxx11Ev
Unexecuted instantiation: _ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE35ENS_36AggregateFunctionLinearHistogramDataILS1_35EEELb1EE8get_nameB5cxx11Ev
Unexecuted instantiation: _ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE3ENS_36AggregateFunctionLinearHistogramDataILS1_3EEELb0EE8get_nameB5cxx11Ev
Unexecuted instantiation: _ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE4ENS_36AggregateFunctionLinearHistogramDataILS1_4EEELb0EE8get_nameB5cxx11Ev
Unexecuted instantiation: _ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE5ENS_36AggregateFunctionLinearHistogramDataILS1_5EEELb0EE8get_nameB5cxx11Ev
Unexecuted instantiation: _ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE6ENS_36AggregateFunctionLinearHistogramDataILS1_6EEELb0EE8get_nameB5cxx11Ev
Unexecuted instantiation: _ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE7ENS_36AggregateFunctionLinearHistogramDataILS1_7EEELb0EE8get_nameB5cxx11Ev
Unexecuted instantiation: _ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE8ENS_36AggregateFunctionLinearHistogramDataILS1_8EEELb0EE8get_nameB5cxx11Ev
Unexecuted instantiation: _ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE9ENS_36AggregateFunctionLinearHistogramDataILS1_9EEELb0EE8get_nameB5cxx11Ev
Unexecuted instantiation: _ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE28ENS_36AggregateFunctionLinearHistogramDataILS1_28EEELb0EE8get_nameB5cxx11Ev
Unexecuted instantiation: _ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE29ENS_36AggregateFunctionLinearHistogramDataILS1_29EEELb0EE8get_nameB5cxx11Ev
Unexecuted instantiation: _ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE30ENS_36AggregateFunctionLinearHistogramDataILS1_30EEELb0EE8get_nameB5cxx11Ev
Unexecuted instantiation: _ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE35ENS_36AggregateFunctionLinearHistogramDataILS1_35EEELb0EE8get_nameB5cxx11Ev
200
201
0
    DataTypePtr get_return_type() const override { return std::make_shared<DataTypeString>(); }
Unexecuted instantiation: _ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE3ENS_36AggregateFunctionLinearHistogramDataILS1_3EEELb1EE15get_return_typeEv
Unexecuted instantiation: _ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE4ENS_36AggregateFunctionLinearHistogramDataILS1_4EEELb1EE15get_return_typeEv
Unexecuted instantiation: _ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE5ENS_36AggregateFunctionLinearHistogramDataILS1_5EEELb1EE15get_return_typeEv
Unexecuted instantiation: _ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE6ENS_36AggregateFunctionLinearHistogramDataILS1_6EEELb1EE15get_return_typeEv
Unexecuted instantiation: _ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE7ENS_36AggregateFunctionLinearHistogramDataILS1_7EEELb1EE15get_return_typeEv
Unexecuted instantiation: _ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE8ENS_36AggregateFunctionLinearHistogramDataILS1_8EEELb1EE15get_return_typeEv
Unexecuted instantiation: _ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE9ENS_36AggregateFunctionLinearHistogramDataILS1_9EEELb1EE15get_return_typeEv
Unexecuted instantiation: _ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE28ENS_36AggregateFunctionLinearHistogramDataILS1_28EEELb1EE15get_return_typeEv
Unexecuted instantiation: _ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE29ENS_36AggregateFunctionLinearHistogramDataILS1_29EEELb1EE15get_return_typeEv
Unexecuted instantiation: _ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE30ENS_36AggregateFunctionLinearHistogramDataILS1_30EEELb1EE15get_return_typeEv
Unexecuted instantiation: _ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE35ENS_36AggregateFunctionLinearHistogramDataILS1_35EEELb1EE15get_return_typeEv
Unexecuted instantiation: _ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE3ENS_36AggregateFunctionLinearHistogramDataILS1_3EEELb0EE15get_return_typeEv
Unexecuted instantiation: _ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE4ENS_36AggregateFunctionLinearHistogramDataILS1_4EEELb0EE15get_return_typeEv
Unexecuted instantiation: _ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE5ENS_36AggregateFunctionLinearHistogramDataILS1_5EEELb0EE15get_return_typeEv
Unexecuted instantiation: _ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE6ENS_36AggregateFunctionLinearHistogramDataILS1_6EEELb0EE15get_return_typeEv
Unexecuted instantiation: _ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE7ENS_36AggregateFunctionLinearHistogramDataILS1_7EEELb0EE15get_return_typeEv
Unexecuted instantiation: _ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE8ENS_36AggregateFunctionLinearHistogramDataILS1_8EEELb0EE15get_return_typeEv
Unexecuted instantiation: _ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE9ENS_36AggregateFunctionLinearHistogramDataILS1_9EEELb0EE15get_return_typeEv
Unexecuted instantiation: _ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE28ENS_36AggregateFunctionLinearHistogramDataILS1_28EEELb0EE15get_return_typeEv
Unexecuted instantiation: _ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE29ENS_36AggregateFunctionLinearHistogramDataILS1_29EEELb0EE15get_return_typeEv
Unexecuted instantiation: _ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE30ENS_36AggregateFunctionLinearHistogramDataILS1_30EEELb0EE15get_return_typeEv
Unexecuted instantiation: _ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE35ENS_36AggregateFunctionLinearHistogramDataILS1_35EEELb0EE15get_return_typeEv
202
203
    void add(AggregateDataPtr __restrict place, const IColumn** columns, ssize_t row_num,
204
2.12k
             Arena&) const override {
205
2.12k
        double interval =
206
2.12k
                assert_cast<const ColumnFloat64&, TypeCheckOnRelease::DISABLE>(*columns[1])
207
2.12k
                        .get_data()[row_num];
208
2.12k
        if (interval <= 0) {
209
0
            throw doris::Exception(
210
0
                    ErrorCode::INVALID_ARGUMENT,
211
0
                    "Invalid interval {}, row_num {}, interval should be larger than 0", interval,
212
0
                    row_num);
213
0
        }
214
215
2.12k
        double offset = 0;
216
2.12k
        if constexpr (has_offset) {
217
1.06k
            offset = assert_cast<const ColumnFloat64&, TypeCheckOnRelease::DISABLE>(*columns[2])
218
1.06k
                             .get_data()[row_num];
219
1.06k
            if (offset < 0 || offset >= interval) {
220
0
                throw doris::Exception(
221
0
                        ErrorCode::INVALID_ARGUMENT,
222
0
                        "Invalid offset {}, row_num {}, offset should be in [0, interval)", offset,
223
0
                        row_num);
224
0
            }
225
1.06k
        }
226
227
1.06k
        this->data(place).set_parameters(interval, offset);
228
229
2.12k
        this->data(place).add(
230
2.12k
                assert_cast<const ColVecType&, TypeCheckOnRelease::DISABLE>(*columns[0])
231
2.12k
                        .get_data()[row_num],
232
2.12k
                scale);
233
2.12k
    }
_ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE3ENS_36AggregateFunctionLinearHistogramDataILS1_3EEELb1EE3addEPcPPKNS_7IColumnElRNS_5ArenaE
Line
Count
Source
204
200
             Arena&) const override {
205
200
        double interval =
206
200
                assert_cast<const ColumnFloat64&, TypeCheckOnRelease::DISABLE>(*columns[1])
207
200
                        .get_data()[row_num];
208
200
        if (interval <= 0) {
209
0
            throw doris::Exception(
210
0
                    ErrorCode::INVALID_ARGUMENT,
211
0
                    "Invalid interval {}, row_num {}, interval should be larger than 0", interval,
212
0
                    row_num);
213
0
        }
214
215
200
        double offset = 0;
216
200
        if constexpr (has_offset) {
217
200
            offset = assert_cast<const ColumnFloat64&, TypeCheckOnRelease::DISABLE>(*columns[2])
218
200
                             .get_data()[row_num];
219
200
            if (offset < 0 || offset >= interval) {
220
0
                throw doris::Exception(
221
0
                        ErrorCode::INVALID_ARGUMENT,
222
0
                        "Invalid offset {}, row_num {}, offset should be in [0, interval)", offset,
223
0
                        row_num);
224
0
            }
225
200
        }
226
227
200
        this->data(place).set_parameters(interval, offset);
228
229
200
        this->data(place).add(
230
200
                assert_cast<const ColVecType&, TypeCheckOnRelease::DISABLE>(*columns[0])
231
200
                        .get_data()[row_num],
232
200
                scale);
233
200
    }
_ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE4ENS_36AggregateFunctionLinearHistogramDataILS1_4EEELb1EE3addEPcPPKNS_7IColumnElRNS_5ArenaE
Line
Count
Source
204
200
             Arena&) const override {
205
200
        double interval =
206
200
                assert_cast<const ColumnFloat64&, TypeCheckOnRelease::DISABLE>(*columns[1])
207
200
                        .get_data()[row_num];
208
200
        if (interval <= 0) {
209
0
            throw doris::Exception(
210
0
                    ErrorCode::INVALID_ARGUMENT,
211
0
                    "Invalid interval {}, row_num {}, interval should be larger than 0", interval,
212
0
                    row_num);
213
0
        }
214
215
200
        double offset = 0;
216
200
        if constexpr (has_offset) {
217
200
            offset = assert_cast<const ColumnFloat64&, TypeCheckOnRelease::DISABLE>(*columns[2])
218
200
                             .get_data()[row_num];
219
200
            if (offset < 0 || offset >= interval) {
220
0
                throw doris::Exception(
221
0
                        ErrorCode::INVALID_ARGUMENT,
222
0
                        "Invalid offset {}, row_num {}, offset should be in [0, interval)", offset,
223
0
                        row_num);
224
0
            }
225
200
        }
226
227
200
        this->data(place).set_parameters(interval, offset);
228
229
200
        this->data(place).add(
230
200
                assert_cast<const ColVecType&, TypeCheckOnRelease::DISABLE>(*columns[0])
231
200
                        .get_data()[row_num],
232
200
                scale);
233
200
    }
_ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE5ENS_36AggregateFunctionLinearHistogramDataILS1_5EEELb1EE3addEPcPPKNS_7IColumnElRNS_5ArenaE
Line
Count
Source
204
200
             Arena&) const override {
205
200
        double interval =
206
200
                assert_cast<const ColumnFloat64&, TypeCheckOnRelease::DISABLE>(*columns[1])
207
200
                        .get_data()[row_num];
208
200
        if (interval <= 0) {
209
0
            throw doris::Exception(
210
0
                    ErrorCode::INVALID_ARGUMENT,
211
0
                    "Invalid interval {}, row_num {}, interval should be larger than 0", interval,
212
0
                    row_num);
213
0
        }
214
215
200
        double offset = 0;
216
200
        if constexpr (has_offset) {
217
200
            offset = assert_cast<const ColumnFloat64&, TypeCheckOnRelease::DISABLE>(*columns[2])
218
200
                             .get_data()[row_num];
219
200
            if (offset < 0 || offset >= interval) {
220
0
                throw doris::Exception(
221
0
                        ErrorCode::INVALID_ARGUMENT,
222
0
                        "Invalid offset {}, row_num {}, offset should be in [0, interval)", offset,
223
0
                        row_num);
224
0
            }
225
200
        }
226
227
200
        this->data(place).set_parameters(interval, offset);
228
229
200
        this->data(place).add(
230
200
                assert_cast<const ColVecType&, TypeCheckOnRelease::DISABLE>(*columns[0])
231
200
                        .get_data()[row_num],
232
200
                scale);
233
200
    }
_ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE6ENS_36AggregateFunctionLinearHistogramDataILS1_6EEELb1EE3addEPcPPKNS_7IColumnElRNS_5ArenaE
Line
Count
Source
204
200
             Arena&) const override {
205
200
        double interval =
206
200
                assert_cast<const ColumnFloat64&, TypeCheckOnRelease::DISABLE>(*columns[1])
207
200
                        .get_data()[row_num];
208
200
        if (interval <= 0) {
209
0
            throw doris::Exception(
210
0
                    ErrorCode::INVALID_ARGUMENT,
211
0
                    "Invalid interval {}, row_num {}, interval should be larger than 0", interval,
212
0
                    row_num);
213
0
        }
214
215
200
        double offset = 0;
216
200
        if constexpr (has_offset) {
217
200
            offset = assert_cast<const ColumnFloat64&, TypeCheckOnRelease::DISABLE>(*columns[2])
218
200
                             .get_data()[row_num];
219
200
            if (offset < 0 || offset >= interval) {
220
0
                throw doris::Exception(
221
0
                        ErrorCode::INVALID_ARGUMENT,
222
0
                        "Invalid offset {}, row_num {}, offset should be in [0, interval)", offset,
223
0
                        row_num);
224
0
            }
225
200
        }
226
227
200
        this->data(place).set_parameters(interval, offset);
228
229
200
        this->data(place).add(
230
200
                assert_cast<const ColVecType&, TypeCheckOnRelease::DISABLE>(*columns[0])
231
200
                        .get_data()[row_num],
232
200
                scale);
233
200
    }
_ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE7ENS_36AggregateFunctionLinearHistogramDataILS1_7EEELb1EE3addEPcPPKNS_7IColumnElRNS_5ArenaE
Line
Count
Source
204
200
             Arena&) const override {
205
200
        double interval =
206
200
                assert_cast<const ColumnFloat64&, TypeCheckOnRelease::DISABLE>(*columns[1])
207
200
                        .get_data()[row_num];
208
200
        if (interval <= 0) {
209
0
            throw doris::Exception(
210
0
                    ErrorCode::INVALID_ARGUMENT,
211
0
                    "Invalid interval {}, row_num {}, interval should be larger than 0", interval,
212
0
                    row_num);
213
0
        }
214
215
200
        double offset = 0;
216
200
        if constexpr (has_offset) {
217
200
            offset = assert_cast<const ColumnFloat64&, TypeCheckOnRelease::DISABLE>(*columns[2])
218
200
                             .get_data()[row_num];
219
200
            if (offset < 0 || offset >= interval) {
220
0
                throw doris::Exception(
221
0
                        ErrorCode::INVALID_ARGUMENT,
222
0
                        "Invalid offset {}, row_num {}, offset should be in [0, interval)", offset,
223
0
                        row_num);
224
0
            }
225
200
        }
226
227
200
        this->data(place).set_parameters(interval, offset);
228
229
200
        this->data(place).add(
230
200
                assert_cast<const ColVecType&, TypeCheckOnRelease::DISABLE>(*columns[0])
231
200
                        .get_data()[row_num],
232
200
                scale);
233
200
    }
_ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE8ENS_36AggregateFunctionLinearHistogramDataILS1_8EEELb1EE3addEPcPPKNS_7IColumnElRNS_5ArenaE
Line
Count
Source
204
10
             Arena&) const override {
205
10
        double interval =
206
10
                assert_cast<const ColumnFloat64&, TypeCheckOnRelease::DISABLE>(*columns[1])
207
10
                        .get_data()[row_num];
208
10
        if (interval <= 0) {
209
0
            throw doris::Exception(
210
0
                    ErrorCode::INVALID_ARGUMENT,
211
0
                    "Invalid interval {}, row_num {}, interval should be larger than 0", interval,
212
0
                    row_num);
213
0
        }
214
215
10
        double offset = 0;
216
10
        if constexpr (has_offset) {
217
10
            offset = assert_cast<const ColumnFloat64&, TypeCheckOnRelease::DISABLE>(*columns[2])
218
10
                             .get_data()[row_num];
219
10
            if (offset < 0 || offset >= interval) {
220
0
                throw doris::Exception(
221
0
                        ErrorCode::INVALID_ARGUMENT,
222
0
                        "Invalid offset {}, row_num {}, offset should be in [0, interval)", offset,
223
0
                        row_num);
224
0
            }
225
10
        }
226
227
10
        this->data(place).set_parameters(interval, offset);
228
229
10
        this->data(place).add(
230
10
                assert_cast<const ColVecType&, TypeCheckOnRelease::DISABLE>(*columns[0])
231
10
                        .get_data()[row_num],
232
10
                scale);
233
10
    }
_ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE9ENS_36AggregateFunctionLinearHistogramDataILS1_9EEELb1EE3addEPcPPKNS_7IColumnElRNS_5ArenaE
Line
Count
Source
204
10
             Arena&) const override {
205
10
        double interval =
206
10
                assert_cast<const ColumnFloat64&, TypeCheckOnRelease::DISABLE>(*columns[1])
207
10
                        .get_data()[row_num];
208
10
        if (interval <= 0) {
209
0
            throw doris::Exception(
210
0
                    ErrorCode::INVALID_ARGUMENT,
211
0
                    "Invalid interval {}, row_num {}, interval should be larger than 0", interval,
212
0
                    row_num);
213
0
        }
214
215
10
        double offset = 0;
216
10
        if constexpr (has_offset) {
217
10
            offset = assert_cast<const ColumnFloat64&, TypeCheckOnRelease::DISABLE>(*columns[2])
218
10
                             .get_data()[row_num];
219
10
            if (offset < 0 || offset >= interval) {
220
0
                throw doris::Exception(
221
0
                        ErrorCode::INVALID_ARGUMENT,
222
0
                        "Invalid offset {}, row_num {}, offset should be in [0, interval)", offset,
223
0
                        row_num);
224
0
            }
225
10
        }
226
227
10
        this->data(place).set_parameters(interval, offset);
228
229
10
        this->data(place).add(
230
10
                assert_cast<const ColVecType&, TypeCheckOnRelease::DISABLE>(*columns[0])
231
10
                        .get_data()[row_num],
232
10
                scale);
233
10
    }
_ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE28ENS_36AggregateFunctionLinearHistogramDataILS1_28EEELb1EE3addEPcPPKNS_7IColumnElRNS_5ArenaE
Line
Count
Source
204
10
             Arena&) const override {
205
10
        double interval =
206
10
                assert_cast<const ColumnFloat64&, TypeCheckOnRelease::DISABLE>(*columns[1])
207
10
                        .get_data()[row_num];
208
10
        if (interval <= 0) {
209
0
            throw doris::Exception(
210
0
                    ErrorCode::INVALID_ARGUMENT,
211
0
                    "Invalid interval {}, row_num {}, interval should be larger than 0", interval,
212
0
                    row_num);
213
0
        }
214
215
10
        double offset = 0;
216
10
        if constexpr (has_offset) {
217
10
            offset = assert_cast<const ColumnFloat64&, TypeCheckOnRelease::DISABLE>(*columns[2])
218
10
                             .get_data()[row_num];
219
10
            if (offset < 0 || offset >= interval) {
220
0
                throw doris::Exception(
221
0
                        ErrorCode::INVALID_ARGUMENT,
222
0
                        "Invalid offset {}, row_num {}, offset should be in [0, interval)", offset,
223
0
                        row_num);
224
0
            }
225
10
        }
226
227
10
        this->data(place).set_parameters(interval, offset);
228
229
10
        this->data(place).add(
230
10
                assert_cast<const ColVecType&, TypeCheckOnRelease::DISABLE>(*columns[0])
231
10
                        .get_data()[row_num],
232
10
                scale);
233
10
    }
_ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE29ENS_36AggregateFunctionLinearHistogramDataILS1_29EEELb1EE3addEPcPPKNS_7IColumnElRNS_5ArenaE
Line
Count
Source
204
10
             Arena&) const override {
205
10
        double interval =
206
10
                assert_cast<const ColumnFloat64&, TypeCheckOnRelease::DISABLE>(*columns[1])
207
10
                        .get_data()[row_num];
208
10
        if (interval <= 0) {
209
0
            throw doris::Exception(
210
0
                    ErrorCode::INVALID_ARGUMENT,
211
0
                    "Invalid interval {}, row_num {}, interval should be larger than 0", interval,
212
0
                    row_num);
213
0
        }
214
215
10
        double offset = 0;
216
10
        if constexpr (has_offset) {
217
10
            offset = assert_cast<const ColumnFloat64&, TypeCheckOnRelease::DISABLE>(*columns[2])
218
10
                             .get_data()[row_num];
219
10
            if (offset < 0 || offset >= interval) {
220
0
                throw doris::Exception(
221
0
                        ErrorCode::INVALID_ARGUMENT,
222
0
                        "Invalid offset {}, row_num {}, offset should be in [0, interval)", offset,
223
0
                        row_num);
224
0
            }
225
10
        }
226
227
10
        this->data(place).set_parameters(interval, offset);
228
229
10
        this->data(place).add(
230
10
                assert_cast<const ColVecType&, TypeCheckOnRelease::DISABLE>(*columns[0])
231
10
                        .get_data()[row_num],
232
10
                scale);
233
10
    }
_ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE30ENS_36AggregateFunctionLinearHistogramDataILS1_30EEELb1EE3addEPcPPKNS_7IColumnElRNS_5ArenaE
Line
Count
Source
204
10
             Arena&) const override {
205
10
        double interval =
206
10
                assert_cast<const ColumnFloat64&, TypeCheckOnRelease::DISABLE>(*columns[1])
207
10
                        .get_data()[row_num];
208
10
        if (interval <= 0) {
209
0
            throw doris::Exception(
210
0
                    ErrorCode::INVALID_ARGUMENT,
211
0
                    "Invalid interval {}, row_num {}, interval should be larger than 0", interval,
212
0
                    row_num);
213
0
        }
214
215
10
        double offset = 0;
216
10
        if constexpr (has_offset) {
217
10
            offset = assert_cast<const ColumnFloat64&, TypeCheckOnRelease::DISABLE>(*columns[2])
218
10
                             .get_data()[row_num];
219
10
            if (offset < 0 || offset >= interval) {
220
0
                throw doris::Exception(
221
0
                        ErrorCode::INVALID_ARGUMENT,
222
0
                        "Invalid offset {}, row_num {}, offset should be in [0, interval)", offset,
223
0
                        row_num);
224
0
            }
225
10
        }
226
227
10
        this->data(place).set_parameters(interval, offset);
228
229
10
        this->data(place).add(
230
10
                assert_cast<const ColVecType&, TypeCheckOnRelease::DISABLE>(*columns[0])
231
10
                        .get_data()[row_num],
232
10
                scale);
233
10
    }
_ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE35ENS_36AggregateFunctionLinearHistogramDataILS1_35EEELb1EE3addEPcPPKNS_7IColumnElRNS_5ArenaE
Line
Count
Source
204
10
             Arena&) const override {
205
10
        double interval =
206
10
                assert_cast<const ColumnFloat64&, TypeCheckOnRelease::DISABLE>(*columns[1])
207
10
                        .get_data()[row_num];
208
10
        if (interval <= 0) {
209
0
            throw doris::Exception(
210
0
                    ErrorCode::INVALID_ARGUMENT,
211
0
                    "Invalid interval {}, row_num {}, interval should be larger than 0", interval,
212
0
                    row_num);
213
0
        }
214
215
10
        double offset = 0;
216
10
        if constexpr (has_offset) {
217
10
            offset = assert_cast<const ColumnFloat64&, TypeCheckOnRelease::DISABLE>(*columns[2])
218
10
                             .get_data()[row_num];
219
10
            if (offset < 0 || offset >= interval) {
220
0
                throw doris::Exception(
221
0
                        ErrorCode::INVALID_ARGUMENT,
222
0
                        "Invalid offset {}, row_num {}, offset should be in [0, interval)", offset,
223
0
                        row_num);
224
0
            }
225
10
        }
226
227
10
        this->data(place).set_parameters(interval, offset);
228
229
10
        this->data(place).add(
230
10
                assert_cast<const ColVecType&, TypeCheckOnRelease::DISABLE>(*columns[0])
231
10
                        .get_data()[row_num],
232
10
                scale);
233
10
    }
_ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE3ENS_36AggregateFunctionLinearHistogramDataILS1_3EEELb0EE3addEPcPPKNS_7IColumnElRNS_5ArenaE
Line
Count
Source
204
200
             Arena&) const override {
205
200
        double interval =
206
200
                assert_cast<const ColumnFloat64&, TypeCheckOnRelease::DISABLE>(*columns[1])
207
200
                        .get_data()[row_num];
208
200
        if (interval <= 0) {
209
0
            throw doris::Exception(
210
0
                    ErrorCode::INVALID_ARGUMENT,
211
0
                    "Invalid interval {}, row_num {}, interval should be larger than 0", interval,
212
0
                    row_num);
213
0
        }
214
215
200
        double offset = 0;
216
        if constexpr (has_offset) {
217
            offset = assert_cast<const ColumnFloat64&, TypeCheckOnRelease::DISABLE>(*columns[2])
218
                             .get_data()[row_num];
219
            if (offset < 0 || offset >= interval) {
220
                throw doris::Exception(
221
                        ErrorCode::INVALID_ARGUMENT,
222
                        "Invalid offset {}, row_num {}, offset should be in [0, interval)", offset,
223
                        row_num);
224
            }
225
        }
226
227
200
        this->data(place).set_parameters(interval, offset);
228
229
200
        this->data(place).add(
230
200
                assert_cast<const ColVecType&, TypeCheckOnRelease::DISABLE>(*columns[0])
231
200
                        .get_data()[row_num],
232
200
                scale);
233
200
    }
_ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE4ENS_36AggregateFunctionLinearHistogramDataILS1_4EEELb0EE3addEPcPPKNS_7IColumnElRNS_5ArenaE
Line
Count
Source
204
200
             Arena&) const override {
205
200
        double interval =
206
200
                assert_cast<const ColumnFloat64&, TypeCheckOnRelease::DISABLE>(*columns[1])
207
200
                        .get_data()[row_num];
208
200
        if (interval <= 0) {
209
0
            throw doris::Exception(
210
0
                    ErrorCode::INVALID_ARGUMENT,
211
0
                    "Invalid interval {}, row_num {}, interval should be larger than 0", interval,
212
0
                    row_num);
213
0
        }
214
215
200
        double offset = 0;
216
        if constexpr (has_offset) {
217
            offset = assert_cast<const ColumnFloat64&, TypeCheckOnRelease::DISABLE>(*columns[2])
218
                             .get_data()[row_num];
219
            if (offset < 0 || offset >= interval) {
220
                throw doris::Exception(
221
                        ErrorCode::INVALID_ARGUMENT,
222
                        "Invalid offset {}, row_num {}, offset should be in [0, interval)", offset,
223
                        row_num);
224
            }
225
        }
226
227
200
        this->data(place).set_parameters(interval, offset);
228
229
200
        this->data(place).add(
230
200
                assert_cast<const ColVecType&, TypeCheckOnRelease::DISABLE>(*columns[0])
231
200
                        .get_data()[row_num],
232
200
                scale);
233
200
    }
_ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE5ENS_36AggregateFunctionLinearHistogramDataILS1_5EEELb0EE3addEPcPPKNS_7IColumnElRNS_5ArenaE
Line
Count
Source
204
200
             Arena&) const override {
205
200
        double interval =
206
200
                assert_cast<const ColumnFloat64&, TypeCheckOnRelease::DISABLE>(*columns[1])
207
200
                        .get_data()[row_num];
208
200
        if (interval <= 0) {
209
0
            throw doris::Exception(
210
0
                    ErrorCode::INVALID_ARGUMENT,
211
0
                    "Invalid interval {}, row_num {}, interval should be larger than 0", interval,
212
0
                    row_num);
213
0
        }
214
215
200
        double offset = 0;
216
        if constexpr (has_offset) {
217
            offset = assert_cast<const ColumnFloat64&, TypeCheckOnRelease::DISABLE>(*columns[2])
218
                             .get_data()[row_num];
219
            if (offset < 0 || offset >= interval) {
220
                throw doris::Exception(
221
                        ErrorCode::INVALID_ARGUMENT,
222
                        "Invalid offset {}, row_num {}, offset should be in [0, interval)", offset,
223
                        row_num);
224
            }
225
        }
226
227
200
        this->data(place).set_parameters(interval, offset);
228
229
200
        this->data(place).add(
230
200
                assert_cast<const ColVecType&, TypeCheckOnRelease::DISABLE>(*columns[0])
231
200
                        .get_data()[row_num],
232
200
                scale);
233
200
    }
_ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE6ENS_36AggregateFunctionLinearHistogramDataILS1_6EEELb0EE3addEPcPPKNS_7IColumnElRNS_5ArenaE
Line
Count
Source
204
200
             Arena&) const override {
205
200
        double interval =
206
200
                assert_cast<const ColumnFloat64&, TypeCheckOnRelease::DISABLE>(*columns[1])
207
200
                        .get_data()[row_num];
208
200
        if (interval <= 0) {
209
0
            throw doris::Exception(
210
0
                    ErrorCode::INVALID_ARGUMENT,
211
0
                    "Invalid interval {}, row_num {}, interval should be larger than 0", interval,
212
0
                    row_num);
213
0
        }
214
215
200
        double offset = 0;
216
        if constexpr (has_offset) {
217
            offset = assert_cast<const ColumnFloat64&, TypeCheckOnRelease::DISABLE>(*columns[2])
218
                             .get_data()[row_num];
219
            if (offset < 0 || offset >= interval) {
220
                throw doris::Exception(
221
                        ErrorCode::INVALID_ARGUMENT,
222
                        "Invalid offset {}, row_num {}, offset should be in [0, interval)", offset,
223
                        row_num);
224
            }
225
        }
226
227
200
        this->data(place).set_parameters(interval, offset);
228
229
200
        this->data(place).add(
230
200
                assert_cast<const ColVecType&, TypeCheckOnRelease::DISABLE>(*columns[0])
231
200
                        .get_data()[row_num],
232
200
                scale);
233
200
    }
_ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE7ENS_36AggregateFunctionLinearHistogramDataILS1_7EEELb0EE3addEPcPPKNS_7IColumnElRNS_5ArenaE
Line
Count
Source
204
200
             Arena&) const override {
205
200
        double interval =
206
200
                assert_cast<const ColumnFloat64&, TypeCheckOnRelease::DISABLE>(*columns[1])
207
200
                        .get_data()[row_num];
208
200
        if (interval <= 0) {
209
0
            throw doris::Exception(
210
0
                    ErrorCode::INVALID_ARGUMENT,
211
0
                    "Invalid interval {}, row_num {}, interval should be larger than 0", interval,
212
0
                    row_num);
213
0
        }
214
215
200
        double offset = 0;
216
        if constexpr (has_offset) {
217
            offset = assert_cast<const ColumnFloat64&, TypeCheckOnRelease::DISABLE>(*columns[2])
218
                             .get_data()[row_num];
219
            if (offset < 0 || offset >= interval) {
220
                throw doris::Exception(
221
                        ErrorCode::INVALID_ARGUMENT,
222
                        "Invalid offset {}, row_num {}, offset should be in [0, interval)", offset,
223
                        row_num);
224
            }
225
        }
226
227
200
        this->data(place).set_parameters(interval, offset);
228
229
200
        this->data(place).add(
230
200
                assert_cast<const ColVecType&, TypeCheckOnRelease::DISABLE>(*columns[0])
231
200
                        .get_data()[row_num],
232
200
                scale);
233
200
    }
_ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE8ENS_36AggregateFunctionLinearHistogramDataILS1_8EEELb0EE3addEPcPPKNS_7IColumnElRNS_5ArenaE
Line
Count
Source
204
10
             Arena&) const override {
205
10
        double interval =
206
10
                assert_cast<const ColumnFloat64&, TypeCheckOnRelease::DISABLE>(*columns[1])
207
10
                        .get_data()[row_num];
208
10
        if (interval <= 0) {
209
0
            throw doris::Exception(
210
0
                    ErrorCode::INVALID_ARGUMENT,
211
0
                    "Invalid interval {}, row_num {}, interval should be larger than 0", interval,
212
0
                    row_num);
213
0
        }
214
215
10
        double offset = 0;
216
        if constexpr (has_offset) {
217
            offset = assert_cast<const ColumnFloat64&, TypeCheckOnRelease::DISABLE>(*columns[2])
218
                             .get_data()[row_num];
219
            if (offset < 0 || offset >= interval) {
220
                throw doris::Exception(
221
                        ErrorCode::INVALID_ARGUMENT,
222
                        "Invalid offset {}, row_num {}, offset should be in [0, interval)", offset,
223
                        row_num);
224
            }
225
        }
226
227
10
        this->data(place).set_parameters(interval, offset);
228
229
10
        this->data(place).add(
230
10
                assert_cast<const ColVecType&, TypeCheckOnRelease::DISABLE>(*columns[0])
231
10
                        .get_data()[row_num],
232
10
                scale);
233
10
    }
_ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE9ENS_36AggregateFunctionLinearHistogramDataILS1_9EEELb0EE3addEPcPPKNS_7IColumnElRNS_5ArenaE
Line
Count
Source
204
10
             Arena&) const override {
205
10
        double interval =
206
10
                assert_cast<const ColumnFloat64&, TypeCheckOnRelease::DISABLE>(*columns[1])
207
10
                        .get_data()[row_num];
208
10
        if (interval <= 0) {
209
0
            throw doris::Exception(
210
0
                    ErrorCode::INVALID_ARGUMENT,
211
0
                    "Invalid interval {}, row_num {}, interval should be larger than 0", interval,
212
0
                    row_num);
213
0
        }
214
215
10
        double offset = 0;
216
        if constexpr (has_offset) {
217
            offset = assert_cast<const ColumnFloat64&, TypeCheckOnRelease::DISABLE>(*columns[2])
218
                             .get_data()[row_num];
219
            if (offset < 0 || offset >= interval) {
220
                throw doris::Exception(
221
                        ErrorCode::INVALID_ARGUMENT,
222
                        "Invalid offset {}, row_num {}, offset should be in [0, interval)", offset,
223
                        row_num);
224
            }
225
        }
226
227
10
        this->data(place).set_parameters(interval, offset);
228
229
10
        this->data(place).add(
230
10
                assert_cast<const ColVecType&, TypeCheckOnRelease::DISABLE>(*columns[0])
231
10
                        .get_data()[row_num],
232
10
                scale);
233
10
    }
_ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE28ENS_36AggregateFunctionLinearHistogramDataILS1_28EEELb0EE3addEPcPPKNS_7IColumnElRNS_5ArenaE
Line
Count
Source
204
10
             Arena&) const override {
205
10
        double interval =
206
10
                assert_cast<const ColumnFloat64&, TypeCheckOnRelease::DISABLE>(*columns[1])
207
10
                        .get_data()[row_num];
208
10
        if (interval <= 0) {
209
0
            throw doris::Exception(
210
0
                    ErrorCode::INVALID_ARGUMENT,
211
0
                    "Invalid interval {}, row_num {}, interval should be larger than 0", interval,
212
0
                    row_num);
213
0
        }
214
215
10
        double offset = 0;
216
        if constexpr (has_offset) {
217
            offset = assert_cast<const ColumnFloat64&, TypeCheckOnRelease::DISABLE>(*columns[2])
218
                             .get_data()[row_num];
219
            if (offset < 0 || offset >= interval) {
220
                throw doris::Exception(
221
                        ErrorCode::INVALID_ARGUMENT,
222
                        "Invalid offset {}, row_num {}, offset should be in [0, interval)", offset,
223
                        row_num);
224
            }
225
        }
226
227
10
        this->data(place).set_parameters(interval, offset);
228
229
10
        this->data(place).add(
230
10
                assert_cast<const ColVecType&, TypeCheckOnRelease::DISABLE>(*columns[0])
231
10
                        .get_data()[row_num],
232
10
                scale);
233
10
    }
_ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE29ENS_36AggregateFunctionLinearHistogramDataILS1_29EEELb0EE3addEPcPPKNS_7IColumnElRNS_5ArenaE
Line
Count
Source
204
10
             Arena&) const override {
205
10
        double interval =
206
10
                assert_cast<const ColumnFloat64&, TypeCheckOnRelease::DISABLE>(*columns[1])
207
10
                        .get_data()[row_num];
208
10
        if (interval <= 0) {
209
0
            throw doris::Exception(
210
0
                    ErrorCode::INVALID_ARGUMENT,
211
0
                    "Invalid interval {}, row_num {}, interval should be larger than 0", interval,
212
0
                    row_num);
213
0
        }
214
215
10
        double offset = 0;
216
        if constexpr (has_offset) {
217
            offset = assert_cast<const ColumnFloat64&, TypeCheckOnRelease::DISABLE>(*columns[2])
218
                             .get_data()[row_num];
219
            if (offset < 0 || offset >= interval) {
220
                throw doris::Exception(
221
                        ErrorCode::INVALID_ARGUMENT,
222
                        "Invalid offset {}, row_num {}, offset should be in [0, interval)", offset,
223
                        row_num);
224
            }
225
        }
226
227
10
        this->data(place).set_parameters(interval, offset);
228
229
10
        this->data(place).add(
230
10
                assert_cast<const ColVecType&, TypeCheckOnRelease::DISABLE>(*columns[0])
231
10
                        .get_data()[row_num],
232
10
                scale);
233
10
    }
_ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE30ENS_36AggregateFunctionLinearHistogramDataILS1_30EEELb0EE3addEPcPPKNS_7IColumnElRNS_5ArenaE
Line
Count
Source
204
10
             Arena&) const override {
205
10
        double interval =
206
10
                assert_cast<const ColumnFloat64&, TypeCheckOnRelease::DISABLE>(*columns[1])
207
10
                        .get_data()[row_num];
208
10
        if (interval <= 0) {
209
0
            throw doris::Exception(
210
0
                    ErrorCode::INVALID_ARGUMENT,
211
0
                    "Invalid interval {}, row_num {}, interval should be larger than 0", interval,
212
0
                    row_num);
213
0
        }
214
215
10
        double offset = 0;
216
        if constexpr (has_offset) {
217
            offset = assert_cast<const ColumnFloat64&, TypeCheckOnRelease::DISABLE>(*columns[2])
218
                             .get_data()[row_num];
219
            if (offset < 0 || offset >= interval) {
220
                throw doris::Exception(
221
                        ErrorCode::INVALID_ARGUMENT,
222
                        "Invalid offset {}, row_num {}, offset should be in [0, interval)", offset,
223
                        row_num);
224
            }
225
        }
226
227
10
        this->data(place).set_parameters(interval, offset);
228
229
10
        this->data(place).add(
230
10
                assert_cast<const ColVecType&, TypeCheckOnRelease::DISABLE>(*columns[0])
231
10
                        .get_data()[row_num],
232
10
                scale);
233
10
    }
_ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE35ENS_36AggregateFunctionLinearHistogramDataILS1_35EEELb0EE3addEPcPPKNS_7IColumnElRNS_5ArenaE
Line
Count
Source
204
10
             Arena&) const override {
205
10
        double interval =
206
10
                assert_cast<const ColumnFloat64&, TypeCheckOnRelease::DISABLE>(*columns[1])
207
10
                        .get_data()[row_num];
208
10
        if (interval <= 0) {
209
0
            throw doris::Exception(
210
0
                    ErrorCode::INVALID_ARGUMENT,
211
0
                    "Invalid interval {}, row_num {}, interval should be larger than 0", interval,
212
0
                    row_num);
213
0
        }
214
215
10
        double offset = 0;
216
        if constexpr (has_offset) {
217
            offset = assert_cast<const ColumnFloat64&, TypeCheckOnRelease::DISABLE>(*columns[2])
218
                             .get_data()[row_num];
219
            if (offset < 0 || offset >= interval) {
220
                throw doris::Exception(
221
                        ErrorCode::INVALID_ARGUMENT,
222
                        "Invalid offset {}, row_num {}, offset should be in [0, interval)", offset,
223
                        row_num);
224
            }
225
        }
226
227
10
        this->data(place).set_parameters(interval, offset);
228
229
10
        this->data(place).add(
230
10
                assert_cast<const ColVecType&, TypeCheckOnRelease::DISABLE>(*columns[0])
231
10
                        .get_data()[row_num],
232
10
                scale);
233
10
    }
234
235
0
    void reset(AggregateDataPtr place) const override { this->data(place).reset(); }
Unexecuted instantiation: _ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE3ENS_36AggregateFunctionLinearHistogramDataILS1_3EEELb1EE5resetEPc
Unexecuted instantiation: _ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE4ENS_36AggregateFunctionLinearHistogramDataILS1_4EEELb1EE5resetEPc
Unexecuted instantiation: _ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE5ENS_36AggregateFunctionLinearHistogramDataILS1_5EEELb1EE5resetEPc
Unexecuted instantiation: _ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE6ENS_36AggregateFunctionLinearHistogramDataILS1_6EEELb1EE5resetEPc
Unexecuted instantiation: _ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE7ENS_36AggregateFunctionLinearHistogramDataILS1_7EEELb1EE5resetEPc
Unexecuted instantiation: _ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE8ENS_36AggregateFunctionLinearHistogramDataILS1_8EEELb1EE5resetEPc
Unexecuted instantiation: _ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE9ENS_36AggregateFunctionLinearHistogramDataILS1_9EEELb1EE5resetEPc
Unexecuted instantiation: _ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE28ENS_36AggregateFunctionLinearHistogramDataILS1_28EEELb1EE5resetEPc
Unexecuted instantiation: _ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE29ENS_36AggregateFunctionLinearHistogramDataILS1_29EEELb1EE5resetEPc
Unexecuted instantiation: _ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE30ENS_36AggregateFunctionLinearHistogramDataILS1_30EEELb1EE5resetEPc
Unexecuted instantiation: _ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE35ENS_36AggregateFunctionLinearHistogramDataILS1_35EEELb1EE5resetEPc
Unexecuted instantiation: _ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE3ENS_36AggregateFunctionLinearHistogramDataILS1_3EEELb0EE5resetEPc
Unexecuted instantiation: _ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE4ENS_36AggregateFunctionLinearHistogramDataILS1_4EEELb0EE5resetEPc
Unexecuted instantiation: _ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE5ENS_36AggregateFunctionLinearHistogramDataILS1_5EEELb0EE5resetEPc
Unexecuted instantiation: _ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE6ENS_36AggregateFunctionLinearHistogramDataILS1_6EEELb0EE5resetEPc
Unexecuted instantiation: _ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE7ENS_36AggregateFunctionLinearHistogramDataILS1_7EEELb0EE5resetEPc
Unexecuted instantiation: _ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE8ENS_36AggregateFunctionLinearHistogramDataILS1_8EEELb0EE5resetEPc
Unexecuted instantiation: _ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE9ENS_36AggregateFunctionLinearHistogramDataILS1_9EEELb0EE5resetEPc
Unexecuted instantiation: _ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE28ENS_36AggregateFunctionLinearHistogramDataILS1_28EEELb0EE5resetEPc
Unexecuted instantiation: _ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE29ENS_36AggregateFunctionLinearHistogramDataILS1_29EEELb0EE5resetEPc
Unexecuted instantiation: _ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE30ENS_36AggregateFunctionLinearHistogramDataILS1_30EEELb0EE5resetEPc
Unexecuted instantiation: _ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE35ENS_36AggregateFunctionLinearHistogramDataILS1_35EEELb0EE5resetEPc
236
237
    void merge(AggregateDataPtr __restrict place, ConstAggregateDataPtr rhs,
238
33
               Arena&) const override {
239
33
        this->data(place).merge(this->data(rhs));
240
33
    }
_ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE3ENS_36AggregateFunctionLinearHistogramDataILS1_3EEELb1EE5mergeEPcPKcRNS_5ArenaE
Line
Count
Source
238
1
               Arena&) const override {
239
1
        this->data(place).merge(this->data(rhs));
240
1
    }
_ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE4ENS_36AggregateFunctionLinearHistogramDataILS1_4EEELb1EE5mergeEPcPKcRNS_5ArenaE
Line
Count
Source
238
1
               Arena&) const override {
239
1
        this->data(place).merge(this->data(rhs));
240
1
    }
_ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE5ENS_36AggregateFunctionLinearHistogramDataILS1_5EEELb1EE5mergeEPcPKcRNS_5ArenaE
Line
Count
Source
238
1
               Arena&) const override {
239
1
        this->data(place).merge(this->data(rhs));
240
1
    }
_ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE6ENS_36AggregateFunctionLinearHistogramDataILS1_6EEELb1EE5mergeEPcPKcRNS_5ArenaE
Line
Count
Source
238
1
               Arena&) const override {
239
1
        this->data(place).merge(this->data(rhs));
240
1
    }
_ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE7ENS_36AggregateFunctionLinearHistogramDataILS1_7EEELb1EE5mergeEPcPKcRNS_5ArenaE
Line
Count
Source
238
1
               Arena&) const override {
239
1
        this->data(place).merge(this->data(rhs));
240
1
    }
_ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE8ENS_36AggregateFunctionLinearHistogramDataILS1_8EEELb1EE5mergeEPcPKcRNS_5ArenaE
Line
Count
Source
238
1
               Arena&) const override {
239
1
        this->data(place).merge(this->data(rhs));
240
1
    }
_ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE9ENS_36AggregateFunctionLinearHistogramDataILS1_9EEELb1EE5mergeEPcPKcRNS_5ArenaE
Line
Count
Source
238
1
               Arena&) const override {
239
1
        this->data(place).merge(this->data(rhs));
240
1
    }
_ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE28ENS_36AggregateFunctionLinearHistogramDataILS1_28EEELb1EE5mergeEPcPKcRNS_5ArenaE
Line
Count
Source
238
1
               Arena&) const override {
239
1
        this->data(place).merge(this->data(rhs));
240
1
    }
_ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE29ENS_36AggregateFunctionLinearHistogramDataILS1_29EEELb1EE5mergeEPcPKcRNS_5ArenaE
Line
Count
Source
238
1
               Arena&) const override {
239
1
        this->data(place).merge(this->data(rhs));
240
1
    }
_ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE30ENS_36AggregateFunctionLinearHistogramDataILS1_30EEELb1EE5mergeEPcPKcRNS_5ArenaE
Line
Count
Source
238
1
               Arena&) const override {
239
1
        this->data(place).merge(this->data(rhs));
240
1
    }
_ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE35ENS_36AggregateFunctionLinearHistogramDataILS1_35EEELb1EE5mergeEPcPKcRNS_5ArenaE
Line
Count
Source
238
1
               Arena&) const override {
239
1
        this->data(place).merge(this->data(rhs));
240
1
    }
_ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE3ENS_36AggregateFunctionLinearHistogramDataILS1_3EEELb0EE5mergeEPcPKcRNS_5ArenaE
Line
Count
Source
238
2
               Arena&) const override {
239
2
        this->data(place).merge(this->data(rhs));
240
2
    }
_ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE4ENS_36AggregateFunctionLinearHistogramDataILS1_4EEELb0EE5mergeEPcPKcRNS_5ArenaE
Line
Count
Source
238
2
               Arena&) const override {
239
2
        this->data(place).merge(this->data(rhs));
240
2
    }
_ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE5ENS_36AggregateFunctionLinearHistogramDataILS1_5EEELb0EE5mergeEPcPKcRNS_5ArenaE
Line
Count
Source
238
2
               Arena&) const override {
239
2
        this->data(place).merge(this->data(rhs));
240
2
    }
_ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE6ENS_36AggregateFunctionLinearHistogramDataILS1_6EEELb0EE5mergeEPcPKcRNS_5ArenaE
Line
Count
Source
238
2
               Arena&) const override {
239
2
        this->data(place).merge(this->data(rhs));
240
2
    }
_ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE7ENS_36AggregateFunctionLinearHistogramDataILS1_7EEELb0EE5mergeEPcPKcRNS_5ArenaE
Line
Count
Source
238
2
               Arena&) const override {
239
2
        this->data(place).merge(this->data(rhs));
240
2
    }
_ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE8ENS_36AggregateFunctionLinearHistogramDataILS1_8EEELb0EE5mergeEPcPKcRNS_5ArenaE
Line
Count
Source
238
2
               Arena&) const override {
239
2
        this->data(place).merge(this->data(rhs));
240
2
    }
_ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE9ENS_36AggregateFunctionLinearHistogramDataILS1_9EEELb0EE5mergeEPcPKcRNS_5ArenaE
Line
Count
Source
238
2
               Arena&) const override {
239
2
        this->data(place).merge(this->data(rhs));
240
2
    }
_ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE28ENS_36AggregateFunctionLinearHistogramDataILS1_28EEELb0EE5mergeEPcPKcRNS_5ArenaE
Line
Count
Source
238
2
               Arena&) const override {
239
2
        this->data(place).merge(this->data(rhs));
240
2
    }
_ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE29ENS_36AggregateFunctionLinearHistogramDataILS1_29EEELb0EE5mergeEPcPKcRNS_5ArenaE
Line
Count
Source
238
2
               Arena&) const override {
239
2
        this->data(place).merge(this->data(rhs));
240
2
    }
_ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE30ENS_36AggregateFunctionLinearHistogramDataILS1_30EEELb0EE5mergeEPcPKcRNS_5ArenaE
Line
Count
Source
238
2
               Arena&) const override {
239
2
        this->data(place).merge(this->data(rhs));
240
2
    }
_ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE35ENS_36AggregateFunctionLinearHistogramDataILS1_35EEELb0EE5mergeEPcPKcRNS_5ArenaE
Line
Count
Source
238
2
               Arena&) const override {
239
2
        this->data(place).merge(this->data(rhs));
240
2
    }
241
242
33
    void serialize(ConstAggregateDataPtr __restrict place, BufferWritable& buf) const override {
243
33
        this->data(place).write(buf);
244
33
    }
_ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE3ENS_36AggregateFunctionLinearHistogramDataILS1_3EEELb1EE9serializeEPKcRNS_14BufferWritableE
Line
Count
Source
242
1
    void serialize(ConstAggregateDataPtr __restrict place, BufferWritable& buf) const override {
243
1
        this->data(place).write(buf);
244
1
    }
_ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE4ENS_36AggregateFunctionLinearHistogramDataILS1_4EEELb1EE9serializeEPKcRNS_14BufferWritableE
Line
Count
Source
242
1
    void serialize(ConstAggregateDataPtr __restrict place, BufferWritable& buf) const override {
243
1
        this->data(place).write(buf);
244
1
    }
_ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE5ENS_36AggregateFunctionLinearHistogramDataILS1_5EEELb1EE9serializeEPKcRNS_14BufferWritableE
Line
Count
Source
242
1
    void serialize(ConstAggregateDataPtr __restrict place, BufferWritable& buf) const override {
243
1
        this->data(place).write(buf);
244
1
    }
_ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE6ENS_36AggregateFunctionLinearHistogramDataILS1_6EEELb1EE9serializeEPKcRNS_14BufferWritableE
Line
Count
Source
242
1
    void serialize(ConstAggregateDataPtr __restrict place, BufferWritable& buf) const override {
243
1
        this->data(place).write(buf);
244
1
    }
_ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE7ENS_36AggregateFunctionLinearHistogramDataILS1_7EEELb1EE9serializeEPKcRNS_14BufferWritableE
Line
Count
Source
242
1
    void serialize(ConstAggregateDataPtr __restrict place, BufferWritable& buf) const override {
243
1
        this->data(place).write(buf);
244
1
    }
_ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE8ENS_36AggregateFunctionLinearHistogramDataILS1_8EEELb1EE9serializeEPKcRNS_14BufferWritableE
Line
Count
Source
242
1
    void serialize(ConstAggregateDataPtr __restrict place, BufferWritable& buf) const override {
243
1
        this->data(place).write(buf);
244
1
    }
_ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE9ENS_36AggregateFunctionLinearHistogramDataILS1_9EEELb1EE9serializeEPKcRNS_14BufferWritableE
Line
Count
Source
242
1
    void serialize(ConstAggregateDataPtr __restrict place, BufferWritable& buf) const override {
243
1
        this->data(place).write(buf);
244
1
    }
_ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE28ENS_36AggregateFunctionLinearHistogramDataILS1_28EEELb1EE9serializeEPKcRNS_14BufferWritableE
Line
Count
Source
242
1
    void serialize(ConstAggregateDataPtr __restrict place, BufferWritable& buf) const override {
243
1
        this->data(place).write(buf);
244
1
    }
_ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE29ENS_36AggregateFunctionLinearHistogramDataILS1_29EEELb1EE9serializeEPKcRNS_14BufferWritableE
Line
Count
Source
242
1
    void serialize(ConstAggregateDataPtr __restrict place, BufferWritable& buf) const override {
243
1
        this->data(place).write(buf);
244
1
    }
_ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE30ENS_36AggregateFunctionLinearHistogramDataILS1_30EEELb1EE9serializeEPKcRNS_14BufferWritableE
Line
Count
Source
242
1
    void serialize(ConstAggregateDataPtr __restrict place, BufferWritable& buf) const override {
243
1
        this->data(place).write(buf);
244
1
    }
_ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE35ENS_36AggregateFunctionLinearHistogramDataILS1_35EEELb1EE9serializeEPKcRNS_14BufferWritableE
Line
Count
Source
242
1
    void serialize(ConstAggregateDataPtr __restrict place, BufferWritable& buf) const override {
243
1
        this->data(place).write(buf);
244
1
    }
_ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE3ENS_36AggregateFunctionLinearHistogramDataILS1_3EEELb0EE9serializeEPKcRNS_14BufferWritableE
Line
Count
Source
242
2
    void serialize(ConstAggregateDataPtr __restrict place, BufferWritable& buf) const override {
243
2
        this->data(place).write(buf);
244
2
    }
_ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE4ENS_36AggregateFunctionLinearHistogramDataILS1_4EEELb0EE9serializeEPKcRNS_14BufferWritableE
Line
Count
Source
242
2
    void serialize(ConstAggregateDataPtr __restrict place, BufferWritable& buf) const override {
243
2
        this->data(place).write(buf);
244
2
    }
_ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE5ENS_36AggregateFunctionLinearHistogramDataILS1_5EEELb0EE9serializeEPKcRNS_14BufferWritableE
Line
Count
Source
242
2
    void serialize(ConstAggregateDataPtr __restrict place, BufferWritable& buf) const override {
243
2
        this->data(place).write(buf);
244
2
    }
_ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE6ENS_36AggregateFunctionLinearHistogramDataILS1_6EEELb0EE9serializeEPKcRNS_14BufferWritableE
Line
Count
Source
242
2
    void serialize(ConstAggregateDataPtr __restrict place, BufferWritable& buf) const override {
243
2
        this->data(place).write(buf);
244
2
    }
_ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE7ENS_36AggregateFunctionLinearHistogramDataILS1_7EEELb0EE9serializeEPKcRNS_14BufferWritableE
Line
Count
Source
242
2
    void serialize(ConstAggregateDataPtr __restrict place, BufferWritable& buf) const override {
243
2
        this->data(place).write(buf);
244
2
    }
_ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE8ENS_36AggregateFunctionLinearHistogramDataILS1_8EEELb0EE9serializeEPKcRNS_14BufferWritableE
Line
Count
Source
242
2
    void serialize(ConstAggregateDataPtr __restrict place, BufferWritable& buf) const override {
243
2
        this->data(place).write(buf);
244
2
    }
_ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE9ENS_36AggregateFunctionLinearHistogramDataILS1_9EEELb0EE9serializeEPKcRNS_14BufferWritableE
Line
Count
Source
242
2
    void serialize(ConstAggregateDataPtr __restrict place, BufferWritable& buf) const override {
243
2
        this->data(place).write(buf);
244
2
    }
_ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE28ENS_36AggregateFunctionLinearHistogramDataILS1_28EEELb0EE9serializeEPKcRNS_14BufferWritableE
Line
Count
Source
242
2
    void serialize(ConstAggregateDataPtr __restrict place, BufferWritable& buf) const override {
243
2
        this->data(place).write(buf);
244
2
    }
_ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE29ENS_36AggregateFunctionLinearHistogramDataILS1_29EEELb0EE9serializeEPKcRNS_14BufferWritableE
Line
Count
Source
242
2
    void serialize(ConstAggregateDataPtr __restrict place, BufferWritable& buf) const override {
243
2
        this->data(place).write(buf);
244
2
    }
_ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE30ENS_36AggregateFunctionLinearHistogramDataILS1_30EEELb0EE9serializeEPKcRNS_14BufferWritableE
Line
Count
Source
242
2
    void serialize(ConstAggregateDataPtr __restrict place, BufferWritable& buf) const override {
243
2
        this->data(place).write(buf);
244
2
    }
_ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE35ENS_36AggregateFunctionLinearHistogramDataILS1_35EEELb0EE9serializeEPKcRNS_14BufferWritableE
Line
Count
Source
242
2
    void serialize(ConstAggregateDataPtr __restrict place, BufferWritable& buf) const override {
243
2
        this->data(place).write(buf);
244
2
    }
245
246
    void deserialize(AggregateDataPtr __restrict place, BufferReadable& buf,
247
33
                     Arena&) const override {
248
33
        this->data(place).read(buf);
249
33
    }
_ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE3ENS_36AggregateFunctionLinearHistogramDataILS1_3EEELb1EE11deserializeEPcRNS_14BufferReadableERNS_5ArenaE
Line
Count
Source
247
1
                     Arena&) const override {
248
1
        this->data(place).read(buf);
249
1
    }
_ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE4ENS_36AggregateFunctionLinearHistogramDataILS1_4EEELb1EE11deserializeEPcRNS_14BufferReadableERNS_5ArenaE
Line
Count
Source
247
1
                     Arena&) const override {
248
1
        this->data(place).read(buf);
249
1
    }
_ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE5ENS_36AggregateFunctionLinearHistogramDataILS1_5EEELb1EE11deserializeEPcRNS_14BufferReadableERNS_5ArenaE
Line
Count
Source
247
1
                     Arena&) const override {
248
1
        this->data(place).read(buf);
249
1
    }
_ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE6ENS_36AggregateFunctionLinearHistogramDataILS1_6EEELb1EE11deserializeEPcRNS_14BufferReadableERNS_5ArenaE
Line
Count
Source
247
1
                     Arena&) const override {
248
1
        this->data(place).read(buf);
249
1
    }
_ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE7ENS_36AggregateFunctionLinearHistogramDataILS1_7EEELb1EE11deserializeEPcRNS_14BufferReadableERNS_5ArenaE
Line
Count
Source
247
1
                     Arena&) const override {
248
1
        this->data(place).read(buf);
249
1
    }
_ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE8ENS_36AggregateFunctionLinearHistogramDataILS1_8EEELb1EE11deserializeEPcRNS_14BufferReadableERNS_5ArenaE
Line
Count
Source
247
1
                     Arena&) const override {
248
1
        this->data(place).read(buf);
249
1
    }
_ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE9ENS_36AggregateFunctionLinearHistogramDataILS1_9EEELb1EE11deserializeEPcRNS_14BufferReadableERNS_5ArenaE
Line
Count
Source
247
1
                     Arena&) const override {
248
1
        this->data(place).read(buf);
249
1
    }
_ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE28ENS_36AggregateFunctionLinearHistogramDataILS1_28EEELb1EE11deserializeEPcRNS_14BufferReadableERNS_5ArenaE
Line
Count
Source
247
1
                     Arena&) const override {
248
1
        this->data(place).read(buf);
249
1
    }
_ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE29ENS_36AggregateFunctionLinearHistogramDataILS1_29EEELb1EE11deserializeEPcRNS_14BufferReadableERNS_5ArenaE
Line
Count
Source
247
1
                     Arena&) const override {
248
1
        this->data(place).read(buf);
249
1
    }
_ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE30ENS_36AggregateFunctionLinearHistogramDataILS1_30EEELb1EE11deserializeEPcRNS_14BufferReadableERNS_5ArenaE
Line
Count
Source
247
1
                     Arena&) const override {
248
1
        this->data(place).read(buf);
249
1
    }
_ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE35ENS_36AggregateFunctionLinearHistogramDataILS1_35EEELb1EE11deserializeEPcRNS_14BufferReadableERNS_5ArenaE
Line
Count
Source
247
1
                     Arena&) const override {
248
1
        this->data(place).read(buf);
249
1
    }
_ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE3ENS_36AggregateFunctionLinearHistogramDataILS1_3EEELb0EE11deserializeEPcRNS_14BufferReadableERNS_5ArenaE
Line
Count
Source
247
2
                     Arena&) const override {
248
2
        this->data(place).read(buf);
249
2
    }
_ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE4ENS_36AggregateFunctionLinearHistogramDataILS1_4EEELb0EE11deserializeEPcRNS_14BufferReadableERNS_5ArenaE
Line
Count
Source
247
2
                     Arena&) const override {
248
2
        this->data(place).read(buf);
249
2
    }
_ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE5ENS_36AggregateFunctionLinearHistogramDataILS1_5EEELb0EE11deserializeEPcRNS_14BufferReadableERNS_5ArenaE
Line
Count
Source
247
2
                     Arena&) const override {
248
2
        this->data(place).read(buf);
249
2
    }
_ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE6ENS_36AggregateFunctionLinearHistogramDataILS1_6EEELb0EE11deserializeEPcRNS_14BufferReadableERNS_5ArenaE
Line
Count
Source
247
2
                     Arena&) const override {
248
2
        this->data(place).read(buf);
249
2
    }
_ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE7ENS_36AggregateFunctionLinearHistogramDataILS1_7EEELb0EE11deserializeEPcRNS_14BufferReadableERNS_5ArenaE
Line
Count
Source
247
2
                     Arena&) const override {
248
2
        this->data(place).read(buf);
249
2
    }
_ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE8ENS_36AggregateFunctionLinearHistogramDataILS1_8EEELb0EE11deserializeEPcRNS_14BufferReadableERNS_5ArenaE
Line
Count
Source
247
2
                     Arena&) const override {
248
2
        this->data(place).read(buf);
249
2
    }
_ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE9ENS_36AggregateFunctionLinearHistogramDataILS1_9EEELb0EE11deserializeEPcRNS_14BufferReadableERNS_5ArenaE
Line
Count
Source
247
2
                     Arena&) const override {
248
2
        this->data(place).read(buf);
249
2
    }
_ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE28ENS_36AggregateFunctionLinearHistogramDataILS1_28EEELb0EE11deserializeEPcRNS_14BufferReadableERNS_5ArenaE
Line
Count
Source
247
2
                     Arena&) const override {
248
2
        this->data(place).read(buf);
249
2
    }
_ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE29ENS_36AggregateFunctionLinearHistogramDataILS1_29EEELb0EE11deserializeEPcRNS_14BufferReadableERNS_5ArenaE
Line
Count
Source
247
2
                     Arena&) const override {
248
2
        this->data(place).read(buf);
249
2
    }
_ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE30ENS_36AggregateFunctionLinearHistogramDataILS1_30EEELb0EE11deserializeEPcRNS_14BufferReadableERNS_5ArenaE
Line
Count
Source
247
2
                     Arena&) const override {
248
2
        this->data(place).read(buf);
249
2
    }
_ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE35ENS_36AggregateFunctionLinearHistogramDataILS1_35EEELb0EE11deserializeEPcRNS_14BufferReadableERNS_5ArenaE
Line
Count
Source
247
2
                     Arena&) const override {
248
2
        this->data(place).read(buf);
249
2
    }
250
251
66
    void insert_result_into(ConstAggregateDataPtr __restrict place, IColumn& to) const override {
252
66
        this->data(place).insert_result_into(to);
253
66
    }
_ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE3ENS_36AggregateFunctionLinearHistogramDataILS1_3EEELb1EE18insert_result_intoEPKcRNS_7IColumnE
Line
Count
Source
251
2
    void insert_result_into(ConstAggregateDataPtr __restrict place, IColumn& to) const override {
252
2
        this->data(place).insert_result_into(to);
253
2
    }
_ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE4ENS_36AggregateFunctionLinearHistogramDataILS1_4EEELb1EE18insert_result_intoEPKcRNS_7IColumnE
Line
Count
Source
251
2
    void insert_result_into(ConstAggregateDataPtr __restrict place, IColumn& to) const override {
252
2
        this->data(place).insert_result_into(to);
253
2
    }
_ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE5ENS_36AggregateFunctionLinearHistogramDataILS1_5EEELb1EE18insert_result_intoEPKcRNS_7IColumnE
Line
Count
Source
251
2
    void insert_result_into(ConstAggregateDataPtr __restrict place, IColumn& to) const override {
252
2
        this->data(place).insert_result_into(to);
253
2
    }
_ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE6ENS_36AggregateFunctionLinearHistogramDataILS1_6EEELb1EE18insert_result_intoEPKcRNS_7IColumnE
Line
Count
Source
251
2
    void insert_result_into(ConstAggregateDataPtr __restrict place, IColumn& to) const override {
252
2
        this->data(place).insert_result_into(to);
253
2
    }
_ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE7ENS_36AggregateFunctionLinearHistogramDataILS1_7EEELb1EE18insert_result_intoEPKcRNS_7IColumnE
Line
Count
Source
251
2
    void insert_result_into(ConstAggregateDataPtr __restrict place, IColumn& to) const override {
252
2
        this->data(place).insert_result_into(to);
253
2
    }
_ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE8ENS_36AggregateFunctionLinearHistogramDataILS1_8EEELb1EE18insert_result_intoEPKcRNS_7IColumnE
Line
Count
Source
251
2
    void insert_result_into(ConstAggregateDataPtr __restrict place, IColumn& to) const override {
252
2
        this->data(place).insert_result_into(to);
253
2
    }
_ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE9ENS_36AggregateFunctionLinearHistogramDataILS1_9EEELb1EE18insert_result_intoEPKcRNS_7IColumnE
Line
Count
Source
251
2
    void insert_result_into(ConstAggregateDataPtr __restrict place, IColumn& to) const override {
252
2
        this->data(place).insert_result_into(to);
253
2
    }
_ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE28ENS_36AggregateFunctionLinearHistogramDataILS1_28EEELb1EE18insert_result_intoEPKcRNS_7IColumnE
Line
Count
Source
251
2
    void insert_result_into(ConstAggregateDataPtr __restrict place, IColumn& to) const override {
252
2
        this->data(place).insert_result_into(to);
253
2
    }
_ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE29ENS_36AggregateFunctionLinearHistogramDataILS1_29EEELb1EE18insert_result_intoEPKcRNS_7IColumnE
Line
Count
Source
251
2
    void insert_result_into(ConstAggregateDataPtr __restrict place, IColumn& to) const override {
252
2
        this->data(place).insert_result_into(to);
253
2
    }
_ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE30ENS_36AggregateFunctionLinearHistogramDataILS1_30EEELb1EE18insert_result_intoEPKcRNS_7IColumnE
Line
Count
Source
251
2
    void insert_result_into(ConstAggregateDataPtr __restrict place, IColumn& to) const override {
252
2
        this->data(place).insert_result_into(to);
253
2
    }
_ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE35ENS_36AggregateFunctionLinearHistogramDataILS1_35EEELb1EE18insert_result_intoEPKcRNS_7IColumnE
Line
Count
Source
251
2
    void insert_result_into(ConstAggregateDataPtr __restrict place, IColumn& to) const override {
252
2
        this->data(place).insert_result_into(to);
253
2
    }
_ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE3ENS_36AggregateFunctionLinearHistogramDataILS1_3EEELb0EE18insert_result_intoEPKcRNS_7IColumnE
Line
Count
Source
251
4
    void insert_result_into(ConstAggregateDataPtr __restrict place, IColumn& to) const override {
252
4
        this->data(place).insert_result_into(to);
253
4
    }
_ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE4ENS_36AggregateFunctionLinearHistogramDataILS1_4EEELb0EE18insert_result_intoEPKcRNS_7IColumnE
Line
Count
Source
251
4
    void insert_result_into(ConstAggregateDataPtr __restrict place, IColumn& to) const override {
252
4
        this->data(place).insert_result_into(to);
253
4
    }
_ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE5ENS_36AggregateFunctionLinearHistogramDataILS1_5EEELb0EE18insert_result_intoEPKcRNS_7IColumnE
Line
Count
Source
251
4
    void insert_result_into(ConstAggregateDataPtr __restrict place, IColumn& to) const override {
252
4
        this->data(place).insert_result_into(to);
253
4
    }
_ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE6ENS_36AggregateFunctionLinearHistogramDataILS1_6EEELb0EE18insert_result_intoEPKcRNS_7IColumnE
Line
Count
Source
251
4
    void insert_result_into(ConstAggregateDataPtr __restrict place, IColumn& to) const override {
252
4
        this->data(place).insert_result_into(to);
253
4
    }
_ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE7ENS_36AggregateFunctionLinearHistogramDataILS1_7EEELb0EE18insert_result_intoEPKcRNS_7IColumnE
Line
Count
Source
251
4
    void insert_result_into(ConstAggregateDataPtr __restrict place, IColumn& to) const override {
252
4
        this->data(place).insert_result_into(to);
253
4
    }
_ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE8ENS_36AggregateFunctionLinearHistogramDataILS1_8EEELb0EE18insert_result_intoEPKcRNS_7IColumnE
Line
Count
Source
251
4
    void insert_result_into(ConstAggregateDataPtr __restrict place, IColumn& to) const override {
252
4
        this->data(place).insert_result_into(to);
253
4
    }
_ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE9ENS_36AggregateFunctionLinearHistogramDataILS1_9EEELb0EE18insert_result_intoEPKcRNS_7IColumnE
Line
Count
Source
251
4
    void insert_result_into(ConstAggregateDataPtr __restrict place, IColumn& to) const override {
252
4
        this->data(place).insert_result_into(to);
253
4
    }
_ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE28ENS_36AggregateFunctionLinearHistogramDataILS1_28EEELb0EE18insert_result_intoEPKcRNS_7IColumnE
Line
Count
Source
251
4
    void insert_result_into(ConstAggregateDataPtr __restrict place, IColumn& to) const override {
252
4
        this->data(place).insert_result_into(to);
253
4
    }
_ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE29ENS_36AggregateFunctionLinearHistogramDataILS1_29EEELb0EE18insert_result_intoEPKcRNS_7IColumnE
Line
Count
Source
251
4
    void insert_result_into(ConstAggregateDataPtr __restrict place, IColumn& to) const override {
252
4
        this->data(place).insert_result_into(to);
253
4
    }
_ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE30ENS_36AggregateFunctionLinearHistogramDataILS1_30EEELb0EE18insert_result_intoEPKcRNS_7IColumnE
Line
Count
Source
251
4
    void insert_result_into(ConstAggregateDataPtr __restrict place, IColumn& to) const override {
252
4
        this->data(place).insert_result_into(to);
253
4
    }
_ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE35ENS_36AggregateFunctionLinearHistogramDataILS1_35EEELb0EE18insert_result_intoEPKcRNS_7IColumnE
Line
Count
Source
251
4
    void insert_result_into(ConstAggregateDataPtr __restrict place, IColumn& to) const override {
252
4
        this->data(place).insert_result_into(to);
253
4
    }
254
255
private:
256
    UInt32 scale;
257
};
258
259
} // namespace doris