Coverage Report

Created: 2026-09-29 03:31

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
49.3k
    static const ValueType& _value_at(const IColumn& column, size_t row_num) {
48
49.3k
        return assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType&,
49
49.3k
                           TypeCheckOnRelease::DISABLE>(column)
50
49.3k
                .get_data()[row_num];
51
49.3k
    }
Unexecuted instantiation: _ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE11EE9_value_atERKNS_7IColumnEm
_ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE12EE9_value_atERKNS_7IColumnEm
Line
Count
Source
47
13
    static const ValueType& _value_at(const IColumn& column, size_t row_num) {
48
13
        return assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType&,
49
13
                           TypeCheckOnRelease::DISABLE>(column)
50
13
                .get_data()[row_num];
51
13
    }
Unexecuted instantiation: _ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE25EE9_value_atERKNS_7IColumnEm
_ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE26EE9_value_atERKNS_7IColumnEm
Line
Count
Source
47
6
    static const ValueType& _value_at(const IColumn& column, size_t row_num) {
48
6
        return assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType&,
49
6
                           TypeCheckOnRelease::DISABLE>(column)
50
6
                .get_data()[row_num];
51
6
    }
_ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE43EE9_value_atERKNS_7IColumnEm
Line
Count
Source
47
13
    static const ValueType& _value_at(const IColumn& column, size_t row_num) {
48
13
        return assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType&,
49
13
                           TypeCheckOnRelease::DISABLE>(column)
50
13
                .get_data()[row_num];
51
13
    }
Unexecuted instantiation: _ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE42EE9_value_atERKNS_7IColumnEm
Unexecuted instantiation: _ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE27EE9_value_atERKNS_7IColumnEm
_ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE36EE9_value_atERKNS_7IColumnEm
Line
Count
Source
47
13
    static const ValueType& _value_at(const IColumn& column, size_t row_num) {
48
13
        return assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType&,
49
13
                           TypeCheckOnRelease::DISABLE>(column)
50
13
                .get_data()[row_num];
51
13
    }
_ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE37EE9_value_atERKNS_7IColumnEm
Line
Count
Source
47
13
    static const ValueType& _value_at(const IColumn& column, size_t row_num) {
48
13
        return assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType&,
49
13
                           TypeCheckOnRelease::DISABLE>(column)
50
13
                .get_data()[row_num];
51
13
    }
Unexecuted instantiation: _ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE2EE9_value_atERKNS_7IColumnEm
_ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE3EE9_value_atERKNS_7IColumnEm
Line
Count
Source
47
13
    static const ValueType& _value_at(const IColumn& column, size_t row_num) {
48
13
        return assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType&,
49
13
                           TypeCheckOnRelease::DISABLE>(column)
50
13
                .get_data()[row_num];
51
13
    }
_ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE4EE9_value_atERKNS_7IColumnEm
Line
Count
Source
47
13
    static const ValueType& _value_at(const IColumn& column, size_t row_num) {
48
13
        return assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType&,
49
13
                           TypeCheckOnRelease::DISABLE>(column)
50
13
                .get_data()[row_num];
51
13
    }
_ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE5EE9_value_atERKNS_7IColumnEm
Line
Count
Source
47
28.7k
    static const ValueType& _value_at(const IColumn& column, size_t row_num) {
48
28.7k
        return assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType&,
49
28.7k
                           TypeCheckOnRelease::DISABLE>(column)
50
28.7k
                .get_data()[row_num];
51
28.7k
    }
_ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE6EE9_value_atERKNS_7IColumnEm
Line
Count
Source
47
19
    static const ValueType& _value_at(const IColumn& column, size_t row_num) {
48
19
        return assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType&,
49
19
                           TypeCheckOnRelease::DISABLE>(column)
50
19
                .get_data()[row_num];
51
19
    }
_ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE7EE9_value_atERKNS_7IColumnEm
Line
Count
Source
47
13
    static const ValueType& _value_at(const IColumn& column, size_t row_num) {
48
13
        return assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType&,
49
13
                           TypeCheckOnRelease::DISABLE>(column)
50
13
                .get_data()[row_num];
51
13
    }
_ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE8EE9_value_atERKNS_7IColumnEm
Line
Count
Source
47
13
    static const ValueType& _value_at(const IColumn& column, size_t row_num) {
48
13
        return assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType&,
49
13
                           TypeCheckOnRelease::DISABLE>(column)
50
13
                .get_data()[row_num];
51
13
    }
_ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE9EE9_value_atERKNS_7IColumnEm
Line
Count
Source
47
13
    static const ValueType& _value_at(const IColumn& column, size_t row_num) {
48
13
        return assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType&,
49
13
                           TypeCheckOnRelease::DISABLE>(column)
50
13
                .get_data()[row_num];
51
13
    }
Unexecuted instantiation: _ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE28EE9_value_atERKNS_7IColumnEm
Unexecuted instantiation: _ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE29EE9_value_atERKNS_7IColumnEm
_ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE20EE9_value_atERKNS_7IColumnEm
Line
Count
Source
47
20.4k
    static const ValueType& _value_at(const IColumn& column, size_t row_num) {
48
20.4k
        return assert_cast<const typename PrimitiveTypeTraits<T>::ColumnType&,
49
20.4k
                           TypeCheckOnRelease::DISABLE>(column)
50
20.4k
                .get_data()[row_num];
51
20.4k
    }
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
8.32k
    SingleValueDataFixed() = default;
Unexecuted instantiation: _ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE11EEC2Ev
_ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE12EEC2Ev
Line
Count
Source
61
2
    SingleValueDataFixed() = default;
Unexecuted instantiation: _ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE25EEC2Ev
_ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE26EEC2Ev
Line
Count
Source
61
18
    SingleValueDataFixed() = default;
_ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE43EEC2Ev
Line
Count
Source
61
2
    SingleValueDataFixed() = default;
Unexecuted instantiation: _ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE42EEC2Ev
Unexecuted instantiation: _ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE27EEC2Ev
_ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE36EEC2Ev
Line
Count
Source
61
4
    SingleValueDataFixed() = default;
_ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE37EEC2Ev
Line
Count
Source
61
4
    SingleValueDataFixed() = default;
Unexecuted instantiation: _ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE2EEC2Ev
_ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE3EEC2Ev
Line
Count
Source
61
4
    SingleValueDataFixed() = default;
_ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE4EEC2Ev
Line
Count
Source
61
4
    SingleValueDataFixed() = default;
_ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE5EEC2Ev
Line
Count
Source
61
45
    SingleValueDataFixed() = default;
_ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE6EEC2Ev
Line
Count
Source
61
34
    SingleValueDataFixed() = default;
_ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE7EEC2Ev
Line
Count
Source
61
4
    SingleValueDataFixed() = default;
_ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE8EEC2Ev
Line
Count
Source
61
4
    SingleValueDataFixed() = default;
_ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE9EEC2Ev
Line
Count
Source
61
4
    SingleValueDataFixed() = default;
Unexecuted instantiation: _ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE28EEC2Ev
Unexecuted instantiation: _ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE29EEC2Ev
_ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE20EEC2Ev
Line
Count
Source
61
8.19k
    SingleValueDataFixed() = default;
Unexecuted instantiation: _ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE30EEC2Ev
Unexecuted instantiation: _ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE35EEC2Ev
62
57.6k
    bool has() const { return has_value; }
Unexecuted instantiation: _ZNK5doris20SingleValueDataFixedILNS_13PrimitiveTypeE11EE3hasEv
_ZNK5doris20SingleValueDataFixedILNS_13PrimitiveTypeE12EE3hasEv
Line
Count
Source
62
12
    bool has() const { return has_value; }
Unexecuted instantiation: _ZNK5doris20SingleValueDataFixedILNS_13PrimitiveTypeE25EE3hasEv
_ZNK5doris20SingleValueDataFixedILNS_13PrimitiveTypeE26EE3hasEv
Line
Count
Source
62
48
    bool has() const { return has_value; }
_ZNK5doris20SingleValueDataFixedILNS_13PrimitiveTypeE43EE3hasEv
Line
Count
Source
62
12
    bool has() const { return has_value; }
Unexecuted instantiation: _ZNK5doris20SingleValueDataFixedILNS_13PrimitiveTypeE42EE3hasEv
Unexecuted instantiation: _ZNK5doris20SingleValueDataFixedILNS_13PrimitiveTypeE27EE3hasEv
_ZNK5doris20SingleValueDataFixedILNS_13PrimitiveTypeE36EE3hasEv
Line
Count
Source
62
14
    bool has() const { return has_value; }
_ZNK5doris20SingleValueDataFixedILNS_13PrimitiveTypeE37EE3hasEv
Line
Count
Source
62
14
    bool has() const { return has_value; }
Unexecuted instantiation: _ZNK5doris20SingleValueDataFixedILNS_13PrimitiveTypeE2EE3hasEv
_ZNK5doris20SingleValueDataFixedILNS_13PrimitiveTypeE3EE3hasEv
Line
Count
Source
62
14
    bool has() const { return has_value; }
_ZNK5doris20SingleValueDataFixedILNS_13PrimitiveTypeE4EE3hasEv
Line
Count
Source
62
14
    bool has() const { return has_value; }
_ZNK5doris20SingleValueDataFixedILNS_13PrimitiveTypeE5EE3hasEv
Line
Count
Source
62
16.4k
    bool has() const { return has_value; }
_ZNK5doris20SingleValueDataFixedILNS_13PrimitiveTypeE6EE3hasEv
Line
Count
Source
62
62
    bool has() const { return has_value; }
_ZNK5doris20SingleValueDataFixedILNS_13PrimitiveTypeE7EE3hasEv
Line
Count
Source
62
14
    bool has() const { return has_value; }
_ZNK5doris20SingleValueDataFixedILNS_13PrimitiveTypeE8EE3hasEv
Line
Count
Source
62
14
    bool has() const { return has_value; }
_ZNK5doris20SingleValueDataFixedILNS_13PrimitiveTypeE9EE3hasEv
Line
Count
Source
62
14
    bool has() const { return has_value; }
Unexecuted instantiation: _ZNK5doris20SingleValueDataFixedILNS_13PrimitiveTypeE28EE3hasEv
Unexecuted instantiation: _ZNK5doris20SingleValueDataFixedILNS_13PrimitiveTypeE29EE3hasEv
_ZNK5doris20SingleValueDataFixedILNS_13PrimitiveTypeE20EE3hasEv
Line
Count
Source
62
40.9k
    bool has() const { return has_value; }
Unexecuted instantiation: _ZNK5doris20SingleValueDataFixedILNS_13PrimitiveTypeE30EE3hasEv
Unexecuted instantiation: _ZNK5doris20SingleValueDataFixedILNS_13PrimitiveTypeE35EE3hasEv
63
64
    static constexpr bool UsesFixedLengthStateSerialization = true;
65
66
4.18k
    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
1
    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
9
    void set_value_to_min() { value = Compare::min_value<ValueType>(); }
_ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE43EE16set_value_to_minEv
Line
Count
Source
66
1
    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
5
    void set_value_to_min() { value = Compare::min_value<ValueType>(); }
_ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE37EE16set_value_to_minEv
Line
Count
Source
66
5
    void set_value_to_min() { value = Compare::min_value<ValueType>(); }
Unexecuted instantiation: _ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE2EE16set_value_to_minEv
_ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE3EE16set_value_to_minEv
Line
Count
Source
66
5
    void set_value_to_min() { value = Compare::min_value<ValueType>(); }
_ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE4EE16set_value_to_minEv
Line
Count
Source
66
5
    void set_value_to_min() { value = Compare::min_value<ValueType>(); }
_ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE5EE16set_value_to_minEv
Line
Count
Source
66
18
    void set_value_to_min() { value = Compare::min_value<ValueType>(); }
_ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE6EE16set_value_to_minEv
Line
Count
Source
66
20
    void set_value_to_min() { value = Compare::min_value<ValueType>(); }
_ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE7EE16set_value_to_minEv
Line
Count
Source
66
5
    void set_value_to_min() { value = Compare::min_value<ValueType>(); }
_ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE8EE16set_value_to_minEv
Line
Count
Source
66
5
    void set_value_to_min() { value = Compare::min_value<ValueType>(); }
_ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE9EE16set_value_to_minEv
Line
Count
Source
66
5
    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
4.09k
    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
4.18k
    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
1
    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
9
    void set_value_to_max() { value = Compare::max_value<ValueType>(); }
_ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE43EE16set_value_to_maxEv
Line
Count
Source
68
1
    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
5
    void set_value_to_max() { value = Compare::max_value<ValueType>(); }
_ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE37EE16set_value_to_maxEv
Line
Count
Source
68
5
    void set_value_to_max() { value = Compare::max_value<ValueType>(); }
Unexecuted instantiation: _ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE2EE16set_value_to_maxEv
_ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE3EE16set_value_to_maxEv
Line
Count
Source
68
5
    void set_value_to_max() { value = Compare::max_value<ValueType>(); }
_ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE4EE16set_value_to_maxEv
Line
Count
Source
68
5
    void set_value_to_max() { value = Compare::max_value<ValueType>(); }
_ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE5EE16set_value_to_maxEv
Line
Count
Source
68
18
    void set_value_to_max() { value = Compare::max_value<ValueType>(); }
_ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE6EE16set_value_to_maxEv
Line
Count
Source
68
20
    void set_value_to_max() { value = Compare::max_value<ValueType>(); }
_ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE7EE16set_value_to_maxEv
Line
Count
Source
68
5
    void set_value_to_max() { value = Compare::max_value<ValueType>(); }
_ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE8EE16set_value_to_maxEv
Line
Count
Source
68
5
    void set_value_to_max() { value = Compare::max_value<ValueType>(); }
_ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE9EE16set_value_to_maxEv
Line
Count
Source
68
5
    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
4.09k
    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
8.26k
    void insert_result_into(IColumn& to) const {
71
8.26k
        if (has()) {
72
8.26k
            assert_cast<typename PrimitiveTypeTraits<T>::ColumnType&, TypeCheckOnRelease::DISABLE>(
73
8.26k
                    to)
74
8.26k
                    .insert_value(value);
75
8.26k
        } else {
76
0
            assert_cast<typename PrimitiveTypeTraits<T>::ColumnType&, TypeCheckOnRelease::DISABLE>(
77
0
                    to)
78
0
                    .insert_default();
79
0
        }
80
8.26k
    }
Unexecuted instantiation: _ZNK5doris20SingleValueDataFixedILNS_13PrimitiveTypeE11EE18insert_result_intoERNS_7IColumnE
_ZNK5doris20SingleValueDataFixedILNS_13PrimitiveTypeE12EE18insert_result_intoERNS_7IColumnE
Line
Count
Source
70
2
    void insert_result_into(IColumn& to) const {
71
2
        if (has()) {
72
2
            assert_cast<typename PrimitiveTypeTraits<T>::ColumnType&, TypeCheckOnRelease::DISABLE>(
73
2
                    to)
74
2
                    .insert_value(value);
75
2
        } else {
76
0
            assert_cast<typename PrimitiveTypeTraits<T>::ColumnType&, TypeCheckOnRelease::DISABLE>(
77
0
                    to)
78
0
                    .insert_default();
79
0
        }
80
2
    }
Unexecuted instantiation: _ZNK5doris20SingleValueDataFixedILNS_13PrimitiveTypeE25EE18insert_result_intoERNS_7IColumnE
_ZNK5doris20SingleValueDataFixedILNS_13PrimitiveTypeE26EE18insert_result_intoERNS_7IColumnE
Line
Count
Source
70
6
    void insert_result_into(IColumn& to) const {
71
6
        if (has()) {
72
6
            assert_cast<typename PrimitiveTypeTraits<T>::ColumnType&, TypeCheckOnRelease::DISABLE>(
73
6
                    to)
74
6
                    .insert_value(value);
75
6
        } else {
76
0
            assert_cast<typename PrimitiveTypeTraits<T>::ColumnType&, TypeCheckOnRelease::DISABLE>(
77
0
                    to)
78
0
                    .insert_default();
79
0
        }
80
6
    }
_ZNK5doris20SingleValueDataFixedILNS_13PrimitiveTypeE43EE18insert_result_intoERNS_7IColumnE
Line
Count
Source
70
2
    void insert_result_into(IColumn& to) const {
71
2
        if (has()) {
72
2
            assert_cast<typename PrimitiveTypeTraits<T>::ColumnType&, TypeCheckOnRelease::DISABLE>(
73
2
                    to)
74
2
                    .insert_value(value);
75
2
        } else {
76
0
            assert_cast<typename PrimitiveTypeTraits<T>::ColumnType&, TypeCheckOnRelease::DISABLE>(
77
0
                    to)
78
0
                    .insert_default();
79
0
        }
80
2
    }
Unexecuted instantiation: _ZNK5doris20SingleValueDataFixedILNS_13PrimitiveTypeE42EE18insert_result_intoERNS_7IColumnE
Unexecuted instantiation: _ZNK5doris20SingleValueDataFixedILNS_13PrimitiveTypeE27EE18insert_result_intoERNS_7IColumnE
_ZNK5doris20SingleValueDataFixedILNS_13PrimitiveTypeE36EE18insert_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
    }
_ZNK5doris20SingleValueDataFixedILNS_13PrimitiveTypeE37EE18insert_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_13PrimitiveTypeE2EE18insert_result_intoERNS_7IColumnE
_ZNK5doris20SingleValueDataFixedILNS_13PrimitiveTypeE3EE18insert_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
    }
_ZNK5doris20SingleValueDataFixedILNS_13PrimitiveTypeE4EE18insert_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
    }
_ZNK5doris20SingleValueDataFixedILNS_13PrimitiveTypeE5EE18insert_result_intoERNS_7IColumnE
Line
Count
Source
70
21
    void insert_result_into(IColumn& to) const {
71
21
        if (has()) {
72
21
            assert_cast<typename PrimitiveTypeTraits<T>::ColumnType&, TypeCheckOnRelease::DISABLE>(
73
21
                    to)
74
21
                    .insert_value(value);
75
21
        } else {
76
0
            assert_cast<typename PrimitiveTypeTraits<T>::ColumnType&, TypeCheckOnRelease::DISABLE>(
77
0
                    to)
78
0
                    .insert_default();
79
0
        }
80
21
    }
_ZNK5doris20SingleValueDataFixedILNS_13PrimitiveTypeE6EE18insert_result_intoERNS_7IColumnE
Line
Count
Source
70
10
    void insert_result_into(IColumn& to) const {
71
10
        if (has()) {
72
10
            assert_cast<typename PrimitiveTypeTraits<T>::ColumnType&, TypeCheckOnRelease::DISABLE>(
73
10
                    to)
74
10
                    .insert_value(value);
75
10
        } else {
76
0
            assert_cast<typename PrimitiveTypeTraits<T>::ColumnType&, TypeCheckOnRelease::DISABLE>(
77
0
                    to)
78
0
                    .insert_default();
79
0
        }
80
10
    }
_ZNK5doris20SingleValueDataFixedILNS_13PrimitiveTypeE7EE18insert_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
    }
_ZNK5doris20SingleValueDataFixedILNS_13PrimitiveTypeE8EE18insert_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
    }
_ZNK5doris20SingleValueDataFixedILNS_13PrimitiveTypeE9EE18insert_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_13PrimitiveTypeE28EE18insert_result_intoERNS_7IColumnE
Unexecuted instantiation: _ZNK5doris20SingleValueDataFixedILNS_13PrimitiveTypeE29EE18insert_result_intoERNS_7IColumnE
_ZNK5doris20SingleValueDataFixedILNS_13PrimitiveTypeE20EE18insert_result_intoERNS_7IColumnE
Line
Count
Source
70
8.19k
    void insert_result_into(IColumn& to) const {
71
8.19k
        if (has()) {
72
8.19k
            assert_cast<typename PrimitiveTypeTraits<T>::ColumnType&, TypeCheckOnRelease::DISABLE>(
73
8.19k
                    to)
74
8.19k
                    .insert_value(value);
75
8.19k
        } else {
76
0
            assert_cast<typename PrimitiveTypeTraits<T>::ColumnType&, TypeCheckOnRelease::DISABLE>(
77
0
                    to)
78
0
                    .insert_default();
79
0
        }
80
8.19k
    }
