Coverage Report

Created: 2026-07-08 08:53

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/column/column_string.h"
28
#include "core/column/column_vector.h"
29
#include "core/data_type/data_type_decimal.h"
30
#include "core/types.h"
31
#include "exprs/aggregate/aggregate_function.h"
32
#include "exprs/aggregate/aggregate_function_simple_factory.h"
33
34
// TODO: optimize count=0
35
// TODO: support datetime
36
// TODO: support foreach
37
38
namespace doris {
39
40
template <PrimitiveType T>
41
struct AggregateFunctionLinearHistogramData {
42
    // bucket key limits
43
    const static int32_t MIN_BUCKET_KEY = std::numeric_limits<int32_t>::min();
44
    const static int32_t MAX_BUCKET_KEY = std::numeric_limits<int32_t>::max();
45
46
private:
47
    // influxdb use double
48
    double interval = 0;
49
    double offset;
50
    double lower; // not used yet
51
    double upper; // not used yet
52
    std::unordered_map<int32_t, size_t,
53
2.45k
                       decltype([](int32_t key) { return static_cast<size_t>(key); })>
_ZNK5doris36AggregateFunctionLinearHistogramDataILNS_13PrimitiveTypeE3EEUliE_clEi
Line
Count
Source
53
442
                       decltype([](int32_t key) { return static_cast<size_t>(key); })>
_ZNK5doris36AggregateFunctionLinearHistogramDataILNS_13PrimitiveTypeE4EEUliE_clEi
Line
Count
Source
53
442
                       decltype([](int32_t key) { return static_cast<size_t>(key); })>
_ZNK5doris36AggregateFunctionLinearHistogramDataILNS_13PrimitiveTypeE5EEUliE_clEi
Line
Count
Source
53
442
                       decltype([](int32_t key) { return static_cast<size_t>(key); })>
_ZNK5doris36AggregateFunctionLinearHistogramDataILNS_13PrimitiveTypeE6EEUliE_clEi
Line
Count
Source
53
442
                       decltype([](int32_t key) { return static_cast<size_t>(key); })>
_ZNK5doris36AggregateFunctionLinearHistogramDataILNS_13PrimitiveTypeE7EEUliE_clEi
Line
Count
Source
53
442
                       decltype([](int32_t key) { return static_cast<size_t>(key); })>
_ZNK5doris36AggregateFunctionLinearHistogramDataILNS_13PrimitiveTypeE8EEUliE_clEi
Line
Count
Source
53
40
                       decltype([](int32_t key) { return static_cast<size_t>(key); })>
_ZNK5doris36AggregateFunctionLinearHistogramDataILNS_13PrimitiveTypeE9EEUliE_clEi
Line
Count
Source
53
40
                       decltype([](int32_t key) { return static_cast<size_t>(key); })>
_ZNK5doris36AggregateFunctionLinearHistogramDataILNS_13PrimitiveTypeE28EEUliE_clEi
Line
Count
Source
53
40
                       decltype([](int32_t key) { return static_cast<size_t>(key); })>
_ZNK5doris36AggregateFunctionLinearHistogramDataILNS_13PrimitiveTypeE29EEUliE_clEi
Line
Count
Source
53
40
                       decltype([](int32_t key) { return static_cast<size_t>(key); })>
_ZNK5doris36AggregateFunctionLinearHistogramDataILNS_13PrimitiveTypeE30EEUliE_clEi
Line
Count
Source
53
40
                       decltype([](int32_t key) { return static_cast<size_t>(key); })>
_ZNK5doris36AggregateFunctionLinearHistogramDataILNS_13PrimitiveTypeE35EEUliE_clEi
Line
Count
Source
53
40
                       decltype([](int32_t key) { return static_cast<size_t>(key); })>
54
            buckets;
55
56
public:
57
    // reset
58
0
    void reset() {
59
0
        offset = 0;
60
0
        interval = 0;
61
0
        buckets.clear();
62
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
63
64
2.12k
    void set_parameters(double input_interval, double input_offset) {
65
2.12k
        interval = input_interval;
66
2.12k
        offset = input_offset;
67
2.12k
    }
_ZN5doris36AggregateFunctionLinearHistogramDataILNS_13PrimitiveTypeE3EE14set_parametersEdd
Line
Count
Source
64
400
    void set_parameters(double input_interval, double input_offset) {
65
400
        interval = input_interval;
66
400
        offset = input_offset;
67
400
    }
_ZN5doris36AggregateFunctionLinearHistogramDataILNS_13PrimitiveTypeE4EE14set_parametersEdd
Line
Count
Source
64
400
    void set_parameters(double input_interval, double input_offset) {
65
400
        interval = input_interval;
66
400
        offset = input_offset;
67
400
    }
_ZN5doris36AggregateFunctionLinearHistogramDataILNS_13PrimitiveTypeE5EE14set_parametersEdd
Line
Count
Source
64
400
    void set_parameters(double input_interval, double input_offset) {
65
400
        interval = input_interval;
66
400
        offset = input_offset;
67
400
    }
_ZN5doris36AggregateFunctionLinearHistogramDataILNS_13PrimitiveTypeE6EE14set_parametersEdd
Line
Count
Source
64
400
    void set_parameters(double input_interval, double input_offset) {
65
400
        interval = input_interval;
66
400
        offset = input_offset;
67
400
    }
_ZN5doris36AggregateFunctionLinearHistogramDataILNS_13PrimitiveTypeE7EE14set_parametersEdd
Line
Count
Source
64
400
    void set_parameters(double input_interval, double input_offset) {
65
400
        interval = input_interval;
66
400
        offset = input_offset;
67
400
    }
_ZN5doris36AggregateFunctionLinearHistogramDataILNS_13PrimitiveTypeE8EE14set_parametersEdd
Line
Count
Source
64
20
    void set_parameters(double input_interval, double input_offset) {
65
20
        interval = input_interval;
66
20
        offset = input_offset;
67
20
    }
_ZN5doris36AggregateFunctionLinearHistogramDataILNS_13PrimitiveTypeE9EE14set_parametersEdd
Line
Count
Source
64
20
    void set_parameters(double input_interval, double input_offset) {
65
20
        interval = input_interval;
66
20
        offset = input_offset;
67
20
    }
_ZN5doris36AggregateFunctionLinearHistogramDataILNS_13PrimitiveTypeE28EE14set_parametersEdd
Line
Count
Source
64
20
    void set_parameters(double input_interval, double input_offset) {
65
20
        interval = input_interval;
66
20
        offset = input_offset;
67
20
    }
_ZN5doris36AggregateFunctionLinearHistogramDataILNS_13PrimitiveTypeE29EE14set_parametersEdd
Line
Count
Source
64
20
    void set_parameters(double input_interval, double input_offset) {
65
20
        interval = input_interval;
66
20
        offset = input_offset;
67
20
    }
_ZN5doris36AggregateFunctionLinearHistogramDataILNS_13PrimitiveTypeE30EE14set_parametersEdd
Line
Count
Source
64
20
    void set_parameters(double input_interval, double input_offset) {
65
20
        interval = input_interval;
66
20
        offset = input_offset;
67
20
    }
_ZN5doris36AggregateFunctionLinearHistogramDataILNS_13PrimitiveTypeE35EE14set_parametersEdd
Line
Count
Source
64
20
    void set_parameters(double input_interval, double input_offset) {
65
20
        interval = input_interval;
66
20
        offset = input_offset;
67
20
    }
68
69
    // add
70
2.12k
    void add(const typename PrimitiveTypeTraits<T>::CppType& value, UInt32 scale) {
71
2.12k
        double val = 0;
72
2.12k
        if constexpr (is_decimal(T)) {
73
80
            using NativeType = typename PrimitiveTypeTraits<T>::CppType::NativeType;
74
80
            val = static_cast<double>(value.value) /
75
80
                  static_cast<double>(decimal_scale_multiplier<NativeType>(scale));
76
2.04k
        } else {
77
2.04k
            val = static_cast<double>(value);
78
2.04k
        }
79
2.12k
        double key = std::floor((val - offset) / interval);
80
2.12k
        if (key <= MIN_BUCKET_KEY || key >= MAX_BUCKET_KEY) {
81
0
            throw doris::Exception(ErrorCode::INVALID_ARGUMENT, "{} exceeds the bucket range limit",
82
0
                                   val);
83
0
        }
84
2.12k
        buckets[static_cast<int32_t>(key)]++;
85
2.12k
    }
_ZN5doris36AggregateFunctionLinearHistogramDataILNS_13PrimitiveTypeE3EE3addERKaj
Line
Count
Source
70
400
    void add(const typename PrimitiveTypeTraits<T>::CppType& value, UInt32 scale) {
71
400
        double val = 0;
72
        if constexpr (is_decimal(T)) {
73
            using NativeType = typename PrimitiveTypeTraits<T>::CppType::NativeType;
74
            val = static_cast<double>(value.value) /
75
                  static_cast<double>(decimal_scale_multiplier<NativeType>(scale));
76
400
        } else {
77
400
            val = static_cast<double>(value);
78
400
        }
79
400
        double key = std::floor((val - offset) / interval);
80
400
        if (key <= MIN_BUCKET_KEY || key >= MAX_BUCKET_KEY) {
81
0
            throw doris::Exception(ErrorCode::INVALID_ARGUMENT, "{} exceeds the bucket range limit",
82
0
                                   val);
83
0
        }
84
400
        buckets[static_cast<int32_t>(key)]++;
85
400
    }
_ZN5doris36AggregateFunctionLinearHistogramDataILNS_13PrimitiveTypeE4EE3addERKsj
Line
Count
Source
70
400
    void add(const typename PrimitiveTypeTraits<T>::CppType& value, UInt32 scale) {
71
400
        double val = 0;
72
        if constexpr (is_decimal(T)) {
73
            using NativeType = typename PrimitiveTypeTraits<T>::CppType::NativeType;
74
            val = static_cast<double>(value.value) /
75
                  static_cast<double>(decimal_scale_multiplier<NativeType>(scale));
76
400
        } else {
77
400
            val = static_cast<double>(value);
78
400
        }
79
400
        double key = std::floor((val - offset) / interval);
80
400
        if (key <= MIN_BUCKET_KEY || key >= MAX_BUCKET_KEY) {
81
0
            throw doris::Exception(ErrorCode::INVALID_ARGUMENT, "{} exceeds the bucket range limit",
82
0
                                   val);
83
0
        }
84
400
        buckets[static_cast<int32_t>(key)]++;
85
400
    }
_ZN5doris36AggregateFunctionLinearHistogramDataILNS_13PrimitiveTypeE5EE3addERKij
Line
Count
Source
70
400
    void add(const typename PrimitiveTypeTraits<T>::CppType& value, UInt32 scale) {
71
400
        double val = 0;
72
        if constexpr (is_decimal(T)) {
73
            using NativeType = typename PrimitiveTypeTraits<T>::CppType::NativeType;
74
            val = static_cast<double>(value.value) /
75
                  static_cast<double>(decimal_scale_multiplier<NativeType>(scale));
76
400
        } else {
77
400
            val = static_cast<double>(value);
78
400
        }
79
400
        double key = std::floor((val - offset) / interval);
80
400
        if (key <= MIN_BUCKET_KEY || key >= MAX_BUCKET_KEY) {
81
0
            throw doris::Exception(ErrorCode::INVALID_ARGUMENT, "{} exceeds the bucket range limit",
82
0
                                   val);
83
0
        }
84
400
        buckets[static_cast<int32_t>(key)]++;
85
400
    }
_ZN5doris36AggregateFunctionLinearHistogramDataILNS_13PrimitiveTypeE6EE3addERKlj
Line
Count
Source
70
400
    void add(const typename PrimitiveTypeTraits<T>::CppType& value, UInt32 scale) {
71
400
        double val = 0;
72
        if constexpr (is_decimal(T)) {
73
            using NativeType = typename PrimitiveTypeTraits<T>::CppType::NativeType;
74
            val = static_cast<double>(value.value) /
75
                  static_cast<double>(decimal_scale_multiplier<NativeType>(scale));
76
400
        } else {
77
400
            val = static_cast<double>(value);
78
400
        }
79
400
        double key = std::floor((val - offset) / interval);
80
400
        if (key <= MIN_BUCKET_KEY || key >= MAX_BUCKET_KEY) {
81
0
            throw doris::Exception(ErrorCode::INVALID_ARGUMENT, "{} exceeds the bucket range limit",
82
0
                                   val);
83
0
        }
84
400
        buckets[static_cast<int32_t>(key)]++;
85
400
    }
_ZN5doris36AggregateFunctionLinearHistogramDataILNS_13PrimitiveTypeE7EE3addERKnj
Line
Count
Source
70
400
    void add(const typename PrimitiveTypeTraits<T>::CppType& value, UInt32 scale) {
71
400
        double val = 0;
72
        if constexpr (is_decimal(T)) {
73
            using NativeType = typename PrimitiveTypeTraits<T>::CppType::NativeType;
74
            val = static_cast<double>(value.value) /
75
                  static_cast<double>(decimal_scale_multiplier<NativeType>(scale));
76
400
        } else {
77
400
            val = static_cast<double>(value);
78
400
        }
79
400
        double key = std::floor((val - offset) / interval);
80
400
        if (key <= MIN_BUCKET_KEY || key >= MAX_BUCKET_KEY) {
81
0
            throw doris::Exception(ErrorCode::INVALID_ARGUMENT, "{} exceeds the bucket range limit",
82
0
                                   val);
83
0
        }
84
400
        buckets[static_cast<int32_t>(key)]++;
85
400
    }
_ZN5doris36AggregateFunctionLinearHistogramDataILNS_13PrimitiveTypeE8EE3addERKfj
Line
Count
Source
70
20
    void add(const typename PrimitiveTypeTraits<T>::CppType& value, UInt32 scale) {
71
20
        double val = 0;
72
        if constexpr (is_decimal(T)) {
73
            using NativeType = typename PrimitiveTypeTraits<T>::CppType::NativeType;
74
            val = static_cast<double>(value.value) /
75
                  static_cast<double>(decimal_scale_multiplier<NativeType>(scale));
76
20
        } else {
77
20
            val = static_cast<double>(value);
78
20
        }
79
20
        double key = std::floor((val - offset) / interval);
80
20
        if (key <= MIN_BUCKET_KEY || key >= MAX_BUCKET_KEY) {
81
0
            throw doris::Exception(ErrorCode::INVALID_ARGUMENT, "{} exceeds the bucket range limit",
82
0
                                   val);
83
0
        }
84
20
        buckets[static_cast<int32_t>(key)]++;
85
20
    }
_ZN5doris36AggregateFunctionLinearHistogramDataILNS_13PrimitiveTypeE9EE3addERKdj
Line
Count
Source
70
20
    void add(const typename PrimitiveTypeTraits<T>::CppType& value, UInt32 scale) {
71
20
        double val = 0;
72
        if constexpr (is_decimal(T)) {
73
            using NativeType = typename PrimitiveTypeTraits<T>::CppType::NativeType;
74
            val = static_cast<double>(value.value) /
75
                  static_cast<double>(decimal_scale_multiplier<NativeType>(scale));
76
20
        } else {
77
20
            val = static_cast<double>(value);
78
20
        }
79
20
        double key = std::floor((val - offset) / interval);
80
20
        if (key <= MIN_BUCKET_KEY || key >= MAX_BUCKET_KEY) {
81
0
            throw doris::Exception(ErrorCode::INVALID_ARGUMENT, "{} exceeds the bucket range limit",
82
0
                                   val);
83
0
        }
84
20
        buckets[static_cast<int32_t>(key)]++;
85
20
    }
_ZN5doris36AggregateFunctionLinearHistogramDataILNS_13PrimitiveTypeE28EE3addERKNS_7DecimalIiEEj
Line
Count
Source
70
20
    void add(const typename PrimitiveTypeTraits<T>::CppType& value, UInt32 scale) {
71
20
        double val = 0;
72
20
        if constexpr (is_decimal(T)) {
73
20
            using NativeType = typename PrimitiveTypeTraits<T>::CppType::NativeType;
74
20
            val = static_cast<double>(value.value) /
75
20
                  static_cast<double>(decimal_scale_multiplier<NativeType>(scale));
76
        } else {
77
            val = static_cast<double>(value);
78
        }
79
20
        double key = std::floor((val - offset) / interval);
80
20
        if (key <= MIN_BUCKET_KEY || key >= MAX_BUCKET_KEY) {
81
0
            throw doris::Exception(ErrorCode::INVALID_ARGUMENT, "{} exceeds the bucket range limit",
82
0
                                   val);
83
0
        }
84
20
        buckets[static_cast<int32_t>(key)]++;
85
20
    }
_ZN5doris36AggregateFunctionLinearHistogramDataILNS_13PrimitiveTypeE29EE3addERKNS_7DecimalIlEEj
Line
Count
Source
70
20
    void add(const typename PrimitiveTypeTraits<T>::CppType& value, UInt32 scale) {
71
20
        double val = 0;
72
20
        if constexpr (is_decimal(T)) {
73
20
            using NativeType = typename PrimitiveTypeTraits<T>::CppType::NativeType;
74
20
            val = static_cast<double>(value.value) /
75
20
                  static_cast<double>(decimal_scale_multiplier<NativeType>(scale));
76
        } else {
77
            val = static_cast<double>(value);
78
        }
79
20
        double key = std::floor((val - offset) / interval);
80
20
        if (key <= MIN_BUCKET_KEY || key >= MAX_BUCKET_KEY) {
81
0
            throw doris::Exception(ErrorCode::INVALID_ARGUMENT, "{} exceeds the bucket range limit",
82
0
                                   val);
83
0
        }
84
20
        buckets[static_cast<int32_t>(key)]++;
85
20
    }
_ZN5doris36AggregateFunctionLinearHistogramDataILNS_13PrimitiveTypeE30EE3addERKNS_12Decimal128V3Ej
Line
Count
Source
70
20
    void add(const typename PrimitiveTypeTraits<T>::CppType& value, UInt32 scale) {
71
20
        double val = 0;
72
20
        if constexpr (is_decimal(T)) {
73
20
            using NativeType = typename PrimitiveTypeTraits<T>::CppType::NativeType;
74
20
            val = static_cast<double>(value.value) /
75
20
                  static_cast<double>(decimal_scale_multiplier<NativeType>(scale));
76
        } else {
77
            val = static_cast<double>(value);
78
        }
79
20
        double key = std::floor((val - offset) / interval);
80
20
        if (key <= MIN_BUCKET_KEY || key >= MAX_BUCKET_KEY) {
81
0
            throw doris::Exception(ErrorCode::INVALID_ARGUMENT, "{} exceeds the bucket range limit",
82
0
                                   val);
83
0
        }
84
20
        buckets[static_cast<int32_t>(key)]++;
85
20
    }
_ZN5doris36AggregateFunctionLinearHistogramDataILNS_13PrimitiveTypeE35EE3addERKNS_7DecimalIN4wide7integerILm256EiEEEEj
Line
Count
Source
70
20
    void add(const typename PrimitiveTypeTraits<T>::CppType& value, UInt32 scale) {
71
20
        double val = 0;
72
20
        if constexpr (is_decimal(T)) {
73
20
            using NativeType = typename PrimitiveTypeTraits<T>::CppType::NativeType;
74
20
            val = static_cast<double>(value.value) /
75
20
                  static_cast<double>(decimal_scale_multiplier<NativeType>(scale));
76
        } else {
77
            val = static_cast<double>(value);
78
        }
79
20
        double key = std::floor((val - offset) / interval);
80
20
        if (key <= MIN_BUCKET_KEY || key >= MAX_BUCKET_KEY) {
81
0
            throw doris::Exception(ErrorCode::INVALID_ARGUMENT, "{} exceeds the bucket range limit",
82
0
                                   val);
83
0
        }
84
20
        buckets[static_cast<int32_t>(key)]++;
85
20
    }
86
87
    // merge
88
33
    void merge(const AggregateFunctionLinearHistogramData& rhs) {
89
33
        if (rhs.interval == 0) {
90
11
            return;
91
11
        }
92
93
22
        interval = rhs.interval;
94
22
        offset = rhs.offset;
95
96
165
        for (const auto& [key, count] : rhs.buckets) {
97
165
            buckets[key] += count;
98
165
        }
99
22
    }
_ZN5doris36AggregateFunctionLinearHistogramDataILNS_13PrimitiveTypeE3EE5mergeERKS2_
Line
Count
Source
88
3
    void merge(const AggregateFunctionLinearHistogramData& rhs) {
89
3
        if (rhs.interval == 0) {
90
1
            return;
91
1
        }
92
93
2
        interval = rhs.interval;
94
2
        offset = rhs.offset;
95
96
21
        for (const auto& [key, count] : rhs.buckets) {
97
21
            buckets[key] += count;
98
21
        }
99
2
    }
_ZN5doris36AggregateFunctionLinearHistogramDataILNS_13PrimitiveTypeE4EE5mergeERKS2_
Line
Count
Source
88
3
    void merge(const AggregateFunctionLinearHistogramData& rhs) {
89
3
        if (rhs.interval == 0) {
90
1
            return;
91
1
        }
92
93
2
        interval = rhs.interval;
94
2
        offset = rhs.offset;
95
96
21
        for (const auto& [key, count] : rhs.buckets) {
97
21
            buckets[key] += count;
98
21
        }
99
2
    }
_ZN5doris36AggregateFunctionLinearHistogramDataILNS_13PrimitiveTypeE5EE5mergeERKS2_
Line
Count
Source
88
3
    void merge(const AggregateFunctionLinearHistogramData& rhs) {
89
3
        if (rhs.interval == 0) {
90
1
            return;
91
1
        }
92
93
2
        interval = rhs.interval;
94
2
        offset = rhs.offset;
95
96
21
        for (const auto& [key, count] : rhs.buckets) {
97
21
            buckets[key] += count;
98
21
        }
99
2
    }
_ZN5doris36AggregateFunctionLinearHistogramDataILNS_13PrimitiveTypeE6EE5mergeERKS2_
Line
Count
Source
88
3
    void merge(const AggregateFunctionLinearHistogramData& rhs) {
89
3
        if (rhs.interval == 0) {
90
1
            return;
91
1
        }
92
93
2
        interval = rhs.interval;
94
2
        offset = rhs.offset;
95
96
21
        for (const auto& [key, count] : rhs.buckets) {
97
21
            buckets[key] += count;
98
21
        }
99
2
    }
_ZN5doris36AggregateFunctionLinearHistogramDataILNS_13PrimitiveTypeE7EE5mergeERKS2_
Line
Count
Source
88
3
    void merge(const AggregateFunctionLinearHistogramData& rhs) {
89
3
        if (rhs.interval == 0) {
90
1
            return;
91
1
        }
92
93
2
        interval = rhs.interval;
94
2
        offset = rhs.offset;
95
96
21
        for (const auto& [key, count] : rhs.buckets) {
97
21
            buckets[key] += count;
98
21
        }
99
2
    }
_ZN5doris36AggregateFunctionLinearHistogramDataILNS_13PrimitiveTypeE8EE5mergeERKS2_
Line
Count
Source
88
3
    void merge(const AggregateFunctionLinearHistogramData& rhs) {
89
3
        if (rhs.interval == 0) {
90
1
            return;
91
1
        }
92
93
2
        interval = rhs.interval;
94
2
        offset = rhs.offset;
95
96
10
        for (const auto& [key, count] : rhs.buckets) {
97
10
            buckets[key] += count;
98
10
        }
99
2
    }
_ZN5doris36AggregateFunctionLinearHistogramDataILNS_13PrimitiveTypeE9EE5mergeERKS2_
Line
Count
Source
88
3
    void merge(const AggregateFunctionLinearHistogramData& rhs) {
89
3
        if (rhs.interval == 0) {
90
1
            return;
91
1
        }
92
93
2
        interval = rhs.interval;
94
2
        offset = rhs.offset;
95
96
10
        for (const auto& [key, count] : rhs.buckets) {
97
10
            buckets[key] += count;
98
10
        }
99
2
    }
_ZN5doris36AggregateFunctionLinearHistogramDataILNS_13PrimitiveTypeE28EE5mergeERKS2_
Line
Count
Source
88
3
    void merge(const AggregateFunctionLinearHistogramData& rhs) {
89
3
        if (rhs.interval == 0) {
90
1
            return;
91
1
        }
92
93
2
        interval = rhs.interval;
94
2
        offset = rhs.offset;
95
96
10
        for (const auto& [key, count] : rhs.buckets) {
97
10
            buckets[key] += count;
98
10
        }
99
2
    }
_ZN5doris36AggregateFunctionLinearHistogramDataILNS_13PrimitiveTypeE29EE5mergeERKS2_
Line
Count
Source
88
3
    void merge(const AggregateFunctionLinearHistogramData& rhs) {
89
3
        if (rhs.interval == 0) {
90
1
            return;
91
1
        }
92
93
2
        interval = rhs.interval;
94
2
        offset = rhs.offset;
95
96
10
        for (const auto& [key, count] : rhs.buckets) {
97
10
            buckets[key] += count;
98
10
        }
99
2
    }
_ZN5doris36AggregateFunctionLinearHistogramDataILNS_13PrimitiveTypeE30EE5mergeERKS2_
Line
Count
Source
88
3
    void merge(const AggregateFunctionLinearHistogramData& rhs) {
89
3
        if (rhs.interval == 0) {
90
1
            return;
91
1
        }
92
93
2
        interval = rhs.interval;
94
2
        offset = rhs.offset;
95
96
10
        for (const auto& [key, count] : rhs.buckets) {
97
10
            buckets[key] += count;
98
10
        }
99
2
    }
_ZN5doris36AggregateFunctionLinearHistogramDataILNS_13PrimitiveTypeE35EE5mergeERKS2_
Line
Count
Source
88
3
    void merge(const AggregateFunctionLinearHistogramData& rhs) {
89
3
        if (rhs.interval == 0) {
90
1
            return;
91
1
        }
92
93
2
        interval = rhs.interval;
94
2
        offset = rhs.offset;
95
96
10
        for (const auto& [key, count] : rhs.buckets) {
97
10
            buckets[key] += count;
98
10
        }
99
2
    }
100
101
    // write
102
33
    void write(BufferWritable& buf) const {
103
33
        buf.write_binary(offset);
104
33
        buf.write_binary(interval);
105
33
        buf.write_binary(lower);
106
33
        buf.write_binary(upper);
107
33
        buf.write_binary(buckets.size());
108
165
        for (const auto& [key, count] : buckets) {
109
165
            buf.write_binary(key);
110
165
            buf.write_binary(count);
111
165
        }
112
33
    }
_ZNK5doris36AggregateFunctionLinearHistogramDataILNS_13PrimitiveTypeE3EE5writeERNS_14BufferWritableE
Line
Count
Source
102
3
    void write(BufferWritable& buf) const {
103
3
        buf.write_binary(offset);
104
3
        buf.write_binary(interval);
105
3
        buf.write_binary(lower);
106
3
        buf.write_binary(upper);
107
3
        buf.write_binary(buckets.size());
108
21
        for (const auto& [key, count] : buckets) {
109
21
            buf.write_binary(key);
110
21
            buf.write_binary(count);
111
21
        }
112
3
    }
_ZNK5doris36AggregateFunctionLinearHistogramDataILNS_13PrimitiveTypeE4EE5writeERNS_14BufferWritableE
Line
Count
Source
102
3
    void write(BufferWritable& buf) const {
103
3
        buf.write_binary(offset);
104
3
        buf.write_binary(interval);
105
3
        buf.write_binary(lower);
106
3
        buf.write_binary(upper);
107
3
        buf.write_binary(buckets.size());
108
21
        for (const auto& [key, count] : buckets) {
109
21
            buf.write_binary(key);
110
21
            buf.write_binary(count);
111
21
        }
112
3
    }
_ZNK5doris36AggregateFunctionLinearHistogramDataILNS_13PrimitiveTypeE5EE5writeERNS_14BufferWritableE
Line
Count
Source
102
3
    void write(BufferWritable& buf) const {
103
3
        buf.write_binary(offset);
104
3
        buf.write_binary(interval);
105
3
        buf.write_binary(lower);
106
3
        buf.write_binary(upper);
107
3
        buf.write_binary(buckets.size());
108
21
        for (const auto& [key, count] : buckets) {
109
21
            buf.write_binary(key);
110
21
            buf.write_binary(count);
111
21
        }
112
3
    }
_ZNK5doris36AggregateFunctionLinearHistogramDataILNS_13PrimitiveTypeE6EE5writeERNS_14BufferWritableE
Line
Count
Source
102
3
    void write(BufferWritable& buf) const {
103
3
        buf.write_binary(offset);
104
3
        buf.write_binary(interval);
105
3
        buf.write_binary(lower);
106
3
        buf.write_binary(upper);
107
3
        buf.write_binary(buckets.size());
108
21
        for (const auto& [key, count] : buckets) {
109
21
            buf.write_binary(key);
110
21
            buf.write_binary(count);
111
21
        }
112
3
    }
_ZNK5doris36AggregateFunctionLinearHistogramDataILNS_13PrimitiveTypeE7EE5writeERNS_14BufferWritableE
Line
Count
Source
102
3
    void write(BufferWritable& buf) const {
103
3
        buf.write_binary(offset);
104
3
        buf.write_binary(interval);
105
3
        buf.write_binary(lower);
106
3
        buf.write_binary(upper);
107
3
        buf.write_binary(buckets.size());
108
21
        for (const auto& [key, count] : buckets) {
109
21
            buf.write_binary(key);
110
21
            buf.write_binary(count);
111
21
        }
112
3
    }
_ZNK5doris36AggregateFunctionLinearHistogramDataILNS_13PrimitiveTypeE8EE5writeERNS_14BufferWritableE
Line
Count
Source
102
3
    void write(BufferWritable& buf) const {
103
3
        buf.write_binary(offset);
104
3
        buf.write_binary(interval);
105
3
        buf.write_binary(lower);
106
3
        buf.write_binary(upper);
107
3
        buf.write_binary(buckets.size());
108
10
        for (const auto& [key, count] : buckets) {
109
10
            buf.write_binary(key);
110
10
            buf.write_binary(count);
111
10
        }
112
3
    }
_ZNK5doris36AggregateFunctionLinearHistogramDataILNS_13PrimitiveTypeE9EE5writeERNS_14BufferWritableE
Line
Count
Source
102
3
    void write(BufferWritable& buf) const {
103
3
        buf.write_binary(offset);
104
3
        buf.write_binary(interval);
105
3
        buf.write_binary(lower);
106
3
        buf.write_binary(upper);
107
3
        buf.write_binary(buckets.size());
108
10
        for (const auto& [key, count] : buckets) {
109
10
            buf.write_binary(key);
110
10
            buf.write_binary(count);
111
10
        }
112
3
    }
_ZNK5doris36AggregateFunctionLinearHistogramDataILNS_13PrimitiveTypeE28EE5writeERNS_14BufferWritableE
Line
Count
Source
102
3
    void write(BufferWritable& buf) const {
103
3
        buf.write_binary(offset);
104
3
        buf.write_binary(interval);
105
3
        buf.write_binary(lower);
106
3
        buf.write_binary(upper);
107
3
        buf.write_binary(buckets.size());
108
10
        for (const auto& [key, count] : buckets) {
109
10
            buf.write_binary(key);
110
10
            buf.write_binary(count);
111
10
        }
112
3
    }
_ZNK5doris36AggregateFunctionLinearHistogramDataILNS_13PrimitiveTypeE29EE5writeERNS_14BufferWritableE
Line
Count
Source
102
3
    void write(BufferWritable& buf) const {
103
3
        buf.write_binary(offset);
104
3
        buf.write_binary(interval);
105
3
        buf.write_binary(lower);
106
3
        buf.write_binary(upper);
107
3
        buf.write_binary(buckets.size());
108
10
        for (const auto& [key, count] : buckets) {
109
10
            buf.write_binary(key);
110
10
            buf.write_binary(count);
111
10
        }
112
3
    }
_ZNK5doris36AggregateFunctionLinearHistogramDataILNS_13PrimitiveTypeE30EE5writeERNS_14BufferWritableE
Line
Count
Source
102
3
    void write(BufferWritable& buf) const {
103
3
        buf.write_binary(offset);
104
3
        buf.write_binary(interval);
105
3
        buf.write_binary(lower);
106
3
        buf.write_binary(upper);
107
3
        buf.write_binary(buckets.size());
108
10
        for (const auto& [key, count] : buckets) {
109
10
            buf.write_binary(key);
110
10
            buf.write_binary(count);
111
10
        }
112
3
    }
_ZNK5doris36AggregateFunctionLinearHistogramDataILNS_13PrimitiveTypeE35EE5writeERNS_14BufferWritableE
Line
Count
Source
102
3
    void write(BufferWritable& buf) const {
103
3
        buf.write_binary(offset);
104
3
        buf.write_binary(interval);
105
3
        buf.write_binary(lower);
106
3
        buf.write_binary(upper);
107
3
        buf.write_binary(buckets.size());
108
10
        for (const auto& [key, count] : buckets) {
109
10
            buf.write_binary(key);
110
10
            buf.write_binary(count);
111
10
        }
112
3
    }
113
114
    // read
115
33
    void read(BufferReadable& buf) {
116
33
        buf.read_binary(offset);
117
33
        buf.read_binary(interval);
118
33
        buf.read_binary(lower);
119
33
        buf.read_binary(upper);
120
33
        size_t size;
121
33
        buf.read_binary(size);
122
198
        for (size_t i = 0; i < size; i++) {
123
165
            int32_t key;
124
165
            size_t count;
125
165
            buf.read_binary(key);
126
165
            buf.read_binary(count);
127
165
            buckets[key] = count;
128
165
        }
129
33
    }
_ZN5doris36AggregateFunctionLinearHistogramDataILNS_13PrimitiveTypeE3EE4readERNS_14BufferReadableE
Line
Count
Source
115
3
    void read(BufferReadable& buf) {
116
3
        buf.read_binary(offset);
117
3
        buf.read_binary(interval);
118
3
        buf.read_binary(lower);
119
3
        buf.read_binary(upper);
120
3
        size_t size;
121
3
        buf.read_binary(size);
122
24
        for (size_t i = 0; i < size; i++) {
123
21
            int32_t key;
124
21
            size_t count;
125
21
            buf.read_binary(key);
126
21
            buf.read_binary(count);
127
21
            buckets[key] = count;
128
21
        }
129
3
    }
_ZN5doris36AggregateFunctionLinearHistogramDataILNS_13PrimitiveTypeE4EE4readERNS_14BufferReadableE
Line
Count
Source
115
3
    void read(BufferReadable& buf) {
116
3
        buf.read_binary(offset);
117
3
        buf.read_binary(interval);
118
3
        buf.read_binary(lower);
119
3
        buf.read_binary(upper);
120
3
        size_t size;
121
3
        buf.read_binary(size);
122
24
        for (size_t i = 0; i < size; i++) {
123
21
            int32_t key;
124
21
            size_t count;
125
21
            buf.read_binary(key);
126
21
            buf.read_binary(count);
127
21
            buckets[key] = count;
128
21
        }
129
3
    }
_ZN5doris36AggregateFunctionLinearHistogramDataILNS_13PrimitiveTypeE5EE4readERNS_14BufferReadableE
Line
Count
Source
115
3
    void read(BufferReadable& buf) {
116
3
        buf.read_binary(offset);
117
3
        buf.read_binary(interval);
118
3
        buf.read_binary(lower);
119
3
        buf.read_binary(upper);
120
3
        size_t size;
121
3
        buf.read_binary(size);
122
24
        for (size_t i = 0; i < size; i++) {
123
21
            int32_t key;
124
21
            size_t count;
125
21
            buf.read_binary(key);
126
21
            buf.read_binary(count);
127
21
            buckets[key] = count;
128
21
        }
129
3
    }
_ZN5doris36AggregateFunctionLinearHistogramDataILNS_13PrimitiveTypeE6EE4readERNS_14BufferReadableE
Line
Count
Source
115
3
    void read(BufferReadable& buf) {
116
3
        buf.read_binary(offset);
117
3
        buf.read_binary(interval);
118
3
        buf.read_binary(lower);
119
3
        buf.read_binary(upper);
120
3
        size_t size;
121
3
        buf.read_binary(size);
122
24
        for (size_t i = 0; i < size; i++) {
123
21
            int32_t key;
124
21
            size_t count;
125
21
            buf.read_binary(key);
126
21
            buf.read_binary(count);
127
21
            buckets[key] = count;
128
21
        }
129
3
    }
_ZN5doris36AggregateFunctionLinearHistogramDataILNS_13PrimitiveTypeE7EE4readERNS_14BufferReadableE
Line
Count
Source
115
3
    void read(BufferReadable& buf) {
116
3
        buf.read_binary(offset);
117
3
        buf.read_binary(interval);
118
3
        buf.read_binary(lower);
119
3
        buf.read_binary(upper);
120
3
        size_t size;
121
3
        buf.read_binary(size);
122
24
        for (size_t i = 0; i < size; i++) {
123
21
            int32_t key;
124
21
            size_t count;
125
21
            buf.read_binary(key);
126
21
            buf.read_binary(count);
127
21
            buckets[key] = count;
128
21
        }
129
3
    }
_ZN5doris36AggregateFunctionLinearHistogramDataILNS_13PrimitiveTypeE8EE4readERNS_14BufferReadableE
Line
Count
Source
115
3
    void read(BufferReadable& buf) {
116
3
        buf.read_binary(offset);
117
3
        buf.read_binary(interval);
118
3
        buf.read_binary(lower);
119
3
        buf.read_binary(upper);
120
3
        size_t size;
121
3
        buf.read_binary(size);
122
13
        for (size_t i = 0; i < size; i++) {
123
10
            int32_t key;
124
10
            size_t count;
125
10
            buf.read_binary(key);
126
10
            buf.read_binary(count);
127
10
            buckets[key] = count;
128
10
        }
129
3
    }
_ZN5doris36AggregateFunctionLinearHistogramDataILNS_13PrimitiveTypeE9EE4readERNS_14BufferReadableE
Line
Count
Source
115
3
    void read(BufferReadable& buf) {
116
3
        buf.read_binary(offset);
117
3
        buf.read_binary(interval);
118
3
        buf.read_binary(lower);
119
3
        buf.read_binary(upper);
120
3
        size_t size;
121
3
        buf.read_binary(size);
122
13
        for (size_t i = 0; i < size; i++) {
123
10
            int32_t key;
124
10
            size_t count;
125
10
            buf.read_binary(key);
126
10
            buf.read_binary(count);
127
10
            buckets[key] = count;
128
10
        }
129
3
    }
_ZN5doris36AggregateFunctionLinearHistogramDataILNS_13PrimitiveTypeE28EE4readERNS_14BufferReadableE
Line
Count
Source
115
3
    void read(BufferReadable& buf) {
116
3
        buf.read_binary(offset);
117
3
        buf.read_binary(interval);
118
3
        buf.read_binary(lower);
119
3
        buf.read_binary(upper);
120
3
        size_t size;
121
3
        buf.read_binary(size);
122
13
        for (size_t i = 0; i < size; i++) {
123
10
            int32_t key;
124
10
            size_t count;
125
10
            buf.read_binary(key);
126
10
            buf.read_binary(count);
127
10
            buckets[key] = count;
128
10
        }
129
3
    }
_ZN5doris36AggregateFunctionLinearHistogramDataILNS_13PrimitiveTypeE29EE4readERNS_14BufferReadableE
Line
Count
Source
115
3
    void read(BufferReadable& buf) {
116
3
        buf.read_binary(offset);
117
3
        buf.read_binary(interval);
118
3
        buf.read_binary(lower);
119
3
        buf.read_binary(upper);
120
3
        size_t size;
121
3
        buf.read_binary(size);
122
13
        for (size_t i = 0; i < size; i++) {
123
10
            int32_t key;
124
10
            size_t count;
125
10
            buf.read_binary(key);
126
10
            buf.read_binary(count);
127
10
            buckets[key] = count;
128
10
        }
129
3
    }
_ZN5doris36AggregateFunctionLinearHistogramDataILNS_13PrimitiveTypeE30EE4readERNS_14BufferReadableE
Line
Count
Source
115
3
    void read(BufferReadable& buf) {
116
3
        buf.read_binary(offset);
117
3
        buf.read_binary(interval);
118
3
        buf.read_binary(lower);
119
3
        buf.read_binary(upper);
120
3
        size_t size;
121
3
        buf.read_binary(size);
122
13
        for (size_t i = 0; i < size; i++) {
123
10
            int32_t key;
124
10
            size_t count;
125
10
            buf.read_binary(key);
126
10
            buf.read_binary(count);
127
10
            buckets[key] = count;
128
10
        }
129
3
    }
_ZN5doris36AggregateFunctionLinearHistogramDataILNS_13PrimitiveTypeE35EE4readERNS_14BufferReadableE
Line
Count
Source
115
3
    void read(BufferReadable& buf) {
116
3
        buf.read_binary(offset);
117
3
        buf.read_binary(interval);
118
3
        buf.read_binary(lower);
119
3
        buf.read_binary(upper);
120
3
        size_t size;
121
3
        buf.read_binary(size);
122
13
        for (size_t i = 0; i < size; i++) {
123
10
            int32_t key;
124
10
            size_t count;
125
10
            buf.read_binary(key);
126
10
            buf.read_binary(count);
127
10
            buckets[key] = count;
128
10
        }
129
3
    }
130
131
    // insert_result_into
132
66
    void insert_result_into(IColumn& to) const {
133
66
        std::vector<std::pair<int32_t, size_t>> bucket_vector(buckets.begin(), buckets.end());
134
66
        std::sort(bucket_vector.begin(), bucket_vector.end(),
135
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
135
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
135
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
135
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
135
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
135
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
135
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
135
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
135
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
135
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
135
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
135
16
                  [](const auto& lhs, const auto& rhs) { return lhs.first < rhs.first; });
136
137
66
        rapidjson::Document doc;
138
66
        doc.SetObject();
139
66
        rapidjson::Document::AllocatorType& allocator = doc.GetAllocator();
140
141
66
        unsigned num_buckets = bucket_vector.empty() ? 0
142
66
                                                     : bucket_vector.rbegin()->first -
143
44
                                                               bucket_vector.begin()->first + 1;
144
66
        doc.AddMember("num_buckets", num_buckets, allocator);
145
146
66
        rapidjson::Value bucket_arr(rapidjson::kArrayType);
147
66
        bucket_arr.Reserve(num_buckets, allocator);
148
149
66
        if (num_buckets > 0) {
150
44
            int32_t idx = bucket_vector.begin()->first;
151
44
            double left = bucket_vector.begin()->first * interval + offset;
152
44
            size_t count = 0;
153
44
            size_t acc_count = 0;
154
155
330
            for (const auto& [key, count_] : bucket_vector) {
156
756
                for (; idx <= key; ++idx) {
157
426
                    rapidjson::Value bucket_json(rapidjson::kObjectType);
158
426
                    bucket_json.AddMember("lower", left, allocator);
159
426
                    left += interval;
160
426
                    bucket_json.AddMember("upper", left, allocator);
161
426
                    count = (idx == key) ? count_ : 0;
162
426
                    bucket_json.AddMember("count", static_cast<uint64_t>(count), allocator);
163
426
                    acc_count += count;
164
426
                    bucket_json.AddMember("acc_count", static_cast<uint64_t>(acc_count), allocator);
165
426
                    bucket_arr.PushBack(bucket_json, allocator);
166
426
                }
167
330
            }
168
44
        }
169
170
66
        doc.AddMember("buckets", bucket_arr, allocator);
171
172
66
        rapidjson::StringBuffer buffer;
173
66
        rapidjson::Writer<rapidjson::StringBuffer> writer(buffer);
174
66
        doc.Accept(writer);
175
176
66
        auto& column = assert_cast<ColumnString&, TypeCheckOnRelease::DISABLE>(to);
177
66
        column.insert_data(buffer.GetString(), buffer.GetSize());
178
66
    }
_ZNK5doris36AggregateFunctionLinearHistogramDataILNS_13PrimitiveTypeE3EE18insert_result_intoERNS_7IColumnE
Line
Count
Source
132
6
    void insert_result_into(IColumn& to) const {
133
6
        std::vector<std::pair<int32_t, size_t>> bucket_vector(buckets.begin(), buckets.end());
134
6
        std::sort(bucket_vector.begin(), bucket_vector.end(),
135
6
                  [](const auto& lhs, const auto& rhs) { return lhs.first < rhs.first; });
136
137
6
        rapidjson::Document doc;
138
6
        doc.SetObject();
139
6
        rapidjson::Document::AllocatorType& allocator = doc.GetAllocator();
140
141
6
        unsigned num_buckets = bucket_vector.empty() ? 0
142
6
                                                     : bucket_vector.rbegin()->first -
143
4
                                                               bucket_vector.begin()->first + 1;
144
6
        doc.AddMember("num_buckets", num_buckets, allocator);
145
146
6
        rapidjson::Value bucket_arr(rapidjson::kArrayType);
147
6
        bucket_arr.Reserve(num_buckets, allocator);
148
149
6
        if (num_buckets > 0) {
150
4
            int32_t idx = bucket_vector.begin()->first;
151
4
            double left = bucket_vector.begin()->first * interval + offset;
152
4
            size_t count = 0;
153
4
            size_t acc_count = 0;
154
155
42
            for (const auto& [key, count_] : bucket_vector) {
156
84
                for (; idx <= key; ++idx) {
157
42
                    rapidjson::Value bucket_json(rapidjson::kObjectType);
158
42
                    bucket_json.AddMember("lower", left, allocator);
159
42
                    left += interval;
160
42
                    bucket_json.AddMember("upper", left, allocator);
161
42
                    count = (idx == key) ? count_ : 0;
162
42
                    bucket_json.AddMember("count", static_cast<uint64_t>(count), allocator);
163
42
                    acc_count += count;
164
42
                    bucket_json.AddMember("acc_count", static_cast<uint64_t>(acc_count), allocator);
165
42
                    bucket_arr.PushBack(bucket_json, allocator);
166
42
                }
167
42
            }
168
4
        }
169
170
6
        doc.AddMember("buckets", bucket_arr, allocator);
171
172
6
        rapidjson::StringBuffer buffer;
173
6
        rapidjson::Writer<rapidjson::StringBuffer> writer(buffer);
174
6
        doc.Accept(writer);
175
176
6
        auto& column = assert_cast<ColumnString&, TypeCheckOnRelease::DISABLE>(to);
177
6
        column.insert_data(buffer.GetString(), buffer.GetSize());
178
6
    }
_ZNK5doris36AggregateFunctionLinearHistogramDataILNS_13PrimitiveTypeE4EE18insert_result_intoERNS_7IColumnE
Line
Count
Source
132
6
    void insert_result_into(IColumn& to) const {
133
6
        std::vector<std::pair<int32_t, size_t>> bucket_vector(buckets.begin(), buckets.end());
134
6
        std::sort(bucket_vector.begin(), bucket_vector.end(),
135
6
                  [](const auto& lhs, const auto& rhs) { return lhs.first < rhs.first; });
136
137
6
        rapidjson::Document doc;
138
6
        doc.SetObject();
139
6
        rapidjson::Document::AllocatorType& allocator = doc.GetAllocator();
140
141
6
        unsigned num_buckets = bucket_vector.empty() ? 0
142
6
                                                     : bucket_vector.rbegin()->first -
143
4
                                                               bucket_vector.begin()->first + 1;
144
6
        doc.AddMember("num_buckets", num_buckets, allocator);
145
146
6
        rapidjson::Value bucket_arr(rapidjson::kArrayType);
147
6
        bucket_arr.Reserve(num_buckets, allocator);
148
149
6
        if (num_buckets > 0) {
150
4
            int32_t idx = bucket_vector.begin()->first;
151
4
            double left = bucket_vector.begin()->first * interval + offset;
152
4
            size_t count = 0;
153
4
            size_t acc_count = 0;
154
155
42
            for (const auto& [key, count_] : bucket_vector) {
156
84
                for (; idx <= key; ++idx) {
157
42
                    rapidjson::Value bucket_json(rapidjson::kObjectType);
158
42
                    bucket_json.AddMember("lower", left, allocator);
159
42
                    left += interval;
160
42
                    bucket_json.AddMember("upper", left, allocator);
161
42
                    count = (idx == key) ? count_ : 0;
162
42
                    bucket_json.AddMember("count", static_cast<uint64_t>(count), allocator);
163
42
                    acc_count += count;
164
42
                    bucket_json.AddMember("acc_count", static_cast<uint64_t>(acc_count), allocator);
165
42
                    bucket_arr.PushBack(bucket_json, allocator);
166
42
                }
167
42
            }
168
4
        }
169
170
6
        doc.AddMember("buckets", bucket_arr, allocator);
171
172
6
        rapidjson::StringBuffer buffer;
173
6
        rapidjson::Writer<rapidjson::StringBuffer> writer(buffer);
174
6
        doc.Accept(writer);
175
176
6
        auto& column = assert_cast<ColumnString&, TypeCheckOnRelease::DISABLE>(to);
177
6
        column.insert_data(buffer.GetString(), buffer.GetSize());
178
6
    }
_ZNK5doris36AggregateFunctionLinearHistogramDataILNS_13PrimitiveTypeE5EE18insert_result_intoERNS_7IColumnE
Line
Count
Source
132
6
    void insert_result_into(IColumn& to) const {
133
6
        std::vector<std::pair<int32_t, size_t>> bucket_vector(buckets.begin(), buckets.end());
134
6
        std::sort(bucket_vector.begin(), bucket_vector.end(),
135
6
                  [](const auto& lhs, const auto& rhs) { return lhs.first < rhs.first; });
136
137
6
        rapidjson::Document doc;
138
6
        doc.SetObject();
139
6
        rapidjson::Document::AllocatorType& allocator = doc.GetAllocator();
140
141
6
        unsigned num_buckets = bucket_vector.empty() ? 0
142
6
                                                     : bucket_vector.rbegin()->first -
143
4
                                                               bucket_vector.begin()->first + 1;
144
6
        doc.AddMember("num_buckets", num_buckets, allocator);
145
146
6
        rapidjson::Value bucket_arr(rapidjson::kArrayType);
147
6
        bucket_arr.Reserve(num_buckets, allocator);
148
149
6
        if (num_buckets > 0) {
150
4
            int32_t idx = bucket_vector.begin()->first;
151
4
            double left = bucket_vector.begin()->first * interval + offset;
152
4
            size_t count = 0;
153
4
            size_t acc_count = 0;
154
155
42
            for (const auto& [key, count_] : bucket_vector) {
156
84
                for (; idx <= key; ++idx) {
157
42
                    rapidjson::Value bucket_json(rapidjson::kObjectType);
158
42
                    bucket_json.AddMember("lower", left, allocator);
159
42
                    left += interval;
160
42
                    bucket_json.AddMember("upper", left, allocator);
161
42
                    count = (idx == key) ? count_ : 0;
162
42
                    bucket_json.AddMember("count", static_cast<uint64_t>(count), allocator);
163
42
                    acc_count += count;
164
42
                    bucket_json.AddMember("acc_count", static_cast<uint64_t>(acc_count), allocator);
165
42
                    bucket_arr.PushBack(bucket_json, allocator);
166
42
                }
167
42
            }
168
4
        }
169
170
6
        doc.AddMember("buckets", bucket_arr, allocator);
171
172
6
        rapidjson::StringBuffer buffer;
173
6
        rapidjson::Writer<rapidjson::StringBuffer> writer(buffer);
174
6
        doc.Accept(writer);
175
176
6
        auto& column = assert_cast<ColumnString&, TypeCheckOnRelease::DISABLE>(to);
177
6
        column.insert_data(buffer.GetString(), buffer.GetSize());
178
6
    }
_ZNK5doris36AggregateFunctionLinearHistogramDataILNS_13PrimitiveTypeE6EE18insert_result_intoERNS_7IColumnE
Line
Count
Source
132
6
    void insert_result_into(IColumn& to) const {
133
6
        std::vector<std::pair<int32_t, size_t>> bucket_vector(buckets.begin(), buckets.end());
134
6
        std::sort(bucket_vector.begin(), bucket_vector.end(),
135
6
                  [](const auto& lhs, const auto& rhs) { return lhs.first < rhs.first; });
136
137
6
        rapidjson::Document doc;
138
6
        doc.SetObject();
139
6
        rapidjson::Document::AllocatorType& allocator = doc.GetAllocator();
140
141
6
        unsigned num_buckets = bucket_vector.empty() ? 0
142
6
                                                     : bucket_vector.rbegin()->first -
143
4
                                                               bucket_vector.begin()->first + 1;
144
6
        doc.AddMember("num_buckets", num_buckets, allocator);
145
146
6
        rapidjson::Value bucket_arr(rapidjson::kArrayType);
147
6
        bucket_arr.Reserve(num_buckets, allocator);
148
149
6
        if (num_buckets > 0) {
150
4
            int32_t idx = bucket_vector.begin()->first;
151
4
            double left = bucket_vector.begin()->first * interval + offset;
152
4
            size_t count = 0;
153
4
            size_t acc_count = 0;
154
155
42
            for (const auto& [key, count_] : bucket_vector) {
156
84
                for (; idx <= key; ++idx) {
157
42
                    rapidjson::Value bucket_json(rapidjson::kObjectType);
158
42
                    bucket_json.AddMember("lower", left, allocator);
159
42
                    left += interval;
160
42
                    bucket_json.AddMember("upper", left, allocator);
161
42
                    count = (idx == key) ? count_ : 0;
162
42
                    bucket_json.AddMember("count", static_cast<uint64_t>(count), allocator);
163
42
                    acc_count += count;
164
42
                    bucket_json.AddMember("acc_count", static_cast<uint64_t>(acc_count), allocator);
165
42
                    bucket_arr.PushBack(bucket_json, allocator);
166
42
                }
167
42
            }
168
4
        }
169
170
6
        doc.AddMember("buckets", bucket_arr, allocator);
171
172
6
        rapidjson::StringBuffer buffer;
173
6
        rapidjson::Writer<rapidjson::StringBuffer> writer(buffer);
174
6
        doc.Accept(writer);
175
176
6
        auto& column = assert_cast<ColumnString&, TypeCheckOnRelease::DISABLE>(to);
177
6
        column.insert_data(buffer.GetString(), buffer.GetSize());
178
6
    }
_ZNK5doris36AggregateFunctionLinearHistogramDataILNS_13PrimitiveTypeE7EE18insert_result_intoERNS_7IColumnE
Line
Count
Source
132
6
    void insert_result_into(IColumn& to) const {
133
6
        std::vector<std::pair<int32_t, size_t>> bucket_vector(buckets.begin(), buckets.end());
134
6
        std::sort(bucket_vector.begin(), bucket_vector.end(),
135
6
                  [](const auto& lhs, const auto& rhs) { return lhs.first < rhs.first; });
136
137
6
        rapidjson::Document doc;
138
6
        doc.SetObject();
139
6
        rapidjson::Document::AllocatorType& allocator = doc.GetAllocator();
140
141
6
        unsigned num_buckets = bucket_vector.empty() ? 0
142
6
                                                     : bucket_vector.rbegin()->first -
143
4
                                                               bucket_vector.begin()->first + 1;
144
6
        doc.AddMember("num_buckets", num_buckets, allocator);
145
146
6
        rapidjson::Value bucket_arr(rapidjson::kArrayType);
147
6
        bucket_arr.Reserve(num_buckets, allocator);
148
149
6
        if (num_buckets > 0) {
150
4
            int32_t idx = bucket_vector.begin()->first;
151
4
            double left = bucket_vector.begin()->first * interval + offset;
152
4
            size_t count = 0;
153
4
            size_t acc_count = 0;
154
155
42
            for (const auto& [key, count_] : bucket_vector) {
156
84
                for (; idx <= key; ++idx) {
157
42
                    rapidjson::Value bucket_json(rapidjson::kObjectType);
158
42
                    bucket_json.AddMember("lower", left, allocator);
159
42
                    left += interval;
160
42
                    bucket_json.AddMember("upper", left, allocator);
161
42
                    count = (idx == key) ? count_ : 0;
162
42
                    bucket_json.AddMember("count", static_cast<uint64_t>(count), allocator);
163
42
                    acc_count += count;
164
42
                    bucket_json.AddMember("acc_count", static_cast<uint64_t>(acc_count), allocator);
165
42
                    bucket_arr.PushBack(bucket_json, allocator);
166
42
                }
167
42
            }
168
4
        }
169
170
6
        doc.AddMember("buckets", bucket_arr, allocator);
171
172
6
        rapidjson::StringBuffer buffer;
173
6
        rapidjson::Writer<rapidjson::StringBuffer> writer(buffer);
174
6
        doc.Accept(writer);
175
176
6
        auto& column = assert_cast<ColumnString&, TypeCheckOnRelease::DISABLE>(to);
177
6
        column.insert_data(buffer.GetString(), buffer.GetSize());
178
6
    }
_ZNK5doris36AggregateFunctionLinearHistogramDataILNS_13PrimitiveTypeE8EE18insert_result_intoERNS_7IColumnE
Line
Count
Source
132
6
    void insert_result_into(IColumn& to) const {
133
6
        std::vector<std::pair<int32_t, size_t>> bucket_vector(buckets.begin(), buckets.end());
134
6
        std::sort(bucket_vector.begin(), bucket_vector.end(),
135
6
                  [](const auto& lhs, const auto& rhs) { return lhs.first < rhs.first; });
136
137
6
        rapidjson::Document doc;
138
6
        doc.SetObject();
139
6
        rapidjson::Document::AllocatorType& allocator = doc.GetAllocator();
140
141
6
        unsigned num_buckets = bucket_vector.empty() ? 0
142
6
                                                     : bucket_vector.rbegin()->first -
143
4
                                                               bucket_vector.begin()->first + 1;
144
6
        doc.AddMember("num_buckets", num_buckets, allocator);
145
146
6
        rapidjson::Value bucket_arr(rapidjson::kArrayType);
147
6
        bucket_arr.Reserve(num_buckets, allocator);
148
149
6
        if (num_buckets > 0) {
150
4
            int32_t idx = bucket_vector.begin()->first;
151
4
            double left = bucket_vector.begin()->first * interval + offset;
152
4
            size_t count = 0;
153
4
            size_t acc_count = 0;
154
155
20
            for (const auto& [key, count_] : bucket_vector) {
156
56
                for (; idx <= key; ++idx) {
157
36
                    rapidjson::Value bucket_json(rapidjson::kObjectType);
158
36
                    bucket_json.AddMember("lower", left, allocator);
159
36
                    left += interval;
160
36
                    bucket_json.AddMember("upper", left, allocator);
161
36
                    count = (idx == key) ? count_ : 0;
162
36
                    bucket_json.AddMember("count", static_cast<uint64_t>(count), allocator);
163
36
                    acc_count += count;
164
36
                    bucket_json.AddMember("acc_count", static_cast<uint64_t>(acc_count), allocator);
165
36
                    bucket_arr.PushBack(bucket_json, allocator);
166
36
                }
167
20
            }
168
4
        }
169
170
6
        doc.AddMember("buckets", bucket_arr, allocator);
171
172
6
        rapidjson::StringBuffer buffer;
173
6
        rapidjson::Writer<rapidjson::StringBuffer> writer(buffer);
174
6
        doc.Accept(writer);
175
176
6
        auto& column = assert_cast<ColumnString&, TypeCheckOnRelease::DISABLE>(to);
177
6
        column.insert_data(buffer.GetString(), buffer.GetSize());
178
6
    }
_ZNK5doris36AggregateFunctionLinearHistogramDataILNS_13PrimitiveTypeE9EE18insert_result_intoERNS_7IColumnE
Line
Count
Source
132
6
    void insert_result_into(IColumn& to) const {
133
6
        std::vector<std::pair<int32_t, size_t>> bucket_vector(buckets.begin(), buckets.end());
134
6
        std::sort(bucket_vector.begin(), bucket_vector.end(),
135
6
                  [](const auto& lhs, const auto& rhs) { return lhs.first < rhs.first; });
136
137
6
        rapidjson::Document doc;
138
6
        doc.SetObject();
139
6
        rapidjson::Document::AllocatorType& allocator = doc.GetAllocator();
140
141
6
        unsigned num_buckets = bucket_vector.empty() ? 0
142
6
                                                     : bucket_vector.rbegin()->first -
143
4
                                                               bucket_vector.begin()->first + 1;
144
6
        doc.AddMember("num_buckets", num_buckets, allocator);
145
146
6
        rapidjson::Value bucket_arr(rapidjson::kArrayType);
147
6
        bucket_arr.Reserve(num_buckets, allocator);
148
149
6
        if (num_buckets > 0) {
150
4
            int32_t idx = bucket_vector.begin()->first;
151
4
            double left = bucket_vector.begin()->first * interval + offset;
152
4
            size_t count = 0;
153
4
            size_t acc_count = 0;
154
155
20
            for (const auto& [key, count_] : bucket_vector) {
156
56
                for (; idx <= key; ++idx) {
157
36
                    rapidjson::Value bucket_json(rapidjson::kObjectType);
158
36
                    bucket_json.AddMember("lower", left, allocator);
159
36
                    left += interval;
160
36
                    bucket_json.AddMember("upper", left, allocator);
161
36
                    count = (idx == key) ? count_ : 0;
162
36
                    bucket_json.AddMember("count", static_cast<uint64_t>(count), allocator);
163
36
                    acc_count += count;
164
36
                    bucket_json.AddMember("acc_count", static_cast<uint64_t>(acc_count), allocator);
165
36
                    bucket_arr.PushBack(bucket_json, allocator);
166
36
                }
167
20
            }
168
4
        }
169
170
6
        doc.AddMember("buckets", bucket_arr, allocator);
171
172
6
        rapidjson::StringBuffer buffer;
173
6
        rapidjson::Writer<rapidjson::StringBuffer> writer(buffer);
174
6
        doc.Accept(writer);
175
176
6
        auto& column = assert_cast<ColumnString&, TypeCheckOnRelease::DISABLE>(to);
177
6
        column.insert_data(buffer.GetString(), buffer.GetSize());
178
6
    }
_ZNK5doris36AggregateFunctionLinearHistogramDataILNS_13PrimitiveTypeE28EE18insert_result_intoERNS_7IColumnE
Line
Count
Source
132
6
    void insert_result_into(IColumn& to) const {
133
6
        std::vector<std::pair<int32_t, size_t>> bucket_vector(buckets.begin(), buckets.end());
134
6
        std::sort(bucket_vector.begin(), bucket_vector.end(),
135
6
                  [](const auto& lhs, const auto& rhs) { return lhs.first < rhs.first; });
136
137
6
        rapidjson::Document doc;
138
6
        doc.SetObject();
139
6
        rapidjson::Document::AllocatorType& allocator = doc.GetAllocator();
140
141
6
        unsigned num_buckets = bucket_vector.empty() ? 0
142
6
                                                     : bucket_vector.rbegin()->first -
143
4
                                                               bucket_vector.begin()->first + 1;
144
6
        doc.AddMember("num_buckets", num_buckets, allocator);
145
146
6
        rapidjson::Value bucket_arr(rapidjson::kArrayType);
147
6
        bucket_arr.Reserve(num_buckets, allocator);
148
149
6
        if (num_buckets > 0) {
150
4
            int32_t idx = bucket_vector.begin()->first;
151
4
            double left = bucket_vector.begin()->first * interval + offset;
152
4
            size_t count = 0;
153
4
            size_t acc_count = 0;
154
155
20
            for (const auto& [key, count_] : bucket_vector) {
156
56
                for (; idx <= key; ++idx) {
157
36
                    rapidjson::Value bucket_json(rapidjson::kObjectType);
158
36
                    bucket_json.AddMember("lower", left, allocator);
159
36
                    left += interval;
160
36
                    bucket_json.AddMember("upper", left, allocator);
161
36
                    count = (idx == key) ? count_ : 0;
162
36
                    bucket_json.AddMember("count", static_cast<uint64_t>(count), allocator);
163
36
                    acc_count += count;
164
36
                    bucket_json.AddMember("acc_count", static_cast<uint64_t>(acc_count), allocator);
165
36
                    bucket_arr.PushBack(bucket_json, allocator);
166
36
                }
167
20
            }
168
4
        }
169
170
6
        doc.AddMember("buckets", bucket_arr, allocator);
171
172
6
        rapidjson::StringBuffer buffer;
173
6
        rapidjson::Writer<rapidjson::StringBuffer> writer(buffer);
174
6
        doc.Accept(writer);
175
176
6
        auto& column = assert_cast<ColumnString&, TypeCheckOnRelease::DISABLE>(to);
177
6
        column.insert_data(buffer.GetString(), buffer.GetSize());
178
6
    }
_ZNK5doris36AggregateFunctionLinearHistogramDataILNS_13PrimitiveTypeE29EE18insert_result_intoERNS_7IColumnE
Line
Count
Source
132
6
    void insert_result_into(IColumn& to) const {
133
6
        std::vector<std::pair<int32_t, size_t>> bucket_vector(buckets.begin(), buckets.end());
134
6
        std::sort(bucket_vector.begin(), bucket_vector.end(),
135
6
                  [](const auto& lhs, const auto& rhs) { return lhs.first < rhs.first; });
136
137
6
        rapidjson::Document doc;
138
6
        doc.SetObject();
139
6
        rapidjson::Document::AllocatorType& allocator = doc.GetAllocator();
140
141
6
        unsigned num_buckets = bucket_vector.empty() ? 0
142
6
                                                     : bucket_vector.rbegin()->first -
143
4
                                                               bucket_vector.begin()->first + 1;
144
6
        doc.AddMember("num_buckets", num_buckets, allocator);
145
146
6
        rapidjson::Value bucket_arr(rapidjson::kArrayType);
147
6
        bucket_arr.Reserve(num_buckets, allocator);
148
149
6
        if (num_buckets > 0) {
150
4
            int32_t idx = bucket_vector.begin()->first;
151
4
            double left = bucket_vector.begin()->first * interval + offset;
152
4
            size_t count = 0;
153
4
            size_t acc_count = 0;
154
155
20
            for (const auto& [key, count_] : bucket_vector) {
156
56
                for (; idx <= key; ++idx) {
157
36
                    rapidjson::Value bucket_json(rapidjson::kObjectType);
158
36
                    bucket_json.AddMember("lower", left, allocator);
159
36
                    left += interval;
160
36
                    bucket_json.AddMember("upper", left, allocator);
161
36
                    count = (idx == key) ? count_ : 0;
162
36
                    bucket_json.AddMember("count", static_cast<uint64_t>(count), allocator);
163
36
                    acc_count += count;
164
36
                    bucket_json.AddMember("acc_count", static_cast<uint64_t>(acc_count), allocator);
165
36
                    bucket_arr.PushBack(bucket_json, allocator);
166
36
                }
167
20
            }
168
4
        }
169
170
6
        doc.AddMember("buckets", bucket_arr, allocator);
171
172
6
        rapidjson::StringBuffer buffer;
173
6
        rapidjson::Writer<rapidjson::StringBuffer> writer(buffer);
174
6
        doc.Accept(writer);
175
176
6
        auto& column = assert_cast<ColumnString&, TypeCheckOnRelease::DISABLE>(to);
177
6
        column.insert_data(buffer.GetString(), buffer.GetSize());
178
6
    }
_ZNK5doris36AggregateFunctionLinearHistogramDataILNS_13PrimitiveTypeE30EE18insert_result_intoERNS_7IColumnE
Line
Count
Source
132
6
    void insert_result_into(IColumn& to) const {
133
6
        std::vector<std::pair<int32_t, size_t>> bucket_vector(buckets.begin(), buckets.end());
134
6
        std::sort(bucket_vector.begin(), bucket_vector.end(),
135
6
                  [](const auto& lhs, const auto& rhs) { return lhs.first < rhs.first; });
136
137
6
        rapidjson::Document doc;
138
6
        doc.SetObject();
139
6
        rapidjson::Document::AllocatorType& allocator = doc.GetAllocator();
140
141
6
        unsigned num_buckets = bucket_vector.empty() ? 0
142
6
                                                     : bucket_vector.rbegin()->first -
143
4
                                                               bucket_vector.begin()->first + 1;
144
6
        doc.AddMember("num_buckets", num_buckets, allocator);
145
146
6
        rapidjson::Value bucket_arr(rapidjson::kArrayType);
147
6
        bucket_arr.Reserve(num_buckets, allocator);
148
149
6
        if (num_buckets > 0) {
150
4
            int32_t idx = bucket_vector.begin()->first;
151
4
            double left = bucket_vector.begin()->first * interval + offset;
152
4
            size_t count = 0;
153
4
            size_t acc_count = 0;
154
155
20
            for (const auto& [key, count_] : bucket_vector) {
156
56
                for (; idx <= key; ++idx) {
157
36
                    rapidjson::Value bucket_json(rapidjson::kObjectType);
158
36
                    bucket_json.AddMember("lower", left, allocator);
159
36
                    left += interval;
160
36
                    bucket_json.AddMember("upper", left, allocator);
161
36
                    count = (idx == key) ? count_ : 0;
162
36
                    bucket_json.AddMember("count", static_cast<uint64_t>(count), allocator);
163
36
                    acc_count += count;
164
36
                    bucket_json.AddMember("acc_count", static_cast<uint64_t>(acc_count), allocator);
165
36
                    bucket_arr.PushBack(bucket_json, allocator);
166
36
                }
167
20
            }
168
4
        }
169
170
6
        doc.AddMember("buckets", bucket_arr, allocator);
171
172
6
        rapidjson::StringBuffer buffer;
173
6
        rapidjson::Writer<rapidjson::StringBuffer> writer(buffer);
174
6
        doc.Accept(writer);
175
176
6
        auto& column = assert_cast<ColumnString&, TypeCheckOnRelease::DISABLE>(to);
177
6
        column.insert_data(buffer.GetString(), buffer.GetSize());
178
6
    }
_ZNK5doris36AggregateFunctionLinearHistogramDataILNS_13PrimitiveTypeE35EE18insert_result_intoERNS_7IColumnE
Line
Count
Source
132
6
    void insert_result_into(IColumn& to) const {
133
6
        std::vector<std::pair<int32_t, size_t>> bucket_vector(buckets.begin(), buckets.end());
134
6
        std::sort(bucket_vector.begin(), bucket_vector.end(),
135
6
                  [](const auto& lhs, const auto& rhs) { return lhs.first < rhs.first; });
136
137
6
        rapidjson::Document doc;
138
6
        doc.SetObject();
139
6
        rapidjson::Document::AllocatorType& allocator = doc.GetAllocator();
140
141
6
        unsigned num_buckets = bucket_vector.empty() ? 0
142
6
                                                     : bucket_vector.rbegin()->first -
143
4
                                                               bucket_vector.begin()->first + 1;
144
6
        doc.AddMember("num_buckets", num_buckets, allocator);
145
146
6
        rapidjson::Value bucket_arr(rapidjson::kArrayType);
147
6
        bucket_arr.Reserve(num_buckets, allocator);
148
149
6
        if (num_buckets > 0) {
150
4
            int32_t idx = bucket_vector.begin()->first;
151
4
            double left = bucket_vector.begin()->first * interval + offset;
152
4
            size_t count = 0;
153
4
            size_t acc_count = 0;
154
155
20
            for (const auto& [key, count_] : bucket_vector) {
156
56
                for (; idx <= key; ++idx) {
157
36
                    rapidjson::Value bucket_json(rapidjson::kObjectType);
158
36
                    bucket_json.AddMember("lower", left, allocator);
159
36
                    left += interval;
160
36
                    bucket_json.AddMember("upper", left, allocator);
161
36
                    count = (idx == key) ? count_ : 0;
162
36
                    bucket_json.AddMember("count", static_cast<uint64_t>(count), allocator);
163
36
                    acc_count += count;
164
36
                    bucket_json.AddMember("acc_count", static_cast<uint64_t>(acc_count), allocator);
165
36
                    bucket_arr.PushBack(bucket_json, allocator);
166
36
                }
167
20
            }
168
4
        }
169
170
6
        doc.AddMember("buckets", bucket_arr, allocator);
171
172
6
        rapidjson::StringBuffer buffer;
173
6
        rapidjson::Writer<rapidjson::StringBuffer> writer(buffer);
174
6
        doc.Accept(writer);
175
176
6
        auto& column = assert_cast<ColumnString&, TypeCheckOnRelease::DISABLE>(to);
177
6
        column.insert_data(buffer.GetString(), buffer.GetSize());
178
6
    }
179
};
180
181
class AggregateFunctionLinearHistogramConsts {
182
public:
183
    const static std::string NAME;
184
};
185
186
template <PrimitiveType T, typename Data, bool has_offset>
187
class AggregateFunctionLinearHistogram final
188
        : public IAggregateFunctionDataHelper<
189
                  Data, AggregateFunctionLinearHistogram<T, Data, has_offset>>,
190
          MultiExpression,
191
          NotNullableAggregateFunction {
192
public:
193
    using ColVecType = typename PrimitiveTypeTraits<T>::ColumnType;
194
195
    AggregateFunctionLinearHistogram(const DataTypes& argument_types_)
196
34
            : IAggregateFunctionDataHelper<Data,
197
34
                                           AggregateFunctionLinearHistogram<T, Data, has_offset>>(
198
34
                      argument_types_),
199
34
              scale(get_decimal_scale(*argument_types_[0])) {}
_ZN5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE3ENS_36AggregateFunctionLinearHistogramDataILS1_3EEELb1EEC2ERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS9_EE
Line
Count
Source
196
1
            : IAggregateFunctionDataHelper<Data,
197
1
                                           AggregateFunctionLinearHistogram<T, Data, has_offset>>(
198
1
                      argument_types_),
199
1
              scale(get_decimal_scale(*argument_types_[0])) {}
_ZN5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE4ENS_36AggregateFunctionLinearHistogramDataILS1_4EEELb1EEC2ERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS9_EE
Line
Count
Source
196
1
            : IAggregateFunctionDataHelper<Data,
197
1
                                           AggregateFunctionLinearHistogram<T, Data, has_offset>>(
198
1
                      argument_types_),
199
1
              scale(get_decimal_scale(*argument_types_[0])) {}
_ZN5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE5ENS_36AggregateFunctionLinearHistogramDataILS1_5EEELb1EEC2ERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS9_EE
Line
Count
Source
196
1
            : IAggregateFunctionDataHelper<Data,
197
1
                                           AggregateFunctionLinearHistogram<T, Data, has_offset>>(
198
1
                      argument_types_),
199
1
              scale(get_decimal_scale(*argument_types_[0])) {}
_ZN5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE6ENS_36AggregateFunctionLinearHistogramDataILS1_6EEELb1EEC2ERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS9_EE
Line
Count
Source
196
1
            : IAggregateFunctionDataHelper<Data,
197
1
                                           AggregateFunctionLinearHistogram<T, Data, has_offset>>(
198
1
                      argument_types_),
199
1
              scale(get_decimal_scale(*argument_types_[0])) {}
_ZN5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE7ENS_36AggregateFunctionLinearHistogramDataILS1_7EEELb1EEC2ERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS9_EE
Line
Count
Source
196
1
            : IAggregateFunctionDataHelper<Data,
197
1
                                           AggregateFunctionLinearHistogram<T, Data, has_offset>>(
198
1
                      argument_types_),
199
1
              scale(get_decimal_scale(*argument_types_[0])) {}
_ZN5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE8ENS_36AggregateFunctionLinearHistogramDataILS1_8EEELb1EEC2ERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS9_EE
Line
Count
Source
196
1
            : IAggregateFunctionDataHelper<Data,
197
1
                                           AggregateFunctionLinearHistogram<T, Data, has_offset>>(
198
1
                      argument_types_),
199
1
              scale(get_decimal_scale(*argument_types_[0])) {}
_ZN5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE9ENS_36AggregateFunctionLinearHistogramDataILS1_9EEELb1EEC2ERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS9_EE
Line
Count
Source
196
1
            : IAggregateFunctionDataHelper<Data,
197
1
                                           AggregateFunctionLinearHistogram<T, Data, has_offset>>(
198
1
                      argument_types_),
199
1
              scale(get_decimal_scale(*argument_types_[0])) {}
_ZN5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE28ENS_36AggregateFunctionLinearHistogramDataILS1_28EEELb1EEC2ERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS9_EE
Line
Count
Source
196
1
            : IAggregateFunctionDataHelper<Data,
197
1
                                           AggregateFunctionLinearHistogram<T, Data, has_offset>>(
198
1
                      argument_types_),
199
1
              scale(get_decimal_scale(*argument_types_[0])) {}
_ZN5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE29ENS_36AggregateFunctionLinearHistogramDataILS1_29EEELb1EEC2ERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS9_EE
Line
Count
Source
196
1
            : IAggregateFunctionDataHelper<Data,
197
1
                                           AggregateFunctionLinearHistogram<T, Data, has_offset>>(
198
1
                      argument_types_),
199
1
              scale(get_decimal_scale(*argument_types_[0])) {}
_ZN5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE30ENS_36AggregateFunctionLinearHistogramDataILS1_30EEELb1EEC2ERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS9_EE
Line
Count
Source
196
1
            : IAggregateFunctionDataHelper<Data,
197
1
                                           AggregateFunctionLinearHistogram<T, Data, has_offset>>(
198
1
                      argument_types_),
199
1
              scale(get_decimal_scale(*argument_types_[0])) {}
_ZN5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE35ENS_36AggregateFunctionLinearHistogramDataILS1_35EEELb1EEC2ERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS9_EE
Line
Count
Source
196
1
            : IAggregateFunctionDataHelper<Data,
197
1
                                           AggregateFunctionLinearHistogram<T, Data, has_offset>>(
198
1
                      argument_types_),
199
1
              scale(get_decimal_scale(*argument_types_[0])) {}
_ZN5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE3ENS_36AggregateFunctionLinearHistogramDataILS1_3EEELb0EEC2ERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS9_EE
Line
Count
Source
196
2
            : IAggregateFunctionDataHelper<Data,
197
2
                                           AggregateFunctionLinearHistogram<T, Data, has_offset>>(
198
2
                      argument_types_),
199
2
              scale(get_decimal_scale(*argument_types_[0])) {}
_ZN5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE4ENS_36AggregateFunctionLinearHistogramDataILS1_4EEELb0EEC2ERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS9_EE
Line
Count
Source
196
2
            : IAggregateFunctionDataHelper<Data,
197
2
                                           AggregateFunctionLinearHistogram<T, Data, has_offset>>(
198
2
                      argument_types_),
199
2
              scale(get_decimal_scale(*argument_types_[0])) {}
_ZN5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE5ENS_36AggregateFunctionLinearHistogramDataILS1_5EEELb0EEC2ERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS9_EE
Line
Count
Source
196
2
            : IAggregateFunctionDataHelper<Data,
197
2
                                           AggregateFunctionLinearHistogram<T, Data, has_offset>>(
198
2
                      argument_types_),
199
2
              scale(get_decimal_scale(*argument_types_[0])) {}
_ZN5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE6ENS_36AggregateFunctionLinearHistogramDataILS1_6EEELb0EEC2ERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS9_EE
Line
Count
Source
196
3
            : IAggregateFunctionDataHelper<Data,
197
3
                                           AggregateFunctionLinearHistogram<T, Data, has_offset>>(
198
3
                      argument_types_),
199
3
              scale(get_decimal_scale(*argument_types_[0])) {}
_ZN5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE7ENS_36AggregateFunctionLinearHistogramDataILS1_7EEELb0EEC2ERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS9_EE
Line
Count
Source
196
2
            : IAggregateFunctionDataHelper<Data,
197
2
                                           AggregateFunctionLinearHistogram<T, Data, has_offset>>(
198
2
                      argument_types_),
199
2
              scale(get_decimal_scale(*argument_types_[0])) {}
_ZN5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE8ENS_36AggregateFunctionLinearHistogramDataILS1_8EEELb0EEC2ERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS9_EE
Line
Count
Source
196
2
            : IAggregateFunctionDataHelper<Data,
197
2
                                           AggregateFunctionLinearHistogram<T, Data, has_offset>>(
198
2
                      argument_types_),
199
2
              scale(get_decimal_scale(*argument_types_[0])) {}
_ZN5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE9ENS_36AggregateFunctionLinearHistogramDataILS1_9EEELb0EEC2ERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS9_EE
Line
Count
Source
196
2
            : IAggregateFunctionDataHelper<Data,
197
2
                                           AggregateFunctionLinearHistogram<T, Data, has_offset>>(
198
2
                      argument_types_),
199
2
              scale(get_decimal_scale(*argument_types_[0])) {}
_ZN5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE28ENS_36AggregateFunctionLinearHistogramDataILS1_28EEELb0EEC2ERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS9_EE
Line
Count
Source
196
2
            : IAggregateFunctionDataHelper<Data,
197
2
                                           AggregateFunctionLinearHistogram<T, Data, has_offset>>(
198
2
                      argument_types_),
199
2
              scale(get_decimal_scale(*argument_types_[0])) {}
_ZN5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE29ENS_36AggregateFunctionLinearHistogramDataILS1_29EEELb0EEC2ERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS9_EE
Line
Count
Source
196
2
            : IAggregateFunctionDataHelper<Data,
197
2
                                           AggregateFunctionLinearHistogram<T, Data, has_offset>>(
198
2
                      argument_types_),
199
2
              scale(get_decimal_scale(*argument_types_[0])) {}
_ZN5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE30ENS_36AggregateFunctionLinearHistogramDataILS1_30EEELb0EEC2ERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS9_EE
Line
Count
Source
196
2
            : IAggregateFunctionDataHelper<Data,
197
2
                                           AggregateFunctionLinearHistogram<T, Data, has_offset>>(
198
2
                      argument_types_),
199
2
              scale(get_decimal_scale(*argument_types_[0])) {}
_ZN5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE35ENS_36AggregateFunctionLinearHistogramDataILS1_35EEELb0EEC2ERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS9_EE
Line
Count
Source
196
2
            : IAggregateFunctionDataHelper<Data,
197
2
                                           AggregateFunctionLinearHistogram<T, Data, has_offset>>(
198
2
                      argument_types_),
199
2
              scale(get_decimal_scale(*argument_types_[0])) {}
200
201
1
    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
_ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE6ENS_36AggregateFunctionLinearHistogramDataILS1_6EEELb0EE8get_nameB5cxx11Ev
Line
Count
Source
201
1
    std::string get_name() const override { return AggregateFunctionLinearHistogramConsts::NAME; }
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
202
203
2
    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
_ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE6ENS_36AggregateFunctionLinearHistogramDataILS1_6EEELb0EE15get_return_typeEv
Line
Count
Source
203
2
    DataTypePtr get_return_type() const override { return std::make_shared<DataTypeString>(); }
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
204
205
    void add(AggregateDataPtr __restrict place, const IColumn** columns, ssize_t row_num,
206
2.12k
             Arena&) const override {
207
2.12k
        double interval =
208
2.12k
                assert_cast<const ColumnFloat64&, TypeCheckOnRelease::DISABLE>(*columns[1])
209
2.12k
                        .get_data()[row_num];
210
2.12k
        if (interval <= 0) {
211
0
            throw doris::Exception(
212
0
                    ErrorCode::INVALID_ARGUMENT,
213
0
                    "Invalid interval {}, row_num {}, interval should be larger than 0", interval,
214
0
                    row_num);
215
0
        }
216
217
2.12k
        double offset = 0;
218
2.12k
        if constexpr (has_offset) {
219
1.06k
            offset = assert_cast<const ColumnFloat64&, TypeCheckOnRelease::DISABLE>(*columns[2])
220
1.06k
                             .get_data()[row_num];
221
1.06k
            if (offset < 0 || offset >= interval) {
222
0
                throw doris::Exception(
223
0
                        ErrorCode::INVALID_ARGUMENT,
224
0
                        "Invalid offset {}, row_num {}, offset should be in [0, interval)", offset,
225
0
                        row_num);
226
0
            }
227
1.06k
        }
228
229
1.06k
        this->data(place).set_parameters(interval, offset);
230
231
2.12k
        this->data(place).add(
232
2.12k
                assert_cast<const ColVecType&, TypeCheckOnRelease::DISABLE>(*columns[0])
233
2.12k
                        .get_data()[row_num],
234
2.12k
                scale);
235
2.12k
    }
_ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE3ENS_36AggregateFunctionLinearHistogramDataILS1_3EEELb1EE3addEPcPPKNS_7IColumnElRNS_5ArenaE
Line
Count
Source
206
200
             Arena&) const override {
207
200
        double interval =
208
200
                assert_cast<const ColumnFloat64&, TypeCheckOnRelease::DISABLE>(*columns[1])
209
200
                        .get_data()[row_num];
210
200
        if (interval <= 0) {
211
0
            throw doris::Exception(
212
0
                    ErrorCode::INVALID_ARGUMENT,
213
0
                    "Invalid interval {}, row_num {}, interval should be larger than 0", interval,
214
0
                    row_num);
215
0
        }
216
217
200
        double offset = 0;
218
200
        if constexpr (has_offset) {
219
200
            offset = assert_cast<const ColumnFloat64&, TypeCheckOnRelease::DISABLE>(*columns[2])
220
200
                             .get_data()[row_num];
221
200
            if (offset < 0 || offset >= interval) {
222
0
                throw doris::Exception(
223
0
                        ErrorCode::INVALID_ARGUMENT,
224
0
                        "Invalid offset {}, row_num {}, offset should be in [0, interval)", offset,
225
0
                        row_num);
226
0
            }
227
200
        }
228
229
200
        this->data(place).set_parameters(interval, offset);
230
231
200
        this->data(place).add(
232
200
                assert_cast<const ColVecType&, TypeCheckOnRelease::DISABLE>(*columns[0])
233
200
                        .get_data()[row_num],
234
200
                scale);
235
200
    }
_ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE4ENS_36AggregateFunctionLinearHistogramDataILS1_4EEELb1EE3addEPcPPKNS_7IColumnElRNS_5ArenaE
Line
Count
Source
206
200
             Arena&) const override {
207
200
        double interval =
208
200
                assert_cast<const ColumnFloat64&, TypeCheckOnRelease::DISABLE>(*columns[1])
209
200
                        .get_data()[row_num];
210
200
        if (interval <= 0) {
211
0
            throw doris::Exception(
212
0
                    ErrorCode::INVALID_ARGUMENT,
213
0
                    "Invalid interval {}, row_num {}, interval should be larger than 0", interval,
214
0
                    row_num);
215
0
        }
216
217
200
        double offset = 0;
218
200
        if constexpr (has_offset) {
219
200
            offset = assert_cast<const ColumnFloat64&, TypeCheckOnRelease::DISABLE>(*columns[2])
220
200
                             .get_data()[row_num];
221
200
            if (offset < 0 || offset >= interval) {
222
0
                throw doris::Exception(
223
0
                        ErrorCode::INVALID_ARGUMENT,
224
0
                        "Invalid offset {}, row_num {}, offset should be in [0, interval)", offset,
225
0
                        row_num);
226
0
            }
227
200
        }
228
229
200
        this->data(place).set_parameters(interval, offset);
230
231
200
        this->data(place).add(
232
200
                assert_cast<const ColVecType&, TypeCheckOnRelease::DISABLE>(*columns[0])
233
200
                        .get_data()[row_num],
234
200
                scale);
235
200
    }
_ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE5ENS_36AggregateFunctionLinearHistogramDataILS1_5EEELb1EE3addEPcPPKNS_7IColumnElRNS_5ArenaE
Line
Count
Source
206
200
             Arena&) const override {
207
200
        double interval =
208
200
                assert_cast<const ColumnFloat64&, TypeCheckOnRelease::DISABLE>(*columns[1])
209
200
                        .get_data()[row_num];
210
200
        if (interval <= 0) {
211
0
            throw doris::Exception(
212
0
                    ErrorCode::INVALID_ARGUMENT,
213
0
                    "Invalid interval {}, row_num {}, interval should be larger than 0", interval,
214
0
                    row_num);
215
0
        }
216
217
200
        double offset = 0;
218
200
        if constexpr (has_offset) {
219
200
            offset = assert_cast<const ColumnFloat64&, TypeCheckOnRelease::DISABLE>(*columns[2])
220
200
                             .get_data()[row_num];
221
200
            if (offset < 0 || offset >= interval) {
222
0
                throw doris::Exception(
223
0
                        ErrorCode::INVALID_ARGUMENT,
224
0
                        "Invalid offset {}, row_num {}, offset should be in [0, interval)", offset,
225
0
                        row_num);
226
0
            }
227
200
        }
228
229
200
        this->data(place).set_parameters(interval, offset);
230
231
200
        this->data(place).add(
232
200
                assert_cast<const ColVecType&, TypeCheckOnRelease::DISABLE>(*columns[0])
233
200
                        .get_data()[row_num],
234
200
                scale);
235
200
    }
_ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE6ENS_36AggregateFunctionLinearHistogramDataILS1_6EEELb1EE3addEPcPPKNS_7IColumnElRNS_5ArenaE
Line
Count
Source
206
200
             Arena&) const override {
207
200
        double interval =
208
200
                assert_cast<const ColumnFloat64&, TypeCheckOnRelease::DISABLE>(*columns[1])
209
200
                        .get_data()[row_num];
210
200
        if (interval <= 0) {
211
0
            throw doris::Exception(
212
0
                    ErrorCode::INVALID_ARGUMENT,
213
0
                    "Invalid interval {}, row_num {}, interval should be larger than 0", interval,
214
0
                    row_num);
215
0
        }
216
217
200
        double offset = 0;
218
200
        if constexpr (has_offset) {
219
200
            offset = assert_cast<const ColumnFloat64&, TypeCheckOnRelease::DISABLE>(*columns[2])
220
200
                             .get_data()[row_num];
221
200
            if (offset < 0 || offset >= interval) {
222
0
                throw doris::Exception(
223
0
                        ErrorCode::INVALID_ARGUMENT,
224
0
                        "Invalid offset {}, row_num {}, offset should be in [0, interval)", offset,
225
0
                        row_num);
226
0
            }
227
200
        }
228
229
200
        this->data(place).set_parameters(interval, offset);
230
231
200
        this->data(place).add(
232
200
                assert_cast<const ColVecType&, TypeCheckOnRelease::DISABLE>(*columns[0])
233
200
                        .get_data()[row_num],
234
200
                scale);
235
200
    }
_ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE7ENS_36AggregateFunctionLinearHistogramDataILS1_7EEELb1EE3addEPcPPKNS_7IColumnElRNS_5ArenaE
Line
Count
Source
206
200
             Arena&) const override {
207
200
        double interval =
208
200
                assert_cast<const ColumnFloat64&, TypeCheckOnRelease::DISABLE>(*columns[1])
209
200
                        .get_data()[row_num];
210
200
        if (interval <= 0) {
211
0
            throw doris::Exception(
212
0
                    ErrorCode::INVALID_ARGUMENT,
213
0
                    "Invalid interval {}, row_num {}, interval should be larger than 0", interval,
214
0
                    row_num);
215
0
        }
216
217
200
        double offset = 0;
218
200
        if constexpr (has_offset) {
219
200
            offset = assert_cast<const ColumnFloat64&, TypeCheckOnRelease::DISABLE>(*columns[2])
220
200
                             .get_data()[row_num];
221
200
            if (offset < 0 || offset >= interval) {
222
0
                throw doris::Exception(
223
0
                        ErrorCode::INVALID_ARGUMENT,
224
0
                        "Invalid offset {}, row_num {}, offset should be in [0, interval)", offset,
225
0
                        row_num);
226
0
            }
227
200
        }
228
229
200
        this->data(place).set_parameters(interval, offset);
230
231
200
        this->data(place).add(
232
200
                assert_cast<const ColVecType&, TypeCheckOnRelease::DISABLE>(*columns[0])
233
200
                        .get_data()[row_num],
234
200
                scale);
235
200
    }
_ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE8ENS_36AggregateFunctionLinearHistogramDataILS1_8EEELb1EE3addEPcPPKNS_7IColumnElRNS_5ArenaE
Line
Count
Source
206
10
             Arena&) const override {
207
10
        double interval =
208
10
                assert_cast<const ColumnFloat64&, TypeCheckOnRelease::DISABLE>(*columns[1])
209
10
                        .get_data()[row_num];
210
10
        if (interval <= 0) {
211
0
            throw doris::Exception(
212
0
                    ErrorCode::INVALID_ARGUMENT,
213
0
                    "Invalid interval {}, row_num {}, interval should be larger than 0", interval,
214
0
                    row_num);
215
0
        }
216
217
10
        double offset = 0;
218
10
        if constexpr (has_offset) {
219
10
            offset = assert_cast<const ColumnFloat64&, TypeCheckOnRelease::DISABLE>(*columns[2])
220
10
                             .get_data()[row_num];
221
10
            if (offset < 0 || offset >= interval) {
222
0
                throw doris::Exception(
223
0
                        ErrorCode::INVALID_ARGUMENT,
224
0
                        "Invalid offset {}, row_num {}, offset should be in [0, interval)", offset,
225
0
                        row_num);
226
0
            }
227
10
        }
228
229
10
        this->data(place).set_parameters(interval, offset);
230
231
10
        this->data(place).add(
232
10
                assert_cast<const ColVecType&, TypeCheckOnRelease::DISABLE>(*columns[0])
233
10
                        .get_data()[row_num],
234
10
                scale);
235
10
    }
_ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE9ENS_36AggregateFunctionLinearHistogramDataILS1_9EEELb1EE3addEPcPPKNS_7IColumnElRNS_5ArenaE
Line
Count
Source
206
10
             Arena&) const override {
207
10
        double interval =
208
10
                assert_cast<const ColumnFloat64&, TypeCheckOnRelease::DISABLE>(*columns[1])
209
10
                        .get_data()[row_num];
210
10
        if (interval <= 0) {
211
0
            throw doris::Exception(
212
0
                    ErrorCode::INVALID_ARGUMENT,
213
0
                    "Invalid interval {}, row_num {}, interval should be larger than 0", interval,
214
0
                    row_num);
215
0
        }
216
217
10
        double offset = 0;
218
10
        if constexpr (has_offset) {
219
10
            offset = assert_cast<const ColumnFloat64&, TypeCheckOnRelease::DISABLE>(*columns[2])
220
10
                             .get_data()[row_num];
221
10
            if (offset < 0 || offset >= interval) {
222
0
                throw doris::Exception(
223
0
                        ErrorCode::INVALID_ARGUMENT,
224
0
                        "Invalid offset {}, row_num {}, offset should be in [0, interval)", offset,
225
0
                        row_num);
226
0
            }
227
10
        }
228
229
10
        this->data(place).set_parameters(interval, offset);
230
231
10
        this->data(place).add(
232
10
                assert_cast<const ColVecType&, TypeCheckOnRelease::DISABLE>(*columns[0])
233
10
                        .get_data()[row_num],
234
10
                scale);
235
10
    }
_ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE28ENS_36AggregateFunctionLinearHistogramDataILS1_28EEELb1EE3addEPcPPKNS_7IColumnElRNS_5ArenaE
Line
Count
Source
206
10
             Arena&) const override {
207
10
        double interval =
208
10
                assert_cast<const ColumnFloat64&, TypeCheckOnRelease::DISABLE>(*columns[1])
209
10
                        .get_data()[row_num];
210
10
        if (interval <= 0) {
211
0
            throw doris::Exception(
212
0
                    ErrorCode::INVALID_ARGUMENT,
213
0
                    "Invalid interval {}, row_num {}, interval should be larger than 0", interval,
214
0
                    row_num);
215
0
        }
216
217
10
        double offset = 0;
218
10
        if constexpr (has_offset) {
219
10
            offset = assert_cast<const ColumnFloat64&, TypeCheckOnRelease::DISABLE>(*columns[2])
220
10
                             .get_data()[row_num];
221
10
            if (offset < 0 || offset >= interval) {
222
0
                throw doris::Exception(
223
0
                        ErrorCode::INVALID_ARGUMENT,
224
0
                        "Invalid offset {}, row_num {}, offset should be in [0, interval)", offset,
225
0
                        row_num);
226
0
            }
227
10
        }
228
229
10
        this->data(place).set_parameters(interval, offset);
230
231
10
        this->data(place).add(
232
10
                assert_cast<const ColVecType&, TypeCheckOnRelease::DISABLE>(*columns[0])
233
10
                        .get_data()[row_num],
234
10
                scale);
235
10
    }
_ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE29ENS_36AggregateFunctionLinearHistogramDataILS1_29EEELb1EE3addEPcPPKNS_7IColumnElRNS_5ArenaE
Line
Count
Source
206
10
             Arena&) const override {
207
10
        double interval =
208
10
                assert_cast<const ColumnFloat64&, TypeCheckOnRelease::DISABLE>(*columns[1])
209
10
                        .get_data()[row_num];
210
10
        if (interval <= 0) {
211
0
            throw doris::Exception(
212
0
                    ErrorCode::INVALID_ARGUMENT,
213
0
                    "Invalid interval {}, row_num {}, interval should be larger than 0", interval,
214
0
                    row_num);
215
0
        }
216
217
10
        double offset = 0;
218
10
        if constexpr (has_offset) {
219
10
            offset = assert_cast<const ColumnFloat64&, TypeCheckOnRelease::DISABLE>(*columns[2])
220
10
                             .get_data()[row_num];
221
10
            if (offset < 0 || offset >= interval) {
222
0
                throw doris::Exception(
223
0
                        ErrorCode::INVALID_ARGUMENT,
224
0
                        "Invalid offset {}, row_num {}, offset should be in [0, interval)", offset,
225
0
                        row_num);
226
0
            }
227
10
        }
228
229
10
        this->data(place).set_parameters(interval, offset);
230
231
10
        this->data(place).add(
232
10
                assert_cast<const ColVecType&, TypeCheckOnRelease::DISABLE>(*columns[0])
233
10
                        .get_data()[row_num],
234
10
                scale);
235
10
    }
_ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE30ENS_36AggregateFunctionLinearHistogramDataILS1_30EEELb1EE3addEPcPPKNS_7IColumnElRNS_5ArenaE
Line
Count
Source
206
10
             Arena&) const override {
207
10
        double interval =
208
10
                assert_cast<const ColumnFloat64&, TypeCheckOnRelease::DISABLE>(*columns[1])
209
10
                        .get_data()[row_num];
210
10
        if (interval <= 0) {
211
0
            throw doris::Exception(
212
0
                    ErrorCode::INVALID_ARGUMENT,
213
0
                    "Invalid interval {}, row_num {}, interval should be larger than 0", interval,
214
0
                    row_num);
215
0
        }
216
217
10
        double offset = 0;
218
10
        if constexpr (has_offset) {
219
10
            offset = assert_cast<const ColumnFloat64&, TypeCheckOnRelease::DISABLE>(*columns[2])
220
10
                             .get_data()[row_num];
221
10
            if (offset < 0 || offset >= interval) {
222
0
                throw doris::Exception(
223
0
                        ErrorCode::INVALID_ARGUMENT,
224
0
                        "Invalid offset {}, row_num {}, offset should be in [0, interval)", offset,
225
0
                        row_num);
226
0
            }
227
10
        }
228
229
10
        this->data(place).set_parameters(interval, offset);
230
231
10
        this->data(place).add(
232
10
                assert_cast<const ColVecType&, TypeCheckOnRelease::DISABLE>(*columns[0])
233
10
                        .get_data()[row_num],
234
10
                scale);
235
10
    }
_ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE35ENS_36AggregateFunctionLinearHistogramDataILS1_35EEELb1EE3addEPcPPKNS_7IColumnElRNS_5ArenaE
Line
Count
Source
206
10
             Arena&) const override {
207
10
        double interval =
208
10
                assert_cast<const ColumnFloat64&, TypeCheckOnRelease::DISABLE>(*columns[1])
209
10
                        .get_data()[row_num];
210
10
        if (interval <= 0) {
211
0
            throw doris::Exception(
212
0
                    ErrorCode::INVALID_ARGUMENT,
213
0
                    "Invalid interval {}, row_num {}, interval should be larger than 0", interval,
214
0
                    row_num);
215
0
        }
216
217
10
        double offset = 0;
218
10
        if constexpr (has_offset) {
219
10
            offset = assert_cast<const ColumnFloat64&, TypeCheckOnRelease::DISABLE>(*columns[2])
220
10
                             .get_data()[row_num];
221
10
            if (offset < 0 || offset >= interval) {
222
0
                throw doris::Exception(
223
0
                        ErrorCode::INVALID_ARGUMENT,
224
0
                        "Invalid offset {}, row_num {}, offset should be in [0, interval)", offset,
225
0
                        row_num);
226
0
            }
227
10
        }
228
229
10
        this->data(place).set_parameters(interval, offset);
230
231
10
        this->data(place).add(
232
10
                assert_cast<const ColVecType&, TypeCheckOnRelease::DISABLE>(*columns[0])
233
10
                        .get_data()[row_num],
234
10
                scale);
235
10
    }
_ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE3ENS_36AggregateFunctionLinearHistogramDataILS1_3EEELb0EE3addEPcPPKNS_7IColumnElRNS_5ArenaE
Line
Count
Source
206
200
             Arena&) const override {
207
200
        double interval =
208
200
                assert_cast<const ColumnFloat64&, TypeCheckOnRelease::DISABLE>(*columns[1])
209
200
                        .get_data()[row_num];
210
200
        if (interval <= 0) {
211
0
            throw doris::Exception(
212
0
                    ErrorCode::INVALID_ARGUMENT,
213
0
                    "Invalid interval {}, row_num {}, interval should be larger than 0", interval,
214
0
                    row_num);
215
0
        }
216
217
200
        double offset = 0;
218
        if constexpr (has_offset) {
219
            offset = assert_cast<const ColumnFloat64&, TypeCheckOnRelease::DISABLE>(*columns[2])
220
                             .get_data()[row_num];
221
            if (offset < 0 || offset >= interval) {
222
                throw doris::Exception(
223
                        ErrorCode::INVALID_ARGUMENT,
224
                        "Invalid offset {}, row_num {}, offset should be in [0, interval)", offset,
225
                        row_num);
226
            }
227
        }
228
229
200
        this->data(place).set_parameters(interval, offset);
230
231
200
        this->data(place).add(
232
200
                assert_cast<const ColVecType&, TypeCheckOnRelease::DISABLE>(*columns[0])
233
200
                        .get_data()[row_num],
234
200
                scale);
235
200
    }
_ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE4ENS_36AggregateFunctionLinearHistogramDataILS1_4EEELb0EE3addEPcPPKNS_7IColumnElRNS_5ArenaE
Line
Count
Source
206
200
             Arena&) const override {
207
200
        double interval =
208
200
                assert_cast<const ColumnFloat64&, TypeCheckOnRelease::DISABLE>(*columns[1])
209
200
                        .get_data()[row_num];
210
200
        if (interval <= 0) {
211
0
            throw doris::Exception(
212
0
                    ErrorCode::INVALID_ARGUMENT,
213
0
                    "Invalid interval {}, row_num {}, interval should be larger than 0", interval,
214
0
                    row_num);
215
0
        }
216
217
200
        double offset = 0;
218
        if constexpr (has_offset) {
219
            offset = assert_cast<const ColumnFloat64&, TypeCheckOnRelease::DISABLE>(*columns[2])
220
                             .get_data()[row_num];
221
            if (offset < 0 || offset >= interval) {
222
                throw doris::Exception(
223
                        ErrorCode::INVALID_ARGUMENT,
224
                        "Invalid offset {}, row_num {}, offset should be in [0, interval)", offset,
225
                        row_num);
226
            }
227
        }
228
229
200
        this->data(place).set_parameters(interval, offset);
230
231
200
        this->data(place).add(
232
200
                assert_cast<const ColVecType&, TypeCheckOnRelease::DISABLE>(*columns[0])
233
200
                        .get_data()[row_num],
234
200
                scale);
235
200
    }
_ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE5ENS_36AggregateFunctionLinearHistogramDataILS1_5EEELb0EE3addEPcPPKNS_7IColumnElRNS_5ArenaE
Line
Count
Source
206
200
             Arena&) const override {
207
200
        double interval =
208
200
                assert_cast<const ColumnFloat64&, TypeCheckOnRelease::DISABLE>(*columns[1])
209
200
                        .get_data()[row_num];
210
200
        if (interval <= 0) {
211
0
            throw doris::Exception(
212
0
                    ErrorCode::INVALID_ARGUMENT,
213
0
                    "Invalid interval {}, row_num {}, interval should be larger than 0", interval,
214
0
                    row_num);
215
0
        }
216
217
200
        double offset = 0;
218
        if constexpr (has_offset) {
219
            offset = assert_cast<const ColumnFloat64&, TypeCheckOnRelease::DISABLE>(*columns[2])
220
                             .get_data()[row_num];
221
            if (offset < 0 || offset >= interval) {
222
                throw doris::Exception(
223
                        ErrorCode::INVALID_ARGUMENT,
224
                        "Invalid offset {}, row_num {}, offset should be in [0, interval)", offset,
225
                        row_num);
226
            }
227
        }
228
229
200
        this->data(place).set_parameters(interval, offset);
230
231
200
        this->data(place).add(
232
200
                assert_cast<const ColVecType&, TypeCheckOnRelease::DISABLE>(*columns[0])
233
200
                        .get_data()[row_num],
234
200
                scale);
235
200
    }
_ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE6ENS_36AggregateFunctionLinearHistogramDataILS1_6EEELb0EE3addEPcPPKNS_7IColumnElRNS_5ArenaE
Line
Count
Source
206
200
             Arena&) const override {
207
200
        double interval =
208
200
                assert_cast<const ColumnFloat64&, TypeCheckOnRelease::DISABLE>(*columns[1])
209
200
                        .get_data()[row_num];
210
200
        if (interval <= 0) {
211
0
            throw doris::Exception(
212
0
                    ErrorCode::INVALID_ARGUMENT,
213
0
                    "Invalid interval {}, row_num {}, interval should be larger than 0", interval,
214
0
                    row_num);
215
0
        }
216
217
200
        double offset = 0;
218
        if constexpr (has_offset) {
219
            offset = assert_cast<const ColumnFloat64&, TypeCheckOnRelease::DISABLE>(*columns[2])
220
                             .get_data()[row_num];
221
            if (offset < 0 || offset >= interval) {
222
                throw doris::Exception(
223
                        ErrorCode::INVALID_ARGUMENT,
224
                        "Invalid offset {}, row_num {}, offset should be in [0, interval)", offset,
225
                        row_num);
226
            }
227
        }
228
229
200
        this->data(place).set_parameters(interval, offset);
230
231
200
        this->data(place).add(
232
200
                assert_cast<const ColVecType&, TypeCheckOnRelease::DISABLE>(*columns[0])
233
200
                        .get_data()[row_num],
234
200
                scale);
235
200
    }
_ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE7ENS_36AggregateFunctionLinearHistogramDataILS1_7EEELb0EE3addEPcPPKNS_7IColumnElRNS_5ArenaE
Line
Count
Source
206
200
             Arena&) const override {
207
200
        double interval =
208
200
                assert_cast<const ColumnFloat64&, TypeCheckOnRelease::DISABLE>(*columns[1])
209
200
                        .get_data()[row_num];
210
200
        if (interval <= 0) {
211
0
            throw doris::Exception(
212
0
                    ErrorCode::INVALID_ARGUMENT,
213
0
                    "Invalid interval {}, row_num {}, interval should be larger than 0", interval,
214
0
                    row_num);
215
0
        }
216
217
200
        double offset = 0;
218
        if constexpr (has_offset) {
219
            offset = assert_cast<const ColumnFloat64&, TypeCheckOnRelease::DISABLE>(*columns[2])
220
                             .get_data()[row_num];
221
            if (offset < 0 || offset >= interval) {
222
                throw doris::Exception(
223
                        ErrorCode::INVALID_ARGUMENT,
224
                        "Invalid offset {}, row_num {}, offset should be in [0, interval)", offset,
225
                        row_num);
226
            }
227
        }
228
229
200
        this->data(place).set_parameters(interval, offset);
230
231
200
        this->data(place).add(
232
200
                assert_cast<const ColVecType&, TypeCheckOnRelease::DISABLE>(*columns[0])
233
200
                        .get_data()[row_num],
234
200
                scale);
235
200
    }
_ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE8ENS_36AggregateFunctionLinearHistogramDataILS1_8EEELb0EE3addEPcPPKNS_7IColumnElRNS_5ArenaE
Line
Count
Source
206
10
             Arena&) const override {
207
10
        double interval =
208
10
                assert_cast<const ColumnFloat64&, TypeCheckOnRelease::DISABLE>(*columns[1])
209
10
                        .get_data()[row_num];
210
10
        if (interval <= 0) {
211
0
            throw doris::Exception(
212
0
                    ErrorCode::INVALID_ARGUMENT,
213
0
                    "Invalid interval {}, row_num {}, interval should be larger than 0", interval,
214
0
                    row_num);
215
0
        }
216
217
10
        double offset = 0;
218
        if constexpr (has_offset) {
219
            offset = assert_cast<const ColumnFloat64&, TypeCheckOnRelease::DISABLE>(*columns[2])
220
                             .get_data()[row_num];
221
            if (offset < 0 || offset >= interval) {
222
                throw doris::Exception(
223
                        ErrorCode::INVALID_ARGUMENT,
224
                        "Invalid offset {}, row_num {}, offset should be in [0, interval)", offset,
225
                        row_num);
226
            }
227
        }
228
229
10
        this->data(place).set_parameters(interval, offset);
230
231
10
        this->data(place).add(
232
10
                assert_cast<const ColVecType&, TypeCheckOnRelease::DISABLE>(*columns[0])
233
10
                        .get_data()[row_num],
234
10
                scale);
235
10
    }
_ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE9ENS_36AggregateFunctionLinearHistogramDataILS1_9EEELb0EE3addEPcPPKNS_7IColumnElRNS_5ArenaE
Line
Count
Source
206
10
             Arena&) const override {
207
10
        double interval =
208
10
                assert_cast<const ColumnFloat64&, TypeCheckOnRelease::DISABLE>(*columns[1])
209
10
                        .get_data()[row_num];
210
10
        if (interval <= 0) {
211
0
            throw doris::Exception(
212
0
                    ErrorCode::INVALID_ARGUMENT,
213
0
                    "Invalid interval {}, row_num {}, interval should be larger than 0", interval,
214
0
                    row_num);
215
0
        }
216
217
10
        double offset = 0;
218
        if constexpr (has_offset) {
219
            offset = assert_cast<const ColumnFloat64&, TypeCheckOnRelease::DISABLE>(*columns[2])
220
                             .get_data()[row_num];
221
            if (offset < 0 || offset >= interval) {
222
                throw doris::Exception(
223
                        ErrorCode::INVALID_ARGUMENT,
224
                        "Invalid offset {}, row_num {}, offset should be in [0, interval)", offset,
225
                        row_num);
226
            }
227
        }
228
229
10
        this->data(place).set_parameters(interval, offset);
230
231
10
        this->data(place).add(
232
10
                assert_cast<const ColVecType&, TypeCheckOnRelease::DISABLE>(*columns[0])
233
10
                        .get_data()[row_num],
234
10
                scale);
235
10
    }
_ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE28ENS_36AggregateFunctionLinearHistogramDataILS1_28EEELb0EE3addEPcPPKNS_7IColumnElRNS_5ArenaE
Line
Count
Source
206
10
             Arena&) const override {
207
10
        double interval =
208
10
                assert_cast<const ColumnFloat64&, TypeCheckOnRelease::DISABLE>(*columns[1])
209
10
                        .get_data()[row_num];
210
10
        if (interval <= 0) {
211
0
            throw doris::Exception(
212
0
                    ErrorCode::INVALID_ARGUMENT,
213
0
                    "Invalid interval {}, row_num {}, interval should be larger than 0", interval,
214
0
                    row_num);
215
0
        }
216
217
10
        double offset = 0;
218
        if constexpr (has_offset) {
219
            offset = assert_cast<const ColumnFloat64&, TypeCheckOnRelease::DISABLE>(*columns[2])
220
                             .get_data()[row_num];
221
            if (offset < 0 || offset >= interval) {
222
                throw doris::Exception(
223
                        ErrorCode::INVALID_ARGUMENT,
224
                        "Invalid offset {}, row_num {}, offset should be in [0, interval)", offset,
225
                        row_num);
226
            }
227
        }
228
229
10
        this->data(place).set_parameters(interval, offset);
230
231
10
        this->data(place).add(
232
10
                assert_cast<const ColVecType&, TypeCheckOnRelease::DISABLE>(*columns[0])
233
10
                        .get_data()[row_num],
234
10
                scale);
235
10
    }
_ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE29ENS_36AggregateFunctionLinearHistogramDataILS1_29EEELb0EE3addEPcPPKNS_7IColumnElRNS_5ArenaE
Line
Count
Source
206
10
             Arena&) const override {
207
10
        double interval =
208
10
                assert_cast<const ColumnFloat64&, TypeCheckOnRelease::DISABLE>(*columns[1])
209
10
                        .get_data()[row_num];
210
10
        if (interval <= 0) {
211
0
            throw doris::Exception(
212
0
                    ErrorCode::INVALID_ARGUMENT,
213
0
                    "Invalid interval {}, row_num {}, interval should be larger than 0", interval,
214
0
                    row_num);
215
0
        }
216
217
10
        double offset = 0;
218
        if constexpr (has_offset) {
219
            offset = assert_cast<const ColumnFloat64&, TypeCheckOnRelease::DISABLE>(*columns[2])
220
                             .get_data()[row_num];
221
            if (offset < 0 || offset >= interval) {
222
                throw doris::Exception(
223
                        ErrorCode::INVALID_ARGUMENT,
224
                        "Invalid offset {}, row_num {}, offset should be in [0, interval)", offset,
225
                        row_num);
226
            }
227
        }
228
229
10
        this->data(place).set_parameters(interval, offset);
230
231
10
        this->data(place).add(
232
10
                assert_cast<const ColVecType&, TypeCheckOnRelease::DISABLE>(*columns[0])
233
10
                        .get_data()[row_num],
234
10
                scale);
235
10
    }
_ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE30ENS_36AggregateFunctionLinearHistogramDataILS1_30EEELb0EE3addEPcPPKNS_7IColumnElRNS_5ArenaE
Line
Count
Source
206
10
             Arena&) const override {
207
10
        double interval =
208
10
                assert_cast<const ColumnFloat64&, TypeCheckOnRelease::DISABLE>(*columns[1])
209
10
                        .get_data()[row_num];
210
10
        if (interval <= 0) {
211
0
            throw doris::Exception(
212
0
                    ErrorCode::INVALID_ARGUMENT,
213
0
                    "Invalid interval {}, row_num {}, interval should be larger than 0", interval,
214
0
                    row_num);
215
0
        }
216
217
10
        double offset = 0;
218
        if constexpr (has_offset) {
219
            offset = assert_cast<const ColumnFloat64&, TypeCheckOnRelease::DISABLE>(*columns[2])
220
                             .get_data()[row_num];
221
            if (offset < 0 || offset >= interval) {
222
                throw doris::Exception(
223
                        ErrorCode::INVALID_ARGUMENT,
224
                        "Invalid offset {}, row_num {}, offset should be in [0, interval)", offset,
225
                        row_num);
226
            }
227
        }
228
229
10
        this->data(place).set_parameters(interval, offset);
230
231
10
        this->data(place).add(
232
10
                assert_cast<const ColVecType&, TypeCheckOnRelease::DISABLE>(*columns[0])
233
10
                        .get_data()[row_num],
234
10
                scale);
235
10
    }
_ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE35ENS_36AggregateFunctionLinearHistogramDataILS1_35EEELb0EE3addEPcPPKNS_7IColumnElRNS_5ArenaE
Line
Count
Source
206
10
             Arena&) const override {
207
10
        double interval =
208
10
                assert_cast<const ColumnFloat64&, TypeCheckOnRelease::DISABLE>(*columns[1])
209
10
                        .get_data()[row_num];
210
10
        if (interval <= 0) {
211
0
            throw doris::Exception(
212
0
                    ErrorCode::INVALID_ARGUMENT,
213
0
                    "Invalid interval {}, row_num {}, interval should be larger than 0", interval,
214
0
                    row_num);
215
0
        }
216
217
10
        double offset = 0;
218
        if constexpr (has_offset) {
219
            offset = assert_cast<const ColumnFloat64&, TypeCheckOnRelease::DISABLE>(*columns[2])
220
                             .get_data()[row_num];
221
            if (offset < 0 || offset >= interval) {
222
                throw doris::Exception(
223
                        ErrorCode::INVALID_ARGUMENT,
224
                        "Invalid offset {}, row_num {}, offset should be in [0, interval)", offset,
225
                        row_num);
226
            }
227
        }
228
229
10
        this->data(place).set_parameters(interval, offset);
230
231
10
        this->data(place).add(
232
10
                assert_cast<const ColVecType&, TypeCheckOnRelease::DISABLE>(*columns[0])
233
10
                        .get_data()[row_num],
234
10
                scale);
235
10
    }
236
237
0
    void check_input_columns_type(const IColumn** columns) const override {
238
0
        this->template check_argument_column_type<ColVecType>(columns[0]);
239
0
        this->template check_argument_column_type<ColumnFloat64>(columns[1]);
240
0
        if constexpr (has_offset) {
241
0
            this->template check_argument_column_type<ColumnFloat64>(columns[2]);
242
0
        }
243
0
    }
Unexecuted instantiation: _ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE3ENS_36AggregateFunctionLinearHistogramDataILS1_3EEELb1EE24check_input_columns_typeEPPKNS_7IColumnE
Unexecuted instantiation: _ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE4ENS_36AggregateFunctionLinearHistogramDataILS1_4EEELb1EE24check_input_columns_typeEPPKNS_7IColumnE
Unexecuted instantiation: _ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE5ENS_36AggregateFunctionLinearHistogramDataILS1_5EEELb1EE24check_input_columns_typeEPPKNS_7IColumnE
Unexecuted instantiation: _ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE6ENS_36AggregateFunctionLinearHistogramDataILS1_6EEELb1EE24check_input_columns_typeEPPKNS_7IColumnE
Unexecuted instantiation: _ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE7ENS_36AggregateFunctionLinearHistogramDataILS1_7EEELb1EE24check_input_columns_typeEPPKNS_7IColumnE
Unexecuted instantiation: _ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE8ENS_36AggregateFunctionLinearHistogramDataILS1_8EEELb1EE24check_input_columns_typeEPPKNS_7IColumnE
Unexecuted instantiation: _ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE9ENS_36AggregateFunctionLinearHistogramDataILS1_9EEELb1EE24check_input_columns_typeEPPKNS_7IColumnE
Unexecuted instantiation: _ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE28ENS_36AggregateFunctionLinearHistogramDataILS1_28EEELb1EE24check_input_columns_typeEPPKNS_7IColumnE
Unexecuted instantiation: _ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE29ENS_36AggregateFunctionLinearHistogramDataILS1_29EEELb1EE24check_input_columns_typeEPPKNS_7IColumnE
Unexecuted instantiation: _ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE30ENS_36AggregateFunctionLinearHistogramDataILS1_30EEELb1EE24check_input_columns_typeEPPKNS_7IColumnE
Unexecuted instantiation: _ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE35ENS_36AggregateFunctionLinearHistogramDataILS1_35EEELb1EE24check_input_columns_typeEPPKNS_7IColumnE
Unexecuted instantiation: _ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE3ENS_36AggregateFunctionLinearHistogramDataILS1_3EEELb0EE24check_input_columns_typeEPPKNS_7IColumnE
Unexecuted instantiation: _ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE4ENS_36AggregateFunctionLinearHistogramDataILS1_4EEELb0EE24check_input_columns_typeEPPKNS_7IColumnE
Unexecuted instantiation: _ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE5ENS_36AggregateFunctionLinearHistogramDataILS1_5EEELb0EE24check_input_columns_typeEPPKNS_7IColumnE
Unexecuted instantiation: _ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE6ENS_36AggregateFunctionLinearHistogramDataILS1_6EEELb0EE24check_input_columns_typeEPPKNS_7IColumnE
Unexecuted instantiation: _ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE7ENS_36AggregateFunctionLinearHistogramDataILS1_7EEELb0EE24check_input_columns_typeEPPKNS_7IColumnE
Unexecuted instantiation: _ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE8ENS_36AggregateFunctionLinearHistogramDataILS1_8EEELb0EE24check_input_columns_typeEPPKNS_7IColumnE
Unexecuted instantiation: _ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE9ENS_36AggregateFunctionLinearHistogramDataILS1_9EEELb0EE24check_input_columns_typeEPPKNS_7IColumnE
Unexecuted instantiation: _ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE28ENS_36AggregateFunctionLinearHistogramDataILS1_28EEELb0EE24check_input_columns_typeEPPKNS_7IColumnE
Unexecuted instantiation: _ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE29ENS_36AggregateFunctionLinearHistogramDataILS1_29EEELb0EE24check_input_columns_typeEPPKNS_7IColumnE
Unexecuted instantiation: _ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE30ENS_36AggregateFunctionLinearHistogramDataILS1_30EEELb0EE24check_input_columns_typeEPPKNS_7IColumnE
Unexecuted instantiation: _ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE35ENS_36AggregateFunctionLinearHistogramDataILS1_35EEELb0EE24check_input_columns_typeEPPKNS_7IColumnE
244
245
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
246
247
    void merge(AggregateDataPtr __restrict place, ConstAggregateDataPtr rhs,
248
33
               Arena&) const override {
249
33
        this->data(place).merge(this->data(rhs));
250
33
    }
_ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE3ENS_36AggregateFunctionLinearHistogramDataILS1_3EEELb1EE5mergeEPcPKcRNS_5ArenaE
Line
Count
Source
248
1
               Arena&) const override {
249
1
        this->data(place).merge(this->data(rhs));
250
1
    }
_ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE4ENS_36AggregateFunctionLinearHistogramDataILS1_4EEELb1EE5mergeEPcPKcRNS_5ArenaE
Line
Count
Source
248
1
               Arena&) const override {
249
1
        this->data(place).merge(this->data(rhs));
250
1
    }
_ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE5ENS_36AggregateFunctionLinearHistogramDataILS1_5EEELb1EE5mergeEPcPKcRNS_5ArenaE
Line
Count
Source
248
1
               Arena&) const override {
249
1
        this->data(place).merge(this->data(rhs));
250
1
    }
_ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE6ENS_36AggregateFunctionLinearHistogramDataILS1_6EEELb1EE5mergeEPcPKcRNS_5ArenaE
Line
Count
Source
248
1
               Arena&) const override {
249
1
        this->data(place).merge(this->data(rhs));
250
1
    }
_ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE7ENS_36AggregateFunctionLinearHistogramDataILS1_7EEELb1EE5mergeEPcPKcRNS_5ArenaE
Line
Count
Source
248
1
               Arena&) const override {
249
1
        this->data(place).merge(this->data(rhs));
250
1
    }
_ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE8ENS_36AggregateFunctionLinearHistogramDataILS1_8EEELb1EE5mergeEPcPKcRNS_5ArenaE
Line
Count
Source
248
1
               Arena&) const override {
249
1
        this->data(place).merge(this->data(rhs));
250
1
    }
_ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE9ENS_36AggregateFunctionLinearHistogramDataILS1_9EEELb1EE5mergeEPcPKcRNS_5ArenaE
Line
Count
Source
248
1
               Arena&) const override {
249
1
        this->data(place).merge(this->data(rhs));
250
1
    }
_ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE28ENS_36AggregateFunctionLinearHistogramDataILS1_28EEELb1EE5mergeEPcPKcRNS_5ArenaE
Line
Count
Source
248
1
               Arena&) const override {
249
1
        this->data(place).merge(this->data(rhs));
250
1
    }
_ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE29ENS_36AggregateFunctionLinearHistogramDataILS1_29EEELb1EE5mergeEPcPKcRNS_5ArenaE
Line
Count
Source
248
1
               Arena&) const override {
249
1
        this->data(place).merge(this->data(rhs));
250
1
    }
_ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE30ENS_36AggregateFunctionLinearHistogramDataILS1_30EEELb1EE5mergeEPcPKcRNS_5ArenaE
Line
Count
Source
248
1
               Arena&) const override {
249
1
        this->data(place).merge(this->data(rhs));
250
1
    }
_ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE35ENS_36AggregateFunctionLinearHistogramDataILS1_35EEELb1EE5mergeEPcPKcRNS_5ArenaE
Line
Count
Source
248
1
               Arena&) const override {
249
1
        this->data(place).merge(this->data(rhs));
250
1
    }
_ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE3ENS_36AggregateFunctionLinearHistogramDataILS1_3EEELb0EE5mergeEPcPKcRNS_5ArenaE
Line
Count
Source
248
2
               Arena&) const override {
249
2
        this->data(place).merge(this->data(rhs));
250
2
    }
_ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE4ENS_36AggregateFunctionLinearHistogramDataILS1_4EEELb0EE5mergeEPcPKcRNS_5ArenaE
Line
Count
Source
248
2
               Arena&) const override {
249
2
        this->data(place).merge(this->data(rhs));
250
2
    }
_ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE5ENS_36AggregateFunctionLinearHistogramDataILS1_5EEELb0EE5mergeEPcPKcRNS_5ArenaE
Line
Count
Source
248
2
               Arena&) const override {
249
2
        this->data(place).merge(this->data(rhs));
250
2
    }
_ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE6ENS_36AggregateFunctionLinearHistogramDataILS1_6EEELb0EE5mergeEPcPKcRNS_5ArenaE
Line
Count
Source
248
2
               Arena&) const override {
249
2
        this->data(place).merge(this->data(rhs));
250
2
    }
_ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE7ENS_36AggregateFunctionLinearHistogramDataILS1_7EEELb0EE5mergeEPcPKcRNS_5ArenaE
Line
Count
Source
248
2
               Arena&) const override {
249
2
        this->data(place).merge(this->data(rhs));
250
2
    }
_ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE8ENS_36AggregateFunctionLinearHistogramDataILS1_8EEELb0EE5mergeEPcPKcRNS_5ArenaE
Line
Count
Source
248
2
               Arena&) const override {
249
2
        this->data(place).merge(this->data(rhs));
250
2
    }
_ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE9ENS_36AggregateFunctionLinearHistogramDataILS1_9EEELb0EE5mergeEPcPKcRNS_5ArenaE
Line
Count
Source
248
2
               Arena&) const override {
249
2
        this->data(place).merge(this->data(rhs));
250
2
    }
_ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE28ENS_36AggregateFunctionLinearHistogramDataILS1_28EEELb0EE5mergeEPcPKcRNS_5ArenaE
Line
Count
Source
248
2
               Arena&) const override {
249
2
        this->data(place).merge(this->data(rhs));
250
2
    }
_ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE29ENS_36AggregateFunctionLinearHistogramDataILS1_29EEELb0EE5mergeEPcPKcRNS_5ArenaE
Line
Count
Source
248
2
               Arena&) const override {
249
2
        this->data(place).merge(this->data(rhs));
250
2
    }
_ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE30ENS_36AggregateFunctionLinearHistogramDataILS1_30EEELb0EE5mergeEPcPKcRNS_5ArenaE
Line
Count
Source
248
2
               Arena&) const override {
249
2
        this->data(place).merge(this->data(rhs));
250
2
    }
_ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE35ENS_36AggregateFunctionLinearHistogramDataILS1_35EEELb0EE5mergeEPcPKcRNS_5ArenaE
Line
Count
Source
248
2
               Arena&) const override {
249
2
        this->data(place).merge(this->data(rhs));
250
2
    }
251
252
33
    void serialize(ConstAggregateDataPtr __restrict place, BufferWritable& buf) const override {
253
33
        this->data(place).write(buf);
254
33
    }
_ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE3ENS_36AggregateFunctionLinearHistogramDataILS1_3EEELb1EE9serializeEPKcRNS_14BufferWritableE
Line
Count
Source
252
1
    void serialize(ConstAggregateDataPtr __restrict place, BufferWritable& buf) const override {
253
1
        this->data(place).write(buf);
254
1
    }
_ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE4ENS_36AggregateFunctionLinearHistogramDataILS1_4EEELb1EE9serializeEPKcRNS_14BufferWritableE
Line
Count
Source
252
1
    void serialize(ConstAggregateDataPtr __restrict place, BufferWritable& buf) const override {
253
1
        this->data(place).write(buf);
254
1
    }
_ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE5ENS_36AggregateFunctionLinearHistogramDataILS1_5EEELb1EE9serializeEPKcRNS_14BufferWritableE
Line
Count
Source
252
1
    void serialize(ConstAggregateDataPtr __restrict place, BufferWritable& buf) const override {
253
1
        this->data(place).write(buf);
254
1
    }
_ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE6ENS_36AggregateFunctionLinearHistogramDataILS1_6EEELb1EE9serializeEPKcRNS_14BufferWritableE
Line
Count
Source
252
1
    void serialize(ConstAggregateDataPtr __restrict place, BufferWritable& buf) const override {
253
1
        this->data(place).write(buf);
254
1
    }
_ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE7ENS_36AggregateFunctionLinearHistogramDataILS1_7EEELb1EE9serializeEPKcRNS_14BufferWritableE
Line
Count
Source
252
1
    void serialize(ConstAggregateDataPtr __restrict place, BufferWritable& buf) const override {
253
1
        this->data(place).write(buf);
254
1
    }
_ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE8ENS_36AggregateFunctionLinearHistogramDataILS1_8EEELb1EE9serializeEPKcRNS_14BufferWritableE
Line
Count
Source
252
1
    void serialize(ConstAggregateDataPtr __restrict place, BufferWritable& buf) const override {
253
1
        this->data(place).write(buf);
254
1
    }
_ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE9ENS_36AggregateFunctionLinearHistogramDataILS1_9EEELb1EE9serializeEPKcRNS_14BufferWritableE
Line
Count
Source
252
1
    void serialize(ConstAggregateDataPtr __restrict place, BufferWritable& buf) const override {
253
1
        this->data(place).write(buf);
254
1
    }
_ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE28ENS_36AggregateFunctionLinearHistogramDataILS1_28EEELb1EE9serializeEPKcRNS_14BufferWritableE
Line
Count
Source
252
1
    void serialize(ConstAggregateDataPtr __restrict place, BufferWritable& buf) const override {
253
1
        this->data(place).write(buf);
254
1
    }
_ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE29ENS_36AggregateFunctionLinearHistogramDataILS1_29EEELb1EE9serializeEPKcRNS_14BufferWritableE
Line
Count
Source
252
1
    void serialize(ConstAggregateDataPtr __restrict place, BufferWritable& buf) const override {
253
1
        this->data(place).write(buf);
254
1
    }
_ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE30ENS_36AggregateFunctionLinearHistogramDataILS1_30EEELb1EE9serializeEPKcRNS_14BufferWritableE
Line
Count
Source
252
1
    void serialize(ConstAggregateDataPtr __restrict place, BufferWritable& buf) const override {
253
1
        this->data(place).write(buf);
254
1
    }
_ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE35ENS_36AggregateFunctionLinearHistogramDataILS1_35EEELb1EE9serializeEPKcRNS_14BufferWritableE
Line
Count
Source
252
1
    void serialize(ConstAggregateDataPtr __restrict place, BufferWritable& buf) const override {
253
1
        this->data(place).write(buf);
254
1
    }
_ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE3ENS_36AggregateFunctionLinearHistogramDataILS1_3EEELb0EE9serializeEPKcRNS_14BufferWritableE
Line
Count
Source
252
2
    void serialize(ConstAggregateDataPtr __restrict place, BufferWritable& buf) const override {
253
2
        this->data(place).write(buf);
254
2
    }
_ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE4ENS_36AggregateFunctionLinearHistogramDataILS1_4EEELb0EE9serializeEPKcRNS_14BufferWritableE
Line
Count
Source
252
2
    void serialize(ConstAggregateDataPtr __restrict place, BufferWritable& buf) const override {
253
2
        this->data(place).write(buf);
254
2
    }
_ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE5ENS_36AggregateFunctionLinearHistogramDataILS1_5EEELb0EE9serializeEPKcRNS_14BufferWritableE
Line
Count
Source
252
2
    void serialize(ConstAggregateDataPtr __restrict place, BufferWritable& buf) const override {
253
2
        this->data(place).write(buf);
254
2
    }
_ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE6ENS_36AggregateFunctionLinearHistogramDataILS1_6EEELb0EE9serializeEPKcRNS_14BufferWritableE
Line
Count
Source
252
2
    void serialize(ConstAggregateDataPtr __restrict place, BufferWritable& buf) const override {
253
2
        this->data(place).write(buf);
254
2
    }
_ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE7ENS_36AggregateFunctionLinearHistogramDataILS1_7EEELb0EE9serializeEPKcRNS_14BufferWritableE
Line
Count
Source
252
2
    void serialize(ConstAggregateDataPtr __restrict place, BufferWritable& buf) const override {
253
2
        this->data(place).write(buf);
254
2
    }
_ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE8ENS_36AggregateFunctionLinearHistogramDataILS1_8EEELb0EE9serializeEPKcRNS_14BufferWritableE
Line
Count
Source
252
2
    void serialize(ConstAggregateDataPtr __restrict place, BufferWritable& buf) const override {
253
2
        this->data(place).write(buf);
254
2
    }
_ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE9ENS_36AggregateFunctionLinearHistogramDataILS1_9EEELb0EE9serializeEPKcRNS_14BufferWritableE
Line
Count
Source
252
2
    void serialize(ConstAggregateDataPtr __restrict place, BufferWritable& buf) const override {
253
2
        this->data(place).write(buf);
254
2
    }
_ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE28ENS_36AggregateFunctionLinearHistogramDataILS1_28EEELb0EE9serializeEPKcRNS_14BufferWritableE
Line
Count
Source
252
2
    void serialize(ConstAggregateDataPtr __restrict place, BufferWritable& buf) const override {
253
2
        this->data(place).write(buf);
254
2
    }
_ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE29ENS_36AggregateFunctionLinearHistogramDataILS1_29EEELb0EE9serializeEPKcRNS_14BufferWritableE
Line
Count
Source
252
2
    void serialize(ConstAggregateDataPtr __restrict place, BufferWritable& buf) const override {
253
2
        this->data(place).write(buf);
254
2
    }
_ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE30ENS_36AggregateFunctionLinearHistogramDataILS1_30EEELb0EE9serializeEPKcRNS_14BufferWritableE
Line
Count
Source
252
2
    void serialize(ConstAggregateDataPtr __restrict place, BufferWritable& buf) const override {
253
2
        this->data(place).write(buf);
254
2
    }
_ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE35ENS_36AggregateFunctionLinearHistogramDataILS1_35EEELb0EE9serializeEPKcRNS_14BufferWritableE
Line
Count
Source
252
2
    void serialize(ConstAggregateDataPtr __restrict place, BufferWritable& buf) const override {
253
2
        this->data(place).write(buf);
254
2
    }
255
256
    void deserialize(AggregateDataPtr __restrict place, BufferReadable& buf,
257
33
                     Arena&) const override {
258
33
        this->data(place).read(buf);
259
33
    }
_ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE3ENS_36AggregateFunctionLinearHistogramDataILS1_3EEELb1EE11deserializeEPcRNS_14BufferReadableERNS_5ArenaE
Line
Count
Source
257
1
                     Arena&) const override {
258
1
        this->data(place).read(buf);
259
1
    }
_ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE4ENS_36AggregateFunctionLinearHistogramDataILS1_4EEELb1EE11deserializeEPcRNS_14BufferReadableERNS_5ArenaE
Line
Count
Source
257
1
                     Arena&) const override {
258
1
        this->data(place).read(buf);
259
1
    }
_ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE5ENS_36AggregateFunctionLinearHistogramDataILS1_5EEELb1EE11deserializeEPcRNS_14BufferReadableERNS_5ArenaE
Line
Count
Source
257
1
                     Arena&) const override {
258
1
        this->data(place).read(buf);
259
1
    }
_ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE6ENS_36AggregateFunctionLinearHistogramDataILS1_6EEELb1EE11deserializeEPcRNS_14BufferReadableERNS_5ArenaE
Line
Count
Source
257
1
                     Arena&) const override {
258
1
        this->data(place).read(buf);
259
1
    }
_ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE7ENS_36AggregateFunctionLinearHistogramDataILS1_7EEELb1EE11deserializeEPcRNS_14BufferReadableERNS_5ArenaE
Line
Count
Source
257
1
                     Arena&) const override {
258
1
        this->data(place).read(buf);
259
1
    }
_ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE8ENS_36AggregateFunctionLinearHistogramDataILS1_8EEELb1EE11deserializeEPcRNS_14BufferReadableERNS_5ArenaE
Line
Count
Source
257
1
                     Arena&) const override {
258
1
        this->data(place).read(buf);
259
1
    }
_ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE9ENS_36AggregateFunctionLinearHistogramDataILS1_9EEELb1EE11deserializeEPcRNS_14BufferReadableERNS_5ArenaE
Line
Count
Source
257
1
                     Arena&) const override {
258
1
        this->data(place).read(buf);
259
1
    }
_ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE28ENS_36AggregateFunctionLinearHistogramDataILS1_28EEELb1EE11deserializeEPcRNS_14BufferReadableERNS_5ArenaE
Line
Count
Source
257
1
                     Arena&) const override {
258
1
        this->data(place).read(buf);
259
1
    }
_ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE29ENS_36AggregateFunctionLinearHistogramDataILS1_29EEELb1EE11deserializeEPcRNS_14BufferReadableERNS_5ArenaE
Line
Count
Source
257
1
                     Arena&) const override {
258
1
        this->data(place).read(buf);
259
1
    }
_ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE30ENS_36AggregateFunctionLinearHistogramDataILS1_30EEELb1EE11deserializeEPcRNS_14BufferReadableERNS_5ArenaE
Line
Count
Source
257
1
                     Arena&) const override {
258
1
        this->data(place).read(buf);
259
1
    }
_ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE35ENS_36AggregateFunctionLinearHistogramDataILS1_35EEELb1EE11deserializeEPcRNS_14BufferReadableERNS_5ArenaE
Line
Count
Source
257
1
                     Arena&) const override {
258
1
        this->data(place).read(buf);
259
1
    }
_ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE3ENS_36AggregateFunctionLinearHistogramDataILS1_3EEELb0EE11deserializeEPcRNS_14BufferReadableERNS_5ArenaE
Line
Count
Source
257
2
                     Arena&) const override {
258
2
        this->data(place).read(buf);
259
2
    }
_ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE4ENS_36AggregateFunctionLinearHistogramDataILS1_4EEELb0EE11deserializeEPcRNS_14BufferReadableERNS_5ArenaE
Line
Count
Source
257
2
                     Arena&) const override {
258
2
        this->data(place).read(buf);
259
2
    }
_ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE5ENS_36AggregateFunctionLinearHistogramDataILS1_5EEELb0EE11deserializeEPcRNS_14BufferReadableERNS_5ArenaE
Line
Count
Source
257
2
                     Arena&) const override {
258
2
        this->data(place).read(buf);
259
2
    }
_ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE6ENS_36AggregateFunctionLinearHistogramDataILS1_6EEELb0EE11deserializeEPcRNS_14BufferReadableERNS_5ArenaE
Line
Count
Source
257
2
                     Arena&) const override {
258
2
        this->data(place).read(buf);
259
2
    }
_ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE7ENS_36AggregateFunctionLinearHistogramDataILS1_7EEELb0EE11deserializeEPcRNS_14BufferReadableERNS_5ArenaE
Line
Count
Source
257
2
                     Arena&) const override {
258
2
        this->data(place).read(buf);
259
2
    }
_ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE8ENS_36AggregateFunctionLinearHistogramDataILS1_8EEELb0EE11deserializeEPcRNS_14BufferReadableERNS_5ArenaE
Line
Count
Source
257
2
                     Arena&) const override {
258
2
        this->data(place).read(buf);
259
2
    }
_ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE9ENS_36AggregateFunctionLinearHistogramDataILS1_9EEELb0EE11deserializeEPcRNS_14BufferReadableERNS_5ArenaE
Line
Count
Source
257
2
                     Arena&) const override {
258
2
        this->data(place).read(buf);
259
2
    }
_ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE28ENS_36AggregateFunctionLinearHistogramDataILS1_28EEELb0EE11deserializeEPcRNS_14BufferReadableERNS_5ArenaE
Line
Count
Source
257
2
                     Arena&) const override {
258
2
        this->data(place).read(buf);
259
2
    }
_ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE29ENS_36AggregateFunctionLinearHistogramDataILS1_29EEELb0EE11deserializeEPcRNS_14BufferReadableERNS_5ArenaE
Line
Count
Source
257
2
                     Arena&) const override {
258
2
        this->data(place).read(buf);
259
2
    }
_ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE30ENS_36AggregateFunctionLinearHistogramDataILS1_30EEELb0EE11deserializeEPcRNS_14BufferReadableERNS_5ArenaE
Line
Count
Source
257
2
                     Arena&) const override {
258
2
        this->data(place).read(buf);
259
2
    }
_ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE35ENS_36AggregateFunctionLinearHistogramDataILS1_35EEELb0EE11deserializeEPcRNS_14BufferReadableERNS_5ArenaE
Line
Count
Source
257
2
                     Arena&) const override {
258
2
        this->data(place).read(buf);
259
2
    }
260
261
66
    void insert_result_into(ConstAggregateDataPtr __restrict place, IColumn& to) const override {
262
66
        this->data(place).insert_result_into(to);
263
66
    }
_ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE3ENS_36AggregateFunctionLinearHistogramDataILS1_3EEELb1EE18insert_result_intoEPKcRNS_7IColumnE
Line
Count
Source
261
2
    void insert_result_into(ConstAggregateDataPtr __restrict place, IColumn& to) const override {
262
2
        this->data(place).insert_result_into(to);
263
2
    }
_ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE4ENS_36AggregateFunctionLinearHistogramDataILS1_4EEELb1EE18insert_result_intoEPKcRNS_7IColumnE
Line
Count
Source
261
2
    void insert_result_into(ConstAggregateDataPtr __restrict place, IColumn& to) const override {
262
2
        this->data(place).insert_result_into(to);
263
2
    }
_ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE5ENS_36AggregateFunctionLinearHistogramDataILS1_5EEELb1EE18insert_result_intoEPKcRNS_7IColumnE
Line
Count
Source
261
2
    void insert_result_into(ConstAggregateDataPtr __restrict place, IColumn& to) const override {
262
2
        this->data(place).insert_result_into(to);
263
2
    }
_ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE6ENS_36AggregateFunctionLinearHistogramDataILS1_6EEELb1EE18insert_result_intoEPKcRNS_7IColumnE
Line
Count
Source
261
2
    void insert_result_into(ConstAggregateDataPtr __restrict place, IColumn& to) const override {
262
2
        this->data(place).insert_result_into(to);
263
2
    }
_ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE7ENS_36AggregateFunctionLinearHistogramDataILS1_7EEELb1EE18insert_result_intoEPKcRNS_7IColumnE
Line
Count
Source
261
2
    void insert_result_into(ConstAggregateDataPtr __restrict place, IColumn& to) const override {
262
2
        this->data(place).insert_result_into(to);
263
2
    }
_ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE8ENS_36AggregateFunctionLinearHistogramDataILS1_8EEELb1EE18insert_result_intoEPKcRNS_7IColumnE
Line
Count
Source
261
2
    void insert_result_into(ConstAggregateDataPtr __restrict place, IColumn& to) const override {
262
2
        this->data(place).insert_result_into(to);
263
2
    }
_ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE9ENS_36AggregateFunctionLinearHistogramDataILS1_9EEELb1EE18insert_result_intoEPKcRNS_7IColumnE
Line
Count
Source
261
2
    void insert_result_into(ConstAggregateDataPtr __restrict place, IColumn& to) const override {
262
2
        this->data(place).insert_result_into(to);
263
2
    }
_ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE28ENS_36AggregateFunctionLinearHistogramDataILS1_28EEELb1EE18insert_result_intoEPKcRNS_7IColumnE
Line
Count
Source
261
2
    void insert_result_into(ConstAggregateDataPtr __restrict place, IColumn& to) const override {
262
2
        this->data(place).insert_result_into(to);
263
2
    }
_ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE29ENS_36AggregateFunctionLinearHistogramDataILS1_29EEELb1EE18insert_result_intoEPKcRNS_7IColumnE
Line
Count
Source
261
2
    void insert_result_into(ConstAggregateDataPtr __restrict place, IColumn& to) const override {
262
2
        this->data(place).insert_result_into(to);
263
2
    }
_ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE30ENS_36AggregateFunctionLinearHistogramDataILS1_30EEELb1EE18insert_result_intoEPKcRNS_7IColumnE
Line
Count
Source
261
2
    void insert_result_into(ConstAggregateDataPtr __restrict place, IColumn& to) const override {
262
2
        this->data(place).insert_result_into(to);
263
2
    }
_ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE35ENS_36AggregateFunctionLinearHistogramDataILS1_35EEELb1EE18insert_result_intoEPKcRNS_7IColumnE
Line
Count
Source
261
2
    void insert_result_into(ConstAggregateDataPtr __restrict place, IColumn& to) const override {
262
2
        this->data(place).insert_result_into(to);
263
2
    }
_ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE3ENS_36AggregateFunctionLinearHistogramDataILS1_3EEELb0EE18insert_result_intoEPKcRNS_7IColumnE
Line
Count
Source
261
4
    void insert_result_into(ConstAggregateDataPtr __restrict place, IColumn& to) const override {
262
4
        this->data(place).insert_result_into(to);
263
4
    }
_ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE4ENS_36AggregateFunctionLinearHistogramDataILS1_4EEELb0EE18insert_result_intoEPKcRNS_7IColumnE
Line
Count
Source
261
4
    void insert_result_into(ConstAggregateDataPtr __restrict place, IColumn& to) const override {
262
4
        this->data(place).insert_result_into(to);
263
4
    }
_ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE5ENS_36AggregateFunctionLinearHistogramDataILS1_5EEELb0EE18insert_result_intoEPKcRNS_7IColumnE
Line
Count
Source
261
4
    void insert_result_into(ConstAggregateDataPtr __restrict place, IColumn& to) const override {
262
4
        this->data(place).insert_result_into(to);
263
4
    }
_ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE6ENS_36AggregateFunctionLinearHistogramDataILS1_6EEELb0EE18insert_result_intoEPKcRNS_7IColumnE
Line
Count
Source
261
4
    void insert_result_into(ConstAggregateDataPtr __restrict place, IColumn& to) const override {
262
4
        this->data(place).insert_result_into(to);
263
4
    }
_ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE7ENS_36AggregateFunctionLinearHistogramDataILS1_7EEELb0EE18insert_result_intoEPKcRNS_7IColumnE
Line
Count
Source
261
4
    void insert_result_into(ConstAggregateDataPtr __restrict place, IColumn& to) const override {
262
4
        this->data(place).insert_result_into(to);
263
4
    }
_ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE8ENS_36AggregateFunctionLinearHistogramDataILS1_8EEELb0EE18insert_result_intoEPKcRNS_7IColumnE
Line
Count
Source
261
4
    void insert_result_into(ConstAggregateDataPtr __restrict place, IColumn& to) const override {
262
4
        this->data(place).insert_result_into(to);
263
4
    }
_ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE9ENS_36AggregateFunctionLinearHistogramDataILS1_9EEELb0EE18insert_result_intoEPKcRNS_7IColumnE
Line
Count
Source
261
4
    void insert_result_into(ConstAggregateDataPtr __restrict place, IColumn& to) const override {
262
4
        this->data(place).insert_result_into(to);
263
4
    }
_ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE28ENS_36AggregateFunctionLinearHistogramDataILS1_28EEELb0EE18insert_result_intoEPKcRNS_7IColumnE
Line
Count
Source
261
4
    void insert_result_into(ConstAggregateDataPtr __restrict place, IColumn& to) const override {
262
4
        this->data(place).insert_result_into(to);
263
4
    }
_ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE29ENS_36AggregateFunctionLinearHistogramDataILS1_29EEELb0EE18insert_result_intoEPKcRNS_7IColumnE
Line
Count
Source
261
4
    void insert_result_into(ConstAggregateDataPtr __restrict place, IColumn& to) const override {
262
4
        this->data(place).insert_result_into(to);
263
4
    }
_ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE30ENS_36AggregateFunctionLinearHistogramDataILS1_30EEELb0EE18insert_result_intoEPKcRNS_7IColumnE
Line
Count
Source
261
4
    void insert_result_into(ConstAggregateDataPtr __restrict place, IColumn& to) const override {
262
4
        this->data(place).insert_result_into(to);
263
4
    }
_ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE35ENS_36AggregateFunctionLinearHistogramDataILS1_35EEELb0EE18insert_result_intoEPKcRNS_7IColumnE
Line
Count
Source
261
4
    void insert_result_into(ConstAggregateDataPtr __restrict place, IColumn& to) const override {
262
4
        this->data(place).insert_result_into(to);
263
4
    }
264
265
1
    void check_result_column_type(const IColumn& to) const override {
266
1
        IAggregateFunction::check_result_column_type(to);
267
1
        this->template check_result_column_type_as<ColumnString>(to);
268
1
    }
Unexecuted instantiation: _ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE3ENS_36AggregateFunctionLinearHistogramDataILS1_3EEELb1EE24check_result_column_typeERKNS_7IColumnE
Unexecuted instantiation: _ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE4ENS_36AggregateFunctionLinearHistogramDataILS1_4EEELb1EE24check_result_column_typeERKNS_7IColumnE
Unexecuted instantiation: _ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE5ENS_36AggregateFunctionLinearHistogramDataILS1_5EEELb1EE24check_result_column_typeERKNS_7IColumnE
Unexecuted instantiation: _ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE6ENS_36AggregateFunctionLinearHistogramDataILS1_6EEELb1EE24check_result_column_typeERKNS_7IColumnE
Unexecuted instantiation: _ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE7ENS_36AggregateFunctionLinearHistogramDataILS1_7EEELb1EE24check_result_column_typeERKNS_7IColumnE
Unexecuted instantiation: _ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE8ENS_36AggregateFunctionLinearHistogramDataILS1_8EEELb1EE24check_result_column_typeERKNS_7IColumnE
Unexecuted instantiation: _ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE9ENS_36AggregateFunctionLinearHistogramDataILS1_9EEELb1EE24check_result_column_typeERKNS_7IColumnE
Unexecuted instantiation: _ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE28ENS_36AggregateFunctionLinearHistogramDataILS1_28EEELb1EE24check_result_column_typeERKNS_7IColumnE
Unexecuted instantiation: _ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE29ENS_36AggregateFunctionLinearHistogramDataILS1_29EEELb1EE24check_result_column_typeERKNS_7IColumnE
Unexecuted instantiation: _ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE30ENS_36AggregateFunctionLinearHistogramDataILS1_30EEELb1EE24check_result_column_typeERKNS_7IColumnE
Unexecuted instantiation: _ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE35ENS_36AggregateFunctionLinearHistogramDataILS1_35EEELb1EE24check_result_column_typeERKNS_7IColumnE
Unexecuted instantiation: _ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE3ENS_36AggregateFunctionLinearHistogramDataILS1_3EEELb0EE24check_result_column_typeERKNS_7IColumnE
Unexecuted instantiation: _ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE4ENS_36AggregateFunctionLinearHistogramDataILS1_4EEELb0EE24check_result_column_typeERKNS_7IColumnE
Unexecuted instantiation: _ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE5ENS_36AggregateFunctionLinearHistogramDataILS1_5EEELb0EE24check_result_column_typeERKNS_7IColumnE
_ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE6ENS_36AggregateFunctionLinearHistogramDataILS1_6EEELb0EE24check_result_column_typeERKNS_7IColumnE
Line
Count
Source
265
1
    void check_result_column_type(const IColumn& to) const override {
266
1
        IAggregateFunction::check_result_column_type(to);
267
1
        this->template check_result_column_type_as<ColumnString>(to);
268
1
    }
Unexecuted instantiation: _ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE7ENS_36AggregateFunctionLinearHistogramDataILS1_7EEELb0EE24check_result_column_typeERKNS_7IColumnE
Unexecuted instantiation: _ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE8ENS_36AggregateFunctionLinearHistogramDataILS1_8EEELb0EE24check_result_column_typeERKNS_7IColumnE
Unexecuted instantiation: _ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE9ENS_36AggregateFunctionLinearHistogramDataILS1_9EEELb0EE24check_result_column_typeERKNS_7IColumnE
Unexecuted instantiation: _ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE28ENS_36AggregateFunctionLinearHistogramDataILS1_28EEELb0EE24check_result_column_typeERKNS_7IColumnE
Unexecuted instantiation: _ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE29ENS_36AggregateFunctionLinearHistogramDataILS1_29EEELb0EE24check_result_column_typeERKNS_7IColumnE
Unexecuted instantiation: _ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE30ENS_36AggregateFunctionLinearHistogramDataILS1_30EEELb0EE24check_result_column_typeERKNS_7IColumnE
Unexecuted instantiation: _ZNK5doris32AggregateFunctionLinearHistogramILNS_13PrimitiveTypeE35ENS_36AggregateFunctionLinearHistogramDataILS1_35EEELb0EE24check_result_column_typeERKNS_7IColumnE
269
270
private:
271
    UInt32 scale;
272
};
273
274
} // namespace doris