Coverage Report

Created: 2026-10-09 18:00

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
be/src/exprs/aggregate/single_value_data.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 <cstring>
21
22
#include "common/cast_set.h"
23
#include "common/compare.h"
24
#include "common/logging.h"
25
#include "core/assert_cast.h"
26
#include "core/column/column.h"
27
#include "core/column/column_decimal.h"
28
#include "core/column/column_string.h"
29
#include "core/custom_allocator.h"
30
#include "core/data_type/data_type.h"
31
#include "core/data_type/primitive_type.h"
32
#include "core/string_buffer.hpp"
33
#include "core/string_ref.h"
34
#include "core/types.h"
35
36
namespace doris {
37
38
class Arena;
39
40
/// Stores one fixed-size scalar value directly in the aggregate state.
41
template <PrimitiveType T>
42
struct SingleValueDataFixed {
43
private:
44
    using Self = SingleValueDataFixed;
45
    using ValueType = typename PrimitiveTypeTraits<T>::CppType;
46
47
98.6k
    static const ValueType& _value_at(const IColumn& column, size_t row_num) {
48
98.6k
        return assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType&,
49
98.6k
                           TypeCheckOnRelease::DISABLE>(column)
50
98.6k
                .get_data()[row_num];
51
98.6k
    }
Unexecuted instantiation: _ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE11EE9_value_atERKNS_7IColumnEm
_ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE12EE9_value_atERKNS_7IColumnEm
Line
Count
Source
47
26
    static const ValueType& _value_at(const IColumn& column, size_t row_num) {
48
26
        return assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType&,
49
26
                           TypeCheckOnRelease::DISABLE>(column)
50
26
                .get_data()[row_num];
51
26
    }
Unexecuted instantiation: _ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE25EE9_value_atERKNS_7IColumnEm
_ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE26EE9_value_atERKNS_7IColumnEm
Line
Count
Source
47
12
    static const ValueType& _value_at(const IColumn& column, size_t row_num) {
48
12
        return assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType&,
49
12
                           TypeCheckOnRelease::DISABLE>(column)
50
12
                .get_data()[row_num];
51
12
    }
_ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE43EE9_value_atERKNS_7IColumnEm
Line
Count
Source
47
26
    static const ValueType& _value_at(const IColumn& column, size_t row_num) {
48
26
        return assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType&,
49
26
                           TypeCheckOnRelease::DISABLE>(column)
50
26
                .get_data()[row_num];
51
26
    }
Unexecuted instantiation: _ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE42EE9_value_atERKNS_7IColumnEm
Unexecuted instantiation: _ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE27EE9_value_atERKNS_7IColumnEm
_ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE36EE9_value_atERKNS_7IColumnEm
Line
Count
Source
47
26
    static const ValueType& _value_at(const IColumn& column, size_t row_num) {
48
26
        return assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType&,
49
26
                           TypeCheckOnRelease::DISABLE>(column)
50
26
                .get_data()[row_num];
51
26
    }
_ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE37EE9_value_atERKNS_7IColumnEm
Line
Count
Source
47
26
    static const ValueType& _value_at(const IColumn& column, size_t row_num) {
48
26
        return assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType&,
49
26
                           TypeCheckOnRelease::DISABLE>(column)
50
26
                .get_data()[row_num];
51
26
    }
Unexecuted instantiation: _ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE44EE9_value_atERKNS_7IColumnEm
Unexecuted instantiation: _ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE2EE9_value_atERKNS_7IColumnEm
_ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE3EE9_value_atERKNS_7IColumnEm
Line
Count
Source
47
26
    static const ValueType& _value_at(const IColumn& column, size_t row_num) {
48
26
        return assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType&,
49
26
                           TypeCheckOnRelease::DISABLE>(column)
50
26
                .get_data()[row_num];
51
26
    }
_ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE4EE9_value_atERKNS_7IColumnEm
Line
Count
Source
47
26
    static const ValueType& _value_at(const IColumn& column, size_t row_num) {
48
26
        return assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType&,
49
26
                           TypeCheckOnRelease::DISABLE>(column)
50
26
                .get_data()[row_num];
51
26
    }
_ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE5EE9_value_atERKNS_7IColumnEm
Line
Count
Source
47
57.4k
    static const ValueType& _value_at(const IColumn& column, size_t row_num) {
48
57.4k
        return assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType&,
49
57.4k
                           TypeCheckOnRelease::DISABLE>(column)
50
57.4k
                .get_data()[row_num];
51
57.4k
    }
_ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE6EE9_value_atERKNS_7IColumnEm
Line
Count
Source
47
38
    static const ValueType& _value_at(const IColumn& column, size_t row_num) {
48
38
        return assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType&,
49
38
                           TypeCheckOnRelease::DISABLE>(column)
50
38
                .get_data()[row_num];
51
38
    }
_ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE7EE9_value_atERKNS_7IColumnEm
Line
Count
Source
47
26
    static const ValueType& _value_at(const IColumn& column, size_t row_num) {
48
26
        return assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType&,
49
26
                           TypeCheckOnRelease::DISABLE>(column)
50
26
                .get_data()[row_num];
51
26
    }
_ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE8EE9_value_atERKNS_7IColumnEm
Line
Count
Source
47
26
    static const ValueType& _value_at(const IColumn& column, size_t row_num) {
48
26
        return assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType&,
49
26
                           TypeCheckOnRelease::DISABLE>(column)
50
26
                .get_data()[row_num];
51
26
    }
_ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE9EE9_value_atERKNS_7IColumnEm
Line
Count
Source
47
26
    static const ValueType& _value_at(const IColumn& column, size_t row_num) {
48
26
        return assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType&,
49
26
                           TypeCheckOnRelease::DISABLE>(column)
50
26
                .get_data()[row_num];
51
26
    }
Unexecuted instantiation: _ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE28EE9_value_atERKNS_7IColumnEm
Unexecuted instantiation: _ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE29EE9_value_atERKNS_7IColumnEm
_ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE20EE9_value_atERKNS_7IColumnEm
Line
Count
Source
47
40.9k
    static const ValueType& _value_at(const IColumn& column, size_t row_num) {
48
40.9k
        return assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType&,
49
40.9k
                           TypeCheckOnRelease::DISABLE>(column)
50
40.9k
                .get_data()[row_num];
51
40.9k
    }
Unexecuted instantiation: _ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE30EE9_value_atERKNS_7IColumnEm
Unexecuted instantiation: _ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE35EE9_value_atERKNS_7IColumnEm
52
53
    // AggregateFunctionIf and state merging must distinguish an empty state from a default value.
54
    bool has_value = false;
55
    ValueType value {};
56
57
public:
58
    using ColVecType = typename PrimitiveTypeTraits<T>::ColumnType;
59
    static constexpr bool NeedCheckColumnType = true;
60
61
16.6k
    SingleValueDataFixed() = default;
Unexecuted instantiation: _ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE11EEC2Ev
_ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE12EEC2Ev
Line
Count
Source
61
4
    SingleValueDataFixed() = default;
Unexecuted instantiation: _ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE25EEC2Ev
_ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE26EEC2Ev
Line
Count
Source
61
36
    SingleValueDataFixed() = default;
_ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE43EEC2Ev
Line
Count
Source
61
4
    SingleValueDataFixed() = default;
Unexecuted instantiation: _ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE42EEC2Ev
Unexecuted instantiation: _ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE27EEC2Ev
_ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE36EEC2Ev
Line
Count
Source
61
8
    SingleValueDataFixed() = default;
_ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE37EEC2Ev
Line
Count
Source
61
8
    SingleValueDataFixed() = default;
Unexecuted instantiation: _ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE44EEC2Ev
Unexecuted instantiation: _ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE2EEC2Ev
_ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE3EEC2Ev
Line
Count
Source
61
8
    SingleValueDataFixed() = default;
_ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE4EEC2Ev
Line
Count
Source
61
8
    SingleValueDataFixed() = default;
_ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE5EEC2Ev
Line
Count
Source
61
90
    SingleValueDataFixed() = default;
_ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE6EEC2Ev
Line
Count
Source
61
68
    SingleValueDataFixed() = default;
_ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE7EEC2Ev
Line
Count
Source
61
8
    SingleValueDataFixed() = default;
_ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE8EEC2Ev
Line
Count
Source
61
8
    SingleValueDataFixed() = default;
_ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE9EEC2Ev
Line
Count
Source
61
8
    SingleValueDataFixed() = default;
Unexecuted instantiation: _ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE28EEC2Ev
Unexecuted instantiation: _ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE29EEC2Ev
_ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE20EEC2Ev
Line
Count
Source
61
16.3k
    SingleValueDataFixed() = default;
Unexecuted instantiation: _ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE30EEC2Ev
Unexecuted instantiation: _ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE35EEC2Ev
62
115k
    bool has() const { return has_value; }
Unexecuted instantiation: _ZNK5doris20SingleValueDataFixedILNS_13PrimitiveTypeE11EE3hasEv
_ZNK5doris20SingleValueDataFixedILNS_13PrimitiveTypeE12EE3hasEv
Line
Count
Source
62
24
    bool has() const { return has_value; }
Unexecuted instantiation: _ZNK5doris20SingleValueDataFixedILNS_13PrimitiveTypeE25EE3hasEv
_ZNK5doris20SingleValueDataFixedILNS_13PrimitiveTypeE26EE3hasEv
Line
Count
Source
62
96
    bool has() const { return has_value; }
_ZNK5doris20SingleValueDataFixedILNS_13PrimitiveTypeE43EE3hasEv
Line
Count
Source
62
24
    bool has() const { return has_value; }
Unexecuted instantiation: _ZNK5doris20SingleValueDataFixedILNS_13PrimitiveTypeE42EE3hasEv
Unexecuted instantiation: _ZNK5doris20SingleValueDataFixedILNS_13PrimitiveTypeE27EE3hasEv
_ZNK5doris20SingleValueDataFixedILNS_13PrimitiveTypeE36EE3hasEv
Line
Count
Source
62
28
    bool has() const { return has_value; }
_ZNK5doris20SingleValueDataFixedILNS_13PrimitiveTypeE37EE3hasEv
Line
Count
Source
62
28
    bool has() const { return has_value; }
Unexecuted instantiation: _ZNK5doris20SingleValueDataFixedILNS_13PrimitiveTypeE44EE3hasEv
Unexecuted instantiation: _ZNK5doris20SingleValueDataFixedILNS_13PrimitiveTypeE2EE3hasEv
_ZNK5doris20SingleValueDataFixedILNS_13PrimitiveTypeE3EE3hasEv
Line
Count
Source
62
28
    bool has() const { return has_value; }
_ZNK5doris20SingleValueDataFixedILNS_13PrimitiveTypeE4EE3hasEv
Line
Count
Source
62
28
    bool has() const { return has_value; }
_ZNK5doris20SingleValueDataFixedILNS_13PrimitiveTypeE5EE3hasEv
Line
Count
Source
62
32.9k
    bool has() const { return has_value; }
_ZNK5doris20SingleValueDataFixedILNS_13PrimitiveTypeE6EE3hasEv
Line
Count
Source
62
124
    bool has() const { return has_value; }
_ZNK5doris20SingleValueDataFixedILNS_13PrimitiveTypeE7EE3hasEv
Line
Count
Source
62
28
    bool has() const { return has_value; }
_ZNK5doris20SingleValueDataFixedILNS_13PrimitiveTypeE8EE3hasEv
Line
Count
Source
62
28
    bool has() const { return has_value; }
_ZNK5doris20SingleValueDataFixedILNS_13PrimitiveTypeE9EE3hasEv
Line
Count
Source
62
28
    bool has() const { return has_value; }
Unexecuted instantiation: _ZNK5doris20SingleValueDataFixedILNS_13PrimitiveTypeE28EE3hasEv
Unexecuted instantiation: _ZNK5doris20SingleValueDataFixedILNS_13PrimitiveTypeE29EE3hasEv
_ZNK5doris20SingleValueDataFixedILNS_13PrimitiveTypeE20EE3hasEv
Line
Count
Source
62
81.9k
    bool has() const { return has_value; }
Unexecuted instantiation: _ZNK5doris20SingleValueDataFixedILNS_13PrimitiveTypeE30EE3hasEv
Unexecuted instantiation: _ZNK5doris20SingleValueDataFixedILNS_13PrimitiveTypeE35EE3hasEv
63
64
    static constexpr bool UsesFixedLengthStateSerialization = true;
65
66
8.36k
    void set_value_to_min() { value = Compare::min_value<ValueType>(); }
Unexecuted instantiation: _ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE11EE16set_value_to_minEv
_ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE12EE16set_value_to_minEv
Line
Count
Source
66
2
    void set_value_to_min() { value = Compare::min_value<ValueType>(); }
Unexecuted instantiation: _ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE25EE16set_value_to_minEv
_ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE26EE16set_value_to_minEv
Line
Count
Source
66
18
    void set_value_to_min() { value = Compare::min_value<ValueType>(); }
_ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE43EE16set_value_to_minEv
Line
Count
Source
66
2
    void set_value_to_min() { value = Compare::min_value<ValueType>(); }
Unexecuted instantiation: _ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE42EE16set_value_to_minEv
Unexecuted instantiation: _ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE27EE16set_value_to_minEv
_ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE36EE16set_value_to_minEv
Line
Count
Source
66
10
    void set_value_to_min() { value = Compare::min_value<ValueType>(); }
_ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE37EE16set_value_to_minEv
Line
Count
Source
66
10
    void set_value_to_min() { value = Compare::min_value<ValueType>(); }
Unexecuted instantiation: _ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE44EE16set_value_to_minEv
Unexecuted instantiation: _ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE2EE16set_value_to_minEv
_ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE3EE16set_value_to_minEv
Line
Count
Source
66
10
    void set_value_to_min() { value = Compare::min_value<ValueType>(); }
_ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE4EE16set_value_to_minEv
Line
Count
Source
66
10
    void set_value_to_min() { value = Compare::min_value<ValueType>(); }
_ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE5EE16set_value_to_minEv
Line
Count
Source
66
36
    void set_value_to_min() { value = Compare::min_value<ValueType>(); }
_ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE6EE16set_value_to_minEv
Line
Count
Source
66
40
    void set_value_to_min() { value = Compare::min_value<ValueType>(); }
_ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE7EE16set_value_to_minEv
Line
Count
Source
66
10
    void set_value_to_min() { value = Compare::min_value<ValueType>(); }
_ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE8EE16set_value_to_minEv
Line
Count
Source
66
10
    void set_value_to_min() { value = Compare::min_value<ValueType>(); }
_ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE9EE16set_value_to_minEv
Line
Count
Source
66
10
    void set_value_to_min() { value = Compare::min_value<ValueType>(); }
Unexecuted instantiation: _ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE28EE16set_value_to_minEv
Unexecuted instantiation: _ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE29EE16set_value_to_minEv
_ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE20EE16set_value_to_minEv
Line
Count
Source
66
8.19k
    void set_value_to_min() { value = Compare::min_value<ValueType>(); }
Unexecuted instantiation: _ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE30EE16set_value_to_minEv
Unexecuted instantiation: _ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE35EE16set_value_to_minEv
67
68
8.36k
    void set_value_to_max() { value = Compare::max_value<ValueType>(); }
Unexecuted instantiation: _ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE11EE16set_value_to_maxEv
_ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE12EE16set_value_to_maxEv
Line
Count
Source
68
2
    void set_value_to_max() { value = Compare::max_value<ValueType>(); }
Unexecuted instantiation: _ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE25EE16set_value_to_maxEv
_ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE26EE16set_value_to_maxEv
Line
Count
Source
68
18
    void set_value_to_max() { value = Compare::max_value<ValueType>(); }
_ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE43EE16set_value_to_maxEv
Line
Count
Source
68
2
    void set_value_to_max() { value = Compare::max_value<ValueType>(); }
Unexecuted instantiation: _ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE42EE16set_value_to_maxEv
Unexecuted instantiation: _ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE27EE16set_value_to_maxEv
_ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE36EE16set_value_to_maxEv
Line
Count
Source
68
10
    void set_value_to_max() { value = Compare::max_value<ValueType>(); }
_ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE37EE16set_value_to_maxEv
Line
Count
Source
68
10
    void set_value_to_max() { value = Compare::max_value<ValueType>(); }
Unexecuted instantiation: _ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE44EE16set_value_to_maxEv
Unexecuted instantiation: _ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE2EE16set_value_to_maxEv
_ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE3EE16set_value_to_maxEv
Line
Count
Source
68
10
    void set_value_to_max() { value = Compare::max_value<ValueType>(); }
_ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE4EE16set_value_to_maxEv
Line
Count
Source
68
10
    void set_value_to_max() { value = Compare::max_value<ValueType>(); }
_ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE5EE16set_value_to_maxEv
Line
Count
Source
68
36
    void set_value_to_max() { value = Compare::max_value<ValueType>(); }
_ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE6EE16set_value_to_maxEv
Line
Count
Source
68
40
    void set_value_to_max() { value = Compare::max_value<ValueType>(); }
_ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE7EE16set_value_to_maxEv
Line
Count
Source
68
10
    void set_value_to_max() { value = Compare::max_value<ValueType>(); }
_ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE8EE16set_value_to_maxEv
Line
Count
Source
68
10
    void set_value_to_max() { value = Compare::max_value<ValueType>(); }
_ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE9EE16set_value_to_maxEv
Line
Count
Source
68
10
    void set_value_to_max() { value = Compare::max_value<ValueType>(); }
Unexecuted instantiation: _ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE28EE16set_value_to_maxEv
Unexecuted instantiation: _ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE29EE16set_value_to_maxEv
_ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE20EE16set_value_to_maxEv
Line
Count
Source
68
8.19k
    void set_value_to_max() { value = Compare::max_value<ValueType>(); }
Unexecuted instantiation: _ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE30EE16set_value_to_maxEv
Unexecuted instantiation: _ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE35EE16set_value_to_maxEv
69
70
16.5k
    void insert_result_into(IColumn& to) const {
71
16.5k
        if (has()) {
72
16.5k
            assert_cast<typename PrimitiveTypeTraits<T>::ColumnType&, TypeCheckOnRelease::DISABLE>(
73
16.5k
                    to)
74
16.5k
                    .insert_value(value);
75
16.5k
        } else {
76
0
            assert_cast<typename PrimitiveTypeTraits<T>::ColumnType&, TypeCheckOnRelease::DISABLE>(
77
0
                    to)
78
0
                    .insert_default();
79
0
        }
80
16.5k
    }
Unexecuted instantiation: _ZNK5doris20SingleValueDataFixedILNS_13PrimitiveTypeE11EE18insert_result_intoERNS_7IColumnE
_ZNK5doris20SingleValueDataFixedILNS_13PrimitiveTypeE12EE18insert_result_intoERNS_7IColumnE
Line
Count
Source
70
4
    void insert_result_into(IColumn& to) const {
71
4
        if (has()) {
72
4
            assert_cast<typename PrimitiveTypeTraits<T>::ColumnType&, TypeCheckOnRelease::DISABLE>(
73
4
                    to)
74
4
                    .insert_value(value);
75
4
        } else {
76
0
            assert_cast<typename PrimitiveTypeTraits<T>::ColumnType&, TypeCheckOnRelease::DISABLE>(
77
0
                    to)
78
0
                    .insert_default();
79
0
        }
80
4
    }
Unexecuted instantiation: _ZNK5doris20SingleValueDataFixedILNS_13PrimitiveTypeE25EE18insert_result_intoERNS_7IColumnE
_ZNK5doris20SingleValueDataFixedILNS_13PrimitiveTypeE26EE18insert_result_intoERNS_7IColumnE
Line
Count
Source
70
12
    void insert_result_into(IColumn& to) const {
71
12
        if (has()) {
72
12
            assert_cast<typename PrimitiveTypeTraits<T>::ColumnType&, TypeCheckOnRelease::DISABLE>(
73
12
                    to)
74
12
                    .insert_value(value);
75
12
        } else {
76
0
            assert_cast<typename PrimitiveTypeTraits<T>::ColumnType&, TypeCheckOnRelease::DISABLE>(
77
0
                    to)
78
0
                    .insert_default();
79
0
        }
80
12
    }
_ZNK5doris20SingleValueDataFixedILNS_13PrimitiveTypeE43EE18insert_result_intoERNS_7IColumnE
Line
Count
Source
70
4
    void insert_result_into(IColumn& to) const {
71
4
        if (has()) {
72
4
            assert_cast<typename PrimitiveTypeTraits<T>::ColumnType&, TypeCheckOnRelease::DISABLE>(
73
4
                    to)
74
4
                    .insert_value(value);
75
4
        } else {
76
0
            assert_cast<typename PrimitiveTypeTraits<T>::ColumnType&, TypeCheckOnRelease::DISABLE>(
77
0
                    to)
78
0
                    .insert_default();
79
0
        }
80
4
    }
Unexecuted instantiation: _ZNK5doris20SingleValueDataFixedILNS_13PrimitiveTypeE42EE18insert_result_intoERNS_7IColumnE
Unexecuted instantiation: _ZNK5doris20SingleValueDataFixedILNS_13PrimitiveTypeE27EE18insert_result_intoERNS_7IColumnE
_ZNK5doris20SingleValueDataFixedILNS_13PrimitiveTypeE36EE18insert_result_intoERNS_7IColumnE
Line
Count
Source
70
8
    void insert_result_into(IColumn& to) const {
71
8
        if (has()) {
72
8
            assert_cast<typename PrimitiveTypeTraits<T>::ColumnType&, TypeCheckOnRelease::DISABLE>(
73
8
                    to)
74
8
                    .insert_value(value);
75
8
        } else {
76
0
            assert_cast<typename PrimitiveTypeTraits<T>::ColumnType&, TypeCheckOnRelease::DISABLE>(
77
0
                    to)
78
0
                    .insert_default();
79
0
        }
80
8
    }
_ZNK5doris20SingleValueDataFixedILNS_13PrimitiveTypeE37EE18insert_result_intoERNS_7IColumnE
Line
Count
Source
70
8
    void insert_result_into(IColumn& to) const {
71
8
        if (has()) {
72
8
            assert_cast<typename PrimitiveTypeTraits<T>::ColumnType&, TypeCheckOnRelease::DISABLE>(
73
8
                    to)
74
8
                    .insert_value(value);
75
8
        } else {
76
0
            assert_cast<typename PrimitiveTypeTraits<T>::ColumnType&, TypeCheckOnRelease::DISABLE>(
77
0
                    to)
78
0
                    .insert_default();
79
0
        }
80
8
    }
Unexecuted instantiation: _ZNK5doris20SingleValueDataFixedILNS_13PrimitiveTypeE44EE18insert_result_intoERNS_7IColumnE
Unexecuted instantiation: _ZNK5doris20SingleValueDataFixedILNS_13PrimitiveTypeE2EE18insert_result_intoERNS_7IColumnE
_ZNK5doris20SingleValueDataFixedILNS_13PrimitiveTypeE3EE18insert_result_intoERNS_7IColumnE
Line
Count
Source
70
8
    void insert_result_into(IColumn& to) const {
71
8
        if (has()) {
72
8
            assert_cast<typename PrimitiveTypeTraits<T>::ColumnType&, TypeCheckOnRelease::DISABLE>(
73
8
                    to)
74
8
                    .insert_value(value);
75
8
        } else {
76
0
            assert_cast<typename PrimitiveTypeTraits<T>::ColumnType&, TypeCheckOnRelease::DISABLE>(
77
0
                    to)
78
0
                    .insert_default();
79
0
        }
80
8
    }
_ZNK5doris20SingleValueDataFixedILNS_13PrimitiveTypeE4EE18insert_result_intoERNS_7IColumnE
Line
Count
Source
70
8
    void insert_result_into(IColumn& to) const {
71
8
        if (has()) {
72
8
            assert_cast<typename PrimitiveTypeTraits<T>::ColumnType&, TypeCheckOnRelease::DISABLE>(
73
8
                    to)
74
8
                    .insert_value(value);
75
8
        } else {
76
0
            assert_cast<typename PrimitiveTypeTraits<T>::ColumnType&, TypeCheckOnRelease::DISABLE>(
77
0
                    to)
78
0
                    .insert_default();
79
0
        }
80
8
    }
_ZNK5doris20SingleValueDataFixedILNS_13PrimitiveTypeE5EE18insert_result_intoERNS_7IColumnE
Line
Count
Source
70
42
    void insert_result_into(IColumn& to) const {
71
42
        if (has()) {
72
42
            assert_cast<typename PrimitiveTypeTraits<T>::ColumnType&, TypeCheckOnRelease::DISABLE>(
73
42
                    to)
74
42
                    .insert_value(value);
75
42
        } else {
76
0
            assert_cast<typename PrimitiveTypeTraits<T>::ColumnType&, TypeCheckOnRelease::DISABLE>(
77
0
                    to)
78
0
                    .insert_default();
79
0
        }
80
42
    }
_ZNK5doris20SingleValueDataFixedILNS_13PrimitiveTypeE6EE18insert_result_intoERNS_7IColumnE
Line
Count
Source
70
20
    void insert_result_into(IColumn& to) const {
71
20
        if (has()) {
72
20
            assert_cast<typename PrimitiveTypeTraits<T>::ColumnType&, TypeCheckOnRelease::DISABLE>(
73
20
                    to)
74
20
                    .insert_value(value);
75
20
        } else {
76
0
            assert_cast<typename PrimitiveTypeTraits<T>::ColumnType&, TypeCheckOnRelease::DISABLE>(
77
0
                    to)
78
0
                    .insert_default();
79
0
        }
80
20
    }
_ZNK5doris20SingleValueDataFixedILNS_13PrimitiveTypeE7EE18insert_result_intoERNS_7IColumnE
Line
Count
Source
70
8
    void insert_result_into(IColumn& to) const {
71
8
        if (has()) {
72
8
            assert_cast<typename PrimitiveTypeTraits<T>::ColumnType&, TypeCheckOnRelease::DISABLE>(
73
8
                    to)
74
8
                    .insert_value(value);
75
8
        } else {
76
0
            assert_cast<typename PrimitiveTypeTraits<T>::ColumnType&, TypeCheckOnRelease::DISABLE>(
77
0
                    to)
78
0
                    .insert_default();
79
0
        }
80
8
    }
_ZNK5doris20SingleValueDataFixedILNS_13PrimitiveTypeE8EE18insert_result_intoERNS_7IColumnE
Line
Count
Source
70
8
    void insert_result_into(IColumn& to) const {
71
8
        if (has()) {
72
8
            assert_cast<typename PrimitiveTypeTraits<T>::ColumnType&, TypeCheckOnRelease::DISABLE>(
73
8
                    to)
74
8
                    .insert_value(value);
75
8
        } else {
76
0
            assert_cast<typename PrimitiveTypeTraits<T>::ColumnType&, TypeCheckOnRelease::DISABLE>(
77
0
                    to)
78
0
                    .insert_default();
79
0
        }
80
8
    }
_ZNK5doris20SingleValueDataFixedILNS_13PrimitiveTypeE9EE18insert_result_intoERNS_7IColumnE
Line
Count
Source
70
8
    void insert_result_into(IColumn& to) const {
71
8
        if (has()) {
72
8
            assert_cast<typename PrimitiveTypeTraits<T>::ColumnType&, TypeCheckOnRelease::DISABLE>(
73
8
                    to)
74
8
                    .insert_value(value);
75
8
        } else {
76
0
            assert_cast<typename PrimitiveTypeTraits<T>::ColumnType&, TypeCheckOnRelease::DISABLE>(
77
0
                    to)
78
0
                    .insert_default();
79
0
        }
80
8
    }
Unexecuted instantiation: _ZNK5doris20SingleValueDataFixedILNS_13PrimitiveTypeE28EE18insert_result_intoERNS_7IColumnE
Unexecuted instantiation: _ZNK5doris20SingleValueDataFixedILNS_13PrimitiveTypeE29EE18insert_result_intoERNS_7IColumnE
_ZNK5doris20SingleValueDataFixedILNS_13PrimitiveTypeE20EE18insert_result_intoERNS_7IColumnE
Line
Count
Source
70
16.3k
    void insert_result_into(IColumn& to) const {
71
16.3k
        if (has()) {
72
16.3k
            assert_cast<typename PrimitiveTypeTraits<T>::ColumnType&, TypeCheckOnRelease::DISABLE>(
73
16.3k
                    to)
74
16.3k
                    .insert_value(value);
75
16.3k
        } else {
76
0
            assert_cast<typename PrimitiveTypeTraits<T>::ColumnType&, TypeCheckOnRelease::DISABLE>(
77
0
                    to)
78
0
                    .insert_default();
79
0
        }
80
16.3k
    }
Unexecuted instantiation: _ZNK5doris20SingleValueDataFixedILNS_13PrimitiveTypeE30EE18insert_result_intoERNS_7IColumnE
Unexecuted instantiation: _ZNK5doris20SingleValueDataFixedILNS_13PrimitiveTypeE35EE18insert_result_intoERNS_7IColumnE
81
82
16.7k
    void reset() { has_value = false; }
Unexecuted instantiation: _ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE11EE5resetEv
_ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE12EE5resetEv
Line
Count
Source
82
4
    void reset() { has_value = false; }
Unexecuted instantiation: _ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE25EE5resetEv
_ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE26EE5resetEv
Line
Count
Source
82
36
    void reset() { has_value = false; }
_ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE43EE5resetEv
Line
Count
Source
82
4
    void reset() { has_value = false; }
Unexecuted instantiation: _ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE42EE5resetEv
Unexecuted instantiation: _ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE27EE5resetEv
_ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE36EE5resetEv
Line
Count
Source
82
20
    void reset() { has_value = false; }
_ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE37EE5resetEv
Line
Count
Source
82
20
    void reset() { has_value = false; }
Unexecuted instantiation: _ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE44EE5resetEv
Unexecuted instantiation: _ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE2EE5resetEv
_ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE3EE5resetEv
Line
Count
Source
82
20
    void reset() { has_value = false; }
_ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE4EE5resetEv
Line
Count
Source
82
20
    void reset() { has_value = false; }
_ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE5EE5resetEv
Line
Count
Source
82
72
    void reset() { has_value = false; }
_ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE6EE5resetEv
Line
Count
Source
82
80
    void reset() { has_value = false; }
_ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE7EE5resetEv
Line
Count
Source
82
20
    void reset() { has_value = false; }
_ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE8EE5resetEv
Line
Count
Source
82
20
    void reset() { has_value = false; }
_ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE9EE5resetEv
Line
Count
Source
82
20
    void reset() { has_value = false; }
Unexecuted instantiation: _ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE28EE5resetEv
Unexecuted instantiation: _ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE29EE5resetEv
_ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE20EE5resetEv
Line
Count
Source
82
16.3k
    void reset() { has_value = false; }
Unexecuted instantiation: _ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE30EE5resetEv
Unexecuted instantiation: _ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE35EE5resetEv
83
84
46
    void write(BufferWritable& buf, const DataTypePtr&, int) const {
85
46
        buf.write_binary(has());
86
46
        if (has()) {
87
46
            buf.write_binary(value);
88
46
        }
89
46
    }
Unexecuted instantiation: _ZNK5doris20SingleValueDataFixedILNS_13PrimitiveTypeE11EE5writeERNS_14BufferWritableERKSt10shared_ptrIKNS_9IDataTypeEEi
Unexecuted instantiation: _ZNK5doris20SingleValueDataFixedILNS_13PrimitiveTypeE12EE5writeERNS_14BufferWritableERKSt10shared_ptrIKNS_9IDataTypeEEi
Unexecuted instantiation: _ZNK5doris20SingleValueDataFixedILNS_13PrimitiveTypeE25EE5writeERNS_14BufferWritableERKSt10shared_ptrIKNS_9IDataTypeEEi
_ZNK5doris20SingleValueDataFixedILNS_13PrimitiveTypeE26EE5writeERNS_14BufferWritableERKSt10shared_ptrIKNS_9IDataTypeEEi
Line
Count
Source
84
12
    void write(BufferWritable& buf, const DataTypePtr&, int) const {
85
12
        buf.write_binary(has());
86
12
        if (has()) {
87
12
            buf.write_binary(value);
88
12
        }
89
12
    }
Unexecuted instantiation: _ZNK5doris20SingleValueDataFixedILNS_13PrimitiveTypeE43EE5writeERNS_14BufferWritableERKSt10shared_ptrIKNS_9IDataTypeEEi
Unexecuted instantiation: _ZNK5doris20SingleValueDataFixedILNS_13PrimitiveTypeE42EE5writeERNS_14BufferWritableERKSt10shared_ptrIKNS_9IDataTypeEEi
Unexecuted instantiation: _ZNK5doris20SingleValueDataFixedILNS_13PrimitiveTypeE27EE5writeERNS_14BufferWritableERKSt10shared_ptrIKNS_9IDataTypeEEi
Unexecuted instantiation: _ZNK5doris20SingleValueDataFixedILNS_13PrimitiveTypeE36EE5writeERNS_14BufferWritableERKSt10shared_ptrIKNS_9IDataTypeEEi
Unexecuted instantiation: _ZNK5doris20SingleValueDataFixedILNS_13PrimitiveTypeE37EE5writeERNS_14BufferWritableERKSt10shared_ptrIKNS_9IDataTypeEEi
Unexecuted instantiation: _ZNK5doris20SingleValueDataFixedILNS_13PrimitiveTypeE44EE5writeERNS_14BufferWritableERKSt10shared_ptrIKNS_9IDataTypeEEi
Unexecuted instantiation: _ZNK5doris20SingleValueDataFixedILNS_13PrimitiveTypeE2EE5writeERNS_14BufferWritableERKSt10shared_ptrIKNS_9IDataTypeEEi
Unexecuted instantiation: _ZNK5doris20SingleValueDataFixedILNS_13PrimitiveTypeE3EE5writeERNS_14BufferWritableERKSt10shared_ptrIKNS_9IDataTypeEEi
Unexecuted instantiation: _ZNK5doris20SingleValueDataFixedILNS_13PrimitiveTypeE4EE5writeERNS_14BufferWritableERKSt10shared_ptrIKNS_9IDataTypeEEi
_ZNK5doris20SingleValueDataFixedILNS_13PrimitiveTypeE5EE5writeERNS_14BufferWritableERKSt10shared_ptrIKNS_9IDataTypeEEi
Line
Count
Source
84
22
    void write(BufferWritable& buf, const DataTypePtr&, int) const {
85
22
        buf.write_binary(has());
86
22
        if (has()) {
87
22
            buf.write_binary(value);
88
22
        }
89
22
    }
_ZNK5doris20SingleValueDataFixedILNS_13PrimitiveTypeE6EE5writeERNS_14BufferWritableERKSt10shared_ptrIKNS_9IDataTypeEEi
Line
Count
Source
84
12
    void write(BufferWritable& buf, const DataTypePtr&, int) const {
85
12
        buf.write_binary(has());
86
12
        if (has()) {
87
12
            buf.write_binary(value);
88
12
        }
89
12
    }
Unexecuted instantiation: _ZNK5doris20SingleValueDataFixedILNS_13PrimitiveTypeE7EE5writeERNS_14BufferWritableERKSt10shared_ptrIKNS_9IDataTypeEEi
Unexecuted instantiation: _ZNK5doris20SingleValueDataFixedILNS_13PrimitiveTypeE8EE5writeERNS_14BufferWritableERKSt10shared_ptrIKNS_9IDataTypeEEi
Unexecuted instantiation: _ZNK5doris20SingleValueDataFixedILNS_13PrimitiveTypeE9EE5writeERNS_14BufferWritableERKSt10shared_ptrIKNS_9IDataTypeEEi
Unexecuted instantiation: _ZNK5doris20SingleValueDataFixedILNS_13PrimitiveTypeE28EE5writeERNS_14BufferWritableERKSt10shared_ptrIKNS_9IDataTypeEEi
Unexecuted instantiation: _ZNK5doris20SingleValueDataFixedILNS_13PrimitiveTypeE29EE5writeERNS_14BufferWritableERKSt10shared_ptrIKNS_9IDataTypeEEi
Unexecuted instantiation: _ZNK5doris20SingleValueDataFixedILNS_13PrimitiveTypeE20EE5writeERNS_14BufferWritableERKSt10shared_ptrIKNS_9IDataTypeEEi
Unexecuted instantiation: _ZNK5doris20SingleValueDataFixedILNS_13PrimitiveTypeE30EE5writeERNS_14BufferWritableERKSt10shared_ptrIKNS_9IDataTypeEEi
Unexecuted instantiation: _ZNK5doris20SingleValueDataFixedILNS_13PrimitiveTypeE35EE5writeERNS_14BufferWritableERKSt10shared_ptrIKNS_9IDataTypeEEi
90
91
46
    void read(BufferReadable& buf, const DataTypePtr&, int, Arena&) {
92
46
        buf.read_binary(has_value);
93
46
        if (has()) {
94
46
            buf.read_binary(value);
95
46
        }
96
46
    }
Unexecuted instantiation: _ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE11EE4readERNS_14BufferReadableERKSt10shared_ptrIKNS_9IDataTypeEEiRNS_5ArenaE
Unexecuted instantiation: _ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE12EE4readERNS_14BufferReadableERKSt10shared_ptrIKNS_9IDataTypeEEiRNS_5ArenaE
Unexecuted instantiation: _ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE25EE4readERNS_14BufferReadableERKSt10shared_ptrIKNS_9IDataTypeEEiRNS_5ArenaE
_ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE26EE4readERNS_14BufferReadableERKSt10shared_ptrIKNS_9IDataTypeEEiRNS_5ArenaE
Line
Count
Source
91
12
    void read(BufferReadable& buf, const DataTypePtr&, int, Arena&) {
92
12
        buf.read_binary(has_value);
93
12
        if (has()) {
94
12
            buf.read_binary(value);
95
12
        }
96
12
    }
Unexecuted instantiation: _ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE43EE4readERNS_14BufferReadableERKSt10shared_ptrIKNS_9IDataTypeEEiRNS_5ArenaE
Unexecuted instantiation: _ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE42EE4readERNS_14BufferReadableERKSt10shared_ptrIKNS_9IDataTypeEEiRNS_5ArenaE
Unexecuted instantiation: _ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE27EE4readERNS_14BufferReadableERKSt10shared_ptrIKNS_9IDataTypeEEiRNS_5ArenaE
Unexecuted instantiation: _ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE36EE4readERNS_14BufferReadableERKSt10shared_ptrIKNS_9IDataTypeEEiRNS_5ArenaE
Unexecuted instantiation: _ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE37EE4readERNS_14BufferReadableERKSt10shared_ptrIKNS_9IDataTypeEEiRNS_5ArenaE
Unexecuted instantiation: _ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE44EE4readERNS_14BufferReadableERKSt10shared_ptrIKNS_9IDataTypeEEiRNS_5ArenaE
Unexecuted instantiation: _ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE2EE4readERNS_14BufferReadableERKSt10shared_ptrIKNS_9IDataTypeEEiRNS_5ArenaE
Unexecuted instantiation: _ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE3EE4readERNS_14BufferReadableERKSt10shared_ptrIKNS_9IDataTypeEEiRNS_5ArenaE
Unexecuted instantiation: _ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE4EE4readERNS_14BufferReadableERKSt10shared_ptrIKNS_9IDataTypeEEiRNS_5ArenaE
_ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE5EE4readERNS_14BufferReadableERKSt10shared_ptrIKNS_9IDataTypeEEiRNS_5ArenaE
Line
Count
Source
91
22
    void read(BufferReadable& buf, const DataTypePtr&, int, Arena&) {
92
22
        buf.read_binary(has_value);
93
22
        if (has()) {
94
22
            buf.read_binary(value);
95
22
        }
96
22
    }
_ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE6EE4readERNS_14BufferReadableERKSt10shared_ptrIKNS_9IDataTypeEEiRNS_5ArenaE
Line
Count
Source
91
12
    void read(BufferReadable& buf, const DataTypePtr&, int, Arena&) {
92
12
        buf.read_binary(has_value);
93
12
        if (has()) {
94
12
            buf.read_binary(value);
95
12
        }
96
12
    }
Unexecuted instantiation: _ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE7EE4readERNS_14BufferReadableERKSt10shared_ptrIKNS_9IDataTypeEEiRNS_5ArenaE
Unexecuted instantiation: _ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE8EE4readERNS_14BufferReadableERKSt10shared_ptrIKNS_9IDataTypeEEiRNS_5ArenaE
Unexecuted instantiation: _ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE9EE4readERNS_14BufferReadableERKSt10shared_ptrIKNS_9IDataTypeEEiRNS_5ArenaE
Unexecuted instantiation: _ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE28EE4readERNS_14BufferReadableERKSt10shared_ptrIKNS_9IDataTypeEEiRNS_5ArenaE
Unexecuted instantiation: _ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE29EE4readERNS_14BufferReadableERKSt10shared_ptrIKNS_9IDataTypeEEiRNS_5ArenaE
Unexecuted instantiation: _ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE20EE4readERNS_14BufferReadableERKSt10shared_ptrIKNS_9IDataTypeEEiRNS_5ArenaE
Unexecuted instantiation: _ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE30EE4readERNS_14BufferReadableERKSt10shared_ptrIKNS_9IDataTypeEEiRNS_5ArenaE
Unexecuted instantiation: _ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE35EE4readERNS_14BufferReadableERKSt10shared_ptrIKNS_9IDataTypeEEiRNS_5ArenaE
97
98
49.4k
    void set(const IColumn& column, size_t row_num, Arena&) {
99
49.4k
        has_value = true;
100
49.4k
        value = _value_at(column, row_num);
101
49.4k
    }
Unexecuted instantiation: _ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE11EE3setERKNS_7IColumnEmRNS_5ArenaE
_ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE12EE3setERKNS_7IColumnEmRNS_5ArenaE
Line
Count
Source
98
10
    void set(const IColumn& column, size_t row_num, Arena&) {
99
10
        has_value = true;
100
10
        value = _value_at(column, row_num);
101
10
    }
Unexecuted instantiation: _ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE25EE3setERKNS_7IColumnEmRNS_5ArenaE
_ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE26EE3setERKNS_7IColumnEmRNS_5ArenaE
Line
Count
Source
98
12
    void set(const IColumn& column, size_t row_num, Arena&) {
99
12
        has_value = true;
100
12
        value = _value_at(column, row_num);
101
12
    }
_ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE43EE3setERKNS_7IColumnEmRNS_5ArenaE
Line
Count
Source
98
10
    void set(const IColumn& column, size_t row_num, Arena&) {
99
10
        has_value = true;
100
10
        value = _value_at(column, row_num);
101
10
    }
Unexecuted instantiation: _ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE42EE3setERKNS_7IColumnEmRNS_5ArenaE
Unexecuted instantiation: _ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE27EE3setERKNS_7IColumnEmRNS_5ArenaE
_ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE36EE3setERKNS_7IColumnEmRNS_5ArenaE
Line
Count
Source
98
14
    void set(const IColumn& column, size_t row_num, Arena&) {
99
14
        has_value = true;
100
14
        value = _value_at(column, row_num);
101
14
    }
_ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE37EE3setERKNS_7IColumnEmRNS_5ArenaE
Line
Count
Source
98
14
    void set(const IColumn& column, size_t row_num, Arena&) {
99
14
        has_value = true;
100
14
        value = _value_at(column, row_num);
101
14
    }
Unexecuted instantiation: _ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE44EE3setERKNS_7IColumnEmRNS_5ArenaE
Unexecuted instantiation: _ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE2EE3setERKNS_7IColumnEmRNS_5ArenaE
_ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE3EE3setERKNS_7IColumnEmRNS_5ArenaE
Line
Count
Source
98
14
    void set(const IColumn& column, size_t row_num, Arena&) {
99
14
        has_value = true;
100
14
        value = _value_at(column, row_num);
101
14
    }
_ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE4EE3setERKNS_7IColumnEmRNS_5ArenaE
Line
Count
Source
98
14
    void set(const IColumn& column, size_t row_num, Arena&) {
99
14
        has_value = true;
100
14
        value = _value_at(column, row_num);
101
14
    }
_ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE5EE3setERKNS_7IColumnEmRNS_5ArenaE
Line
Count
Source
98
24.6k
    void set(const IColumn& column, size_t row_num, Arena&) {
99
24.6k
        has_value = true;
100
24.6k
        value = _value_at(column, row_num);
101
24.6k
    }
_ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE6EE3setERKNS_7IColumnEmRNS_5ArenaE
Line
Count
Source
98
26
    void set(const IColumn& column, size_t row_num, Arena&) {
99
26
        has_value = true;
100
26
        value = _value_at(column, row_num);
101
26
    }
_ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE7EE3setERKNS_7IColumnEmRNS_5ArenaE
Line
Count
Source
98
14
    void set(const IColumn& column, size_t row_num, Arena&) {
99
14
        has_value = true;
100
14
        value = _value_at(column, row_num);
101
14
    }
_ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE8EE3setERKNS_7IColumnEmRNS_5ArenaE
Line
Count
Source
98
14
    void set(const IColumn& column, size_t row_num, Arena&) {
99
14
        has_value = true;
100
14
        value = _value_at(column, row_num);
101
14
    }
_ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE9EE3setERKNS_7IColumnEmRNS_5ArenaE
Line
Count
Source
98
14
    void set(const IColumn& column, size_t row_num, Arena&) {
99
14
        has_value = true;
100
14
        value = _value_at(column, row_num);
101
14
    }
Unexecuted instantiation: _ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE28EE3setERKNS_7IColumnEmRNS_5ArenaE
Unexecuted instantiation: _ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE29EE3setERKNS_7IColumnEmRNS_5ArenaE
_ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE20EE3setERKNS_7IColumnEmRNS_5ArenaE
Line
Count
Source
98
24.5k
    void set(const IColumn& column, size_t row_num, Arena&) {
99
24.5k
        has_value = true;
100
24.5k
        value = _value_at(column, row_num);
101
24.5k
    }
Unexecuted instantiation: _ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE30EE3setERKNS_7IColumnEmRNS_5ArenaE
Unexecuted instantiation: _ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE35EE3setERKNS_7IColumnEmRNS_5ArenaE
102
103
16.4k
    void set(const Self& to, Arena&) {
104
16.4k
        DORIS_CHECK(to.has());
105
16.4k
        has_value = true;
106
16.4k
        value = to.value;
107
16.4k
    }
Unexecuted instantiation: _ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE11EE3setERKS2_RNS_5ArenaE
Unexecuted instantiation: _ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE12EE3setERKS2_RNS_5ArenaE
Unexecuted instantiation: _ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE25EE3setERKS2_RNS_5ArenaE
_ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE26EE3setERKS2_RNS_5ArenaE
Line
Count
Source
103
12
    void set(const Self& to, Arena&) {
104
12
        DORIS_CHECK(to.has());
105
12
        has_value = true;
106
12
        value = to.value;
107
12
    }
Unexecuted instantiation: _ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE43EE3setERKS2_RNS_5ArenaE
Unexecuted instantiation: _ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE42EE3setERKS2_RNS_5ArenaE
Unexecuted instantiation: _ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE27EE3setERKS2_RNS_5ArenaE
Unexecuted instantiation: _ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE36EE3setERKS2_RNS_5ArenaE
Unexecuted instantiation: _ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE37EE3setERKS2_RNS_5ArenaE
Unexecuted instantiation: _ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE44EE3setERKS2_RNS_5ArenaE
Unexecuted instantiation: _ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE2EE3setERKS2_RNS_5ArenaE
Unexecuted instantiation: _ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE3EE3setERKS2_RNS_5ArenaE
Unexecuted instantiation: _ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE4EE3setERKS2_RNS_5ArenaE
_ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE5EE3setERKS2_RNS_5ArenaE
Line
Count
Source
103
22
    void set(const Self& to, Arena&) {
104
22
        DORIS_CHECK(to.has());
105
22
        has_value = true;
106
22
        value = to.value;
107
22
    }
_ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE6EE3setERKS2_RNS_5ArenaE
Line
Count
Source
103
12
    void set(const Self& to, Arena&) {
104
12
        DORIS_CHECK(to.has());
105
12
        has_value = true;
106
12
        value = to.value;
107
12
    }
Unexecuted instantiation: _ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE7EE3setERKS2_RNS_5ArenaE
Unexecuted instantiation: _ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE8EE3setERKS2_RNS_5ArenaE
Unexecuted instantiation: _ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE9EE3setERKS2_RNS_5ArenaE
Unexecuted instantiation: _ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE28EE3setERKS2_RNS_5ArenaE
Unexecuted instantiation: _ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE29EE3setERKS2_RNS_5ArenaE
_ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE20EE3setERKS2_RNS_5ArenaE
Line
Count
Source
103
16.3k
    void set(const Self& to, Arena&) {
104
16.3k
        DORIS_CHECK(to.has());
105
16.3k
        has_value = true;
106
16.3k
        value = to.value;
107
16.3k
    }
Unexecuted instantiation: _ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE30EE3setERKS2_RNS_5ArenaE
Unexecuted instantiation: _ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE35EE3setERKS2_RNS_5ArenaE
108
109
24.7k
    bool set_if_smaller(const IColumn& column, size_t row_num, Arena& arena) {
110
24.7k
        if (!has() || Compare::less(_value_at(column, row_num), value)) {
111
8.26k
            set(column, row_num, arena);
112
8.26k
            return true;
113
8.26k
        }
114
16.4k
        return false;
115
24.7k
    }
_ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE43EE14set_if_smallerERKNS_7IColumnEmRNS_5ArenaE
Line
Count
Source
109
10
    bool set_if_smaller(const IColumn& column, size_t row_num, Arena& arena) {
110
10
        if (!has() || Compare::less(_value_at(column, row_num), value)) {
111
6
            set(column, row_num, arena);
112
6
            return true;
113
6
        }
114
4
        return false;
115
10
    }
Unexecuted instantiation: _ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE2EE14set_if_smallerERKNS_7IColumnEmRNS_5ArenaE
_ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE3EE14set_if_smallerERKNS_7IColumnEmRNS_5ArenaE
Line
Count
Source
109
10
    bool set_if_smaller(const IColumn& column, size_t row_num, Arena& arena) {
110
10
        if (!has() || Compare::less(_value_at(column, row_num), value)) {
111
4
            set(column, row_num, arena);
112
4
            return true;
113
4
        }
114
6
        return false;
115
10
    }
_ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE4EE14set_if_smallerERKNS_7IColumnEmRNS_5ArenaE
Line
Count
Source
109
10
    bool set_if_smaller(const IColumn& column, size_t row_num, Arena& arena) {
110
10
        if (!has() || Compare::less(_value_at(column, row_num), value)) {
111
4
            set(column, row_num, arena);
112
4
            return true;
113
4
        }
114
6
        return false;
115
10
    }
_ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE5EE14set_if_smallerERKNS_7IColumnEmRNS_5ArenaE
Line
Count
Source
109
16.4k
    bool set_if_smaller(const IColumn& column, size_t row_num, Arena& arena) {
110
16.4k
        if (!has() || Compare::less(_value_at(column, row_num), value)) {
111
8.20k
            set(column, row_num, arena);
112
8.20k
            return true;
113
8.20k
        }
114
8.19k
        return false;
115
16.4k
    }
_ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE6EE14set_if_smallerERKNS_7IColumnEmRNS_5ArenaE
Line
Count
Source
109
16
    bool set_if_smaller(const IColumn& column, size_t row_num, Arena& arena) {
110
16
        if (!has() || Compare::less(_value_at(column, row_num), value)) {
111
10
            set(column, row_num, arena);
112
10
            return true;
113
10
        }
114
6
        return false;
115
16
    }
_ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE7EE14set_if_smallerERKNS_7IColumnEmRNS_5ArenaE
Line
Count
Source
109
10
    bool set_if_smaller(const IColumn& column, size_t row_num, Arena& arena) {
110
10
        if (!has() || Compare::less(_value_at(column, row_num), value)) {
111
4
            set(column, row_num, arena);
112
4
            return true;
113
4
        }
114
6
        return false;
115
10
    }
_ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE8EE14set_if_smallerERKNS_7IColumnEmRNS_5ArenaE
Line
Count
Source
109
10
    bool set_if_smaller(const IColumn& column, size_t row_num, Arena& arena) {
110
10
        if (!has() || Compare::less(_value_at(column, row_num), value)) {
111
4
            set(column, row_num, arena);
112
4
            return true;
113
4
        }
114
6
        return false;
115
10
    }
_ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE9EE14set_if_smallerERKNS_7IColumnEmRNS_5ArenaE
Line
Count
Source
109
10
    bool set_if_smaller(const IColumn& column, size_t row_num, Arena& arena) {
110
10
        if (!has() || Compare::less(_value_at(column, row_num), value)) {
111
4
            set(column, row_num, arena);
112
4
            return true;
113
4
        }
114
6
        return false;
115
10
    }
Unexecuted instantiation: _ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE28EE14set_if_smallerERKNS_7IColumnEmRNS_5ArenaE
Unexecuted instantiation: _ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE29EE14set_if_smallerERKNS_7IColumnEmRNS_5ArenaE
_ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE20EE14set_if_smallerERKNS_7IColumnEmRNS_5ArenaE
Line
Count
Source
109
8.19k
    bool set_if_smaller(const IColumn& column, size_t row_num, Arena& arena) {
110
8.19k
        if (!has() || Compare::less(_value_at(column, row_num), value)) {
111
2
            set(column, row_num, arena);
112
2
            return true;
113
2
        }
114
8.19k
        return false;
115
8.19k
    }
Unexecuted instantiation: _ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE30EE14set_if_smallerERKNS_7IColumnEmRNS_5ArenaE
Unexecuted instantiation: _ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE35EE14set_if_smallerERKNS_7IColumnEmRNS_5ArenaE
Unexecuted instantiation: _ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE11EE14set_if_smallerERKNS_7IColumnEmRNS_5ArenaE
Unexecuted instantiation: _ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE25EE14set_if_smallerERKNS_7IColumnEmRNS_5ArenaE
_ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE26EE14set_if_smallerERKNS_7IColumnEmRNS_5ArenaE
Line
Count
Source
109
6
    bool set_if_smaller(const IColumn& column, size_t row_num, Arena& arena) {
110
6
        if (!has() || Compare::less(_value_at(column, row_num), value)) {
111
6
            set(column, row_num, arena);
112
6
            return true;
113
6
        }
114
0
        return false;
115
6
    }
_ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE12EE14set_if_smallerERKNS_7IColumnEmRNS_5ArenaE
Line
Count
Source
109
10
    bool set_if_smaller(const IColumn& column, size_t row_num, Arena& arena) {
110
10
        if (!has() || Compare::less(_value_at(column, row_num), value)) {
111
4
            set(column, row_num, arena);
112
4
            return true;
113
4
        }
114
6
        return false;
115
10
    }
Unexecuted instantiation: _ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE27EE14set_if_smallerERKNS_7IColumnEmRNS_5ArenaE
Unexecuted instantiation: _ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE42EE14set_if_smallerERKNS_7IColumnEmRNS_5ArenaE
_ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE36EE14set_if_smallerERKNS_7IColumnEmRNS_5ArenaE
Line
Count
Source
109
10
    bool set_if_smaller(const IColumn& column, size_t row_num, Arena& arena) {
110
10
        if (!has() || Compare::less(_value_at(column, row_num), value)) {
111
4
            set(column, row_num, arena);
112
4
            return true;
113
4
        }
114
6
        return false;
115
10
    }
_ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE37EE14set_if_smallerERKNS_7IColumnEmRNS_5ArenaE
Line
Count
Source
109
10
    bool set_if_smaller(const IColumn& column, size_t row_num, Arena& arena) {
110
10
        if (!has() || Compare::less(_value_at(column, row_num), value)) {
111
4
            set(column, row_num, arena);
112
4
            return true;
113
4
        }
114
6
        return false;
115
10
    }
Unexecuted instantiation: _ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE44EE14set_if_smallerERKNS_7IColumnEmRNS_5ArenaE
116
117
8.21k
    bool set_if_smaller(const Self& to, Arena& arena) {
118
8.21k
        if (to.has() && (!has() || Compare::less(to.value, value))) {
119
8.21k
            set(to, arena);
120
8.21k
            return true;
121
8.21k
        }
122
0
        return false;
123
8.21k
    }
Unexecuted instantiation: _ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE43EE14set_if_smallerERKS2_RNS_5ArenaE
Unexecuted instantiation: _ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE2EE14set_if_smallerERKS2_RNS_5ArenaE
Unexecuted instantiation: _ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE3EE14set_if_smallerERKS2_RNS_5ArenaE
Unexecuted instantiation: _ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE4EE14set_if_smallerERKS2_RNS_5ArenaE
_ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE5EE14set_if_smallerERKS2_RNS_5ArenaE
Line
Count
Source
117
8
    bool set_if_smaller(const Self& to, Arena& arena) {
118
8
        if (to.has() && (!has() || Compare::less(to.value, value))) {
119
8
            set(to, arena);
120
8
            return true;
121
8
        }
122
0
        return false;
123
8
    }
_ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE6EE14set_if_smallerERKS2_RNS_5ArenaE
Line
Count
Source
117
6
    bool set_if_smaller(const Self& to, Arena& arena) {
118
6
        if (to.has() && (!has() || Compare::less(to.value, value))) {
119
6
            set(to, arena);
120
6
            return true;
121
6
        }
122
0
        return false;
123
6
    }
Unexecuted instantiation: _ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE7EE14set_if_smallerERKS2_RNS_5ArenaE
Unexecuted instantiation: _ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE8EE14set_if_smallerERKS2_RNS_5ArenaE
Unexecuted instantiation: _ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE9EE14set_if_smallerERKS2_RNS_5ArenaE
Unexecuted instantiation: _ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE28EE14set_if_smallerERKS2_RNS_5ArenaE
Unexecuted instantiation: _ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE29EE14set_if_smallerERKS2_RNS_5ArenaE
_ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE20EE14set_if_smallerERKS2_RNS_5ArenaE
Line
Count
Source
117
8.19k
    bool set_if_smaller(const Self& to, Arena& arena) {
118
8.19k
        if (to.has() && (!has() || Compare::less(to.value, value))) {
119
8.19k
            set(to, arena);
120
8.19k
            return true;
121
8.19k
        }
122
0
        return false;
123
8.19k
    }
Unexecuted instantiation: _ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE30EE14set_if_smallerERKS2_RNS_5ArenaE
Unexecuted instantiation: _ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE35EE14set_if_smallerERKS2_RNS_5ArenaE
Unexecuted instantiation: _ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE11EE14set_if_smallerERKS2_RNS_5ArenaE
Unexecuted instantiation: _ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE25EE14set_if_smallerERKS2_RNS_5ArenaE
_ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE26EE14set_if_smallerERKS2_RNS_5ArenaE
Line
Count
Source
117
6
    bool set_if_smaller(const Self& to, Arena& arena) {
118
6
        if (to.has() && (!has() || Compare::less(to.value, value))) {
119
6
            set(to, arena);
120
6
            return true;
121
6
        }
122
0
        return false;
123
6
    }
Unexecuted instantiation: _ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE12EE14set_if_smallerERKS2_RNS_5ArenaE
Unexecuted instantiation: _ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE27EE14set_if_smallerERKS2_RNS_5ArenaE
Unexecuted instantiation: _ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE42EE14set_if_smallerERKS2_RNS_5ArenaE
Unexecuted instantiation: _ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE36EE14set_if_smallerERKS2_RNS_5ArenaE
Unexecuted instantiation: _ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE37EE14set_if_smallerERKS2_RNS_5ArenaE
Unexecuted instantiation: _ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE44EE14set_if_smallerERKS2_RNS_5ArenaE
124
125
24.7k
    bool set_if_greater(const IColumn& column, size_t row_num, Arena& arena) {
126
24.7k
        if (!has() || Compare::greater(_value_at(column, row_num), value)) {
127
16.5k
            set(column, row_num, arena);
128
16.5k
            return true;
129
16.5k
        }
130
8.20k
        return false;
131
24.7k
    }
_ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE43EE14set_if_greaterERKNS_7IColumnEmRNS_5ArenaE
Line
Count
Source
125
10
    bool set_if_greater(const IColumn& column, size_t row_num, Arena& arena) {
126
10
        if (!has() || Compare::greater(_value_at(column, row_num), value)) {
127
4
            set(column, row_num, arena);
128
4
            return true;
129
4
        }
130
6
        return false;
131
10
    }
Unexecuted instantiation: _ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE2EE14set_if_greaterERKNS_7IColumnEmRNS_5ArenaE
_ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE3EE14set_if_greaterERKNS_7IColumnEmRNS_5ArenaE
Line
Count
Source
125
10
    bool set_if_greater(const IColumn& column, size_t row_num, Arena& arena) {
126
10
        if (!has() || Compare::greater(_value_at(column, row_num), value)) {
127
10
            set(column, row_num, arena);
128
10
            return true;
129
10
        }
130
0
        return false;
131
10
    }
_ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE4EE14set_if_greaterERKNS_7IColumnEmRNS_5ArenaE
Line
Count
Source
125
10
    bool set_if_greater(const IColumn& column, size_t row_num, Arena& arena) {
126
10
        if (!has() || Compare::greater(_value_at(column, row_num), value)) {
127
10
            set(column, row_num, arena);
128
10
            return true;
129
10
        }
130
0
        return false;
131
10
    }
_ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE5EE14set_if_greaterERKNS_7IColumnEmRNS_5ArenaE
Line
Count
Source
125
16.4k
    bool set_if_greater(const IColumn& column, size_t row_num, Arena& arena) {
126
16.4k
        if (!has() || Compare::greater(_value_at(column, row_num), value)) {
127
8.21k
            set(column, row_num, arena);
128
8.21k
            return true;
129
8.21k
        }
130
8.19k
        return false;
131
16.4k
    }
_ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE6EE14set_if_greaterERKNS_7IColumnEmRNS_5ArenaE
Line
Count
Source
125
16
    bool set_if_greater(const IColumn& column, size_t row_num, Arena& arena) {
126
16
        if (!has() || Compare::greater(_value_at(column, row_num), value)) {
127
16
            set(column, row_num, arena);
128
16
            return true;
129
16
        }
130
0
        return false;
131
16
    }
_ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE7EE14set_if_greaterERKNS_7IColumnEmRNS_5ArenaE
Line
Count
Source
125
10
    bool set_if_greater(const IColumn& column, size_t row_num, Arena& arena) {
126
10
        if (!has() || Compare::greater(_value_at(column, row_num), value)) {
127
10
            set(column, row_num, arena);
128
10
            return true;
129
10
        }
130
0
        return false;
131
10
    }
_ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE8EE14set_if_greaterERKNS_7IColumnEmRNS_5ArenaE
Line
Count
Source
125
10
    bool set_if_greater(const IColumn& column, size_t row_num, Arena& arena) {
126
10
        if (!has() || Compare::greater(_value_at(column, row_num), value)) {
127
10
            set(column, row_num, arena);
128
10
            return true;
129
10
        }
130
0
        return false;
131
10
    }
_ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE9EE14set_if_greaterERKNS_7IColumnEmRNS_5ArenaE
Line
Count
Source
125
10
    bool set_if_greater(const IColumn& column, size_t row_num, Arena& arena) {
126
10
        if (!has() || Compare::greater(_value_at(column, row_num), value)) {
127
10
            set(column, row_num, arena);
128
10
            return true;
129
10
        }
130
0
        return false;
131
10
    }
Unexecuted instantiation: _ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE28EE14set_if_greaterERKNS_7IColumnEmRNS_5ArenaE
Unexecuted instantiation: _ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE29EE14set_if_greaterERKNS_7IColumnEmRNS_5ArenaE
_ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE20EE14set_if_greaterERKNS_7IColumnEmRNS_5ArenaE
Line
Count
Source
125
8.19k
    bool set_if_greater(const IColumn& column, size_t row_num, Arena& arena) {
126
8.19k
        if (!has() || Compare::greater(_value_at(column, row_num), value)) {
127
8.19k
            set(column, row_num, arena);
128
8.19k
            return true;
129
8.19k
        }
130
0
        return false;
131
8.19k
    }
Unexecuted instantiation: _ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE30EE14set_if_greaterERKNS_7IColumnEmRNS_5ArenaE
Unexecuted instantiation: _ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE35EE14set_if_greaterERKNS_7IColumnEmRNS_5ArenaE
Unexecuted instantiation: _ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE11EE14set_if_greaterERKNS_7IColumnEmRNS_5ArenaE
Unexecuted instantiation: _ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE25EE14set_if_greaterERKNS_7IColumnEmRNS_5ArenaE
_ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE26EE14set_if_greaterERKNS_7IColumnEmRNS_5ArenaE
Line
Count
Source
125
6
    bool set_if_greater(const IColumn& column, size_t row_num, Arena& arena) {
126
6
        if (!has() || Compare::greater(_value_at(column, row_num), value)) {
127
6
            set(column, row_num, arena);
128
6
            return true;
129
6
        }
130
0
        return false;
131
6
    }
_ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE12EE14set_if_greaterERKNS_7IColumnEmRNS_5ArenaE
Line
Count
Source
125
10
    bool set_if_greater(const IColumn& column, size_t row_num, Arena& arena) {
126
10
        if (!has() || Compare::greater(_value_at(column, row_num), value)) {
127
6
            set(column, row_num, arena);
128
6
            return true;
129
6
        }
130
4
        return false;
131
10
    }
Unexecuted instantiation: _ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE27EE14set_if_greaterERKNS_7IColumnEmRNS_5ArenaE
Unexecuted instantiation: _ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE42EE14set_if_greaterERKNS_7IColumnEmRNS_5ArenaE
_ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE36EE14set_if_greaterERKNS_7IColumnEmRNS_5ArenaE
Line
Count
Source
125
10
    bool set_if_greater(const IColumn& column, size_t row_num, Arena& arena) {
126
10
        if (!has() || Compare::greater(_value_at(column, row_num), value)) {
127
10
            set(column, row_num, arena);
128
10
            return true;
129
10
        }
130
0
        return false;
131
10
    }
_ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE37EE14set_if_greaterERKNS_7IColumnEmRNS_5ArenaE
Line
Count
Source
125
10
    bool set_if_greater(const IColumn& column, size_t row_num, Arena& arena) {
126
10
        if (!has() || Compare::greater(_value_at(column, row_num), value)) {
127
10
            set(column, row_num, arena);
128
10
            return true;
129
10
        }
130
0
        return false;
131
10
    }
Unexecuted instantiation: _ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE44EE14set_if_greaterERKNS_7IColumnEmRNS_5ArenaE
132
133
0
    bool is_equal_to(const IColumn& column, size_t row_num) const {
134
0
        if (!has()) {
135
0
            return false;
136
0
        }
137
0
        return Compare::equal(_value_at(column, row_num), value);
138
0
    }
Unexecuted instantiation: _ZNK5doris20SingleValueDataFixedILNS_13PrimitiveTypeE11EE11is_equal_toERKNS_7IColumnEm
Unexecuted instantiation: _ZNK5doris20SingleValueDataFixedILNS_13PrimitiveTypeE12EE11is_equal_toERKNS_7IColumnEm
Unexecuted instantiation: _ZNK5doris20SingleValueDataFixedILNS_13PrimitiveTypeE25EE11is_equal_toERKNS_7IColumnEm
Unexecuted instantiation: _ZNK5doris20SingleValueDataFixedILNS_13PrimitiveTypeE26EE11is_equal_toERKNS_7IColumnEm
Unexecuted instantiation: _ZNK5doris20SingleValueDataFixedILNS_13PrimitiveTypeE43EE11is_equal_toERKNS_7IColumnEm
Unexecuted instantiation: _ZNK5doris20SingleValueDataFixedILNS_13PrimitiveTypeE42EE11is_equal_toERKNS_7IColumnEm
Unexecuted instantiation: _ZNK5doris20SingleValueDataFixedILNS_13PrimitiveTypeE27EE11is_equal_toERKNS_7IColumnEm
Unexecuted instantiation: _ZNK5doris20SingleValueDataFixedILNS_13PrimitiveTypeE36EE11is_equal_toERKNS_7IColumnEm
Unexecuted instantiation: _ZNK5doris20SingleValueDataFixedILNS_13PrimitiveTypeE37EE11is_equal_toERKNS_7IColumnEm
Unexecuted instantiation: _ZNK5doris20SingleValueDataFixedILNS_13PrimitiveTypeE44EE11is_equal_toERKNS_7IColumnEm
Unexecuted instantiation: _ZNK5doris20SingleValueDataFixedILNS_13PrimitiveTypeE2EE11is_equal_toERKNS_7IColumnEm
Unexecuted instantiation: _ZNK5doris20SingleValueDataFixedILNS_13PrimitiveTypeE3EE11is_equal_toERKNS_7IColumnEm
Unexecuted instantiation: _ZNK5doris20SingleValueDataFixedILNS_13PrimitiveTypeE4EE11is_equal_toERKNS_7IColumnEm
Unexecuted instantiation: _ZNK5doris20SingleValueDataFixedILNS_13PrimitiveTypeE5EE11is_equal_toERKNS_7IColumnEm
Unexecuted instantiation: _ZNK5doris20SingleValueDataFixedILNS_13PrimitiveTypeE6EE11is_equal_toERKNS_7IColumnEm
Unexecuted instantiation: _ZNK5doris20SingleValueDataFixedILNS_13PrimitiveTypeE7EE11is_equal_toERKNS_7IColumnEm
Unexecuted instantiation: _ZNK5doris20SingleValueDataFixedILNS_13PrimitiveTypeE8EE11is_equal_toERKNS_7IColumnEm
Unexecuted instantiation: _ZNK5doris20SingleValueDataFixedILNS_13PrimitiveTypeE9EE11is_equal_toERKNS_7IColumnEm
Unexecuted instantiation: _ZNK5doris20SingleValueDataFixedILNS_13PrimitiveTypeE28EE11is_equal_toERKNS_7IColumnEm
Unexecuted instantiation: _ZNK5doris20SingleValueDataFixedILNS_13PrimitiveTypeE29EE11is_equal_toERKNS_7IColumnEm
Unexecuted instantiation: _ZNK5doris20SingleValueDataFixedILNS_13PrimitiveTypeE20EE11is_equal_toERKNS_7IColumnEm
Unexecuted instantiation: _ZNK5doris20SingleValueDataFixedILNS_13PrimitiveTypeE30EE11is_equal_toERKNS_7IColumnEm
Unexecuted instantiation: _ZNK5doris20SingleValueDataFixedILNS_13PrimitiveTypeE35EE11is_equal_toERKNS_7IColumnEm
139
140
8.21k
    bool set_if_greater(const Self& to, Arena& arena) {
141
8.21k
        if (to.has() && (!has() || Compare::greater(to.value, value))) {
142
8.21k
            set(to, arena);
143
8.21k
            return true;
144
8.21k
        }
145
0
        return false;
146
8.21k
    }
Unexecuted instantiation: _ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE43EE14set_if_greaterERKS2_RNS_5ArenaE
Unexecuted instantiation: _ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE2EE14set_if_greaterERKS2_RNS_5ArenaE
Unexecuted instantiation: _ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE3EE14set_if_greaterERKS2_RNS_5ArenaE
Unexecuted instantiation: _ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE4EE14set_if_greaterERKS2_RNS_5ArenaE
_ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE5EE14set_if_greaterERKS2_RNS_5ArenaE
Line
Count
Source
140
8
    bool set_if_greater(const Self& to, Arena& arena) {
141
8
        if (to.has() && (!has() || Compare::greater(to.value, value))) {
142
8
            set(to, arena);
143
8
            return true;
144
8
        }
145
0
        return false;
146
8
    }
_ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE6EE14set_if_greaterERKS2_RNS_5ArenaE
Line
Count
Source
140
6
    bool set_if_greater(const Self& to, Arena& arena) {
141
6
        if (to.has() && (!has() || Compare::greater(to.value, value))) {
142
6
            set(to, arena);
143
6
            return true;
144
6
        }
145
0
        return false;
146
6
    }
Unexecuted instantiation: _ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE7EE14set_if_greaterERKS2_RNS_5ArenaE
Unexecuted instantiation: _ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE8EE14set_if_greaterERKS2_RNS_5ArenaE
Unexecuted instantiation: _ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE9EE14set_if_greaterERKS2_RNS_5ArenaE
Unexecuted instantiation: _ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE28EE14set_if_greaterERKS2_RNS_5ArenaE
Unexecuted instantiation: _ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE29EE14set_if_greaterERKS2_RNS_5ArenaE
_ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE20EE14set_if_greaterERKS2_RNS_5ArenaE
Line
Count
Source
140
8.19k
    bool set_if_greater(const Self& to, Arena& arena) {
141
8.19k
        if (to.has() && (!has() || Compare::greater(to.value, value))) {
142
8.19k
            set(to, arena);
143
8.19k
            return true;
144
8.19k
        }
145
0
        return false;
146
8.19k
    }
Unexecuted instantiation: _ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE30EE14set_if_greaterERKS2_RNS_5ArenaE
Unexecuted instantiation: _ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE35EE14set_if_greaterERKS2_RNS_5ArenaE
Unexecuted instantiation: _ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE11EE14set_if_greaterERKS2_RNS_5ArenaE
Unexecuted instantiation: _ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE25EE14set_if_greaterERKS2_RNS_5ArenaE
_ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE26EE14set_if_greaterERKS2_RNS_5ArenaE
Line
Count
Source
140
6
    bool set_if_greater(const Self& to, Arena& arena) {
141
6
        if (to.has() && (!has() || Compare::greater(to.value, value))) {
142
6
            set(to, arena);
143
6
            return true;
144
6
        }
145
0
        return false;
146
6
    }
Unexecuted instantiation: _ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE12EE14set_if_greaterERKS2_RNS_5ArenaE
Unexecuted instantiation: _ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE27EE14set_if_greaterERKS2_RNS_5ArenaE
Unexecuted instantiation: _ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE42EE14set_if_greaterERKS2_RNS_5ArenaE
Unexecuted instantiation: _ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE36EE14set_if_greaterERKS2_RNS_5ArenaE
Unexecuted instantiation: _ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE37EE14set_if_greaterERKS2_RNS_5ArenaE
Unexecuted instantiation: _ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE44EE14set_if_greaterERKS2_RNS_5ArenaE
147
};
148
149
/// Stores short strings inline and allocates a separate buffer for long strings.
150
struct SingleValueDataString {
151
private:
152
    using Self = SingleValueDataString;
153
    // Keep the signed 32-bit size because -1 represents an empty state in the serialized format.
154
    Int32 size = -1;    /// -1 indicates that there is no value.
155
    Int32 capacity = 0; /// power of two or zero
156
    DorisUniqueBufferPtr<char> large_data;
157
158
public:
159
    static constexpr Int32 AUTOMATIC_STORAGE_SIZE = 64;
160
    static constexpr Int32 MAX_SMALL_STRING_SIZE =
161
            AUTOMATIC_STORAGE_SIZE - sizeof(size) - sizeof(capacity) - sizeof(large_data);
162
163
private:
164
    char small_data[MAX_SMALL_STRING_SIZE];
165
166
public:
167
    using ColVecType = ColumnString;
168
    static constexpr bool NeedCheckColumnType = true;
169
170
86
    ~SingleValueDataString() = default;
171
172
    static constexpr bool UsesFixedLengthStateSerialization = false;
173
174
16.5k
    bool has() const { return size >= 0; }
175
176
private:
177
16.5k
    static StringRef _value_at(const IColumn& column, size_t row_num) {
178
16.5k
        return assert_cast<const ColumnString&, TypeCheckOnRelease::DISABLE>(column).get_data_at(
179
16.5k
                row_num);
180
16.5k
    }
181
182
16.4k
    const char* _data() const {
183
16.4k
        return size <= MAX_SMALL_STRING_SIZE ? small_data : large_data.get();
184
16.4k
    }
185
186
16.4k
    StringRef _value() const { return StringRef(_data(), size); }
187
188
118
    void _set(StringRef source) {
189
118
        Int32 value_size = cast_set<Int32>(source.size);
190
118
        if (value_size <= MAX_SMALL_STRING_SIZE) {
191
            /// Don't free large_data here.
192
104
            size = value_size;
193
194
104
            if (size > 0) {
195
100
                memcpy(small_data, source.data, size);
196
100
            }
197
104
        } else {
198
14
            if (capacity < value_size) {
199
                /// Don't free large_data here.
200
14
                capacity = (Int32)round_up_to_power_of_two_or_zero(value_size);
201
14
                large_data = DorisUniqueBufferPtr<char>(capacity);
202
14
            }
203
204
14
            size = value_size;
205
14
            memcpy(large_data.get(), source.data, size);
206
14
        }
207
118
    }
208
209
public:
210
38
    void insert_result_into(IColumn& to) const {
211
38
        if (has()) {
212
36
            assert_cast<ColumnString&, TypeCheckOnRelease::DISABLE>(to).insert_data(_data(), size);
213
36
        } else {
214
2
            assert_cast<ColumnString&, TypeCheckOnRelease::DISABLE>(to).insert_default();
215
2
        }
216
38
    }
217
218
36
    void reset() {
219
36
        size = -1;
220
36
        capacity = 0;
221
36
        large_data.reset();
222
36
    }
223
224
6
    void write(BufferWritable& buf, const DataTypePtr&, int) const {
225
6
        buf.write_binary(size);
226
6
        if (has()) {
227
4
            buf.write(_data(), size);
228
4
        }
229
6
    }
230
231
6
    void read(BufferReadable& buf, const DataTypePtr&, int, Arena&) {
232
6
        Int32 rhs_size;
233
6
        buf.read_binary(rhs_size);
234
235
6
        if (rhs_size >= 0) {
236
4
            if (rhs_size <= MAX_SMALL_STRING_SIZE) {
237
                /// Don't free large_data here.
238
239
2
                size = rhs_size;
240
241
2
                if (size > 0) {
242
2
                    buf.read(small_data, size);
243
2
                }
244
2
            } else {
245
2
                if (capacity < rhs_size) {
246
2
                    capacity = (Int32)round_up_to_power_of_two_or_zero(rhs_size);
247
2
                    large_data = DorisUniqueBufferPtr<char>(capacity);
248
2
                }
249
250
2
                size = rhs_size;
251
2
                buf.read(large_data.get(), size);
252
2
            }
253
4
        } else {
254
            /// Don't free large_data here.
255
2
            size = rhs_size;
256
2
        }
257
6
    }
258
259
110
    void set(const IColumn& column, size_t row_num, Arena&) { _set(_value_at(column, row_num)); }
260
261
8
    void set(const Self& to, Arena&) {
262
8
        DORIS_CHECK(to.has());
263
8
        _set(to._value());
264
8
    }
265
266
8.21k
    bool set_if_smaller(const IColumn& column, size_t row_num, Arena& arena) {
267
8.21k
        if (!has() || _value_at(column, row_num) < _value()) {
268
10
            set(column, row_num, arena);
269
10
            return true;
270
10
        }
271
8.20k
        return false;
272
8.21k
    }
273
274
8.20k
    bool set_if_greater(const IColumn& column, size_t row_num, Arena& arena) {
275
8.20k
        if (!has() || _value_at(column, row_num) > _value()) {
276
68
            set(column, row_num, arena);
277
68
            return true;
278
68
        }
279
8.13k
        return false;
280
8.20k
    }
281
282
4
    bool set_if_smaller(const Self& to, Arena& arena) {
283
4
        if (to.has() && (!has() || to._value() < _value())) {
284
2
            set(to, arena);
285
2
            return true;
286
2
        }
287
2
        return false;
288
4
    }
289
290
4
    bool set_if_greater(const Self& to, Arena& arena) {
291
4
        if (to.has() && (!has() || to._value() > _value())) {
292
2
            set(to, arena);
293
2
            return true;
294
2
        }
295
2
        return false;
296
4
    }
297
298
0
    bool is_equal_to(const IColumn& column, size_t row_num) const {
299
0
        if (!has()) {
300
0
            return false;
301
0
        }
302
0
        return _value_at(column, row_num) == _value();
303
0
    }
304
};
305
306
static_assert(sizeof(SingleValueDataString) == SingleValueDataString::AUTOMATIC_STORAGE_SIZE);
307
308
/// Owns a materialized one-row column for values without a dedicated representation above.
309
class SingleValueDataColumn {
310
private:
311
    using Self = SingleValueDataColumn;
312
313
    ColumnPtr _value;
314
315
public:
316
    static constexpr bool NeedCheckColumnType = false;
317
    static constexpr bool UsesFixedLengthStateSerialization = false;
318
319
78
    bool has() const { return _value.get() != nullptr; }
320
321
8
    size_t allocated_bytes() const { return has() ? _value->allocated_bytes() : 0; }
322
323
36
    void set(const IColumn& column, size_t row_num) {
324
36
        auto value = column.clone_empty();
325
36
        DCHECK(value->empty());
326
36
        value->reserve(1);
327
36
        value->insert_from(column, row_num);
328
36
        DCHECK_EQ(value->size(), 1);
329
36
        _value = std::move(value);
330
36
    }
331
332
36
    void insert_result_into(IColumn& to) const {
333
36
        if (has()) {
334
36
            to.insert_from(*_value, 0);
335
36
        } else {
336
0
            to.insert_default();
337
0
        }
338
36
    }
339
340
12
    void reset() { _value.reset(); }
341
342
2
    void write(BufferWritable& buf, const DataTypePtr& data_type, int be_exec_version) const {
343
2
        buf.write_binary(has());
344
2
        if (!has()) {
345
0
            return;
346
0
        }
347
2
        auto size_bytes = data_type->get_uncompressed_serialized_bytes(*_value, be_exec_version);
348
2
        buf.write_binary(size_bytes);
349
2
        buf.resize(size_bytes);
350
2
        auto* p = data_type->serialize(*_value, buf.data(), be_exec_version);
351
2
        DCHECK_EQ(p, buf.data() + size_bytes);
352
2
        buf.add_offset(size_bytes);
353
2
    }
354
355
2
    void read(BufferReadable& buf, const DataTypePtr& data_type, int be_exec_version, Arena&) {
356
2
        bool has_value = false;
357
2
        buf.read_binary(has_value);
358
2
        if (!has_value) {
359
0
            reset();
360
0
            return;
361
0
        }
362
2
        int64_t size = 0;
363
2
        buf.read_binary(size);
364
2
        auto value = data_type->create_column();
365
2
        value->reserve(1);
366
2
        const auto* p = data_type->deserialize(buf.data(), &value, be_exec_version);
367
2
        DCHECK_EQ(p, buf.data() + size);
368
2
        buf.add_offset(size);
369
2
        _value = std::move(value);
370
2
    }
371
372
10
    void set(const IColumn& column, size_t row_num, Arena&) { set(column, row_num); }
373
374
2
    void set(const Self& to, Arena&) {
375
2
        DORIS_CHECK(to.has());
376
        // Stored one-row columns are immutable, so merged states can share ownership.
377
2
        _value = to._value;
378
2
    }
379
380
4
    bool set_if_smaller(const IColumn& column, size_t row_num, Arena& arena) {
381
4
        if (!has() || column.compare_at(row_num, 0, *_value, 1) < 0) {
382
4
            set(column, row_num, arena);
383
4
            return true;
384
4
        }
385
0
        return false;
386
4
    }
387
388
0
    bool set_if_smaller(const Self& to, Arena& arena) {
389
0
        if (to.has() && (!has() || to._value->compare_at(0, 0, *_value, 1) < 0)) {
390
0
            set(to, arena);
391
0
            return true;
392
0
        }
393
0
        return false;
394
0
    }
395
396
0
    bool set_if_greater(const IColumn& column, size_t row_num, Arena& arena) {
397
0
        if (!has() || column.compare_at(row_num, 0, *_value, 1) > 0) {
398
0
            set(column, row_num, arena);
399
0
            return true;
400
0
        }
401
0
        return false;
402
0
    }
403
404
0
    bool set_if_greater(const Self& to, Arena& arena) {
405
0
        if (to.has() && (!has() || to._value->compare_at(0, 0, *_value, 1) > 0)) {
406
0
            set(to, arena);
407
0
            return true;
408
0
        }
409
0
        return false;
410
0
    }
411
412
2
    bool is_equal_to(const IColumn& column, size_t row_num) const {
413
2
        return has() && column.compare_at(row_num, 0, *_value, 1) == 0;
414
2
    }
415
};
416
417
} // namespace doris