Unexecuted instantiation: _ZNK5doris20SingleValueDataFixedILNS_13PrimitiveTypeE30EE18insert_result_intoERNS_7IColumnE
Unexecuted instantiation: _ZNK5doris20SingleValueDataFixedILNS_13PrimitiveTypeE35EE18insert_result_intoERNS_7IColumnE
81
82
8.36k
    void reset() { has_value = false; }
Unexecuted instantiation: _ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE11EE5resetEv
_ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE12EE5resetEv
Line
Count
Source
82
2
    void reset() { has_value = false; }
Unexecuted instantiation: _ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE25EE5resetEv
_ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE26EE5resetEv
Line
Count
Source
82
18
    void reset() { has_value = false; }
_ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE43EE5resetEv
Line
Count
Source
82
2
    void reset() { has_value = false; }
Unexecuted instantiation: _ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE42EE5resetEv
Unexecuted instantiation: _ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE27EE5resetEv
_ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE36EE5resetEv
Line
Count
Source
82
10
    void reset() { has_value = false; }
_ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE37EE5resetEv
Line
Count
Source
82
10
    void reset() { has_value = false; }
Unexecuted instantiation: _ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE2EE5resetEv
_ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE3EE5resetEv
Line
Count
Source
82
10
    void reset() { has_value = false; }
_ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE4EE5resetEv
Line
Count
Source
82
10
    void reset() { has_value = false; }
_ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE5EE5resetEv
Line
Count
Source
82
36
    void reset() { has_value = false; }
_ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE6EE5resetEv
Line
Count
Source
82
40
    void reset() { has_value = false; }
_ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE7EE5resetEv
Line
Count
Source
82
10
    void reset() { has_value = false; }
_ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE8EE5resetEv
Line
Count
Source
82
10
    void reset() { has_value = false; }
_ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE9EE5resetEv
Line
Count
Source
82
10
    void reset() { has_value = false; }
Unexecuted instantiation: _ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE28EE5resetEv
Unexecuted instantiation: _ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE29EE5resetEv
_ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE20EE5resetEv
Line
Count
Source
82
8.19k
    void reset() { has_value = false; }
Unexecuted instantiation: _ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE30EE5resetEv
Unexecuted instantiation: _ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE35EE5resetEv
83
84
23
    void write(BufferWritable& buf, const DataTypePtr&, int) const {
85
23
        buf.write_binary(has());
86
23
        if (has()) {
87
23
            buf.write_binary(value);
88
23
        }
89
23
    }
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
6
    void write(BufferWritable& buf, const DataTypePtr&, int) const {
85
6
        buf.write_binary(has());
86
6
        if (has()) {
87
6
            buf.write_binary(value);
88
6
        }
89
6
    }
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_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
11
    void write(BufferWritable& buf, const DataTypePtr&, int) const {
85
11
        buf.write_binary(has());
86
11
        if (has()) {
87
11
            buf.write_binary(value);
88
11
        }
89
11
    }
_ZNK5doris20SingleValueDataFixedILNS_13PrimitiveTypeE6EE5writeERNS_14BufferWritableERKSt10shared_ptrIKNS_9IDataTypeEEi
Line
Count
Source
84
6
    void write(BufferWritable& buf, const DataTypePtr&, int) const {
85
6
        buf.write_binary(has());
86
6
        if (has()) {
87
6
            buf.write_binary(value);
88
6
        }
89
6
    }
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
23
    void read(BufferReadable& buf, const DataTypePtr&, int, Arena&) {
92
23
        buf.read_binary(has_value);
93
23
        if (has()) {
94
23
            buf.read_binary(value);
95
23
        }
96
23
    }
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
6
    void read(BufferReadable& buf, const DataTypePtr&, int, Arena&) {
92
6
        buf.read_binary(has_value);
93
6
        if (has()) {
94
6
            buf.read_binary(value);
95
6
        }
96
6
    }
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_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
11
    void read(BufferReadable& buf, const DataTypePtr&, int, Arena&) {
92
11
        buf.read_binary(has_value);
93
11
        if (has()) {
94
11
            buf.read_binary(value);
95
11
        }
96
11
    }
_ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE6EE4readERNS_14BufferReadableERKSt10shared_ptrIKNS_9IDataTypeEEiRNS_5ArenaE
Line
Count
Source
91
6
    void read(BufferReadable& buf, const DataTypePtr&, int, Arena&) {
92
6
        buf.read_binary(has_value);
93
6
        if (has()) {
94
6
            buf.read_binary(value);
95
6
        }
96
6
    }
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
24.7k
    void set(const IColumn& column, size_t row_num, Arena&) {
99
24.7k
        has_value = true;
100
24.7k
        value = _value_at(column, row_num);
101
24.7k
    }
Unexecuted instantiation: _ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE11EE3setERKNS_7IColumnEmRNS_5ArenaE
_ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE12EE3setERKNS_7IColumnEmRNS_5ArenaE
Line
Count
Source
98
5
    void set(const IColumn& column, size_t row_num, Arena&) {
99
5
        has_value = true;
100
5
        value = _value_at(column, row_num);
101
5
    }
Unexecuted instantiation: _ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE25EE3setERKNS_7IColumnEmRNS_5ArenaE
_ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE26EE3setERKNS_7IColumnEmRNS_5ArenaE
Line
Count
Source
98
6
    void set(const IColumn& column, size_t row_num, Arena&) {
99
6
        has_value = true;
100
6
        value = _value_at(column, row_num);
101
6
    }
_ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE43EE3setERKNS_7IColumnEmRNS_5ArenaE
Line
Count
Source
98
5
    void set(const IColumn& column, size_t row_num, Arena&) {
99
5
        has_value = true;
100
5
        value = _value_at(column, row_num);
101
5
    }
Unexecuted instantiation: _ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE42EE3setERKNS_7IColumnEmRNS_5ArenaE
Unexecuted instantiation: _ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE27EE3setERKNS_7IColumnEmRNS_5ArenaE
_ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE36EE3setERKNS_7IColumnEmRNS_5ArenaE
Line
Count
Source
98
7
    void set(const IColumn& column, size_t row_num, Arena&) {
99
7
        has_value = true;
100
7
        value = _value_at(column, row_num);
101
7
    }
_ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE37EE3setERKNS_7IColumnEmRNS_5ArenaE
Line
Count
Source
98
7
    void set(const IColumn& column, size_t row_num, Arena&) {
99
7
        has_value = true;
100
7
        value = _value_at(column, row_num);
101
7
    }
Unexecuted instantiation: _ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE2EE3setERKNS_7IColumnEmRNS_5ArenaE
_ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE3EE3setERKNS_7IColumnEmRNS_5ArenaE
Line
Count
Source
98
7
    void set(const IColumn& column, size_t row_num, Arena&) {
99
7
        has_value = true;
100
7
        value = _value_at(column, row_num);
101
7
    }
_ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE4EE3setERKNS_7IColumnEmRNS_5ArenaE
Line
Count
Source
98
7
    void set(const IColumn& column, size_t row_num, Arena&) {
99
7
        has_value = true;
100
7
        value = _value_at(column, row_num);
101
7
    }
_ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE5EE3setERKNS_7IColumnEmRNS_5ArenaE
Line
Count
Source
98
12.3k
    void set(const IColumn& column, size_t row_num, Arena&) {
99
12.3k
        has_value = true;
100
12.3k
        value = _value_at(column, row_num);
101
12.3k
    }
_ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE6EE3setERKNS_7IColumnEmRNS_5ArenaE
Line
Count
Source
98
13
    void set(const IColumn& column, size_t row_num, Arena&) {
99
13
        has_value = true;
100
13
        value = _value_at(column, row_num);
101
13
    }
_ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE7EE3setERKNS_7IColumnEmRNS_5ArenaE
Line
Count
Source
98
7
    void set(const IColumn& column, size_t row_num, Arena&) {
99
7
        has_value = true;
100
7
        value = _value_at(column, row_num);
101
7
    }
_ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE8EE3setERKNS_7IColumnEmRNS_5ArenaE
Line
Count
Source
98
7
    void set(const IColumn& column, size_t row_num, Arena&) {
99
7
        has_value = true;
100
7
        value = _value_at(column, row_num);
101
7
    }
_ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE9EE3setERKNS_7IColumnEmRNS_5ArenaE
Line
Count
Source
98
7
    void set(const IColumn& column, size_t row_num, Arena&) {
99
7
        has_value = true;
100
7
        value = _value_at(column, row_num);
101
7
    }
Unexecuted instantiation: _ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE28EE3setERKNS_7IColumnEmRNS_5ArenaE
Unexecuted instantiation: _ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE29EE3setERKNS_7IColumnEmRNS_5ArenaE
_ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE20EE3setERKNS_7IColumnEmRNS_5ArenaE
Line
Count
Source
98
12.2k
    void set(const IColumn& column, size_t row_num, Arena&) {
99
12.2k
        has_value = true;
100
12.2k
        value = _value_at(column, row_num);
101
12.2k
    }
Unexecuted instantiation: _ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE30EE3setERKNS_7IColumnEmRNS_5ArenaE
Unexecuted instantiation: _ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE35EE3setERKNS_7IColumnEmRNS_5ArenaE
102
103
8.21k
    void set(const Self& to, Arena&) {
104
8.21k
        DORIS_CHECK(to.has());
105
8.21k
        has_value = true;
106
8.21k
        value = to.value;
107
8.21k
    }
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
6
    void set(const Self& to, Arena&) {
104
6
        DORIS_CHECK(to.has());
105
6
        has_value = true;
106
6
        value = to.value;
107
6
    }
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_13PrimitiveTypeE2EE3setERKS2_RNS_5ArenaE
Unexecuted instantiation: _ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE3EE3setERKS2_RNS_5ArenaE
Unexecuted instantiation: _ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE4EE3setERKS2_RNS_5ArenaE
_ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE5EE3setERKS2_RNS_5ArenaE
Line
Count
Source
103
11
    void set(const Self& to, Arena&) {
104
11
        DORIS_CHECK(to.has());
105
11
        has_value = true;
106
11
        value = to.value;
107
11
    }
_ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE6EE3setERKS2_RNS_5ArenaE
Line
Count
Source
103
6
    void set(const Self& to, Arena&) {
104
6
        DORIS_CHECK(to.has());
105
6
        has_value = true;
106
6
        value = to.value;
107
6
    }
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
8.19k
    void set(const Self& to, Arena&) {
104
8.19k
        DORIS_CHECK(to.has());
105
8.19k
        has_value = true;
106
8.19k
        value = to.value;
107
8.19k
    }
Unexecuted instantiation: _ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE30EE3setERKS2_RNS_5ArenaE
Unexecuted instantiation: _ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE35EE3setERKS2_RNS_5ArenaE
108
109
12.3k
    bool set_if_smaller(const IColumn& column, size_t row_num, Arena& arena) {
110
12.3k
        if (!has() || Compare::less(_value_at(column, row_num), value)) {
111
4.13k
            set(column, row_num, arena);
112
4.13k
            return true;
113
4.13k
        }
114
8.22k
        return false;
115
12.3k
    }
_ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE43EE14set_if_smallerERKNS_7IColumnEmRNS_5ArenaE
Line
Count
Source
109
5
    bool set_if_smaller(const IColumn& column, size_t row_num, Arena& arena) {
110
5
        if (!has() || Compare::less(_value_at(column, row_num), value)) {
111
3
            set(column, row_num, arena);
112
3
            return true;
113
3
        }
114
2
        return false;
115
5
    }
Unexecuted instantiation: _ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE2EE14set_if_smallerERKNS_7IColumnEmRNS_5ArenaE
_ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE3EE14set_if_smallerERKNS_7IColumnEmRNS_5ArenaE
Line
Count
Source
109
5
    bool set_if_smaller(const IColumn& column, size_t row_num, Arena& arena) {
110
5
        if (!has() || Compare::less(_value_at(column, row_num), value)) {
111
2
            set(column, row_num, arena);
112
2
            return true;
113
2
        }
114
3
        return false;
115
5
    }
_ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE4EE14set_if_smallerERKNS_7IColumnEmRNS_5ArenaE
Line
Count
Source
109
5
    bool set_if_smaller(const IColumn& column, size_t row_num, Arena& arena) {
110
5
        if (!has() || Compare::less(_value_at(column, row_num), value)) {
111
2
            set(column, row_num, arena);
112
2
            return true;
113
2
        }
114
3
        return false;
115
5
    }
_ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE5EE14set_if_smallerERKNS_7IColumnEmRNS_5ArenaE
Line
Count
Source
109
8.20k
    bool set_if_smaller(const IColumn& column, size_t row_num, Arena& arena) {
110
8.20k
        if (!has() || Compare::less(_value_at(column, row_num), value)) {
111
4.10k
            set(column, row_num, arena);
112
4.10k
            return true;
113
4.10k
        }
114
4.09k
        return false;
115
8.20k
    }
_ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE6EE14set_if_smallerERKNS_7IColumnEmRNS_5ArenaE
Line
Count
Source
109
8
    bool set_if_smaller(const IColumn& column, size_t row_num, Arena& arena) {
110
8
        if (!has() || Compare::less(_value_at(column, row_num), value)) {
111
5
            set(column, row_num, arena);
112
5
            return true;
113
5
        }
114
3
        return false;
115
8
    }
_ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE7EE14set_if_smallerERKNS_7IColumnEmRNS_5ArenaE
Line
Count
Source
109
5
    bool set_if_smaller(const IColumn& column, size_t row_num, Arena& arena) {
110
5
        if (!has() || Compare::less(_value_at(column, row_num), value)) {
111
2
            set(column, row_num, arena);
112
2
            return true;
113
2
        }
114
3
        return false;
115
5
    }
_ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE8EE14set_if_smallerERKNS_7IColumnEmRNS_5ArenaE
Line
Count
Source
109
5
    bool set_if_smaller(const IColumn& column, size_t row_num, Arena& arena) {
110
5
        if (!has() || Compare::less(_value_at(column, row_num), value)) {
111
2
            set(column, row_num, arena);
112
2
            return true;
113
2
        }
114
3
        return false;
115
5
    }
_ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE9EE14set_if_smallerERKNS_7IColumnEmRNS_5ArenaE
Line
Count
Source
109
5
    bool set_if_smaller(const IColumn& column, size_t row_num, Arena& arena) {
110
5
        if (!has() || Compare::less(_value_at(column, row_num), value)) {
111
2
            set(column, row_num, arena);
112
2
            return true;
113
2
        }
114
3
        return false;
115
5
    }
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
4.09k
    bool set_if_smaller(const IColumn& column, size_t row_num, Arena& arena) {
110
4.09k
        if (!has() || Compare::less(_value_at(column, row_num), value)) {
111
1
            set(column, row_num, arena);
112
1
            return true;
113
1
        }
114
4.09k
        return false;
115
4.09k
    }
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
3
    bool set_if_smaller(const IColumn& column, size_t row_num, Arena& arena) {
110
3
        if (!has() || Compare::less(_value_at(column, row_num), value)) {
111
3
            set(column, row_num, arena);
112
3
            return true;
113
3
        }
114
0
        return false;
115
3
    }
_ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE12EE14set_if_smallerERKNS_7IColumnEmRNS_5ArenaE
Line
Count
Source
109
5
    bool set_if_smaller(const IColumn& column, size_t row_num, Arena& arena) {
110
5
        if (!has() || Compare::less(_value_at(column, row_num), value)) {
111
2
            set(column, row_num, arena);
112
2
            return true;
113
2
        }
114
3
        return false;
115
5
    }
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
5
    bool set_if_smaller(const IColumn& column, size_t row_num, Arena& arena) {
110
5
        if (!has() || Compare::less(_value_at(column, row_num), value)) {
111
2
            set(column, row_num, arena);
112
2
            return true;
113
2
        }
114
3
        return false;
115
5
    }
_ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE37EE14set_if_smallerERKNS_7IColumnEmRNS_5ArenaE
Line
Count
Source
109
5
    bool set_if_smaller(const IColumn& column, size_t row_num, Arena& arena) {
110
5
        if (!has() || Compare::less(_value_at(column, row_num), value)) {
111
2
            set(column, row_num, arena);
112
2
            return true;
113
2
        }
114
3
        return false;
115
5
    }
116
117
4.10k
    bool set_if_smaller(const Self& to, Arena& arena) {
118
4.10k
        if (to.has() && (!has() || Compare::less(to.value, value))) {
119
4.10k
            set(to, arena);
120
4.10k
            return true;
121
4.10k
        }
122
0
        return false;
123
4.10k
    }
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
4
    bool set_if_smaller(const Self& to, Arena& arena) {
118
4
        if (to.has() && (!has() || Compare::less(to.value, value))) {
119
4
            set(to, arena);
120
4
            return true;
121
4
        }
122
0
        return false;
123
4
    }
_ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE6EE14set_if_smallerERKS2_RNS_5ArenaE
Line
Count
Source
117
3
    bool set_if_smaller(const Self& to, Arena& arena) {
118
3
        if (to.has() && (!has() || Compare::less(to.value, value))) {
119
3
            set(to, arena);
120
3
            return true;
121
3
        }
122
0
        return false;
123
3
    }
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
4.09k
    bool set_if_smaller(const Self& to, Arena& arena) {
118
4.09k
        if (to.has() && (!has() || Compare::less(to.value, value))) {
119
4.09k
            set(to, arena);
120
4.09k
            return true;
121
4.09k
        }
122
0
        return false;
123
4.09k
    }
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
3
    bool set_if_smaller(const Self& to, Arena& arena) {
118
3
        if (to.has() && (!has() || Compare::less(to.value, value))) {
119
3
            set(to, arena);
120
3
            return true;
121
3
        }
122
0
        return false;
123
3
    }
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
124
125
12.3k
    bool set_if_greater(const IColumn& column, size_t row_num, Arena& arena) {
126
12.3k
        if (!has() || Compare::greater(_value_at(column, row_num), value)) {
127
8.25k
            set(column, row_num, arena);
128
8.25k
            return true;
129
8.25k
        }
130
4.10k
        return false;
131
12.3k
    }
_ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE43EE14set_if_greaterERKNS_7IColumnEmRNS_5ArenaE
Line
Count
Source
125
5
    bool set_if_greater(const IColumn& column, size_t row_num, Arena& arena) {
126
5
        if (!has() || Compare::greater(_value_at(column, row_num), value)) {
127
2
            set(column, row_num, arena);
128
2
            return true;
129
2
        }
130
3
        return false;
131
5
    }
Unexecuted instantiation: _ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE2EE14set_if_greaterERKNS_7IColumnEmRNS_5ArenaE
_ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE3EE14set_if_greaterERKNS_7IColumnEmRNS_5ArenaE
Line
Count
Source
125
5
    bool set_if_greater(const IColumn& column, size_t row_num, Arena& arena) {
126
5
        if (!has() || Compare::greater(_value_at(column, row_num), value)) {
127
5
            set(column, row_num, arena);
128
5
            return true;
129
5
        }
130
0
        return false;
131
5
    }
_ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE4EE14set_if_greaterERKNS_7IColumnEmRNS_5ArenaE
Line
Count
Source
125
5
    bool set_if_greater(const IColumn& column, size_t row_num, Arena& arena) {
126
5
        if (!has() || Compare::greater(_value_at(column, row_num), value)) {
127
5
            set(column, row_num, arena);
128
5
            return true;
129
5
        }
130
0
        return false;
131
5
    }
_ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE5EE14set_if_greaterERKNS_7IColumnEmRNS_5ArenaE
Line
Count
Source
125
8.20k
    bool set_if_greater(const IColumn& column, size_t row_num, Arena& arena) {
126
8.20k
        if (!has() || Compare::greater(_value_at(column, row_num), value)) {
127
4.10k
            set(column, row_num, arena);
128
4.10k
            return true;
129
4.10k
        }
130
4.09k
        return false;
131
8.20k
    }
_ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE6EE14set_if_greaterERKNS_7IColumnEmRNS_5ArenaE
Line
Count
Source
125
8
    bool set_if_greater(const IColumn& column, size_t row_num, Arena& arena) {
126
8
        if (!has() || Compare::greater(_value_at(column, row_num), value)) {
127
8
            set(column, row_num, arena);
128
8
            return true;
129
8
        }
130
0
        return false;
131
8
    }
_ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE7EE14set_if_greaterERKNS_7IColumnEmRNS_5ArenaE
Line
Count
Source
125
5
    bool set_if_greater(const IColumn& column, size_t row_num, Arena& arena) {
126
5
        if (!has() || Compare::greater(_value_at(column, row_num), value)) {
127
5
            set(column, row_num, arena);
128
5
            return true;
129
5
        }
130
0
        return false;
131
5
    }
_ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE8EE14set_if_greaterERKNS_7IColumnEmRNS_5ArenaE
Line
Count
Source
125
5
    bool set_if_greater(const IColumn& column, size_t row_num, Arena& arena) {
126
5
        if (!has() || Compare::greater(_value_at(column, row_num), value)) {
127
5
            set(column, row_num, arena);
128
5
            return true;
129
5
        }
130
0
        return false;
131
5
    }
_ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE9EE14set_if_greaterERKNS_7IColumnEmRNS_5ArenaE
Line
Count
Source
125
5
    bool set_if_greater(const IColumn& column, size_t row_num, Arena& arena) {
126
5
        if (!has() || Compare::greater(_value_at(column, row_num), value)) {
127
5
            set(column, row_num, arena);
128
5
            return true;
129
5
        }
130
0
        return false;
131
5
    }
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
4.09k
    bool set_if_greater(const IColumn& column, size_t row_num, Arena& arena) {
126
4.09k
        if (!has() || Compare::greater(_value_at(column, row_num), value)) {
127
4.09k
            set(column, row_num, arena);
128
4.09k
            return true;
129
4.09k
        }
130
0
        return false;
131
4.09k
    }
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
3
    bool set_if_greater(const IColumn& column, size_t row_num, Arena& arena) {
126
3
        if (!has() || Compare::greater(_value_at(column, row_num), value)) {
127
3
            set(column, row_num, arena);
128
3
            return true;
129
3
        }
130
0
        return false;
131
3
    }
_ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE12EE14set_if_greaterERKNS_7IColumnEmRNS_5ArenaE
Line
Count
Source
125
5
    bool set_if_greater(const IColumn& column, size_t row_num, Arena& arena) {
126
5
        if (!has() || Compare::greater(_value_at(column, row_num), value)) {
127
3
            set(column, row_num, arena);
128
3
            return true;
129
3
        }
130
2
        return false;
131
5
    }
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
5
    bool set_if_greater(const IColumn& column, size_t row_num, Arena& arena) {
126
5
        if (!has() || Compare::greater(_value_at(column, row_num), value)) {
127
5
            set(column, row_num, arena);
128
5
            return true;
129
5
        }
130
0
        return false;
131
5
    }
_ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE37EE14set_if_greaterERKNS_7IColumnEmRNS_5ArenaE
Line
Count
Source
125
5
    bool set_if_greater(const IColumn& column, size_t row_num, Arena& arena) {
126
5
        if (!has() || Compare::greater(_value_at(column, row_num), value)) {
127
5
            set(column, row_num, arena);
128
5
            return true;
129
5
        }
130
0
        return false;
131
5
    }
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_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
4.10k
    bool set_if_greater(const Self& to, Arena& arena) {
141
4.10k
        if (to.has() && (!has() || Compare::greater(to.value, value))) {
142
4.10k
            set(to, arena);
143
4.10k
            return true;
144
4.10k
        }
145
0
        return false;
146
4.10k
    }
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
4
    bool set_if_greater(const Self& to, Arena& arena) {
141
4
        if (to.has() && (!has() || Compare::greater(to.value, value))) {
142
4
            set(to, arena);
143
4
            return true;
144
4
        }
145
0
        return false;
146
4
    }
_ZN5doris20SingleValueDataFixedILNS_13PrimitiveTypeE6EE14set_if_greaterERKS2_RNS_5ArenaE
Line
Count
Source
140
3
    bool set_if_greater(const Self& to, Arena& arena) {
141
3
        if (to.has() && (!has() || Compare::greater(to.value, value))) {
142
3
            set(to, arena);
143
3
            return true;
144
3
        }
145
0
        return false;
146
3
    }
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
4.09k
    bool set_if_greater(const Self& to, Arena& arena) {
141
4.09k
        if (to.has() && (!has() || Compare::greater(to.value, value))) {
142
4.09k
            set(to, arena);
143
4.09k
            return true;
144
4.09k
        }
145
0
        return false;
146
4.09k
    }
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
3
    bool set_if_greater(const Self& to, Arena& arena) {
141
3
        if (to.has() && (!has() || Compare::greater(to.value, value))) {
142
3
            set(to, arena);
143
3
            return true;
144
3
        }
145
0
        return false;
146
3
    }
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
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
39
    ~SingleValueDataString() = default;
171
172
    static constexpr bool UsesFixedLengthStateSerialization = false;
173
174
8.25k
    bool has() const { return size >= 0; }
175
176
private:
177
8.25k
    static StringRef _value_at(const IColumn& column, size_t row_num) {
178
8.25k
        return assert_cast<const ColumnString&, TypeCheckOnRelease::DISABLE>(column).get_data_at(
179
8.25k
                row_num);
180
8.25k
    }
181
182
8.23k
    const char* _data() const {
183
8.23k
        return size <= MAX_SMALL_STRING_SIZE ? small_data : large_data.get();
184
8.23k
    }
185
186
8.21k
    StringRef _value() const { return StringRef(_data(), size); }
187
188
58
    void _set(StringRef source) {
189
58
        Int32 value_size = cast_set<Int32>(source.size);
190
58
        if (value_size <= MAX_SMALL_STRING_SIZE) {
191
            /// Don't free large_data here.
192
52
            size = value_size;
193
194
52
            if (size > 0) {
195
50
                memcpy(small_data, source.data, size);
196
50
            }
197
52
        } else {
198
6
            if (capacity < value_size) {
199
                /// Don't free large_data here.
200
6
                capacity = (Int32)round_up_to_power_of_two_or_zero(value_size);
201
6
                large_data = DorisUniqueBufferPtr<char>(capacity);
202
6
            }
203
204
6
            size = value_size;
205
6
            memcpy(large_data.get(), source.data, size);
206
6
        }
207
58
    }
208
209
public:
210
19
    void insert_result_into(IColumn& to) const {
211
19
        if (has()) {
212
18
            assert_cast<ColumnString&, TypeCheckOnRelease::DISABLE>(to).insert_data(_data(), size);
213
18
        } else {
214
1
            assert_cast<ColumnString&, TypeCheckOnRelease::DISABLE>(to).insert_default();
215
1
        }
216
19
    }
217
218
14
    void reset() {
219
14
        size = -1;
220
14
        capacity = 0;
221
14
        large_data.reset();
222
14
    }
223
224
3
    void write(BufferWritable& buf, const DataTypePtr&, int) const {
225
3
        buf.write_binary(size);
226
3
        if (has()) {
227
2
            buf.write(_data(), size);
228
2
        }
229
3
    }
230
231
3
    void read(BufferReadable& buf, const DataTypePtr&, int, Arena&) {
232
3
        Int32 rhs_size;
233
3
        buf.read_binary(rhs_size);
234
235
3
        if (rhs_size >= 0) {
236
2
            if (rhs_size <= MAX_SMALL_STRING_SIZE) {
237
                /// Don't free large_data here.
238
239
1
                size = rhs_size;
240
241
1
                if (size > 0) {
242
1
                    buf.read(small_data, size);
243
1
                }
244
1
            } else {
245
1
                if (capacity < rhs_size) {
246
1
                    capacity = (Int32)round_up_to_power_of_two_or_zero(rhs_size);
247
1
                    large_data = DorisUniqueBufferPtr<char>(capacity);
248
1
                }
249
250
1
                size = rhs_size;
251
1
                buf.read(large_data.get(), size);
252
1
            }
253
2
        } else {
254
            /// Don't free large_data here.
255
1
            size = rhs_size;
256
1
        }
257
3
    }
258
259
54
    void set(const IColumn& column, size_t row_num, Arena&) { _set(_value_at(column, row_num)); }
260
261
4
    void set(const Self& to, Arena&) {
262
4
        DORIS_CHECK(to.has());
263
4
        _set(to._value());
264
4
    }
265
266
4.10k
    bool set_if_smaller(const IColumn& column, size_t row_num, Arena& arena) {
267
4.10k
        if (!has() || _value_at(column, row_num) < _value()) {
268
4
            set(column, row_num, arena);
269
4
            return true;
270
4
        }
271
4.10k
        return false;
272
4.10k
    }
273
274
4.10k
    bool set_if_greater(const IColumn& column, size_t row_num, Arena& arena) {
275
4.10k
        if (!has() || _value_at(column, row_num) > _value()) {
276
34
            set(column, row_num, arena);
277
34
            return true;
278
34
        }
279
4.06k
        return false;
280
4.10k
    }
281
282
2
    bool set_if_smaller(const Self& to, Arena& arena) {
283
2
        if (to.has() && (!has() || to._value() < _value())) {
284
1
            set(to, arena);
285
1
            return true;
286
1
        }
287
1
        return false;
288
2
    }
289
290
2
    bool set_if_greater(const Self& to, Arena& arena) {
291
2
        if (to.has() && (!has() || to._value() > _value())) {
292
1
            set(to, arena);
293
1
            return true;
294
1
        }
295
1
        return false;
296
2
    }
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
36
    bool has() const { return _value.get() != nullptr; }
320
321
4
    size_t allocated_bytes() const { return has() ? _value->allocated_bytes() : 0; }
322
323
15
    void set(const IColumn& column, size_t row_num) {
324
15
        auto value = column.clone_empty();
325
15
        DCHECK(value->empty());
326
15
        value->reserve(1);
327
15
        value->insert_from(column, row_num);
328
15
        DCHECK_EQ(value->size(), 1);
329
15
        _value = std::move(value);
330
15
    }
331
332
15
    void insert_result_into(IColumn& to) const {
333
15
        if (has()) {
334
15
            to.insert_from(*_value, 0);
335
15
        } else {
336
0
            to.insert_default();
337
0
        }
338
15
    }
339
340
5
    void reset() { _value.reset(); }
341
342
1
    void write(BufferWritable& buf, const DataTypePtr& data_type, int be_exec_version) const {
343
1
        buf.write_binary(has());
344
1
        if (!has()) {
345
0
            return;
346
0
        }
347
1
        auto size_bytes = data_type->get_uncompressed_serialized_bytes(*_value, be_exec_version);
348
1
        buf.write_binary(size_bytes);
349
1
        buf.resize(size_bytes);
350
1
        auto* p = data_type->serialize(*_value, buf.data(), be_exec_version);
351
1
        DCHECK_EQ(p, buf.data() + size_bytes);
352
1
        buf.add_offset(size_bytes);
353
1
    }
354
355
1
    void read(BufferReadable& buf, const DataTypePtr& data_type, int be_exec_version, Arena&) {
356
1
        bool has_value = false;
357
1
        buf.read_binary(has_value);
358
1
        if (!has_value) {
359
0
            reset();
360
0
            return;
361
0
        }
362
1
        int64_t size = 0;
363
1
        buf.read_binary(size);
364
1
        auto value = data_type->create_column();
365
1
        value->reserve(1);
366
1
        const auto* p = data_type->deserialize(buf.data(), &value, be_exec_version);
367
1
        DCHECK_EQ(p, buf.data() + size);
368
1
        buf.add_offset(size);
369
1
        _value = std::move(value);
370
1
    }
371
372
5
    void set(const IColumn& column, size_t row_num, Arena&) { set(column, row_num); }
373
374
1
    void set(const Self& to, Arena&) {
375
1
        DORIS_CHECK(to.has());
376
        // Stored one-row columns are immutable, so merged states can share ownership.
377
1
        _value = to._value;
378
1
    }
379
380
2
    bool set_if_smaller(const IColumn& column, size_t row_num, Arena& arena) {
381
2
        if (!has() || column.compare_at(row_num, 0, *_value, 1) < 0) {
382
2
            set(column, row_num, arena);
383
2
            return true;
384
2
        }
385
0
        return false;
386
2
    }
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
1
    bool is_equal_to(const IColumn& column, size_t row_num) const {
413
1
        return has() && column.compare_at(row_num, 0, *_value, 1) == 0;
414
1
    }
415
};
416
417
} // namespace doris