Coverage Report

Created: 2026-11-02 11:38

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
be/src/core/field.cpp
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
// This file is copied from
18
// https://github.com/ClickHouse/ClickHouse/blob/master/src/Core/Field.cpp
19
// and modified by Doris
20
21
#include "core/field.h"
22
23
#include "common/compare.h"
24
#include "core/accurate_comparison.h"
25
#include "core/allocator.h"
26
#include "core/allocator_fwd.h"
27
#include "core/data_type/data_type_decimal.h"
28
#include "core/data_type/define_primitive_type.h"
29
#include "core/data_type/primitive_type.h"
30
#include "core/decimal_comparison.h"
31
#include "core/value/bitmap_value.h"
32
#include "core/value/jsonb_value.h"
33
#include "core/value/timestamptz_value.h"
34
#include "core/value/uuid_value.h"
35
#include "core/value/vdatetime_value.h"
36
#include "exprs/function/cast/cast_to_string.h"
37
#include "util/json/path_in_data.h"
38
#include "util/var_int.h"
39
40
namespace doris {
41
class BufferReadable;
42
class BufferWritable;
43
44
template <PrimitiveType T>
45
bool dec_equal(typename PrimitiveTypeTraits<T>::CppType x,
46
0
               typename PrimitiveTypeTraits<T>::CppType y, UInt32 x_scale, UInt32 y_scale) {
47
0
    using Comparator = DecimalComparison<T, T, EqualsOp>;
48
0
    return Comparator::compare(x, y, x_scale, y_scale);
49
0
}
Unexecuted instantiation: _ZN5doris9dec_equalILNS_13PrimitiveTypeE28EEEbNS_19PrimitiveTypeTraitsIXT_EE7CppTypeES4_jj
Unexecuted instantiation: _ZN5doris9dec_equalILNS_13PrimitiveTypeE29EEEbNS_19PrimitiveTypeTraitsIXT_EE7CppTypeES4_jj
Unexecuted instantiation: _ZN5doris9dec_equalILNS_13PrimitiveTypeE20EEEbNS_19PrimitiveTypeTraitsIXT_EE7CppTypeES4_jj
Unexecuted instantiation: _ZN5doris9dec_equalILNS_13PrimitiveTypeE35EEEbNS_19PrimitiveTypeTraitsIXT_EE7CppTypeES4_jj
Unexecuted instantiation: _ZN5doris9dec_equalILNS_13PrimitiveTypeE30EEEbNS_19PrimitiveTypeTraitsIXT_EE7CppTypeES4_jj
50
51
template <PrimitiveType T>
52
bool dec_less(typename PrimitiveTypeTraits<T>::CppType x,
53
3.48k
              typename PrimitiveTypeTraits<T>::CppType y, UInt32 x_scale, UInt32 y_scale) {
54
3.48k
    using Comparator = DecimalComparison<T, T, LessOp>;
55
3.48k
    return Comparator::compare(x, y, x_scale, y_scale);
56
3.48k
}
_ZN5doris8dec_lessILNS_13PrimitiveTypeE28EEEbNS_19PrimitiveTypeTraitsIXT_EE7CppTypeES4_jj
Line
Count
Source
53
10
              typename PrimitiveTypeTraits<T>::CppType y, UInt32 x_scale, UInt32 y_scale) {
54
10
    using Comparator = DecimalComparison<T, T, LessOp>;
55
10
    return Comparator::compare(x, y, x_scale, y_scale);
56
10
}
_ZN5doris8dec_lessILNS_13PrimitiveTypeE29EEEbNS_19PrimitiveTypeTraitsIXT_EE7CppTypeES4_jj
Line
Count
Source
53
3
              typename PrimitiveTypeTraits<T>::CppType y, UInt32 x_scale, UInt32 y_scale) {
54
3
    using Comparator = DecimalComparison<T, T, LessOp>;
55
3
    return Comparator::compare(x, y, x_scale, y_scale);
56
3
}
Unexecuted instantiation: _ZN5doris8dec_lessILNS_13PrimitiveTypeE20EEEbNS_19PrimitiveTypeTraitsIXT_EE7CppTypeES4_jj
_ZN5doris8dec_lessILNS_13PrimitiveTypeE35EEEbNS_19PrimitiveTypeTraitsIXT_EE7CppTypeES4_jj
Line
Count
Source
53
972
              typename PrimitiveTypeTraits<T>::CppType y, UInt32 x_scale, UInt32 y_scale) {
54
972
    using Comparator = DecimalComparison<T, T, LessOp>;
55
972
    return Comparator::compare(x, y, x_scale, y_scale);
56
972
}
_ZN5doris8dec_lessILNS_13PrimitiveTypeE30EEEbNS_19PrimitiveTypeTraitsIXT_EE7CppTypeES4_jj
Line
Count
Source
53
2.50k
              typename PrimitiveTypeTraits<T>::CppType y, UInt32 x_scale, UInt32 y_scale) {
54
2.50k
    using Comparator = DecimalComparison<T, T, LessOp>;
55
2.50k
    return Comparator::compare(x, y, x_scale, y_scale);
56
2.50k
}
57
58
template <PrimitiveType T>
59
bool dec_less_or_equal(typename PrimitiveTypeTraits<T>::CppType x,
60
0
                       typename PrimitiveTypeTraits<T>::CppType y, UInt32 x_scale, UInt32 y_scale) {
61
0
    using Comparator = DecimalComparison<T, T, LessOrEqualsOp>;
62
0
    return Comparator::compare(x, y, x_scale, y_scale);
63
0
}
Unexecuted instantiation: _ZN5doris17dec_less_or_equalILNS_13PrimitiveTypeE28EEEbNS_19PrimitiveTypeTraitsIXT_EE7CppTypeES4_jj
Unexecuted instantiation: _ZN5doris17dec_less_or_equalILNS_13PrimitiveTypeE29EEEbNS_19PrimitiveTypeTraitsIXT_EE7CppTypeES4_jj
Unexecuted instantiation: _ZN5doris17dec_less_or_equalILNS_13PrimitiveTypeE20EEEbNS_19PrimitiveTypeTraitsIXT_EE7CppTypeES4_jj
Unexecuted instantiation: _ZN5doris17dec_less_or_equalILNS_13PrimitiveTypeE35EEEbNS_19PrimitiveTypeTraitsIXT_EE7CppTypeES4_jj
Unexecuted instantiation: _ZN5doris17dec_less_or_equalILNS_13PrimitiveTypeE30EEEbNS_19PrimitiveTypeTraitsIXT_EE7CppTypeES4_jj
64
65
#define DECLARE_DECIMAL_COMPARISON(TYPE, PTYPE)                        \
66
    template <>                                                        \
67
0
    bool decimal_equal(TYPE x, TYPE y, UInt32 xs, UInt32 ys) {         \
68
0
        return dec_equal<PTYPE>(x, y, xs, ys);                         \
69
0
    }                                                                  \
Unexecuted instantiation: _ZN5doris13decimal_equalINS_7DecimalIiEEEEbT_S3_jj
Unexecuted instantiation: _ZN5doris13decimal_equalINS_7DecimalIlEEEEbT_S3_jj
Unexecuted instantiation: _ZN5doris13decimal_equalINS_14DecimalV2ValueEEEbT_S2_jj
Unexecuted instantiation: _ZN5doris13decimal_equalINS_7DecimalIN4wide7integerILm256EiEEEEEEbT_S6_jj
70
    template <>                                                        \
71
985
    bool decimal_less(TYPE x, TYPE y, UInt32 xs, UInt32 ys) {          \
72
985
        return dec_less<PTYPE>(x, y, xs, ys);                          \
73
985
    }                                                                  \
_ZN5doris12decimal_lessINS_7DecimalIiEEEEbT_S3_jj
Line
Count
Source
71
10
    bool decimal_less(TYPE x, TYPE y, UInt32 xs, UInt32 ys) {          \
72
10
        return dec_less<PTYPE>(x, y, xs, ys);                          \
73
10
    }                                                                  \
_ZN5doris12decimal_lessINS_7DecimalIlEEEEbT_S3_jj
Line
Count
Source
71
3
    bool decimal_less(TYPE x, TYPE y, UInt32 xs, UInt32 ys) {          \
72
3
        return dec_less<PTYPE>(x, y, xs, ys);                          \
73
3
    }                                                                  \
Unexecuted instantiation: _ZN5doris12decimal_lessINS_14DecimalV2ValueEEEbT_S2_jj
_ZN5doris12decimal_lessINS_7DecimalIN4wide7integerILm256EiEEEEEEbT_S6_jj
Line
Count
Source
71
972
    bool decimal_less(TYPE x, TYPE y, UInt32 xs, UInt32 ys) {          \
72
972
        return dec_less<PTYPE>(x, y, xs, ys);                          \
73
972
    }                                                                  \
74
    template <>                                                        \
75
0
    bool decimal_less_or_equal(TYPE x, TYPE y, UInt32 xs, UInt32 ys) { \
76
0
        return dec_less_or_equal<PTYPE>(x, y, xs, ys);                 \
77
0
    }
Unexecuted instantiation: _ZN5doris21decimal_less_or_equalINS_7DecimalIiEEEEbT_S3_jj
Unexecuted instantiation: _ZN5doris21decimal_less_or_equalINS_7DecimalIlEEEEbT_S3_jj
Unexecuted instantiation: _ZN5doris21decimal_less_or_equalINS_14DecimalV2ValueEEEbT_S2_jj
Unexecuted instantiation: _ZN5doris21decimal_less_or_equalINS_7DecimalIN4wide7integerILm256EiEEEEEEbT_S6_jj
78
79
DECLARE_DECIMAL_COMPARISON(Decimal32, TYPE_DECIMAL32)
80
DECLARE_DECIMAL_COMPARISON(Decimal64, TYPE_DECIMAL64)
81
DECLARE_DECIMAL_COMPARISON(DecimalV2Value, TYPE_DECIMALV2)
82
DECLARE_DECIMAL_COMPARISON(Decimal256, TYPE_DECIMAL256)
83
84
template <>
85
0
bool decimal_equal(Decimal128V3 x, Decimal128V3 y, UInt32 xs, UInt32 ys) {
86
0
    return dec_equal<TYPE_DECIMAL128I>(x, y, xs, ys);
87
0
}
88
template <>
89
2.50k
bool decimal_less(Decimal128V3 x, Decimal128V3 y, UInt32 xs, UInt32 ys) {
90
2.50k
    return dec_less<TYPE_DECIMAL128I>(x, y, xs, ys);
91
2.50k
}
92
template <>
93
0
bool decimal_less_or_equal(Decimal128V3 x, Decimal128V3 y, UInt32 xs, UInt32 ys) {
94
0
    return dec_less_or_equal<TYPE_DECIMAL128I>(x, y, xs, ys);
95
0
}
96
97
namespace {
98
// Expression literals can outlive decoder pages and source columns.
99
// Keep the view first for Field::get(), and fit ownership into the existing Field storage.
100
struct OwnedBinaryField {
101
    StringView view;
102
    char* bytes = nullptr;
103
    size_t byte_size = 0;
104
105
425
    explicit OwnedBinaryField(const StringView& value) {
106
        // Inline views already own their bytes; preserve their allocation-free representation.
107
425
        if (value.isInline()) {
108
357
            view = value;
109
357
            return;
110
357
        }
111
        // Charge retained payloads and deep-copy peaks through Doris's checked allocator.
112
        // Keep a standard-layout owner so the leading view remains accessible via Field::get().
113
68
        bytes = static_cast<char*>(Allocator<false> {}.alloc(value.size()));
114
68
        byte_size = value.size();
115
68
        memcpy(bytes, value.data(), value.size());
116
68
        view = StringView(bytes, value.size());
117
68
    }
118
    OwnedBinaryField(const OwnedBinaryField&) = delete;
119
    OwnedBinaryField& operator=(const OwnedBinaryField&) = delete;
120
14
    OwnedBinaryField& operator=(OwnedBinaryField&& other) noexcept {
121
14
        release_bytes();
122
14
        view = other.view;
123
14
        bytes = std::exchange(other.bytes, nullptr);
124
14
        byte_size = std::exchange(other.byte_size, 0);
125
14
        return *this;
126
14
    }
127
421
    ~OwnedBinaryField() { release_bytes(); }
128
129
private:
130
435
    void release_bytes() const {
131
435
        if (bytes != nullptr) {
132
            // Field::get() exposes a mutable view; release the original allocation size.
133
64
            Allocator<false> {}.free(bytes, byte_size);
134
64
        }
135
435
    }
136
};
137
static_assert(std::is_standard_layout_v<OwnedBinaryField>);
138
static_assert(offsetof(OwnedBinaryField, view) == 0);
139
} // namespace
140
141
template <PrimitiveType Type>
142
152M
void Field::create_concrete(typename PrimitiveTypeTraits<Type>::CppType&& x) {
143
    // In both Field and PODArray, small types may be stored as wider types,
144
    // e.g. char is stored as UInt64. Field can return this extended value
145
    // with get<StorageType>(). To avoid uninitialized results from get(),
146
    // we must initialize the entire wide stored type, and not just the
147
    // nominal type.
148
152M
    using StorageType = typename PrimitiveTypeTraits<Type>::CppType;
149
152M
    if constexpr (Type == TYPE_VARBINARY) {
150
325
        static_assert(sizeof(OwnedBinaryField) <= sizeof(storage));
151
325
        new (&storage) OwnedBinaryField(x);
152
152M
    } else {
153
152M
        new (&storage) StorageType(std::move(x));
154
152M
    }
155
152M
    type = Type;
156
152M
    DCHECK_NE(type, PrimitiveType::INVALID_TYPE);
157
152M
}
_ZN5doris5Field15create_concreteILNS_13PrimitiveTypeE1EEEvONS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
142
219k
void Field::create_concrete(typename PrimitiveTypeTraits<Type>::CppType&& x) {
143
    // In both Field and PODArray, small types may be stored as wider types,
144
    // e.g. char is stored as UInt64. Field can return this extended value
145
    // with get<StorageType>(). To avoid uninitialized results from get(),
146
    // we must initialize the entire wide stored type, and not just the
147
    // nominal type.
148
219k
    using StorageType = typename PrimitiveTypeTraits<Type>::CppType;
149
    if constexpr (Type == TYPE_VARBINARY) {
150
        static_assert(sizeof(OwnedBinaryField) <= sizeof(storage));
151
        new (&storage) OwnedBinaryField(x);
152
219k
    } else {
153
219k
        new (&storage) StorageType(std::move(x));
154
219k
    }
155
219k
    type = Type;
156
    DCHECK_NE(type, PrimitiveType::INVALID_TYPE);
157
219k
}
_ZN5doris5Field15create_concreteILNS_13PrimitiveTypeE3EEEvONS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
142
9.43M
void Field::create_concrete(typename PrimitiveTypeTraits<Type>::CppType&& x) {
143
    // In both Field and PODArray, small types may be stored as wider types,
144
    // e.g. char is stored as UInt64. Field can return this extended value
145
    // with get<StorageType>(). To avoid uninitialized results from get(),
146
    // we must initialize the entire wide stored type, and not just the
147
    // nominal type.
148
9.43M
    using StorageType = typename PrimitiveTypeTraits<Type>::CppType;
149
    if constexpr (Type == TYPE_VARBINARY) {
150
        static_assert(sizeof(OwnedBinaryField) <= sizeof(storage));
151
        new (&storage) OwnedBinaryField(x);
152
9.43M
    } else {
153
9.43M
        new (&storage) StorageType(std::move(x));
154
9.43M
    }
155
9.43M
    type = Type;
156
    DCHECK_NE(type, PrimitiveType::INVALID_TYPE);
157
9.43M
}
_ZN5doris5Field15create_concreteILNS_13PrimitiveTypeE4EEEvONS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
142
261k
void Field::create_concrete(typename PrimitiveTypeTraits<Type>::CppType&& x) {
143
    // In both Field and PODArray, small types may be stored as wider types,
144
    // e.g. char is stored as UInt64. Field can return this extended value
145
    // with get<StorageType>(). To avoid uninitialized results from get(),
146
    // we must initialize the entire wide stored type, and not just the
147
    // nominal type.
148
261k
    using StorageType = typename PrimitiveTypeTraits<Type>::CppType;
149
    if constexpr (Type == TYPE_VARBINARY) {
150
        static_assert(sizeof(OwnedBinaryField) <= sizeof(storage));
151
        new (&storage) OwnedBinaryField(x);
152
261k
    } else {
153
261k
        new (&storage) StorageType(std::move(x));
154
261k
    }
155
261k
    type = Type;
156
    DCHECK_NE(type, PrimitiveType::INVALID_TYPE);
157
261k
}
_ZN5doris5Field15create_concreteILNS_13PrimitiveTypeE5EEEvONS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
142
27.8M
void Field::create_concrete(typename PrimitiveTypeTraits<Type>::CppType&& x) {
143
    // In both Field and PODArray, small types may be stored as wider types,
144
    // e.g. char is stored as UInt64. Field can return this extended value
145
    // with get<StorageType>(). To avoid uninitialized results from get(),
146
    // we must initialize the entire wide stored type, and not just the
147
    // nominal type.
148
27.8M
    using StorageType = typename PrimitiveTypeTraits<Type>::CppType;
149
    if constexpr (Type == TYPE_VARBINARY) {
150
        static_assert(sizeof(OwnedBinaryField) <= sizeof(storage));
151
        new (&storage) OwnedBinaryField(x);
152
27.8M
    } else {
153
27.8M
        new (&storage) StorageType(std::move(x));
154
27.8M
    }
155
27.8M
    type = Type;
156
    DCHECK_NE(type, PrimitiveType::INVALID_TYPE);
157
27.8M
}
_ZN5doris5Field15create_concreteILNS_13PrimitiveTypeE6EEEvONS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
142
31.1M
void Field::create_concrete(typename PrimitiveTypeTraits<Type>::CppType&& x) {
143
    // In both Field and PODArray, small types may be stored as wider types,
144
    // e.g. char is stored as UInt64. Field can return this extended value
145
    // with get<StorageType>(). To avoid uninitialized results from get(),
146
    // we must initialize the entire wide stored type, and not just the
147
    // nominal type.
148
31.1M
    using StorageType = typename PrimitiveTypeTraits<Type>::CppType;
149
    if constexpr (Type == TYPE_VARBINARY) {
150
        static_assert(sizeof(OwnedBinaryField) <= sizeof(storage));
151
        new (&storage) OwnedBinaryField(x);
152
31.1M
    } else {
153
31.1M
        new (&storage) StorageType(std::move(x));
154
31.1M
    }
155
31.1M
    type = Type;
156
    DCHECK_NE(type, PrimitiveType::INVALID_TYPE);
157
31.1M
}
_ZN5doris5Field15create_concreteILNS_13PrimitiveTypeE7EEEvONS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
142
323k
void Field::create_concrete(typename PrimitiveTypeTraits<Type>::CppType&& x) {
143
    // In both Field and PODArray, small types may be stored as wider types,
144
    // e.g. char is stored as UInt64. Field can return this extended value
145
    // with get<StorageType>(). To avoid uninitialized results from get(),
146
    // we must initialize the entire wide stored type, and not just the
147
    // nominal type.
148
323k
    using StorageType = typename PrimitiveTypeTraits<Type>::CppType;
149
    if constexpr (Type == TYPE_VARBINARY) {
150
        static_assert(sizeof(OwnedBinaryField) <= sizeof(storage));
151
        new (&storage) OwnedBinaryField(x);
152
323k
    } else {
153
323k
        new (&storage) StorageType(std::move(x));
154
323k
    }
155
323k
    type = Type;
156
    DCHECK_NE(type, PrimitiveType::INVALID_TYPE);
157
323k
}
_ZN5doris5Field15create_concreteILNS_13PrimitiveTypeE11EEEvONS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
142
23.5k
void Field::create_concrete(typename PrimitiveTypeTraits<Type>::CppType&& x) {
143
    // In both Field and PODArray, small types may be stored as wider types,
144
    // e.g. char is stored as UInt64. Field can return this extended value
145
    // with get<StorageType>(). To avoid uninitialized results from get(),
146
    // we must initialize the entire wide stored type, and not just the
147
    // nominal type.
148
23.5k
    using StorageType = typename PrimitiveTypeTraits<Type>::CppType;
149
    if constexpr (Type == TYPE_VARBINARY) {
150
        static_assert(sizeof(OwnedBinaryField) <= sizeof(storage));
151
        new (&storage) OwnedBinaryField(x);
152
23.5k
    } else {
153
23.5k
        new (&storage) StorageType(std::move(x));
154
23.5k
    }
155
23.5k
    type = Type;
156
    DCHECK_NE(type, PrimitiveType::INVALID_TYPE);
157
23.5k
}
_ZN5doris5Field15create_concreteILNS_13PrimitiveTypeE12EEEvONS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
142
29.0k
void Field::create_concrete(typename PrimitiveTypeTraits<Type>::CppType&& x) {
143
    // In both Field and PODArray, small types may be stored as wider types,
144
    // e.g. char is stored as UInt64. Field can return this extended value
145
    // with get<StorageType>(). To avoid uninitialized results from get(),
146
    // we must initialize the entire wide stored type, and not just the
147
    // nominal type.
148
29.0k
    using StorageType = typename PrimitiveTypeTraits<Type>::CppType;
149
    if constexpr (Type == TYPE_VARBINARY) {
150
        static_assert(sizeof(OwnedBinaryField) <= sizeof(storage));
151
        new (&storage) OwnedBinaryField(x);
152
29.0k
    } else {
153
29.0k
        new (&storage) StorageType(std::move(x));
154
29.0k
    }
155
29.0k
    type = Type;
156
    DCHECK_NE(type, PrimitiveType::INVALID_TYPE);
157
29.0k
}
_ZN5doris5Field15create_concreteILNS_13PrimitiveTypeE25EEEvONS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
142
781k
void Field::create_concrete(typename PrimitiveTypeTraits<Type>::CppType&& x) {
143
    // In both Field and PODArray, small types may be stored as wider types,
144
    // e.g. char is stored as UInt64. Field can return this extended value
145
    // with get<StorageType>(). To avoid uninitialized results from get(),
146
    // we must initialize the entire wide stored type, and not just the
147
    // nominal type.
148
781k
    using StorageType = typename PrimitiveTypeTraits<Type>::CppType;
149
    if constexpr (Type == TYPE_VARBINARY) {
150
        static_assert(sizeof(OwnedBinaryField) <= sizeof(storage));
151
        new (&storage) OwnedBinaryField(x);
152
781k
    } else {
153
781k
        new (&storage) StorageType(std::move(x));
154
781k
    }
155
781k
    type = Type;
156
    DCHECK_NE(type, PrimitiveType::INVALID_TYPE);
157
781k
}
_ZN5doris5Field15create_concreteILNS_13PrimitiveTypeE26EEEvONS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
142
4.31M
void Field::create_concrete(typename PrimitiveTypeTraits<Type>::CppType&& x) {
143
    // In both Field and PODArray, small types may be stored as wider types,
144
    // e.g. char is stored as UInt64. Field can return this extended value
145
    // with get<StorageType>(). To avoid uninitialized results from get(),
146
    // we must initialize the entire wide stored type, and not just the
147
    // nominal type.
148
4.31M
    using StorageType = typename PrimitiveTypeTraits<Type>::CppType;
149
    if constexpr (Type == TYPE_VARBINARY) {
150
        static_assert(sizeof(OwnedBinaryField) <= sizeof(storage));
151
        new (&storage) OwnedBinaryField(x);
152
4.31M
    } else {
153
4.31M
        new (&storage) StorageType(std::move(x));
154
4.31M
    }
155
4.31M
    type = Type;
156
    DCHECK_NE(type, PrimitiveType::INVALID_TYPE);
157
4.31M
}
_ZN5doris5Field15create_concreteILNS_13PrimitiveTypeE43EEEvONS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
142
7.51k
void Field::create_concrete(typename PrimitiveTypeTraits<Type>::CppType&& x) {
143
    // In both Field and PODArray, small types may be stored as wider types,
144
    // e.g. char is stored as UInt64. Field can return this extended value
145
    // with get<StorageType>(). To avoid uninitialized results from get(),
146
    // we must initialize the entire wide stored type, and not just the
147
    // nominal type.
148
7.51k
    using StorageType = typename PrimitiveTypeTraits<Type>::CppType;
149
    if constexpr (Type == TYPE_VARBINARY) {
150
        static_assert(sizeof(OwnedBinaryField) <= sizeof(storage));
151
        new (&storage) OwnedBinaryField(x);
152
7.51k
    } else {
153
7.51k
        new (&storage) StorageType(std::move(x));
154
7.51k
    }
155
7.51k
    type = Type;
156
    DCHECK_NE(type, PrimitiveType::INVALID_TYPE);
157
7.51k
}
_ZN5doris5Field15create_concreteILNS_13PrimitiveTypeE28EEEvONS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
142
119k
void Field::create_concrete(typename PrimitiveTypeTraits<Type>::CppType&& x) {
143
    // In both Field and PODArray, small types may be stored as wider types,
144
    // e.g. char is stored as UInt64. Field can return this extended value
145
    // with get<StorageType>(). To avoid uninitialized results from get(),
146
    // we must initialize the entire wide stored type, and not just the
147
    // nominal type.
148
119k
    using StorageType = typename PrimitiveTypeTraits<Type>::CppType;
149
    if constexpr (Type == TYPE_VARBINARY) {
150
        static_assert(sizeof(OwnedBinaryField) <= sizeof(storage));
151
        new (&storage) OwnedBinaryField(x);
152
119k
    } else {
153
119k
        new (&storage) StorageType(std::move(x));
154
119k
    }
155
119k
    type = Type;
156
    DCHECK_NE(type, PrimitiveType::INVALID_TYPE);
157
119k
}
_ZN5doris5Field15create_concreteILNS_13PrimitiveTypeE29EEEvONS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
142
13.7M
void Field::create_concrete(typename PrimitiveTypeTraits<Type>::CppType&& x) {
143
    // In both Field and PODArray, small types may be stored as wider types,
144
    // e.g. char is stored as UInt64. Field can return this extended value
145
    // with get<StorageType>(). To avoid uninitialized results from get(),
146
    // we must initialize the entire wide stored type, and not just the
147
    // nominal type.
148
13.7M
    using StorageType = typename PrimitiveTypeTraits<Type>::CppType;
149
    if constexpr (Type == TYPE_VARBINARY) {
150
        static_assert(sizeof(OwnedBinaryField) <= sizeof(storage));
151
        new (&storage) OwnedBinaryField(x);
152
13.7M
    } else {
153
13.7M
        new (&storage) StorageType(std::move(x));
154
13.7M
    }
155
13.7M
    type = Type;
156
    DCHECK_NE(type, PrimitiveType::INVALID_TYPE);
157
13.7M
}
_ZN5doris5Field15create_concreteILNS_13PrimitiveTypeE20EEEvONS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
142
18.4k
void Field::create_concrete(typename PrimitiveTypeTraits<Type>::CppType&& x) {
143
    // In both Field and PODArray, small types may be stored as wider types,
144
    // e.g. char is stored as UInt64. Field can return this extended value
145
    // with get<StorageType>(). To avoid uninitialized results from get(),
146
    // we must initialize the entire wide stored type, and not just the
147
    // nominal type.
148
18.4k
    using StorageType = typename PrimitiveTypeTraits<Type>::CppType;
149
    if constexpr (Type == TYPE_VARBINARY) {
150
        static_assert(sizeof(OwnedBinaryField) <= sizeof(storage));
151
        new (&storage) OwnedBinaryField(x);
152
18.4k
    } else {
153
18.4k
        new (&storage) StorageType(std::move(x));
154
18.4k
    }
155
18.4k
    type = Type;
156
    DCHECK_NE(type, PrimitiveType::INVALID_TYPE);
157
18.4k
}
_ZN5doris5Field15create_concreteILNS_13PrimitiveTypeE30EEEvONS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
142
203k
void Field::create_concrete(typename PrimitiveTypeTraits<Type>::CppType&& x) {
143
    // In both Field and PODArray, small types may be stored as wider types,
144
    // e.g. char is stored as UInt64. Field can return this extended value
145
    // with get<StorageType>(). To avoid uninitialized results from get(),
146
    // we must initialize the entire wide stored type, and not just the
147
    // nominal type.
148
203k
    using StorageType = typename PrimitiveTypeTraits<Type>::CppType;
149
    if constexpr (Type == TYPE_VARBINARY) {
150
        static_assert(sizeof(OwnedBinaryField) <= sizeof(storage));
151
        new (&storage) OwnedBinaryField(x);
152
203k
    } else {
153
203k
        new (&storage) StorageType(std::move(x));
154
203k
    }
155
203k
    type = Type;
156
    DCHECK_NE(type, PrimitiveType::INVALID_TYPE);
157
203k
}
_ZN5doris5Field15create_concreteILNS_13PrimitiveTypeE35EEEvONS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
142
55.8k
void Field::create_concrete(typename PrimitiveTypeTraits<Type>::CppType&& x) {
143
    // In both Field and PODArray, small types may be stored as wider types,
144
    // e.g. char is stored as UInt64. Field can return this extended value
145
    // with get<StorageType>(). To avoid uninitialized results from get(),
146
    // we must initialize the entire wide stored type, and not just the
147
    // nominal type.
148
55.8k
    using StorageType = typename PrimitiveTypeTraits<Type>::CppType;
149
    if constexpr (Type == TYPE_VARBINARY) {
150
        static_assert(sizeof(OwnedBinaryField) <= sizeof(storage));
151
        new (&storage) OwnedBinaryField(x);
152
55.8k
    } else {
153
55.8k
        new (&storage) StorageType(std::move(x));
154
55.8k
    }
155
55.8k
    type = Type;
156
    DCHECK_NE(type, PrimitiveType::INVALID_TYPE);
157
55.8k
}
_ZN5doris5Field15create_concreteILNS_13PrimitiveTypeE15EEEvONS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
142
143k
void Field::create_concrete(typename PrimitiveTypeTraits<Type>::CppType&& x) {
143
    // In both Field and PODArray, small types may be stored as wider types,
144
    // e.g. char is stored as UInt64. Field can return this extended value
145
    // with get<StorageType>(). To avoid uninitialized results from get(),
146
    // we must initialize the entire wide stored type, and not just the
147
    // nominal type.
148
143k
    using StorageType = typename PrimitiveTypeTraits<Type>::CppType;
149
    if constexpr (Type == TYPE_VARBINARY) {
150
        static_assert(sizeof(OwnedBinaryField) <= sizeof(storage));
151
        new (&storage) OwnedBinaryField(x);
152
143k
    } else {
153
143k
        new (&storage) StorageType(std::move(x));
154
143k
    }
155
143k
    type = Type;
156
    DCHECK_NE(type, PrimitiveType::INVALID_TYPE);
157
143k
}
_ZN5doris5Field15create_concreteILNS_13PrimitiveTypeE10EEEvONS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
142
2.15M
void Field::create_concrete(typename PrimitiveTypeTraits<Type>::CppType&& x) {
143
    // In both Field and PODArray, small types may be stored as wider types,
144
    // e.g. char is stored as UInt64. Field can return this extended value
145
    // with get<StorageType>(). To avoid uninitialized results from get(),
146
    // we must initialize the entire wide stored type, and not just the
147
    // nominal type.
148
2.15M
    using StorageType = typename PrimitiveTypeTraits<Type>::CppType;
149
    if constexpr (Type == TYPE_VARBINARY) {
150
        static_assert(sizeof(OwnedBinaryField) <= sizeof(storage));
151
        new (&storage) OwnedBinaryField(x);
152
2.15M
    } else {
153
2.15M
        new (&storage) StorageType(std::move(x));
154
2.15M
    }
155
2.15M
    type = Type;
156
    DCHECK_NE(type, PrimitiveType::INVALID_TYPE);
157
2.15M
}
_ZN5doris5Field15create_concreteILNS_13PrimitiveTypeE23EEEvONS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
142
32.3M
void Field::create_concrete(typename PrimitiveTypeTraits<Type>::CppType&& x) {
143
    // In both Field and PODArray, small types may be stored as wider types,
144
    // e.g. char is stored as UInt64. Field can return this extended value
145
    // with get<StorageType>(). To avoid uninitialized results from get(),
146
    // we must initialize the entire wide stored type, and not just the
147
    // nominal type.
148
32.3M
    using StorageType = typename PrimitiveTypeTraits<Type>::CppType;
149
    if constexpr (Type == TYPE_VARBINARY) {
150
        static_assert(sizeof(OwnedBinaryField) <= sizeof(storage));
151
        new (&storage) OwnedBinaryField(x);
152
32.3M
    } else {
153
32.3M
        new (&storage) StorageType(std::move(x));
154
32.3M
    }
155
32.3M
    type = Type;
156
    DCHECK_NE(type, PrimitiveType::INVALID_TYPE);
157
32.3M
}
_ZN5doris5Field15create_concreteILNS_13PrimitiveTypeE41EEEvONS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
142
325
void Field::create_concrete(typename PrimitiveTypeTraits<Type>::CppType&& x) {
143
    // In both Field and PODArray, small types may be stored as wider types,
144
    // e.g. char is stored as UInt64. Field can return this extended value
145
    // with get<StorageType>(). To avoid uninitialized results from get(),
146
    // we must initialize the entire wide stored type, and not just the
147
    // nominal type.
148
325
    using StorageType = typename PrimitiveTypeTraits<Type>::CppType;
149
325
    if constexpr (Type == TYPE_VARBINARY) {
150
325
        static_assert(sizeof(OwnedBinaryField) <= sizeof(storage));
151
325
        new (&storage) OwnedBinaryField(x);
152
    } else {
153
        new (&storage) StorageType(std::move(x));
154
    }
155
325
    type = Type;
156
    DCHECK_NE(type, PrimitiveType::INVALID_TYPE);
157
325
}
_ZN5doris5Field15create_concreteILNS_13PrimitiveTypeE19EEEvONS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
142
35
void Field::create_concrete(typename PrimitiveTypeTraits<Type>::CppType&& x) {
143
    // In both Field and PODArray, small types may be stored as wider types,
144
    // e.g. char is stored as UInt64. Field can return this extended value
145
    // with get<StorageType>(). To avoid uninitialized results from get(),
146
    // we must initialize the entire wide stored type, and not just the
147
    // nominal type.
148
35
    using StorageType = typename PrimitiveTypeTraits<Type>::CppType;
149
    if constexpr (Type == TYPE_VARBINARY) {
150
        static_assert(sizeof(OwnedBinaryField) <= sizeof(storage));
151
        new (&storage) OwnedBinaryField(x);
152
35
    } else {
153
35
        new (&storage) StorageType(std::move(x));
154
35
    }
155
35
    type = Type;
156
    DCHECK_NE(type, PrimitiveType::INVALID_TYPE);
157
35
}
_ZN5doris5Field15create_concreteILNS_13PrimitiveTypeE32EEEvONS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
142
13.3k
void Field::create_concrete(typename PrimitiveTypeTraits<Type>::CppType&& x) {
143
    // In both Field and PODArray, small types may be stored as wider types,
144
    // e.g. char is stored as UInt64. Field can return this extended value
145
    // with get<StorageType>(). To avoid uninitialized results from get(),
146
    // we must initialize the entire wide stored type, and not just the
147
    // nominal type.
148
13.3k
    using StorageType = typename PrimitiveTypeTraits<Type>::CppType;
149
    if constexpr (Type == TYPE_VARBINARY) {
150
        static_assert(sizeof(OwnedBinaryField) <= sizeof(storage));
151
        new (&storage) OwnedBinaryField(x);
152
13.3k
    } else {
153
13.3k
        new (&storage) StorageType(std::move(x));
154
13.3k
    }
155
13.3k
    type = Type;
156
    DCHECK_NE(type, PrimitiveType::INVALID_TYPE);
157
13.3k
}
_ZN5doris5Field15create_concreteILNS_13PrimitiveTypeE24EEEvONS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
142
18
void Field::create_concrete(typename PrimitiveTypeTraits<Type>::CppType&& x) {
143
    // In both Field and PODArray, small types may be stored as wider types,
144
    // e.g. char is stored as UInt64. Field can return this extended value
145
    // with get<StorageType>(). To avoid uninitialized results from get(),
146
    // we must initialize the entire wide stored type, and not just the
147
    // nominal type.
148
18
    using StorageType = typename PrimitiveTypeTraits<Type>::CppType;
149
    if constexpr (Type == TYPE_VARBINARY) {
150
        static_assert(sizeof(OwnedBinaryField) <= sizeof(storage));
151
        new (&storage) OwnedBinaryField(x);
152
18
    } else {
153
18
        new (&storage) StorageType(std::move(x));
154
18
    }
155
18
    type = Type;
156
    DCHECK_NE(type, PrimitiveType::INVALID_TYPE);
157
18
}
_ZN5doris5Field15create_concreteILNS_13PrimitiveTypeE17EEEvONS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
142
243k
void Field::create_concrete(typename PrimitiveTypeTraits<Type>::CppType&& x) {
143
    // In both Field and PODArray, small types may be stored as wider types,
144
    // e.g. char is stored as UInt64. Field can return this extended value
145
    // with get<StorageType>(). To avoid uninitialized results from get(),
146
    // we must initialize the entire wide stored type, and not just the
147
    // nominal type.
148
243k
    using StorageType = typename PrimitiveTypeTraits<Type>::CppType;
149
    if constexpr (Type == TYPE_VARBINARY) {
150
        static_assert(sizeof(OwnedBinaryField) <= sizeof(storage));
151
        new (&storage) OwnedBinaryField(x);
152
243k
    } else {
153
243k
        new (&storage) StorageType(std::move(x));
154
243k
    }
155
243k
    type = Type;
156
    DCHECK_NE(type, PrimitiveType::INVALID_TYPE);
157
243k
}
_ZN5doris5Field15create_concreteILNS_13PrimitiveTypeE42EEEvONS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
142
84.2k
void Field::create_concrete(typename PrimitiveTypeTraits<Type>::CppType&& x) {
143
    // In both Field and PODArray, small types may be stored as wider types,
144
    // e.g. char is stored as UInt64. Field can return this extended value
145
    // with get<StorageType>(). To avoid uninitialized results from get(),
146
    // we must initialize the entire wide stored type, and not just the
147
    // nominal type.
148
84.2k
    using StorageType = typename PrimitiveTypeTraits<Type>::CppType;
149
    if constexpr (Type == TYPE_VARBINARY) {
150
        static_assert(sizeof(OwnedBinaryField) <= sizeof(storage));
151
        new (&storage) OwnedBinaryField(x);
152
84.2k
    } else {
153
84.2k
        new (&storage) StorageType(std::move(x));
154
84.2k
    }
155
84.2k
    type = Type;
156
    DCHECK_NE(type, PrimitiveType::INVALID_TYPE);
157
84.2k
}
_ZN5doris5Field15create_concreteILNS_13PrimitiveTypeE36EEEvONS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
142
44.7k
void Field::create_concrete(typename PrimitiveTypeTraits<Type>::CppType&& x) {
143
    // In both Field and PODArray, small types may be stored as wider types,
144
    // e.g. char is stored as UInt64. Field can return this extended value
145
    // with get<StorageType>(). To avoid uninitialized results from get(),
146
    // we must initialize the entire wide stored type, and not just the
147
    // nominal type.
148
44.7k
    using StorageType = typename PrimitiveTypeTraits<Type>::CppType;
149
    if constexpr (Type == TYPE_VARBINARY) {
150
        static_assert(sizeof(OwnedBinaryField) <= sizeof(storage));
151
        new (&storage) OwnedBinaryField(x);
152
44.7k
    } else {
153
44.7k
        new (&storage) StorageType(std::move(x));
154
44.7k
    }
155
44.7k
    type = Type;
156
    DCHECK_NE(type, PrimitiveType::INVALID_TYPE);
157
44.7k
}
_ZN5doris5Field15create_concreteILNS_13PrimitiveTypeE37EEEvONS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
142
30.5k
void Field::create_concrete(typename PrimitiveTypeTraits<Type>::CppType&& x) {
143
    // In both Field and PODArray, small types may be stored as wider types,
144
    // e.g. char is stored as UInt64. Field can return this extended value
145
    // with get<StorageType>(). To avoid uninitialized results from get(),
146
    // we must initialize the entire wide stored type, and not just the
147
    // nominal type.
148
30.5k
    using StorageType = typename PrimitiveTypeTraits<Type>::CppType;
149
    if constexpr (Type == TYPE_VARBINARY) {
150
        static_assert(sizeof(OwnedBinaryField) <= sizeof(storage));
151
        new (&storage) OwnedBinaryField(x);
152
30.5k
    } else {
153
30.5k
        new (&storage) StorageType(std::move(x));
154
30.5k
    }
155
30.5k
    type = Type;
156
    DCHECK_NE(type, PrimitiveType::INVALID_TYPE);
157
30.5k
}
_ZN5doris5Field15create_concreteILNS_13PrimitiveTypeE44EEEvONS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
142
67.2k
void Field::create_concrete(typename PrimitiveTypeTraits<Type>::CppType&& x) {
143
    // In both Field and PODArray, small types may be stored as wider types,
144
    // e.g. char is stored as UInt64. Field can return this extended value
145
    // with get<StorageType>(). To avoid uninitialized results from get(),
146
    // we must initialize the entire wide stored type, and not just the
147
    // nominal type.
148
67.2k
    using StorageType = typename PrimitiveTypeTraits<Type>::CppType;
149
    if constexpr (Type == TYPE_VARBINARY) {
150
        static_assert(sizeof(OwnedBinaryField) <= sizeof(storage));
151
        new (&storage) OwnedBinaryField(x);
152
67.2k
    } else {
153
67.2k
        new (&storage) StorageType(std::move(x));
154
67.2k
    }
155
67.2k
    type = Type;
156
    DCHECK_NE(type, PrimitiveType::INVALID_TYPE);
157
67.2k
}
_ZN5doris5Field15create_concreteILNS_13PrimitiveTypeE2EEEvONS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
142
28.4M
void Field::create_concrete(typename PrimitiveTypeTraits<Type>::CppType&& x) {
143
    // In both Field and PODArray, small types may be stored as wider types,
144
    // e.g. char is stored as UInt64. Field can return this extended value
145
    // with get<StorageType>(). To avoid uninitialized results from get(),
146
    // we must initialize the entire wide stored type, and not just the
147
    // nominal type.
148
28.4M
    using StorageType = typename PrimitiveTypeTraits<Type>::CppType;
149
    if constexpr (Type == TYPE_VARBINARY) {
150
        static_assert(sizeof(OwnedBinaryField) <= sizeof(storage));
151
        new (&storage) OwnedBinaryField(x);
152
28.4M
    } else {
153
28.4M
        new (&storage) StorageType(std::move(x));
154
28.4M
    }
155
28.4M
    type = Type;
156
    DCHECK_NE(type, PrimitiveType::INVALID_TYPE);
157
28.4M
}
_ZN5doris5Field15create_concreteILNS_13PrimitiveTypeE8EEEvONS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
142
184k
void Field::create_concrete(typename PrimitiveTypeTraits<Type>::CppType&& x) {
143
    // In both Field and PODArray, small types may be stored as wider types,
144
    // e.g. char is stored as UInt64. Field can return this extended value
145
    // with get<StorageType>(). To avoid uninitialized results from get(),
146
    // we must initialize the entire wide stored type, and not just the
147
    // nominal type.
148
184k
    using StorageType = typename PrimitiveTypeTraits<Type>::CppType;
149
    if constexpr (Type == TYPE_VARBINARY) {
150
        static_assert(sizeof(OwnedBinaryField) <= sizeof(storage));
151
        new (&storage) OwnedBinaryField(x);
152
184k
    } else {
153
184k
        new (&storage) StorageType(std::move(x));
154
184k
    }
155
184k
    type = Type;
156
    DCHECK_NE(type, PrimitiveType::INVALID_TYPE);
157
184k
}
_ZN5doris5Field15create_concreteILNS_13PrimitiveTypeE9EEEvONS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
142
268k
void Field::create_concrete(typename PrimitiveTypeTraits<Type>::CppType&& x) {
143
    // In both Field and PODArray, small types may be stored as wider types,
144
    // e.g. char is stored as UInt64. Field can return this extended value
145
    // with get<StorageType>(). To avoid uninitialized results from get(),
146
    // we must initialize the entire wide stored type, and not just the
147
    // nominal type.
148
268k
    using StorageType = typename PrimitiveTypeTraits<Type>::CppType;
149
    if constexpr (Type == TYPE_VARBINARY) {
150
        static_assert(sizeof(OwnedBinaryField) <= sizeof(storage));
151
        new (&storage) OwnedBinaryField(x);
152
268k
    } else {
153
268k
        new (&storage) StorageType(std::move(x));
154
268k
    }
155
268k
    type = Type;
156
    DCHECK_NE(type, PrimitiveType::INVALID_TYPE);
157
268k
}
_ZN5doris5Field15create_concreteILNS_13PrimitiveTypeE31EEEvONS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
142
87.9k
void Field::create_concrete(typename PrimitiveTypeTraits<Type>::CppType&& x) {
143
    // In both Field and PODArray, small types may be stored as wider types,
144
    // e.g. char is stored as UInt64. Field can return this extended value
145
    // with get<StorageType>(). To avoid uninitialized results from get(),
146
    // we must initialize the entire wide stored type, and not just the
147
    // nominal type.
148
87.9k
    using StorageType = typename PrimitiveTypeTraits<Type>::CppType;
149
    if constexpr (Type == TYPE_VARBINARY) {
150
        static_assert(sizeof(OwnedBinaryField) <= sizeof(storage));
151
        new (&storage) OwnedBinaryField(x);
152
87.9k
    } else {
153
87.9k
        new (&storage) StorageType(std::move(x));
154
87.9k
    }
155
87.9k
    type = Type;
156
    DCHECK_NE(type, PrimitiveType::INVALID_TYPE);
157
87.9k
}
_ZN5doris5Field15create_concreteILNS_13PrimitiveTypeE16EEEvONS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
142
8.55k
void Field::create_concrete(typename PrimitiveTypeTraits<Type>::CppType&& x) {
143
    // In both Field and PODArray, small types may be stored as wider types,
144
    // e.g. char is stored as UInt64. Field can return this extended value
145
    // with get<StorageType>(). To avoid uninitialized results from get(),
146
    // we must initialize the entire wide stored type, and not just the
147
    // nominal type.
148
8.55k
    using StorageType = typename PrimitiveTypeTraits<Type>::CppType;
149
    if constexpr (Type == TYPE_VARBINARY) {
150
        static_assert(sizeof(OwnedBinaryField) <= sizeof(storage));
151
        new (&storage) OwnedBinaryField(x);
152
8.55k
    } else {
153
8.55k
        new (&storage) StorageType(std::move(x));
154
8.55k
    }
155
8.55k
    type = Type;
156
    DCHECK_NE(type, PrimitiveType::INVALID_TYPE);
157
8.55k
}
_ZN5doris5Field15create_concreteILNS_13PrimitiveTypeE18EEEvONS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
142
39.6k
void Field::create_concrete(typename PrimitiveTypeTraits<Type>::CppType&& x) {
143
    // In both Field and PODArray, small types may be stored as wider types,
144
    // e.g. char is stored as UInt64. Field can return this extended value
145
    // with get<StorageType>(). To avoid uninitialized results from get(),
146
    // we must initialize the entire wide stored type, and not just the
147
    // nominal type.
148
39.6k
    using StorageType = typename PrimitiveTypeTraits<Type>::CppType;
149
    if constexpr (Type == TYPE_VARBINARY) {
150
        static_assert(sizeof(OwnedBinaryField) <= sizeof(storage));
151
        new (&storage) OwnedBinaryField(x);
152
39.6k
    } else {
153
39.6k
        new (&storage) StorageType(std::move(x));
154
39.6k
    }
155
39.6k
    type = Type;
156
    DCHECK_NE(type, PrimitiveType::INVALID_TYPE);
157
39.6k
}
_ZN5doris5Field15create_concreteILNS_13PrimitiveTypeE22EEEvONS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
142
265
void Field::create_concrete(typename PrimitiveTypeTraits<Type>::CppType&& x) {
143
    // In both Field and PODArray, small types may be stored as wider types,
144
    // e.g. char is stored as UInt64. Field can return this extended value
145
    // with get<StorageType>(). To avoid uninitialized results from get(),
146
    // we must initialize the entire wide stored type, and not just the
147
    // nominal type.
148
265
    using StorageType = typename PrimitiveTypeTraits<Type>::CppType;
149
    if constexpr (Type == TYPE_VARBINARY) {
150
        static_assert(sizeof(OwnedBinaryField) <= sizeof(storage));
151
        new (&storage) OwnedBinaryField(x);
152
265
    } else {
153
265
        new (&storage) StorageType(std::move(x));
154
265
    }
155
265
    type = Type;
156
    DCHECK_NE(type, PrimitiveType::INVALID_TYPE);
157
265
}
_ZN5doris5Field15create_concreteILNS_13PrimitiveTypeE27EEEvONS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
142
338
void Field::create_concrete(typename PrimitiveTypeTraits<Type>::CppType&& x) {
143
    // In both Field and PODArray, small types may be stored as wider types,
144
    // e.g. char is stored as UInt64. Field can return this extended value
145
    // with get<StorageType>(). To avoid uninitialized results from get(),
146
    // we must initialize the entire wide stored type, and not just the
147
    // nominal type.
148
338
    using StorageType = typename PrimitiveTypeTraits<Type>::CppType;
149
    if constexpr (Type == TYPE_VARBINARY) {
150
        static_assert(sizeof(OwnedBinaryField) <= sizeof(storage));
151
        new (&storage) OwnedBinaryField(x);
152
338
    } else {
153
338
        new (&storage) StorageType(std::move(x));
154
338
    }
155
338
    type = Type;
156
    DCHECK_NE(type, PrimitiveType::INVALID_TYPE);
157
338
}
Unexecuted instantiation: _ZN5doris5Field15create_concreteILNS_13PrimitiveTypeE38EEEvONS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
_ZN5doris5Field15create_concreteILNS_13PrimitiveTypeE39EEEvONS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
142
40
void Field::create_concrete(typename PrimitiveTypeTraits<Type>::CppType&& x) {
143
    // In both Field and PODArray, small types may be stored as wider types,
144
    // e.g. char is stored as UInt64. Field can return this extended value
145
    // with get<StorageType>(). To avoid uninitialized results from get(),
146
    // we must initialize the entire wide stored type, and not just the
147
    // nominal type.
148
40
    using StorageType = typename PrimitiveTypeTraits<Type>::CppType;
149
    if constexpr (Type == TYPE_VARBINARY) {
150
        static_assert(sizeof(OwnedBinaryField) <= sizeof(storage));
151
        new (&storage) OwnedBinaryField(x);
152
40
    } else {
153
40
        new (&storage) StorageType(std::move(x));
154
40
    }
155
40
    type = Type;
156
    DCHECK_NE(type, PrimitiveType::INVALID_TYPE);
157
40
}
158
159
template <PrimitiveType Type>
160
246M
void Field::create_concrete(const typename PrimitiveTypeTraits<Type>::CppType& x) {
161
    // In both Field and PODArray, small types may be stored as wider types,
162
    // e.g. char is stored as UInt64. Field can return this extended value
163
    // with get<StorageType>(). To avoid uninitialized results from get(),
164
    // we must initialize the entire wide stored type, and not just the
165
    // nominal type.
166
246M
    using StorageType = typename PrimitiveTypeTraits<Type>::CppType;
167
246M
    if constexpr (Type == TYPE_VARBINARY) {
168
84
        new (&storage) OwnedBinaryField(x);
169
246M
    } else {
170
246M
        new (&storage) StorageType(x);
171
246M
    }
172
246M
    type = Type;
173
246M
    DCHECK_NE(type, PrimitiveType::INVALID_TYPE);
174
246M
}
_ZN5doris5Field15create_concreteILNS_13PrimitiveTypeE1EEEvRKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
160
39.1M
void Field::create_concrete(const typename PrimitiveTypeTraits<Type>::CppType& x) {
161
    // In both Field and PODArray, small types may be stored as wider types,
162
    // e.g. char is stored as UInt64. Field can return this extended value
163
    // with get<StorageType>(). To avoid uninitialized results from get(),
164
    // we must initialize the entire wide stored type, and not just the
165
    // nominal type.
166
39.1M
    using StorageType = typename PrimitiveTypeTraits<Type>::CppType;
167
    if constexpr (Type == TYPE_VARBINARY) {
168
        new (&storage) OwnedBinaryField(x);
169
39.1M
    } else {
170
39.1M
        new (&storage) StorageType(x);
171
39.1M
    }
172
39.1M
    type = Type;
173
    DCHECK_NE(type, PrimitiveType::INVALID_TYPE);
174
39.1M
}
_ZN5doris5Field15create_concreteILNS_13PrimitiveTypeE3EEEvRKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
160
5.36M
void Field::create_concrete(const typename PrimitiveTypeTraits<Type>::CppType& x) {
161
    // In both Field and PODArray, small types may be stored as wider types,
162
    // e.g. char is stored as UInt64. Field can return this extended value
163
    // with get<StorageType>(). To avoid uninitialized results from get(),
164
    // we must initialize the entire wide stored type, and not just the
165
    // nominal type.
166
5.36M
    using StorageType = typename PrimitiveTypeTraits<Type>::CppType;
167
    if constexpr (Type == TYPE_VARBINARY) {
168
        new (&storage) OwnedBinaryField(x);
169
5.36M
    } else {
170
5.36M
        new (&storage) StorageType(x);
171
5.36M
    }
172
5.36M
    type = Type;
173
    DCHECK_NE(type, PrimitiveType::INVALID_TYPE);
174
5.36M
}
_ZN5doris5Field15create_concreteILNS_13PrimitiveTypeE4EEEvRKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
160
4.02M
void Field::create_concrete(const typename PrimitiveTypeTraits<Type>::CppType& x) {
161
    // In both Field and PODArray, small types may be stored as wider types,
162
    // e.g. char is stored as UInt64. Field can return this extended value
163
    // with get<StorageType>(). To avoid uninitialized results from get(),
164
    // we must initialize the entire wide stored type, and not just the
165
    // nominal type.
166
4.02M
    using StorageType = typename PrimitiveTypeTraits<Type>::CppType;
167
    if constexpr (Type == TYPE_VARBINARY) {
168
        new (&storage) OwnedBinaryField(x);
169
4.02M
    } else {
170
4.02M
        new (&storage) StorageType(x);
171
4.02M
    }
172
4.02M
    type = Type;
173
    DCHECK_NE(type, PrimitiveType::INVALID_TYPE);
174
4.02M
}
_ZN5doris5Field15create_concreteILNS_13PrimitiveTypeE5EEEvRKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
160
27.7M
void Field::create_concrete(const typename PrimitiveTypeTraits<Type>::CppType& x) {
161
    // In both Field and PODArray, small types may be stored as wider types,
162
    // e.g. char is stored as UInt64. Field can return this extended value
163
    // with get<StorageType>(). To avoid uninitialized results from get(),
164
    // we must initialize the entire wide stored type, and not just the
165
    // nominal type.
166
27.7M
    using StorageType = typename PrimitiveTypeTraits<Type>::CppType;
167
    if constexpr (Type == TYPE_VARBINARY) {
168
        new (&storage) OwnedBinaryField(x);
169
27.7M
    } else {
170
27.7M
        new (&storage) StorageType(x);
171
27.7M
    }
172
27.7M
    type = Type;
173
    DCHECK_NE(type, PrimitiveType::INVALID_TYPE);
174
27.7M
}
_ZN5doris5Field15create_concreteILNS_13PrimitiveTypeE6EEEvRKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
160
5.70M
void Field::create_concrete(const typename PrimitiveTypeTraits<Type>::CppType& x) {
161
    // In both Field and PODArray, small types may be stored as wider types,
162
    // e.g. char is stored as UInt64. Field can return this extended value
163
    // with get<StorageType>(). To avoid uninitialized results from get(),
164
    // we must initialize the entire wide stored type, and not just the
165
    // nominal type.
166
5.70M
    using StorageType = typename PrimitiveTypeTraits<Type>::CppType;
167
    if constexpr (Type == TYPE_VARBINARY) {
168
        new (&storage) OwnedBinaryField(x);
169
5.70M
    } else {
170
5.70M
        new (&storage) StorageType(x);
171
5.70M
    }
172
5.70M
    type = Type;
173
    DCHECK_NE(type, PrimitiveType::INVALID_TYPE);
174
5.70M
}
_ZN5doris5Field15create_concreteILNS_13PrimitiveTypeE7EEEvRKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
160
3.21M
void Field::create_concrete(const typename PrimitiveTypeTraits<Type>::CppType& x) {
161
    // In both Field and PODArray, small types may be stored as wider types,
162
    // e.g. char is stored as UInt64. Field can return this extended value
163
    // with get<StorageType>(). To avoid uninitialized results from get(),
164
    // we must initialize the entire wide stored type, and not just the
165
    // nominal type.
166
3.21M
    using StorageType = typename PrimitiveTypeTraits<Type>::CppType;
167
    if constexpr (Type == TYPE_VARBINARY) {
168
        new (&storage) OwnedBinaryField(x);
169
3.21M
    } else {
170
3.21M
        new (&storage) StorageType(x);
171
3.21M
    }
172
3.21M
    type = Type;
173
    DCHECK_NE(type, PrimitiveType::INVALID_TYPE);
174
3.21M
}
_ZN5doris5Field15create_concreteILNS_13PrimitiveTypeE11EEEvRKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
160
3.39M
void Field::create_concrete(const typename PrimitiveTypeTraits<Type>::CppType& x) {
161
    // In both Field and PODArray, small types may be stored as wider types,
162
    // e.g. char is stored as UInt64. Field can return this extended value
163
    // with get<StorageType>(). To avoid uninitialized results from get(),
164
    // we must initialize the entire wide stored type, and not just the
165
    // nominal type.
166
3.39M
    using StorageType = typename PrimitiveTypeTraits<Type>::CppType;
167
    if constexpr (Type == TYPE_VARBINARY) {
168
        new (&storage) OwnedBinaryField(x);
169
3.39M
    } else {
170
3.39M
        new (&storage) StorageType(x);
171
3.39M
    }
172
3.39M
    type = Type;
173
    DCHECK_NE(type, PrimitiveType::INVALID_TYPE);
174
3.39M
}
_ZN5doris5Field15create_concreteILNS_13PrimitiveTypeE12EEEvRKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
160
3.33M
void Field::create_concrete(const typename PrimitiveTypeTraits<Type>::CppType& x) {
161
    // In both Field and PODArray, small types may be stored as wider types,
162
    // e.g. char is stored as UInt64. Field can return this extended value
163
    // with get<StorageType>(). To avoid uninitialized results from get(),
164
    // we must initialize the entire wide stored type, and not just the
165
    // nominal type.
166
3.33M
    using StorageType = typename PrimitiveTypeTraits<Type>::CppType;
167
    if constexpr (Type == TYPE_VARBINARY) {
168
        new (&storage) OwnedBinaryField(x);
169
3.33M
    } else {
170
3.33M
        new (&storage) StorageType(x);
171
3.33M
    }
172
3.33M
    type = Type;
173
    DCHECK_NE(type, PrimitiveType::INVALID_TYPE);
174
3.33M
}
_ZN5doris5Field15create_concreteILNS_13PrimitiveTypeE25EEEvRKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
160
5.05M
void Field::create_concrete(const typename PrimitiveTypeTraits<Type>::CppType& x) {
161
    // In both Field and PODArray, small types may be stored as wider types,
162
    // e.g. char is stored as UInt64. Field can return this extended value
163
    // with get<StorageType>(). To avoid uninitialized results from get(),
164
    // we must initialize the entire wide stored type, and not just the
165
    // nominal type.
166
5.05M
    using StorageType = typename PrimitiveTypeTraits<Type>::CppType;
167
    if constexpr (Type == TYPE_VARBINARY) {
168
        new (&storage) OwnedBinaryField(x);
169
5.05M
    } else {
170
5.05M
        new (&storage) StorageType(x);
171
5.05M
    }
172
5.05M
    type = Type;
173
    DCHECK_NE(type, PrimitiveType::INVALID_TYPE);
174
5.05M
}
_ZN5doris5Field15create_concreteILNS_13PrimitiveTypeE26EEEvRKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
160
4.15M
void Field::create_concrete(const typename PrimitiveTypeTraits<Type>::CppType& x) {
161
    // In both Field and PODArray, small types may be stored as wider types,
162
    // e.g. char is stored as UInt64. Field can return this extended value
163
    // with get<StorageType>(). To avoid uninitialized results from get(),
164
    // we must initialize the entire wide stored type, and not just the
165
    // nominal type.
166
4.15M
    using StorageType = typename PrimitiveTypeTraits<Type>::CppType;
167
    if constexpr (Type == TYPE_VARBINARY) {
168
        new (&storage) OwnedBinaryField(x);
169
4.15M
    } else {
170
4.15M
        new (&storage) StorageType(x);
171
4.15M
    }
172
4.15M
    type = Type;
173
    DCHECK_NE(type, PrimitiveType::INVALID_TYPE);
174
4.15M
}
_ZN5doris5Field15create_concreteILNS_13PrimitiveTypeE43EEEvRKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
160
8.89k
void Field::create_concrete(const typename PrimitiveTypeTraits<Type>::CppType& x) {
161
    // In both Field and PODArray, small types may be stored as wider types,
162
    // e.g. char is stored as UInt64. Field can return this extended value
163
    // with get<StorageType>(). To avoid uninitialized results from get(),
164
    // we must initialize the entire wide stored type, and not just the
165
    // nominal type.
166
8.89k
    using StorageType = typename PrimitiveTypeTraits<Type>::CppType;
167
    if constexpr (Type == TYPE_VARBINARY) {
168
        new (&storage) OwnedBinaryField(x);
169
8.89k
    } else {
170
8.89k
        new (&storage) StorageType(x);
171
8.89k
    }
172
8.89k
    type = Type;
173
    DCHECK_NE(type, PrimitiveType::INVALID_TYPE);
174
8.89k
}
_ZN5doris5Field15create_concreteILNS_13PrimitiveTypeE42EEEvRKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
160
49.0k
void Field::create_concrete(const typename PrimitiveTypeTraits<Type>::CppType& x) {
161
    // In both Field and PODArray, small types may be stored as wider types,
162
    // e.g. char is stored as UInt64. Field can return this extended value
163
    // with get<StorageType>(). To avoid uninitialized results from get(),
164
    // we must initialize the entire wide stored type, and not just the
165
    // nominal type.
166
49.0k
    using StorageType = typename PrimitiveTypeTraits<Type>::CppType;
167
    if constexpr (Type == TYPE_VARBINARY) {
168
        new (&storage) OwnedBinaryField(x);
169
49.0k
    } else {
170
49.0k
        new (&storage) StorageType(x);
171
49.0k
    }
172
49.0k
    type = Type;
173
    DCHECK_NE(type, PrimitiveType::INVALID_TYPE);
174
49.0k
}
_ZN5doris5Field15create_concreteILNS_13PrimitiveTypeE28EEEvRKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
160
3.61M
void Field::create_concrete(const typename PrimitiveTypeTraits<Type>::CppType& x) {
161
    // In both Field and PODArray, small types may be stored as wider types,
162
    // e.g. char is stored as UInt64. Field can return this extended value
163
    // with get<StorageType>(). To avoid uninitialized results from get(),
164
    // we must initialize the entire wide stored type, and not just the
165
    // nominal type.
166
3.61M
    using StorageType = typename PrimitiveTypeTraits<Type>::CppType;
167
    if constexpr (Type == TYPE_VARBINARY) {
168
        new (&storage) OwnedBinaryField(x);
169
3.61M
    } else {
170
3.61M
        new (&storage) StorageType(x);
171
3.61M
    }
172
3.61M
    type = Type;
173
    DCHECK_NE(type, PrimitiveType::INVALID_TYPE);
174
3.61M
}
_ZN5doris5Field15create_concreteILNS_13PrimitiveTypeE29EEEvRKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
160
3.62M
void Field::create_concrete(const typename PrimitiveTypeTraits<Type>::CppType& x) {
161
    // In both Field and PODArray, small types may be stored as wider types,
162
    // e.g. char is stored as UInt64. Field can return this extended value
163
    // with get<StorageType>(). To avoid uninitialized results from get(),
164
    // we must initialize the entire wide stored type, and not just the
165
    // nominal type.
166
3.62M
    using StorageType = typename PrimitiveTypeTraits<Type>::CppType;
167
    if constexpr (Type == TYPE_VARBINARY) {
168
        new (&storage) OwnedBinaryField(x);
169
3.62M
    } else {
170
3.62M
        new (&storage) StorageType(x);
171
3.62M
    }
172
3.62M
    type = Type;
173
    DCHECK_NE(type, PrimitiveType::INVALID_TYPE);
174
3.62M
}
_ZN5doris5Field15create_concreteILNS_13PrimitiveTypeE20EEEvRKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
160
9.38k
void Field::create_concrete(const typename PrimitiveTypeTraits<Type>::CppType& x) {
161
    // In both Field and PODArray, small types may be stored as wider types,
162
    // e.g. char is stored as UInt64. Field can return this extended value
163
    // with get<StorageType>(). To avoid uninitialized results from get(),
164
    // we must initialize the entire wide stored type, and not just the
165
    // nominal type.
166
9.38k
    using StorageType = typename PrimitiveTypeTraits<Type>::CppType;
167
    if constexpr (Type == TYPE_VARBINARY) {
168
        new (&storage) OwnedBinaryField(x);
169
9.38k
    } else {
170
9.38k
        new (&storage) StorageType(x);
171
9.38k
    }
172
9.38k
    type = Type;
173
    DCHECK_NE(type, PrimitiveType::INVALID_TYPE);
174
9.38k
}
_ZN5doris5Field15create_concreteILNS_13PrimitiveTypeE30EEEvRKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
160
3.52M
void Field::create_concrete(const typename PrimitiveTypeTraits<Type>::CppType& x) {
161
    // In both Field and PODArray, small types may be stored as wider types,
162
    // e.g. char is stored as UInt64. Field can return this extended value
163
    // with get<StorageType>(). To avoid uninitialized results from get(),
164
    // we must initialize the entire wide stored type, and not just the
165
    // nominal type.
166
3.52M
    using StorageType = typename PrimitiveTypeTraits<Type>::CppType;
167
    if constexpr (Type == TYPE_VARBINARY) {
168
        new (&storage) OwnedBinaryField(x);
169
3.52M
    } else {
170
3.52M
        new (&storage) StorageType(x);
171
3.52M
    }
172
3.52M
    type = Type;
173
    DCHECK_NE(type, PrimitiveType::INVALID_TYPE);
174
3.52M
}
_ZN5doris5Field15create_concreteILNS_13PrimitiveTypeE35EEEvRKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
160
3.71M
void Field::create_concrete(const typename PrimitiveTypeTraits<Type>::CppType& x) {
161
    // In both Field and PODArray, small types may be stored as wider types,
162
    // e.g. char is stored as UInt64. Field can return this extended value
163
    // with get<StorageType>(). To avoid uninitialized results from get(),
164
    // we must initialize the entire wide stored type, and not just the
165
    // nominal type.
166
3.71M
    using StorageType = typename PrimitiveTypeTraits<Type>::CppType;
167
    if constexpr (Type == TYPE_VARBINARY) {
168
        new (&storage) OwnedBinaryField(x);
169
3.71M
    } else {
170
3.71M
        new (&storage) StorageType(x);
171
3.71M
    }
172
3.71M
    type = Type;
173
    DCHECK_NE(type, PrimitiveType::INVALID_TYPE);
174
3.71M
}
_ZN5doris5Field15create_concreteILNS_13PrimitiveTypeE15EEEvRKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
160
5.22k
void Field::create_concrete(const typename PrimitiveTypeTraits<Type>::CppType& x) {
161
    // In both Field and PODArray, small types may be stored as wider types,
162
    // e.g. char is stored as UInt64. Field can return this extended value
163
    // with get<StorageType>(). To avoid uninitialized results from get(),
164
    // we must initialize the entire wide stored type, and not just the
165
    // nominal type.
166
5.22k
    using StorageType = typename PrimitiveTypeTraits<Type>::CppType;
167
    if constexpr (Type == TYPE_VARBINARY) {
168
        new (&storage) OwnedBinaryField(x);
169
5.22k
    } else {
170
5.22k
        new (&storage) StorageType(x);
171
5.22k
    }
172
5.22k
    type = Type;
173
    DCHECK_NE(type, PrimitiveType::INVALID_TYPE);
174
5.22k
}
_ZN5doris5Field15create_concreteILNS_13PrimitiveTypeE10EEEvRKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
160
8.28M
void Field::create_concrete(const typename PrimitiveTypeTraits<Type>::CppType& x) {
161
    // In both Field and PODArray, small types may be stored as wider types,
162
    // e.g. char is stored as UInt64. Field can return this extended value
163
    // with get<StorageType>(). To avoid uninitialized results from get(),
164
    // we must initialize the entire wide stored type, and not just the
165
    // nominal type.
166
8.28M
    using StorageType = typename PrimitiveTypeTraits<Type>::CppType;
167
    if constexpr (Type == TYPE_VARBINARY) {
168
        new (&storage) OwnedBinaryField(x);
169
8.28M
    } else {
170
8.28M
        new (&storage) StorageType(x);
171
8.28M
    }
172
8.28M
    type = Type;
173
    DCHECK_NE(type, PrimitiveType::INVALID_TYPE);
174
8.28M
}
_ZN5doris5Field15create_concreteILNS_13PrimitiveTypeE23EEEvRKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
160
1.55M
void Field::create_concrete(const typename PrimitiveTypeTraits<Type>::CppType& x) {
161
    // In both Field and PODArray, small types may be stored as wider types,
162
    // e.g. char is stored as UInt64. Field can return this extended value
163
    // with get<StorageType>(). To avoid uninitialized results from get(),
164
    // we must initialize the entire wide stored type, and not just the
165
    // nominal type.
166
1.55M
    using StorageType = typename PrimitiveTypeTraits<Type>::CppType;
167
    if constexpr (Type == TYPE_VARBINARY) {
168
        new (&storage) OwnedBinaryField(x);
169
1.55M
    } else {
170
1.55M
        new (&storage) StorageType(x);
171
1.55M
    }
172
1.55M
    type = Type;
173
    DCHECK_NE(type, PrimitiveType::INVALID_TYPE);
174
1.55M
}
_ZN5doris5Field15create_concreteILNS_13PrimitiveTypeE41EEEvRKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
160
84
void Field::create_concrete(const typename PrimitiveTypeTraits<Type>::CppType& x) {
161
    // In both Field and PODArray, small types may be stored as wider types,
162
    // e.g. char is stored as UInt64. Field can return this extended value
163
    // with get<StorageType>(). To avoid uninitialized results from get(),
164
    // we must initialize the entire wide stored type, and not just the
165
    // nominal type.
166
84
    using StorageType = typename PrimitiveTypeTraits<Type>::CppType;
167
84
    if constexpr (Type == TYPE_VARBINARY) {
168
84
        new (&storage) OwnedBinaryField(x);
169
    } else {
170
        new (&storage) StorageType(x);
171
    }
172
84
    type = Type;
173
    DCHECK_NE(type, PrimitiveType::INVALID_TYPE);
174
84
}
_ZN5doris5Field15create_concreteILNS_13PrimitiveTypeE19EEEvRKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
160
417
void Field::create_concrete(const typename PrimitiveTypeTraits<Type>::CppType& x) {
161
    // In both Field and PODArray, small types may be stored as wider types,
162
    // e.g. char is stored as UInt64. Field can return this extended value
163
    // with get<StorageType>(). To avoid uninitialized results from get(),
164
    // we must initialize the entire wide stored type, and not just the
165
    // nominal type.
166
417
    using StorageType = typename PrimitiveTypeTraits<Type>::CppType;
167
    if constexpr (Type == TYPE_VARBINARY) {
168
        new (&storage) OwnedBinaryField(x);
169
417
    } else {
170
417
        new (&storage) StorageType(x);
171
417
    }
172
417
    type = Type;
173
    DCHECK_NE(type, PrimitiveType::INVALID_TYPE);
174
417
}
_ZN5doris5Field15create_concreteILNS_13PrimitiveTypeE32EEEvRKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
160
6
void Field::create_concrete(const typename PrimitiveTypeTraits<Type>::CppType& x) {
161
    // In both Field and PODArray, small types may be stored as wider types,
162
    // e.g. char is stored as UInt64. Field can return this extended value
163
    // with get<StorageType>(). To avoid uninitialized results from get(),
164
    // we must initialize the entire wide stored type, and not just the
165
    // nominal type.
166
6
    using StorageType = typename PrimitiveTypeTraits<Type>::CppType;
167
    if constexpr (Type == TYPE_VARBINARY) {
168
        new (&storage) OwnedBinaryField(x);
169
6
    } else {
170
6
        new (&storage) StorageType(x);
171
6
    }
172
6
    type = Type;
173
    DCHECK_NE(type, PrimitiveType::INVALID_TYPE);
174
6
}
_ZN5doris5Field15create_concreteILNS_13PrimitiveTypeE24EEEvRKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
160
22.3k
void Field::create_concrete(const typename PrimitiveTypeTraits<Type>::CppType& x) {
161
    // In both Field and PODArray, small types may be stored as wider types,
162
    // e.g. char is stored as UInt64. Field can return this extended value
163
    // with get<StorageType>(). To avoid uninitialized results from get(),
164
    // we must initialize the entire wide stored type, and not just the
165
    // nominal type.
166
22.3k
    using StorageType = typename PrimitiveTypeTraits<Type>::CppType;
167
    if constexpr (Type == TYPE_VARBINARY) {
168
        new (&storage) OwnedBinaryField(x);
169
22.3k
    } else {
170
22.3k
        new (&storage) StorageType(x);
171
22.3k
    }
172
22.3k
    type = Type;
173
    DCHECK_NE(type, PrimitiveType::INVALID_TYPE);
174
22.3k
}
_ZN5doris5Field15create_concreteILNS_13PrimitiveTypeE17EEEvRKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
160
92.4M
void Field::create_concrete(const typename PrimitiveTypeTraits<Type>::CppType& x) {
161
    // In both Field and PODArray, small types may be stored as wider types,
162
    // e.g. char is stored as UInt64. Field can return this extended value
163
    // with get<StorageType>(). To avoid uninitialized results from get(),
164
    // we must initialize the entire wide stored type, and not just the
165
    // nominal type.
166
92.4M
    using StorageType = typename PrimitiveTypeTraits<Type>::CppType;
167
    if constexpr (Type == TYPE_VARBINARY) {
168
        new (&storage) OwnedBinaryField(x);
169
92.4M
    } else {
170
92.4M
        new (&storage) StorageType(x);
171
92.4M
    }
172
92.4M
    type = Type;
173
    DCHECK_NE(type, PrimitiveType::INVALID_TYPE);
174
92.4M
}
_ZN5doris5Field15create_concreteILNS_13PrimitiveTypeE36EEEvRKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
160
62.1k
void Field::create_concrete(const typename PrimitiveTypeTraits<Type>::CppType& x) {
161
    // In both Field and PODArray, small types may be stored as wider types,
162
    // e.g. char is stored as UInt64. Field can return this extended value
163
    // with get<StorageType>(). To avoid uninitialized results from get(),
164
    // we must initialize the entire wide stored type, and not just the
165
    // nominal type.
166
62.1k
    using StorageType = typename PrimitiveTypeTraits<Type>::CppType;
167
    if constexpr (Type == TYPE_VARBINARY) {
168
        new (&storage) OwnedBinaryField(x);
169
62.1k
    } else {
170
62.1k
        new (&storage) StorageType(x);
171
62.1k
    }
172
62.1k
    type = Type;
173
    DCHECK_NE(type, PrimitiveType::INVALID_TYPE);
174
62.1k
}
_ZN5doris5Field15create_concreteILNS_13PrimitiveTypeE37EEEvRKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
160
42.2k
void Field::create_concrete(const typename PrimitiveTypeTraits<Type>::CppType& x) {
161
    // In both Field and PODArray, small types may be stored as wider types,
162
    // e.g. char is stored as UInt64. Field can return this extended value
163
    // with get<StorageType>(). To avoid uninitialized results from get(),
164
    // we must initialize the entire wide stored type, and not just the
165
    // nominal type.
166
42.2k
    using StorageType = typename PrimitiveTypeTraits<Type>::CppType;
167
    if constexpr (Type == TYPE_VARBINARY) {
168
        new (&storage) OwnedBinaryField(x);
169
42.2k
    } else {
170
42.2k
        new (&storage) StorageType(x);
171
42.2k
    }
172
42.2k
    type = Type;
173
    DCHECK_NE(type, PrimitiveType::INVALID_TYPE);
174
42.2k
}
_ZN5doris5Field15create_concreteILNS_13PrimitiveTypeE44EEEvRKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
160
116k
void Field::create_concrete(const typename PrimitiveTypeTraits<Type>::CppType& x) {
161
    // In both Field and PODArray, small types may be stored as wider types,
162
    // e.g. char is stored as UInt64. Field can return this extended value
163
    // with get<StorageType>(). To avoid uninitialized results from get(),
164
    // we must initialize the entire wide stored type, and not just the
165
    // nominal type.
166
116k
    using StorageType = typename PrimitiveTypeTraits<Type>::CppType;
167
    if constexpr (Type == TYPE_VARBINARY) {
168
        new (&storage) OwnedBinaryField(x);
169
116k
    } else {
170
116k
        new (&storage) StorageType(x);
171
116k
    }
172
116k
    type = Type;
173
    DCHECK_NE(type, PrimitiveType::INVALID_TYPE);
174
116k
}
_ZN5doris5Field15create_concreteILNS_13PrimitiveTypeE2EEEvRKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
160
3.59M
void Field::create_concrete(const typename PrimitiveTypeTraits<Type>::CppType& x) {
161
    // In both Field and PODArray, small types may be stored as wider types,
162
    // e.g. char is stored as UInt64. Field can return this extended value
163
    // with get<StorageType>(). To avoid uninitialized results from get(),
164
    // we must initialize the entire wide stored type, and not just the
165
    // nominal type.
166
3.59M
    using StorageType = typename PrimitiveTypeTraits<Type>::CppType;
167
    if constexpr (Type == TYPE_VARBINARY) {
168
        new (&storage) OwnedBinaryField(x);
169
3.59M
    } else {
170
3.59M
        new (&storage) StorageType(x);
171
3.59M
    }
172
3.59M
    type = Type;
173
    DCHECK_NE(type, PrimitiveType::INVALID_TYPE);
174
3.59M
}
_ZN5doris5Field15create_concreteILNS_13PrimitiveTypeE8EEEvRKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
160
3.53M
void Field::create_concrete(const typename PrimitiveTypeTraits<Type>::CppType& x) {
161
    // In both Field and PODArray, small types may be stored as wider types,
162
    // e.g. char is stored as UInt64. Field can return this extended value
163
    // with get<StorageType>(). To avoid uninitialized results from get(),
164
    // we must initialize the entire wide stored type, and not just the
165
    // nominal type.
166
3.53M
    using StorageType = typename PrimitiveTypeTraits<Type>::CppType;
167
    if constexpr (Type == TYPE_VARBINARY) {
168
        new (&storage) OwnedBinaryField(x);
169
3.53M
    } else {
170
3.53M
        new (&storage) StorageType(x);
171
3.53M
    }
172
3.53M
    type = Type;
173
    DCHECK_NE(type, PrimitiveType::INVALID_TYPE);
174
3.53M
}
_ZN5doris5Field15create_concreteILNS_13PrimitiveTypeE9EEEvRKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
160
4.57M
void Field::create_concrete(const typename PrimitiveTypeTraits<Type>::CppType& x) {
161
    // In both Field and PODArray, small types may be stored as wider types,
162
    // e.g. char is stored as UInt64. Field can return this extended value
163
    // with get<StorageType>(). To avoid uninitialized results from get(),
164
    // we must initialize the entire wide stored type, and not just the
165
    // nominal type.
166
4.57M
    using StorageType = typename PrimitiveTypeTraits<Type>::CppType;
167
    if constexpr (Type == TYPE_VARBINARY) {
168
        new (&storage) OwnedBinaryField(x);
169
4.57M
    } else {
170
4.57M
        new (&storage) StorageType(x);
171
4.57M
    }
172
4.57M
    type = Type;
173
    DCHECK_NE(type, PrimitiveType::INVALID_TYPE);
174
4.57M
}
_ZN5doris5Field15create_concreteILNS_13PrimitiveTypeE31EEEvRKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
160
16
void Field::create_concrete(const typename PrimitiveTypeTraits<Type>::CppType& x) {
161
    // In both Field and PODArray, small types may be stored as wider types,
162
    // e.g. char is stored as UInt64. Field can return this extended value
163
    // with get<StorageType>(). To avoid uninitialized results from get(),
164
    // we must initialize the entire wide stored type, and not just the
165
    // nominal type.
166
16
    using StorageType = typename PrimitiveTypeTraits<Type>::CppType;
167
    if constexpr (Type == TYPE_VARBINARY) {
168
        new (&storage) OwnedBinaryField(x);
169
16
    } else {
170
16
        new (&storage) StorageType(x);
171
16
    }
172
16
    type = Type;
173
    DCHECK_NE(type, PrimitiveType::INVALID_TYPE);
174
16
}
_ZN5doris5Field15create_concreteILNS_13PrimitiveTypeE16EEEvRKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
160
3.05M
void Field::create_concrete(const typename PrimitiveTypeTraits<Type>::CppType& x) {
161
    // In both Field and PODArray, small types may be stored as wider types,
162
    // e.g. char is stored as UInt64. Field can return this extended value
163
    // with get<StorageType>(). To avoid uninitialized results from get(),
164
    // we must initialize the entire wide stored type, and not just the
165
    // nominal type.
166
3.05M
    using StorageType = typename PrimitiveTypeTraits<Type>::CppType;
167
    if constexpr (Type == TYPE_VARBINARY) {
168
        new (&storage) OwnedBinaryField(x);
169
3.05M
    } else {
170
3.05M
        new (&storage) StorageType(x);
171
3.05M
    }
172
3.05M
    type = Type;
173
    DCHECK_NE(type, PrimitiveType::INVALID_TYPE);
174
3.05M
}
_ZN5doris5Field15create_concreteILNS_13PrimitiveTypeE18EEEvRKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
160
13.2M
void Field::create_concrete(const typename PrimitiveTypeTraits<Type>::CppType& x) {
161
    // In both Field and PODArray, small types may be stored as wider types,
162
    // e.g. char is stored as UInt64. Field can return this extended value
163
    // with get<StorageType>(). To avoid uninitialized results from get(),
164
    // we must initialize the entire wide stored type, and not just the
165
    // nominal type.
166
13.2M
    using StorageType = typename PrimitiveTypeTraits<Type>::CppType;
167
    if constexpr (Type == TYPE_VARBINARY) {
168
        new (&storage) OwnedBinaryField(x);
169
13.2M
    } else {
170
13.2M
        new (&storage) StorageType(x);
171
13.2M
    }
172
13.2M
    type = Type;
173
    DCHECK_NE(type, PrimitiveType::INVALID_TYPE);
174
13.2M
}
_ZN5doris5Field15create_concreteILNS_13PrimitiveTypeE22EEEvRKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
160
2.50k
void Field::create_concrete(const typename PrimitiveTypeTraits<Type>::CppType& x) {
161
    // In both Field and PODArray, small types may be stored as wider types,
162
    // e.g. char is stored as UInt64. Field can return this extended value
163
    // with get<StorageType>(). To avoid uninitialized results from get(),
164
    // we must initialize the entire wide stored type, and not just the
165
    // nominal type.
166
2.50k
    using StorageType = typename PrimitiveTypeTraits<Type>::CppType;
167
    if constexpr (Type == TYPE_VARBINARY) {
168
        new (&storage) OwnedBinaryField(x);
169
2.50k
    } else {
170
2.50k
        new (&storage) StorageType(x);
171
2.50k
    }
172
2.50k
    type = Type;
173
    DCHECK_NE(type, PrimitiveType::INVALID_TYPE);
174
2.50k
}
_ZN5doris5Field15create_concreteILNS_13PrimitiveTypeE27EEEvRKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
160
433
void Field::create_concrete(const typename PrimitiveTypeTraits<Type>::CppType& x) {
161
    // In both Field and PODArray, small types may be stored as wider types,
162
    // e.g. char is stored as UInt64. Field can return this extended value
163
    // with get<StorageType>(). To avoid uninitialized results from get(),
164
    // we must initialize the entire wide stored type, and not just the
165
    // nominal type.
166
433
    using StorageType = typename PrimitiveTypeTraits<Type>::CppType;
167
    if constexpr (Type == TYPE_VARBINARY) {
168
        new (&storage) OwnedBinaryField(x);
169
433
    } else {
170
433
        new (&storage) StorageType(x);
171
433
    }
172
433
    type = Type;
173
    DCHECK_NE(type, PrimitiveType::INVALID_TYPE);
174
433
}
Unexecuted instantiation: _ZN5doris5Field15create_concreteILNS_13PrimitiveTypeE38EEEvRKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Unexecuted instantiation: _ZN5doris5Field15create_concreteILNS_13PrimitiveTypeE39EEEvRKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
175
176
60.4M
void Field::create(Field&& field) {
177
60.4M
    switch (field.type) {
178
132k
    case PrimitiveType::TYPE_NULL:
179
132k
        create_concrete<TYPE_NULL>(std::move(field.template get<TYPE_NULL>()));
180
132k
        return;
181
2.16M
    case PrimitiveType::TYPE_DATETIMEV2:
182
2.16M
        create_concrete<TYPE_DATETIMEV2>(std::move(field.template get<TYPE_DATETIMEV2>()));
183
2.16M
        return;
184
6.45k
    case PrimitiveType::TYPE_TIMESTAMP_NS:
185
6.45k
        create_concrete<TYPE_TIMESTAMP_NS>(std::move(field.template get<TYPE_TIMESTAMP_NS>()));
186
6.45k
        return;
187
503k
    case PrimitiveType::TYPE_DATEV2:
188
503k
        create_concrete<TYPE_DATEV2>(std::move(field.template get<TYPE_DATEV2>()));
189
503k
        return;
190
44.8k
    case PrimitiveType::TYPE_TIMESTAMPTZ:
191
44.8k
        create_concrete<TYPE_TIMESTAMPTZ>(std::move(field.template get<TYPE_TIMESTAMPTZ>()));
192
44.8k
        return;
193
20.8k
    case PrimitiveType::TYPE_DATETIME:
194
20.8k
        create_concrete<TYPE_DATETIME>(std::move(field.template get<TYPE_DATETIME>()));
195
20.8k
        return;
196
16.3k
    case PrimitiveType::TYPE_DATE:
197
16.3k
        create_concrete<TYPE_DATE>(std::move(field.template get<TYPE_DATE>()));
198
16.3k
        return;
199
79.8k
    case PrimitiveType::TYPE_BOOLEAN:
200
79.8k
        create_concrete<TYPE_BOOLEAN>(std::move(field.template get<TYPE_BOOLEAN>()));
201
79.8k
        return;
202
4.82M
    case PrimitiveType::TYPE_TINYINT:
203
4.82M
        create_concrete<TYPE_TINYINT>(std::move(field.template get<TYPE_TINYINT>()));
204
4.82M
        return;
205
142k
    case PrimitiveType::TYPE_SMALLINT:
206
142k
        create_concrete<TYPE_SMALLINT>(std::move(field.template get<TYPE_SMALLINT>()));
207
142k
        return;
208
25.8M
    case PrimitiveType::TYPE_INT:
209
25.8M
        create_concrete<TYPE_INT>(std::move(field.template get<TYPE_INT>()));
210
25.8M
        return;
211
8.73M
    case PrimitiveType::TYPE_BIGINT:
212
8.73M
        create_concrete<TYPE_BIGINT>(std::move(field.template get<TYPE_BIGINT>()));
213
8.73M
        return;
214
160k
    case PrimitiveType::TYPE_LARGEINT:
215
160k
        create_concrete<TYPE_LARGEINT>(std::move(field.template get<TYPE_LARGEINT>()));
216
160k
        return;
217
38.9k
    case PrimitiveType::TYPE_IPV4:
218
38.9k
        create_concrete<TYPE_IPV4>(std::move(field.template get<TYPE_IPV4>()));
219
38.9k
        return;
220
26.8k
    case PrimitiveType::TYPE_IPV6:
221
26.8k
        create_concrete<TYPE_IPV6>(std::move(field.template get<TYPE_IPV6>()));
222
26.8k
        return;
223
49.9k
    case PrimitiveType::TYPE_UUID:
224
49.9k
        create_concrete<TYPE_UUID>(std::move(field.template get<TYPE_UUID>()));
225
49.9k
        return;
226
118k
    case PrimitiveType::TYPE_FLOAT:
227
118k
        create_concrete<TYPE_FLOAT>(std::move(field.template get<TYPE_FLOAT>()));
228
118k
        return;
229
331
    case PrimitiveType::TYPE_TIMEV2:
230
331
        create_concrete<TYPE_TIMEV2>(std::move(field.template get<TYPE_TIMEV2>()));
231
331
        return;
232
187k
    case PrimitiveType::TYPE_DOUBLE:
233
187k
        create_concrete<TYPE_DOUBLE>(std::move(field.template get<TYPE_DOUBLE>()));
234
187k
        return;
235
15.9M
    case PrimitiveType::TYPE_STRING:
236
15.9M
        create_concrete<TYPE_STRING>(std::move(field.template get<TYPE_STRING>()));
237
15.9M
        return;
238
54.3k
    case PrimitiveType::TYPE_CHAR:
239
54.3k
        create_concrete<TYPE_CHAR>(std::move(field.template get<TYPE_CHAR>()));
240
54.3k
        return;
241
1.08M
    case PrimitiveType::TYPE_VARCHAR:
242
1.08M
        create_concrete<TYPE_VARCHAR>(std::move(field.template get<TYPE_VARCHAR>()));
243
1.08M
        return;
244
12
    case PrimitiveType::TYPE_JSONB:
245
12
        create_concrete<TYPE_JSONB>(std::move(field.template get<TYPE_JSONB>()));
246
12
        return;
247
107k
    case PrimitiveType::TYPE_ARRAY:
248
107k
        create_concrete<TYPE_ARRAY>(std::move(field.template get<TYPE_ARRAY>()));
249
107k
        return;
250
4.07k
    case PrimitiveType::TYPE_STRUCT:
251
4.07k
        create_concrete<TYPE_STRUCT>(std::move(field.template get<TYPE_STRUCT>()));
252
4.07k
        return;
253
13.3k
    case PrimitiveType::TYPE_MAP:
254
13.3k
        create_concrete<TYPE_MAP>(std::move(field.template get<TYPE_MAP>()));
255
13.3k
        return;
256
66.4k
    case PrimitiveType::TYPE_DECIMAL32:
257
66.4k
        create_concrete<TYPE_DECIMAL32>(std::move(field.template get<TYPE_DECIMAL32>()));
258
66.4k
        return;
259
99.1k
    case PrimitiveType::TYPE_DECIMAL64:
260
99.1k
        create_concrete<TYPE_DECIMAL64>(std::move(field.template get<TYPE_DECIMAL64>()));
261
99.1k
        return;
262
7.15k
    case PrimitiveType::TYPE_DECIMALV2:
263
7.15k
        create_concrete<TYPE_DECIMALV2>(std::move(field.template get<TYPE_DECIMALV2>()));
264
7.15k
        return;
265
101k
    case PrimitiveType::TYPE_DECIMAL128I:
266
101k
        create_concrete<TYPE_DECIMAL128I>(std::move(field.template get<TYPE_DECIMAL128I>()));
267
101k
        return;
268
44.8k
    case PrimitiveType::TYPE_DECIMAL256:
269
44.8k
        create_concrete<TYPE_DECIMAL256>(std::move(field.template get<TYPE_DECIMAL256>()));
270
44.8k
        return;
271
6.69k
    case PrimitiveType::TYPE_VARIANT:
272
6.69k
        create_concrete<TYPE_VARIANT>(std::move(field.template get<TYPE_VARIANT>()));
273
6.69k
        return;
274
202
    case PrimitiveType::TYPE_BITMAP:
275
202
        create_concrete<TYPE_BITMAP>(std::move(field.template get<TYPE_BITMAP>()));
276
202
        return;
277
20
    case PrimitiveType::TYPE_HLL:
278
20
        create_concrete<TYPE_HLL>(std::move(field.template get<TYPE_HLL>()));
279
20
        return;
280
6
    case PrimitiveType::TYPE_QUANTILE_STATE:
281
6
        create_concrete<TYPE_QUANTILE_STATE>(std::move(field.template get<TYPE_QUANTILE_STATE>()));
282
6
        return;
283
146
    case PrimitiveType::TYPE_VARBINARY:
284
146
        create_concrete<TYPE_VARBINARY>(std::move(field.template get<TYPE_VARBINARY>()));
285
146
        return;
286
0
    default:
287
0
        throw Exception(Status::FatalError("type not supported, type={}", field.get_type_name()));
288
60.4M
    }
289
60.4M
}
290
291
210M
Field::Field(const Field& rhs) {
292
210M
    create(rhs);
293
210M
}
294
295
1.98M
Field::Field(Field&& rhs) {
296
1.98M
    create(std::move(rhs));
297
1.98M
}
298
299
6.76M
Field& Field::operator=(const Field& rhs) {
300
6.77M
    if (this != &rhs) {
301
6.77M
        if (type != rhs.type) {
302
5.23M
            destroy();
303
            // A failed allocation while changing types must leave a destructible Field.
304
5.23M
            type = TYPE_NULL;
305
5.23M
            create(rhs);
306
5.23M
        } else {
307
1.54M
            assign(rhs); /// This assigns string or vector without deallocation of existing buffer.
308
1.54M
        }
309
6.77M
    }
310
6.76M
    return *this;
311
6.76M
}
312
313
215M
void Field::create(const Field& field) {
314
215M
    switch (field.type) {
315
39.1M
    case PrimitiveType::TYPE_NULL:
316
39.1M
        create_concrete<TYPE_NULL>(field.template get<TYPE_NULL>());
317
39.1M
        return;
318
4.05M
    case PrimitiveType::TYPE_DATETIMEV2:
319
4.05M
        create_concrete<TYPE_DATETIMEV2>(field.template get<TYPE_DATETIMEV2>());
320
4.05M
        return;
321
2.50k
    case PrimitiveType::TYPE_TIMESTAMP_NS:
322
2.50k
        create_concrete<TYPE_TIMESTAMP_NS>(field.template get<TYPE_TIMESTAMP_NS>());
323
2.50k
        return;
324
4.47M
    case PrimitiveType::TYPE_DATEV2:
325
4.47M
        create_concrete<TYPE_DATEV2>(field.template get<TYPE_DATEV2>());
326
4.47M
        return;
327
31.5k
    case PrimitiveType::TYPE_TIMESTAMPTZ:
328
31.5k
        create_concrete<TYPE_TIMESTAMPTZ>(field.template get<TYPE_TIMESTAMPTZ>());
329
31.5k
        return;
330
3.32M
    case PrimitiveType::TYPE_DATETIME:
331
3.32M
        create_concrete<TYPE_DATETIME>(field.template get<TYPE_DATETIME>());
332
3.32M
        return;
333
3.38M
    case PrimitiveType::TYPE_DATE:
334
3.38M
        create_concrete<TYPE_DATE>(field.template get<TYPE_DATE>());
335
3.38M
        return;
336
3.55M
    case PrimitiveType::TYPE_BOOLEAN:
337
3.55M
        create_concrete<TYPE_BOOLEAN>(field.template get<TYPE_BOOLEAN>());
338
3.55M
        return;
339
4.95M
    case PrimitiveType::TYPE_TINYINT:
340
4.95M
        create_concrete<TYPE_TINYINT>(field.template get<TYPE_TINYINT>());
341
4.95M
        return;
342
3.96M
    case PrimitiveType::TYPE_SMALLINT:
343
3.96M
        create_concrete<TYPE_SMALLINT>(field.template get<TYPE_SMALLINT>());
344
3.96M
        return;
345
1.09M
    case PrimitiveType::TYPE_INT:
346
1.09M
        create_concrete<TYPE_INT>(field.template get<TYPE_INT>());
347
1.09M
        return;
348
5.50M
    case PrimitiveType::TYPE_BIGINT:
349
5.50M
        create_concrete<TYPE_BIGINT>(field.template get<TYPE_BIGINT>());
350
5.50M
        return;
351
3.17M
    case PrimitiveType::TYPE_LARGEINT:
352
3.17M
        create_concrete<TYPE_LARGEINT>(field.template get<TYPE_LARGEINT>());
353
3.17M
        return;
354
28.3k
    case PrimitiveType::TYPE_IPV4:
355
28.3k
        create_concrete<TYPE_IPV4>(field.template get<TYPE_IPV4>());
356
28.3k
        return;
357
17.8k
    case PrimitiveType::TYPE_IPV6:
358
17.8k
        create_concrete<TYPE_IPV6>(field.template get<TYPE_IPV6>());
359
17.8k
        return;
360
10.9k
    case PrimitiveType::TYPE_UUID:
361
10.9k
        create_concrete<TYPE_UUID>(field.template get<TYPE_UUID>());
362
10.9k
        return;
363
3.48M
    case PrimitiveType::TYPE_FLOAT:
364
3.48M
        create_concrete<TYPE_FLOAT>(field.template get<TYPE_FLOAT>());
365
3.48M
        return;
366
108
    case PrimitiveType::TYPE_TIMEV2:
367
108
        create_concrete<TYPE_TIMEV2>(field.template get<TYPE_TIMEV2>());
368
108
        return;
369
3.79M
    case PrimitiveType::TYPE_DOUBLE:
370
3.79M
        create_concrete<TYPE_DOUBLE>(field.template get<TYPE_DOUBLE>());
371
3.79M
        return;
372
462k
    case PrimitiveType::TYPE_STRING:
373
462k
        create_concrete<TYPE_STRING>(field.template get<TYPE_STRING>());
374
462k
        return;
375
3.62k
    case PrimitiveType::TYPE_CHAR:
376
3.62k
        create_concrete<TYPE_CHAR>(field.template get<TYPE_CHAR>());
377
3.62k
        return;
378
7.95M
    case PrimitiveType::TYPE_VARCHAR:
379
7.95M
        create_concrete<TYPE_VARCHAR>(field.template get<TYPE_VARCHAR>());
380
7.95M
        return;
381
12
    case PrimitiveType::TYPE_JSONB:
382
12
        create_concrete<TYPE_JSONB>(field.template get<TYPE_JSONB>());
383
12
        return;
384
92.4M
    case PrimitiveType::TYPE_ARRAY:
385
92.4M
        create_concrete<TYPE_ARRAY>(field.template get<TYPE_ARRAY>());
386
92.4M
        return;
387
3.04M
    case PrimitiveType::TYPE_STRUCT:
388
3.04M
        create_concrete<TYPE_STRUCT>(field.template get<TYPE_STRUCT>());
389
3.04M
        return;
390
13.2M
    case PrimitiveType::TYPE_MAP:
391
13.2M
        create_concrete<TYPE_MAP>(field.template get<TYPE_MAP>());
392
13.2M
        return;
393
3.58M
    case PrimitiveType::TYPE_DECIMAL32:
394
3.58M
        create_concrete<TYPE_DECIMAL32>(field.template get<TYPE_DECIMAL32>());
395
3.58M
        return;
396
3.59M
    case PrimitiveType::TYPE_DECIMAL64:
397
3.59M
        create_concrete<TYPE_DECIMAL64>(field.template get<TYPE_DECIMAL64>());
398
3.59M
        return;
399
684
    case PrimitiveType::TYPE_DECIMALV2:
400
684
        create_concrete<TYPE_DECIMALV2>(field.template get<TYPE_DECIMALV2>());
401
684
        return;
402
3.49M
    case PrimitiveType::TYPE_DECIMAL128I:
403
3.49M
        create_concrete<TYPE_DECIMAL128I>(field.template get<TYPE_DECIMAL128I>());
404
3.49M
        return;
405
3.67M
    case PrimitiveType::TYPE_DECIMAL256:
406
3.67M
        create_concrete<TYPE_DECIMAL256>(field.template get<TYPE_DECIMAL256>());
407
3.67M
        return;
408
6
    case PrimitiveType::TYPE_VARIANT:
409
6
        create_concrete<TYPE_VARIANT>(field.template get<TYPE_VARIANT>());
410
6
        return;
411
69
    case PrimitiveType::TYPE_BITMAP:
412
69
        create_concrete<TYPE_BITMAP>(field.template get<TYPE_BITMAP>());
413
69
        return;
414
8
    case PrimitiveType::TYPE_HLL:
415
8
        create_concrete<TYPE_HLL>(field.template get<TYPE_HLL>());
416
8
        return;
417
5
    case PrimitiveType::TYPE_QUANTILE_STATE:
418
5
        create_concrete<TYPE_QUANTILE_STATE>(field.template get<TYPE_QUANTILE_STATE>());
419
5
        return;
420
0
    case PrimitiveType::TYPE_UINT32:
421
0
        create_concrete<TYPE_UINT32>(field.template get<TYPE_UINT32>());
422
0
        return;
423
0
    case PrimitiveType::TYPE_UINT64:
424
0
        create_concrete<TYPE_UINT64>(field.template get<TYPE_UINT64>());
425
0
        return;
426
18
    case PrimitiveType::TYPE_VARBINARY:
427
18
        create_concrete<TYPE_VARBINARY>(field.template get<TYPE_VARBINARY>());
428
18
        return;
429
0
    default:
430
0
        throw Exception(Status::FatalError("type not supported, type={}", field.get_type_name()));
431
215M
    }
432
215M
}
433
434
471M
void Field::destroy() {
435
471M
    switch (type) {
436
33.8M
    case PrimitiveType::TYPE_STRING:
437
33.8M
        destroy<TYPE_STRING>();
438
33.8M
        break;
439
148k
    case PrimitiveType::TYPE_CHAR:
440
148k
        destroy<TYPE_CHAR>();
441
148k
        break;
442
10.5M
    case PrimitiveType::TYPE_VARCHAR:
443
10.5M
        destroy<TYPE_VARCHAR>();
444
10.5M
        break;
445
87.9k
    case PrimitiveType::TYPE_JSONB:
446
87.9k
        destroy<TYPE_JSONB>();
447
87.9k
        break;
448
92.7M
    case PrimitiveType::TYPE_ARRAY:
449
92.7M
        destroy<TYPE_ARRAY>();
450
92.7M
        break;
451
3.05M
    case PrimitiveType::TYPE_STRUCT:
452
3.05M
        destroy<TYPE_STRUCT>();
453
3.05M
        break;
454
13.2M
    case PrimitiveType::TYPE_MAP:
455
13.2M
        destroy<TYPE_MAP>();
456
13.2M
        break;
457
13.3k
    case PrimitiveType::TYPE_VARIANT:
458
13.3k
        destroy<TYPE_VARIANT>();
459
13.3k
        break;
460
2.76k
    case PrimitiveType::TYPE_BITMAP:
461
2.76k
        destroy<TYPE_BITMAP>();
462
2.76k
        break;
463
452
    case PrimitiveType::TYPE_HLL:
464
452
        destroy<TYPE_HLL>();
465
452
        break;
466
22.4k
    case PrimitiveType::TYPE_QUANTILE_STATE:
467
22.4k
        destroy<TYPE_QUANTILE_STATE>();
468
22.4k
        break;
469
407
    case PrimitiveType::TYPE_VARBINARY:
470
407
        destroy<TYPE_VARBINARY>();
471
407
        break;
472
319M
    default:
473
319M
        break;
474
471M
    }
475
476
471M
    type = PrimitiveType::
477
471M
            TYPE_NULL; /// for exception safety in subsequent calls to destroy and create, when create fails.
478
471M
}
479
480
2.43M
void Field::assign(Field&& field) {
481
2.43M
    switch (field.type) {
482
239k
    case PrimitiveType::TYPE_NULL:
483
239k
        assign_concrete<TYPE_NULL>(std::move(field.template get<TYPE_NULL>()));
484
239k
        return;
485
66.6k
    case PrimitiveType::TYPE_DATETIMEV2:
486
66.6k
        assign_concrete<TYPE_DATETIMEV2>(std::move(field.template get<TYPE_DATETIMEV2>()));
487
66.6k
        return;
488
300
    case PrimitiveType::TYPE_TIMESTAMP_NS:
489
300
        assign_concrete<TYPE_TIMESTAMP_NS>(std::move(field.template get<TYPE_TIMESTAMP_NS>()));
490
300
        return;
491
1.13k
    case PrimitiveType::TYPE_DATETIME:
492
1.13k
        assign_concrete<TYPE_DATETIME>(std::move(field.template get<TYPE_DATETIME>()));
493
1.13k
        return;
494
746
    case PrimitiveType::TYPE_DATE:
495
746
        assign_concrete<TYPE_DATE>(std::move(field.template get<TYPE_DATE>()));
496
746
        return;
497
60.1k
    case PrimitiveType::TYPE_DATEV2:
498
60.1k
        assign_concrete<TYPE_DATEV2>(std::move(field.template get<TYPE_DATEV2>()));
499
60.1k
        return;
500
7.04k
    case PrimitiveType::TYPE_TIMESTAMPTZ:
501
7.04k
        assign_concrete<TYPE_TIMESTAMPTZ>(std::move(field.template get<TYPE_TIMESTAMPTZ>()));
502
7.04k
        return;
503
15.6k
    case PrimitiveType::TYPE_BOOLEAN:
504
15.6k
        assign_concrete<TYPE_BOOLEAN>(std::move(field.template get<TYPE_BOOLEAN>()));
505
15.6k
        return;
506
83.5k
    case PrimitiveType::TYPE_TINYINT:
507
83.5k
        assign_concrete<TYPE_TINYINT>(std::move(field.template get<TYPE_TINYINT>()));
508
83.5k
        return;
509
22.3k
    case PrimitiveType::TYPE_SMALLINT:
510
22.3k
        assign_concrete<TYPE_SMALLINT>(std::move(field.template get<TYPE_SMALLINT>()));
511
22.3k
        return;
512
938k
    case PrimitiveType::TYPE_INT:
513
938k
        assign_concrete<TYPE_INT>(std::move(field.template get<TYPE_INT>()));
514
938k
        return;
515
350k
    case PrimitiveType::TYPE_BIGINT:
516
350k
        assign_concrete<TYPE_BIGINT>(std::move(field.template get<TYPE_BIGINT>()));
517
350k
        return;
518
33.6k
    case PrimitiveType::TYPE_LARGEINT:
519
33.6k
        assign_concrete<TYPE_LARGEINT>(std::move(field.template get<TYPE_LARGEINT>()));
520
33.6k
        return;
521
956
    case PrimitiveType::TYPE_IPV4:
522
956
        assign_concrete<TYPE_IPV4>(std::move(field.template get<TYPE_IPV4>()));
523
956
        return;
524
981
    case PrimitiveType::TYPE_IPV6:
525
981
        assign_concrete<TYPE_IPV6>(std::move(field.template get<TYPE_IPV6>()));
526
981
        return;
527
896
    case PrimitiveType::TYPE_UUID:
528
896
        assign_concrete<TYPE_UUID>(std::move(field.template get<TYPE_UUID>()));
529
896
        return;
530
14.1k
    case PrimitiveType::TYPE_FLOAT:
531
14.1k
        assign_concrete<TYPE_FLOAT>(std::move(field.template get<TYPE_FLOAT>()));
532
14.1k
        return;
533
0
    case PrimitiveType::TYPE_TIMEV2:
534
0
        assign_concrete<TYPE_TIMEV2>(std::move(field.template get<TYPE_TIMEV2>()));
535
0
        return;
536
20.1k
    case PrimitiveType::TYPE_DOUBLE:
537
20.1k
        assign_concrete<TYPE_DOUBLE>(std::move(field.template get<TYPE_DOUBLE>()));
538
20.1k
        return;
539
137k
    case PrimitiveType::TYPE_STRING:
540
137k
        assign_concrete<TYPE_STRING>(std::move(field.template get<TYPE_STRING>()));
541
137k
        return;
542
34.6k
    case PrimitiveType::TYPE_CHAR:
543
34.6k
        assign_concrete<TYPE_CHAR>(std::move(field.template get<TYPE_CHAR>()));
544
34.6k
        return;
545
304k
    case PrimitiveType::TYPE_VARCHAR:
546
304k
        assign_concrete<TYPE_VARCHAR>(std::move(field.template get<TYPE_VARCHAR>()));
547
304k
        return;
548
43.9k
    case PrimitiveType::TYPE_JSONB:
549
43.9k
        assign_concrete<TYPE_JSONB>(std::move(field.template get<TYPE_JSONB>()));
550
43.9k
        return;
551
4
    case PrimitiveType::TYPE_ARRAY:
552
4
        assign_concrete<TYPE_ARRAY>(std::move(field.template get<TYPE_ARRAY>()));
553
4
        return;
554
0
    case PrimitiveType::TYPE_STRUCT:
555
0
        assign_concrete<TYPE_STRUCT>(std::move(field.template get<TYPE_STRUCT>()));
556
0
        return;
557
1
    case PrimitiveType::TYPE_MAP:
558
1
        assign_concrete<TYPE_MAP>(std::move(field.template get<TYPE_MAP>()));
559
1
        return;
560
6.79k
    case PrimitiveType::TYPE_DECIMAL32:
561
6.79k
        assign_concrete<TYPE_DECIMAL32>(std::move(field.template get<TYPE_DECIMAL32>()));
562
6.79k
        return;
563
31.9k
    case PrimitiveType::TYPE_DECIMAL64:
564
31.9k
        assign_concrete<TYPE_DECIMAL64>(std::move(field.template get<TYPE_DECIMAL64>()));
565
31.9k
        return;
566
404
    case PrimitiveType::TYPE_DECIMALV2:
567
404
        assign_concrete<TYPE_DECIMALV2>(std::move(field.template get<TYPE_DECIMALV2>()));
568
404
        return;
569
20.3k
    case PrimitiveType::TYPE_DECIMAL128I:
570
20.3k
        assign_concrete<TYPE_DECIMAL128I>(std::move(field.template get<TYPE_DECIMAL128I>()));
571
20.3k
        return;
572
1.17k
    case PrimitiveType::TYPE_DECIMAL256:
573
1.17k
        assign_concrete<TYPE_DECIMAL256>(std::move(field.template get<TYPE_DECIMAL256>()));
574
1.17k
        return;
575
0
    case PrimitiveType::TYPE_VARIANT:
576
0
        assign_concrete<TYPE_VARIANT>(std::move(field.template get<TYPE_VARIANT>()));
577
0
        return;
578
2
    case PrimitiveType::TYPE_BITMAP:
579
2
        assign_concrete<TYPE_BITMAP>(std::move(field.template get<TYPE_BITMAP>()));
580
2
        return;
581
1
    case PrimitiveType::TYPE_HLL:
582
1
        assign_concrete<TYPE_HLL>(std::move(field.template get<TYPE_HLL>()));
583
1
        return;
584
1
    case PrimitiveType::TYPE_QUANTILE_STATE:
585
1
        assign_concrete<TYPE_QUANTILE_STATE>(std::move(field.template get<TYPE_QUANTILE_STATE>()));
586
1
        return;
587
9
    case PrimitiveType::TYPE_VARBINARY:
588
9
        assign_concrete<TYPE_VARBINARY>(std::move(field.template get<TYPE_VARBINARY>()));
589
9
        return;
590
0
    default:
591
0
        throw Exception(Status::FatalError("type not supported, type={}", field.get_type_name()));
592
2.43M
    }
593
2.43M
}
594
595
1.54M
void Field::assign(const Field& field) {
596
1.54M
    switch (field.type) {
597
236k
    case PrimitiveType::TYPE_NULL:
598
236k
        assign_concrete<TYPE_NULL>(field.template get<TYPE_NULL>());
599
236k
        return;
600
65.3k
    case PrimitiveType::TYPE_DATETIMEV2:
601
65.3k
        assign_concrete<TYPE_DATETIMEV2>(field.template get<TYPE_DATETIMEV2>());
602
65.3k
        return;
603
299
    case PrimitiveType::TYPE_TIMESTAMP_NS:
604
299
        assign_concrete<TYPE_TIMESTAMP_NS>(field.template get<TYPE_TIMESTAMP_NS>());
605
299
        return;
606
818
    case PrimitiveType::TYPE_DATETIME:
607
818
        assign_concrete<TYPE_DATETIME>(field.template get<TYPE_DATETIME>());
608
818
        return;
609
690
    case PrimitiveType::TYPE_DATE:
610
690
        assign_concrete<TYPE_DATE>(field.template get<TYPE_DATE>());
611
690
        return;
612
55.6k
    case PrimitiveType::TYPE_DATEV2:
613
55.6k
        assign_concrete<TYPE_DATEV2>(field.template get<TYPE_DATEV2>());
614
55.6k
        return;
615
7.03k
    case PrimitiveType::TYPE_TIMESTAMPTZ:
616
7.03k
        assign_concrete<TYPE_TIMESTAMPTZ>(field.template get<TYPE_TIMESTAMPTZ>());
617
7.03k
        return;
618
15.6k
    case PrimitiveType::TYPE_BOOLEAN:
619
15.6k
        assign_concrete<TYPE_BOOLEAN>(field.template get<TYPE_BOOLEAN>());
620
15.6k
        return;
621
83.3k
    case PrimitiveType::TYPE_TINYINT:
622
83.3k
        assign_concrete<TYPE_TINYINT>(field.template get<TYPE_TINYINT>());
623
83.3k
        return;
624
22.1k
    case PrimitiveType::TYPE_SMALLINT:
625
22.1k
        assign_concrete<TYPE_SMALLINT>(field.template get<TYPE_SMALLINT>());
626
22.1k
        return;
627
198k
    case PrimitiveType::TYPE_INT:
628
198k
        assign_concrete<TYPE_INT>(field.template get<TYPE_INT>());
629
198k
        return;
630
338k
    case PrimitiveType::TYPE_BIGINT:
631
338k
        assign_concrete<TYPE_BIGINT>(field.template get<TYPE_BIGINT>());
632
338k
        return;
633
32.4k
    case PrimitiveType::TYPE_LARGEINT:
634
32.4k
        assign_concrete<TYPE_LARGEINT>(field.template get<TYPE_LARGEINT>());
635
32.4k
        return;
636
957
    case PrimitiveType::TYPE_IPV4:
637
957
        assign_concrete<TYPE_IPV4>(field.template get<TYPE_IPV4>());
638
957
        return;
639
983
    case PrimitiveType::TYPE_IPV6:
640
983
        assign_concrete<TYPE_IPV6>(field.template get<TYPE_IPV6>());
641
983
        return;
642
702
    case PrimitiveType::TYPE_UUID:
643
702
        assign_concrete<TYPE_UUID>(field.template get<TYPE_UUID>());
644
702
        return;
645
13.6k
    case PrimitiveType::TYPE_FLOAT:
646
13.6k
        assign_concrete<TYPE_FLOAT>(field.template get<TYPE_FLOAT>());
647
13.6k
        return;
648
0
    case PrimitiveType::TYPE_TIMEV2:
649
0
        assign_concrete<TYPE_TIMEV2>(field.template get<TYPE_TIMEV2>());
650
0
        return;
651
18.0k
    case PrimitiveType::TYPE_DOUBLE:
652
18.0k
        assign_concrete<TYPE_DOUBLE>(field.template get<TYPE_DOUBLE>());
653
18.0k
        return;
654
95.4k
    case PrimitiveType::TYPE_STRING:
655
95.4k
        assign_concrete<TYPE_STRING>(field.template get<TYPE_STRING>());
656
95.4k
        return;
657
26.3k
    case PrimitiveType::TYPE_CHAR:
658
26.3k
        assign_concrete<TYPE_CHAR>(field.template get<TYPE_CHAR>());
659
26.3k
        return;
660
288k
    case PrimitiveType::TYPE_VARCHAR:
661
288k
        assign_concrete<TYPE_VARCHAR>(field.template get<TYPE_VARCHAR>());
662
288k
        return;
663
1
    case PrimitiveType::TYPE_JSONB:
664
1
        assign_concrete<TYPE_JSONB>(field.template get<TYPE_JSONB>());
665
1
        return;
666
13
    case PrimitiveType::TYPE_ARRAY:
667
13
        assign_concrete<TYPE_ARRAY>(field.template get<TYPE_ARRAY>());
668
13
        return;
669
0
    case PrimitiveType::TYPE_STRUCT:
670
0
        assign_concrete<TYPE_STRUCT>(field.template get<TYPE_STRUCT>());
671
0
        return;
672
1
    case PrimitiveType::TYPE_MAP:
673
1
        assign_concrete<TYPE_MAP>(field.template get<TYPE_MAP>());
674
1
        return;
675
6.77k
    case PrimitiveType::TYPE_DECIMAL32:
676
6.77k
        assign_concrete<TYPE_DECIMAL32>(field.template get<TYPE_DECIMAL32>());
677
6.77k
        return;
678
18.7k
    case PrimitiveType::TYPE_DECIMAL64:
679
18.7k
        assign_concrete<TYPE_DECIMAL64>(field.template get<TYPE_DECIMAL64>());
680
18.7k
        return;
681
404
    case PrimitiveType::TYPE_DECIMALV2:
682
404
        assign_concrete<TYPE_DECIMALV2>(field.template get<TYPE_DECIMALV2>());
683
404
        return;
684
17.8k
    case PrimitiveType::TYPE_DECIMAL128I:
685
17.8k
        assign_concrete<TYPE_DECIMAL128I>(field.template get<TYPE_DECIMAL128I>());
686
17.8k
        return;
687
1.18k
    case PrimitiveType::TYPE_DECIMAL256:
688
1.18k
        assign_concrete<TYPE_DECIMAL256>(field.template get<TYPE_DECIMAL256>());
689
1.18k
        return;
690
0
    case PrimitiveType::TYPE_VARIANT:
691
0
        assign_concrete<TYPE_VARIANT>(field.template get<TYPE_VARIANT>());
692
0
        return;
693
2
    case PrimitiveType::TYPE_BITMAP:
694
2
        assign_concrete<TYPE_BITMAP>(field.template get<TYPE_BITMAP>());
695
2
        return;
696
1
    case PrimitiveType::TYPE_HLL:
697
1
        assign_concrete<TYPE_HLL>(field.template get<TYPE_HLL>());
698
1
        return;
699
1
    case PrimitiveType::TYPE_QUANTILE_STATE:
700
1
        assign_concrete<TYPE_QUANTILE_STATE>(field.template get<TYPE_QUANTILE_STATE>());
701
1
        return;
702
0
    case PrimitiveType::TYPE_UINT32:
703
0
        assign_concrete<TYPE_UINT32>(field.template get<TYPE_UINT32>());
704
0
        return;
705
0
    case PrimitiveType::TYPE_UINT64:
706
0
        assign_concrete<TYPE_UINT64>(field.template get<TYPE_UINT64>());
707
0
        return;
708
7
    case PrimitiveType::TYPE_VARBINARY:
709
7
        assign_concrete<TYPE_VARBINARY>(field.template get<TYPE_VARBINARY>());
710
7
        return;
711
0
    default:
712
0
        throw Exception(Status::FatalError("type not supported, type={}", field.get_type_name()));
713
1.54M
    }
714
1.54M
}
715
716
/// Assuming same types.
717
template <PrimitiveType Type>
718
2.43M
void Field::assign_concrete(typename PrimitiveTypeTraits<Type>::CppType&& x) {
719
2.43M
    if constexpr (Type == TYPE_VARBINARY) {
720
9
        *reinterpret_cast<OwnedBinaryField*>(&storage) = OwnedBinaryField(x);
721
9
        return;
722
9
    }
723
0
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<Type>::CppType*>(&storage);
724
2.43M
    *ptr = std::forward<typename PrimitiveTypeTraits<Type>::CppType>(x);
725
2.43M
}
_ZN5doris5Field15assign_concreteILNS_13PrimitiveTypeE1EEEvONS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
718
239k
void Field::assign_concrete(typename PrimitiveTypeTraits<Type>::CppType&& x) {
719
    if constexpr (Type == TYPE_VARBINARY) {
720
        *reinterpret_cast<OwnedBinaryField*>(&storage) = OwnedBinaryField(x);
721
        return;
722
    }
723
239k
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<Type>::CppType*>(&storage);
724
239k
    *ptr = std::forward<typename PrimitiveTypeTraits<Type>::CppType>(x);
725
239k
}
_ZN5doris5Field15assign_concreteILNS_13PrimitiveTypeE3EEEvONS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
718
83.5k
void Field::assign_concrete(typename PrimitiveTypeTraits<Type>::CppType&& x) {
719
    if constexpr (Type == TYPE_VARBINARY) {
720
        *reinterpret_cast<OwnedBinaryField*>(&storage) = OwnedBinaryField(x);
721
        return;
722
    }
723
83.5k
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<Type>::CppType*>(&storage);
724
83.5k
    *ptr = std::forward<typename PrimitiveTypeTraits<Type>::CppType>(x);
725
83.5k
}
_ZN5doris5Field15assign_concreteILNS_13PrimitiveTypeE4EEEvONS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
718
22.3k
void Field::assign_concrete(typename PrimitiveTypeTraits<Type>::CppType&& x) {
719
    if constexpr (Type == TYPE_VARBINARY) {
720
        *reinterpret_cast<OwnedBinaryField*>(&storage) = OwnedBinaryField(x);
721
        return;
722
    }
723
22.3k
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<Type>::CppType*>(&storage);
724
22.3k
    *ptr = std::forward<typename PrimitiveTypeTraits<Type>::CppType>(x);
725
22.3k
}
_ZN5doris5Field15assign_concreteILNS_13PrimitiveTypeE5EEEvONS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
718
938k
void Field::assign_concrete(typename PrimitiveTypeTraits<Type>::CppType&& x) {
719
    if constexpr (Type == TYPE_VARBINARY) {
720
        *reinterpret_cast<OwnedBinaryField*>(&storage) = OwnedBinaryField(x);
721
        return;
722
    }
723
938k
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<Type>::CppType*>(&storage);
724
938k
    *ptr = std::forward<typename PrimitiveTypeTraits<Type>::CppType>(x);
725
938k
}
_ZN5doris5Field15assign_concreteILNS_13PrimitiveTypeE6EEEvONS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
718
349k
void Field::assign_concrete(typename PrimitiveTypeTraits<Type>::CppType&& x) {
719
    if constexpr (Type == TYPE_VARBINARY) {
720
        *reinterpret_cast<OwnedBinaryField*>(&storage) = OwnedBinaryField(x);
721
        return;
722
    }
723
349k
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<Type>::CppType*>(&storage);
724
349k
    *ptr = std::forward<typename PrimitiveTypeTraits<Type>::CppType>(x);
725
349k
}
_ZN5doris5Field15assign_concreteILNS_13PrimitiveTypeE7EEEvONS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
718
33.6k
void Field::assign_concrete(typename PrimitiveTypeTraits<Type>::CppType&& x) {
719
    if constexpr (Type == TYPE_VARBINARY) {
720
        *reinterpret_cast<OwnedBinaryField*>(&storage) = OwnedBinaryField(x);
721
        return;
722
    }
723
33.6k
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<Type>::CppType*>(&storage);
724
33.6k
    *ptr = std::forward<typename PrimitiveTypeTraits<Type>::CppType>(x);
725
33.6k
}
_ZN5doris5Field15assign_concreteILNS_13PrimitiveTypeE11EEEvONS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
718
746
void Field::assign_concrete(typename PrimitiveTypeTraits<Type>::CppType&& x) {
719
    if constexpr (Type == TYPE_VARBINARY) {
720
        *reinterpret_cast<OwnedBinaryField*>(&storage) = OwnedBinaryField(x);
721
        return;
722
    }
723
746
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<Type>::CppType*>(&storage);
724
746
    *ptr = std::forward<typename PrimitiveTypeTraits<Type>::CppType>(x);
725
746
}
_ZN5doris5Field15assign_concreteILNS_13PrimitiveTypeE12EEEvONS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
718
1.13k
void Field::assign_concrete(typename PrimitiveTypeTraits<Type>::CppType&& x) {
719
    if constexpr (Type == TYPE_VARBINARY) {
720
        *reinterpret_cast<OwnedBinaryField*>(&storage) = OwnedBinaryField(x);
721
        return;
722
    }
723
1.13k
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<Type>::CppType*>(&storage);
724
1.13k
    *ptr = std::forward<typename PrimitiveTypeTraits<Type>::CppType>(x);
725
1.13k
}
_ZN5doris5Field15assign_concreteILNS_13PrimitiveTypeE25EEEvONS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
718
60.1k
void Field::assign_concrete(typename PrimitiveTypeTraits<Type>::CppType&& x) {
719
    if constexpr (Type == TYPE_VARBINARY) {
720
        *reinterpret_cast<OwnedBinaryField*>(&storage) = OwnedBinaryField(x);
721
        return;
722
    }
723
60.1k
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<Type>::CppType*>(&storage);
724
60.1k
    *ptr = std::forward<typename PrimitiveTypeTraits<Type>::CppType>(x);
725
60.1k
}
_ZN5doris5Field15assign_concreteILNS_13PrimitiveTypeE26EEEvONS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
718
66.6k
void Field::assign_concrete(typename PrimitiveTypeTraits<Type>::CppType&& x) {
719
    if constexpr (Type == TYPE_VARBINARY) {
720
        *reinterpret_cast<OwnedBinaryField*>(&storage) = OwnedBinaryField(x);
721
        return;
722
    }
723
66.6k
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<Type>::CppType*>(&storage);
724
66.6k
    *ptr = std::forward<typename PrimitiveTypeTraits<Type>::CppType>(x);
725
66.6k
}
_ZN5doris5Field15assign_concreteILNS_13PrimitiveTypeE43EEEvONS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
718
300
void Field::assign_concrete(typename PrimitiveTypeTraits<Type>::CppType&& x) {
719
    if constexpr (Type == TYPE_VARBINARY) {
720
        *reinterpret_cast<OwnedBinaryField*>(&storage) = OwnedBinaryField(x);
721
        return;
722
    }
723
300
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<Type>::CppType*>(&storage);
724
300
    *ptr = std::forward<typename PrimitiveTypeTraits<Type>::CppType>(x);
725
300
}
_ZN5doris5Field15assign_concreteILNS_13PrimitiveTypeE28EEEvONS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
718
6.79k
void Field::assign_concrete(typename PrimitiveTypeTraits<Type>::CppType&& x) {
719
    if constexpr (Type == TYPE_VARBINARY) {
720
        *reinterpret_cast<OwnedBinaryField*>(&storage) = OwnedBinaryField(x);
721
        return;
722
    }
723
6.79k
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<Type>::CppType*>(&storage);
724
6.79k
    *ptr = std::forward<typename PrimitiveTypeTraits<Type>::CppType>(x);
725
6.79k
}
_ZN5doris5Field15assign_concreteILNS_13PrimitiveTypeE29EEEvONS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
718
31.9k
void Field::assign_concrete(typename PrimitiveTypeTraits<Type>::CppType&& x) {
719
    if constexpr (Type == TYPE_VARBINARY) {
720
        *reinterpret_cast<OwnedBinaryField*>(&storage) = OwnedBinaryField(x);
721
        return;
722
    }
723
31.9k
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<Type>::CppType*>(&storage);
724
31.9k
    *ptr = std::forward<typename PrimitiveTypeTraits<Type>::CppType>(x);
725
31.9k
}
_ZN5doris5Field15assign_concreteILNS_13PrimitiveTypeE20EEEvONS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
718
404
void Field::assign_concrete(typename PrimitiveTypeTraits<Type>::CppType&& x) {
719
    if constexpr (Type == TYPE_VARBINARY) {
720
        *reinterpret_cast<OwnedBinaryField*>(&storage) = OwnedBinaryField(x);
721
        return;
722
    }
723
404
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<Type>::CppType*>(&storage);
724
404
    *ptr = std::forward<typename PrimitiveTypeTraits<Type>::CppType>(x);
725
404
}
_ZN5doris5Field15assign_concreteILNS_13PrimitiveTypeE30EEEvONS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
718
20.3k
void Field::assign_concrete(typename PrimitiveTypeTraits<Type>::CppType&& x) {
719
    if constexpr (Type == TYPE_VARBINARY) {
720
        *reinterpret_cast<OwnedBinaryField*>(&storage) = OwnedBinaryField(x);
721
        return;
722
    }
723
20.3k
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<Type>::CppType*>(&storage);
724
20.3k
    *ptr = std::forward<typename PrimitiveTypeTraits<Type>::CppType>(x);
725
20.3k
}
_ZN5doris5Field15assign_concreteILNS_13PrimitiveTypeE35EEEvONS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
718
1.17k
void Field::assign_concrete(typename PrimitiveTypeTraits<Type>::CppType&& x) {
719
    if constexpr (Type == TYPE_VARBINARY) {
720
        *reinterpret_cast<OwnedBinaryField*>(&storage) = OwnedBinaryField(x);
721
        return;
722
    }
723
1.17k
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<Type>::CppType*>(&storage);
724
1.17k
    *ptr = std::forward<typename PrimitiveTypeTraits<Type>::CppType>(x);
725
1.17k
}
_ZN5doris5Field15assign_concreteILNS_13PrimitiveTypeE15EEEvONS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
718
34.6k
void Field::assign_concrete(typename PrimitiveTypeTraits<Type>::CppType&& x) {
719
    if constexpr (Type == TYPE_VARBINARY) {
720
        *reinterpret_cast<OwnedBinaryField*>(&storage) = OwnedBinaryField(x);
721
        return;
722
    }
723
34.6k
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<Type>::CppType*>(&storage);
724
34.6k
    *ptr = std::forward<typename PrimitiveTypeTraits<Type>::CppType>(x);
725
34.6k
}
_ZN5doris5Field15assign_concreteILNS_13PrimitiveTypeE10EEEvONS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
718
304k
void Field::assign_concrete(typename PrimitiveTypeTraits<Type>::CppType&& x) {
719
    if constexpr (Type == TYPE_VARBINARY) {
720
        *reinterpret_cast<OwnedBinaryField*>(&storage) = OwnedBinaryField(x);
721
        return;
722
    }
723
304k
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<Type>::CppType*>(&storage);
724
304k
    *ptr = std::forward<typename PrimitiveTypeTraits<Type>::CppType>(x);
725
304k
}
_ZN5doris5Field15assign_concreteILNS_13PrimitiveTypeE23EEEvONS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
718
137k
void Field::assign_concrete(typename PrimitiveTypeTraits<Type>::CppType&& x) {
719
    if constexpr (Type == TYPE_VARBINARY) {
720
        *reinterpret_cast<OwnedBinaryField*>(&storage) = OwnedBinaryField(x);
721
        return;
722
    }
723
137k
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<Type>::CppType*>(&storage);
724
137k
    *ptr = std::forward<typename PrimitiveTypeTraits<Type>::CppType>(x);
725
137k
}
_ZN5doris5Field15assign_concreteILNS_13PrimitiveTypeE41EEEvONS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
718
9
void Field::assign_concrete(typename PrimitiveTypeTraits<Type>::CppType&& x) {
719
9
    if constexpr (Type == TYPE_VARBINARY) {
720
9
        *reinterpret_cast<OwnedBinaryField*>(&storage) = OwnedBinaryField(x);
721
9
        return;
722
9
    }
723
0
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<Type>::CppType*>(&storage);
724
9
    *ptr = std::forward<typename PrimitiveTypeTraits<Type>::CppType>(x);
725
9
}
_ZN5doris5Field15assign_concreteILNS_13PrimitiveTypeE19EEEvONS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
718
1
void Field::assign_concrete(typename PrimitiveTypeTraits<Type>::CppType&& x) {
719
    if constexpr (Type == TYPE_VARBINARY) {
720
        *reinterpret_cast<OwnedBinaryField*>(&storage) = OwnedBinaryField(x);
721
        return;
722
    }
723
1
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<Type>::CppType*>(&storage);
724
1
    *ptr = std::forward<typename PrimitiveTypeTraits<Type>::CppType>(x);
725
1
}
Unexecuted instantiation: _ZN5doris5Field15assign_concreteILNS_13PrimitiveTypeE32EEEvONS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
_ZN5doris5Field15assign_concreteILNS_13PrimitiveTypeE24EEEvONS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
718
1
void Field::assign_concrete(typename PrimitiveTypeTraits<Type>::CppType&& x) {
719
    if constexpr (Type == TYPE_VARBINARY) {
720
        *reinterpret_cast<OwnedBinaryField*>(&storage) = OwnedBinaryField(x);
721
        return;
722
    }
723
1
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<Type>::CppType*>(&storage);
724
1
    *ptr = std::forward<typename PrimitiveTypeTraits<Type>::CppType>(x);
725
1
}
_ZN5doris5Field15assign_concreteILNS_13PrimitiveTypeE17EEEvONS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
718
4
void Field::assign_concrete(typename PrimitiveTypeTraits<Type>::CppType&& x) {
719
    if constexpr (Type == TYPE_VARBINARY) {
720
        *reinterpret_cast<OwnedBinaryField*>(&storage) = OwnedBinaryField(x);
721
        return;
722
    }
723
4
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<Type>::CppType*>(&storage);
724
4
    *ptr = std::forward<typename PrimitiveTypeTraits<Type>::CppType>(x);
725
4
}
_ZN5doris5Field15assign_concreteILNS_13PrimitiveTypeE42EEEvONS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
718
7.04k
void Field::assign_concrete(typename PrimitiveTypeTraits<Type>::CppType&& x) {
719
    if constexpr (Type == TYPE_VARBINARY) {
720
        *reinterpret_cast<OwnedBinaryField*>(&storage) = OwnedBinaryField(x);
721
        return;
722
    }
723
7.04k
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<Type>::CppType*>(&storage);
724
7.04k
    *ptr = std::forward<typename PrimitiveTypeTraits<Type>::CppType>(x);
725
7.04k
}
_ZN5doris5Field15assign_concreteILNS_13PrimitiveTypeE36EEEvONS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
718
956
void Field::assign_concrete(typename PrimitiveTypeTraits<Type>::CppType&& x) {
719
    if constexpr (Type == TYPE_VARBINARY) {
720
        *reinterpret_cast<OwnedBinaryField*>(&storage) = OwnedBinaryField(x);
721
        return;
722
    }
723
956
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<Type>::CppType*>(&storage);
724
956
    *ptr = std::forward<typename PrimitiveTypeTraits<Type>::CppType>(x);
725
956
}
_ZN5doris5Field15assign_concreteILNS_13PrimitiveTypeE37EEEvONS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
718
981
void Field::assign_concrete(typename PrimitiveTypeTraits<Type>::CppType&& x) {
719
    if constexpr (Type == TYPE_VARBINARY) {
720
        *reinterpret_cast<OwnedBinaryField*>(&storage) = OwnedBinaryField(x);
721
        return;
722
    }
723
981
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<Type>::CppType*>(&storage);
724
981
    *ptr = std::forward<typename PrimitiveTypeTraits<Type>::CppType>(x);
725
981
}
_ZN5doris5Field15assign_concreteILNS_13PrimitiveTypeE44EEEvONS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
718
896
void Field::assign_concrete(typename PrimitiveTypeTraits<Type>::CppType&& x) {
719
    if constexpr (Type == TYPE_VARBINARY) {
720
        *reinterpret_cast<OwnedBinaryField*>(&storage) = OwnedBinaryField(x);
721
        return;
722
    }
723
896
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<Type>::CppType*>(&storage);
724
896
    *ptr = std::forward<typename PrimitiveTypeTraits<Type>::CppType>(x);
725
896
}
_ZN5doris5Field15assign_concreteILNS_13PrimitiveTypeE2EEEvONS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
718
15.6k
void Field::assign_concrete(typename PrimitiveTypeTraits<Type>::CppType&& x) {
719
    if constexpr (Type == TYPE_VARBINARY) {
720
        *reinterpret_cast<OwnedBinaryField*>(&storage) = OwnedBinaryField(x);
721
        return;
722
    }
723
15.6k
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<Type>::CppType*>(&storage);
724
15.6k
    *ptr = std::forward<typename PrimitiveTypeTraits<Type>::CppType>(x);
725
15.6k
}
_ZN5doris5Field15assign_concreteILNS_13PrimitiveTypeE8EEEvONS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
718
14.1k
void Field::assign_concrete(typename PrimitiveTypeTraits<Type>::CppType&& x) {
719
    if constexpr (Type == TYPE_VARBINARY) {
720
        *reinterpret_cast<OwnedBinaryField*>(&storage) = OwnedBinaryField(x);
721
        return;
722
    }
723
14.1k
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<Type>::CppType*>(&storage);
724
14.1k
    *ptr = std::forward<typename PrimitiveTypeTraits<Type>::CppType>(x);
725
14.1k
}
_ZN5doris5Field15assign_concreteILNS_13PrimitiveTypeE9EEEvONS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
718
20.1k
void Field::assign_concrete(typename PrimitiveTypeTraits<Type>::CppType&& x) {
719
    if constexpr (Type == TYPE_VARBINARY) {
720
        *reinterpret_cast<OwnedBinaryField*>(&storage) = OwnedBinaryField(x);
721
        return;
722
    }
723
20.1k
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<Type>::CppType*>(&storage);
724
20.1k
    *ptr = std::forward<typename PrimitiveTypeTraits<Type>::CppType>(x);
725
20.1k
}
_ZN5doris5Field15assign_concreteILNS_13PrimitiveTypeE31EEEvONS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
718
43.9k
void Field::assign_concrete(typename PrimitiveTypeTraits<Type>::CppType&& x) {
719
    if constexpr (Type == TYPE_VARBINARY) {
720
        *reinterpret_cast<OwnedBinaryField*>(&storage) = OwnedBinaryField(x);
721
        return;
722
    }
723
43.9k
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<Type>::CppType*>(&storage);
724
43.9k
    *ptr = std::forward<typename PrimitiveTypeTraits<Type>::CppType>(x);
725
43.9k
}
Unexecuted instantiation: _ZN5doris5Field15assign_concreteILNS_13PrimitiveTypeE16EEEvONS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
_ZN5doris5Field15assign_concreteILNS_13PrimitiveTypeE18EEEvONS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
718
1
void Field::assign_concrete(typename PrimitiveTypeTraits<Type>::CppType&& x) {
719
    if constexpr (Type == TYPE_VARBINARY) {
720
        *reinterpret_cast<OwnedBinaryField*>(&storage) = OwnedBinaryField(x);
721
        return;
722
    }
723
1
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<Type>::CppType*>(&storage);
724
1
    *ptr = std::forward<typename PrimitiveTypeTraits<Type>::CppType>(x);
725
1
}
_ZN5doris5Field15assign_concreteILNS_13PrimitiveTypeE22EEEvONS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
718
2
void Field::assign_concrete(typename PrimitiveTypeTraits<Type>::CppType&& x) {
719
    if constexpr (Type == TYPE_VARBINARY) {
720
        *reinterpret_cast<OwnedBinaryField*>(&storage) = OwnedBinaryField(x);
721
        return;
722
    }
723
2
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<Type>::CppType*>(&storage);
724
2
    *ptr = std::forward<typename PrimitiveTypeTraits<Type>::CppType>(x);
725
2
}
Unexecuted instantiation: _ZN5doris5Field15assign_concreteILNS_13PrimitiveTypeE27EEEvONS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Unexecuted instantiation: _ZN5doris5Field15assign_concreteILNS_13PrimitiveTypeE38EEEvONS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Unexecuted instantiation: _ZN5doris5Field15assign_concreteILNS_13PrimitiveTypeE39EEEvONS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
726
727
template <PrimitiveType Type>
728
1.54M
void Field::assign_concrete(const typename PrimitiveTypeTraits<Type>::CppType& x) {
729
1.54M
    if constexpr (Type == TYPE_VARBINARY) {
730
7
        *reinterpret_cast<OwnedBinaryField*>(&storage) = OwnedBinaryField(x);
731
7
        return;
732
7
    }
733
0
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<Type>::CppType*>(&storage);
734
1.54M
    *ptr = std::forward<const typename PrimitiveTypeTraits<Type>::CppType>(x);
735
1.54M
}
_ZN5doris5Field15assign_concreteILNS_13PrimitiveTypeE1EEEvRKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
728
235k
void Field::assign_concrete(const typename PrimitiveTypeTraits<Type>::CppType& x) {
729
    if constexpr (Type == TYPE_VARBINARY) {
730
        *reinterpret_cast<OwnedBinaryField*>(&storage) = OwnedBinaryField(x);
731
        return;
732
    }
733
235k
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<Type>::CppType*>(&storage);
734
235k
    *ptr = std::forward<const typename PrimitiveTypeTraits<Type>::CppType>(x);
735
235k
}
_ZN5doris5Field15assign_concreteILNS_13PrimitiveTypeE3EEEvRKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
728
83.3k
void Field::assign_concrete(const typename PrimitiveTypeTraits<Type>::CppType& x) {
729
    if constexpr (Type == TYPE_VARBINARY) {
730
        *reinterpret_cast<OwnedBinaryField*>(&storage) = OwnedBinaryField(x);
731
        return;
732
    }
733
83.3k
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<Type>::CppType*>(&storage);
734
83.3k
    *ptr = std::forward<const typename PrimitiveTypeTraits<Type>::CppType>(x);
735
83.3k
}
_ZN5doris5Field15assign_concreteILNS_13PrimitiveTypeE4EEEvRKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
728
22.1k
void Field::assign_concrete(const typename PrimitiveTypeTraits<Type>::CppType& x) {
729
    if constexpr (Type == TYPE_VARBINARY) {
730
        *reinterpret_cast<OwnedBinaryField*>(&storage) = OwnedBinaryField(x);
731
        return;
732
    }
733
22.1k
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<Type>::CppType*>(&storage);
734
22.1k
    *ptr = std::forward<const typename PrimitiveTypeTraits<Type>::CppType>(x);
735
22.1k
}
_ZN5doris5Field15assign_concreteILNS_13PrimitiveTypeE5EEEvRKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
728
198k
void Field::assign_concrete(const typename PrimitiveTypeTraits<Type>::CppType& x) {
729
    if constexpr (Type == TYPE_VARBINARY) {
730
        *reinterpret_cast<OwnedBinaryField*>(&storage) = OwnedBinaryField(x);
731
        return;
732
    }
733
198k
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<Type>::CppType*>(&storage);
734
198k
    *ptr = std::forward<const typename PrimitiveTypeTraits<Type>::CppType>(x);
735
198k
}
_ZN5doris5Field15assign_concreteILNS_13PrimitiveTypeE6EEEvRKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
728
338k
void Field::assign_concrete(const typename PrimitiveTypeTraits<Type>::CppType& x) {
729
    if constexpr (Type == TYPE_VARBINARY) {
730
        *reinterpret_cast<OwnedBinaryField*>(&storage) = OwnedBinaryField(x);
731
        return;
732
    }
733
338k
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<Type>::CppType*>(&storage);
734
338k
    *ptr = std::forward<const typename PrimitiveTypeTraits<Type>::CppType>(x);
735
338k
}
_ZN5doris5Field15assign_concreteILNS_13PrimitiveTypeE7EEEvRKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
728
32.4k
void Field::assign_concrete(const typename PrimitiveTypeTraits<Type>::CppType& x) {
729
    if constexpr (Type == TYPE_VARBINARY) {
730
        *reinterpret_cast<OwnedBinaryField*>(&storage) = OwnedBinaryField(x);
731
        return;
732
    }
733
32.4k
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<Type>::CppType*>(&storage);
734
32.4k
    *ptr = std::forward<const typename PrimitiveTypeTraits<Type>::CppType>(x);
735
32.4k
}
_ZN5doris5Field15assign_concreteILNS_13PrimitiveTypeE11EEEvRKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
728
690
void Field::assign_concrete(const typename PrimitiveTypeTraits<Type>::CppType& x) {
729
    if constexpr (Type == TYPE_VARBINARY) {
730
        *reinterpret_cast<OwnedBinaryField*>(&storage) = OwnedBinaryField(x);
731
        return;
732
    }
733
690
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<Type>::CppType*>(&storage);
734
690
    *ptr = std::forward<const typename PrimitiveTypeTraits<Type>::CppType>(x);
735
690
}
_ZN5doris5Field15assign_concreteILNS_13PrimitiveTypeE12EEEvRKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
728
818
void Field::assign_concrete(const typename PrimitiveTypeTraits<Type>::CppType& x) {
729
    if constexpr (Type == TYPE_VARBINARY) {
730
        *reinterpret_cast<OwnedBinaryField*>(&storage) = OwnedBinaryField(x);
731
        return;
732
    }
733
818
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<Type>::CppType*>(&storage);
734
818
    *ptr = std::forward<const typename PrimitiveTypeTraits<Type>::CppType>(x);
735
818
}
_ZN5doris5Field15assign_concreteILNS_13PrimitiveTypeE25EEEvRKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
728
55.6k
void Field::assign_concrete(const typename PrimitiveTypeTraits<Type>::CppType& x) {
729
    if constexpr (Type == TYPE_VARBINARY) {
730
        *reinterpret_cast<OwnedBinaryField*>(&storage) = OwnedBinaryField(x);
731
        return;
732
    }
733
55.6k
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<Type>::CppType*>(&storage);
734
55.6k
    *ptr = std::forward<const typename PrimitiveTypeTraits<Type>::CppType>(x);
735
55.6k
}
_ZN5doris5Field15assign_concreteILNS_13PrimitiveTypeE26EEEvRKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
728
65.3k
void Field::assign_concrete(const typename PrimitiveTypeTraits<Type>::CppType& x) {
729
    if constexpr (Type == TYPE_VARBINARY) {
730
        *reinterpret_cast<OwnedBinaryField*>(&storage) = OwnedBinaryField(x);
731
        return;
732
    }
733
65.3k
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<Type>::CppType*>(&storage);
734
65.3k
    *ptr = std::forward<const typename PrimitiveTypeTraits<Type>::CppType>(x);
735
65.3k
}
_ZN5doris5Field15assign_concreteILNS_13PrimitiveTypeE43EEEvRKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
728
299
void Field::assign_concrete(const typename PrimitiveTypeTraits<Type>::CppType& x) {
729
    if constexpr (Type == TYPE_VARBINARY) {
730
        *reinterpret_cast<OwnedBinaryField*>(&storage) = OwnedBinaryField(x);
731
        return;
732
    }
733
299
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<Type>::CppType*>(&storage);
734
299
    *ptr = std::forward<const typename PrimitiveTypeTraits<Type>::CppType>(x);
735
299
}
_ZN5doris5Field15assign_concreteILNS_13PrimitiveTypeE42EEEvRKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
728
7.04k
void Field::assign_concrete(const typename PrimitiveTypeTraits<Type>::CppType& x) {
729
    if constexpr (Type == TYPE_VARBINARY) {
730
        *reinterpret_cast<OwnedBinaryField*>(&storage) = OwnedBinaryField(x);
731
        return;
732
    }
733
7.04k
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<Type>::CppType*>(&storage);
734
7.04k
    *ptr = std::forward<const typename PrimitiveTypeTraits<Type>::CppType>(x);
735
7.04k
}
_ZN5doris5Field15assign_concreteILNS_13PrimitiveTypeE28EEEvRKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
728
6.77k
void Field::assign_concrete(const typename PrimitiveTypeTraits<Type>::CppType& x) {
729
    if constexpr (Type == TYPE_VARBINARY) {
730
        *reinterpret_cast<OwnedBinaryField*>(&storage) = OwnedBinaryField(x);
731
        return;
732
    }
733
6.77k
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<Type>::CppType*>(&storage);
734
6.77k
    *ptr = std::forward<const typename PrimitiveTypeTraits<Type>::CppType>(x);
735
6.77k
}
_ZN5doris5Field15assign_concreteILNS_13PrimitiveTypeE29EEEvRKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
728
18.7k
void Field::assign_concrete(const typename PrimitiveTypeTraits<Type>::CppType& x) {
729
    if constexpr (Type == TYPE_VARBINARY) {
730
        *reinterpret_cast<OwnedBinaryField*>(&storage) = OwnedBinaryField(x);
731
        return;
732
    }
733
18.7k
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<Type>::CppType*>(&storage);
734
18.7k
    *ptr = std::forward<const typename PrimitiveTypeTraits<Type>::CppType>(x);
735
18.7k
}
_ZN5doris5Field15assign_concreteILNS_13PrimitiveTypeE20EEEvRKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
728
404
void Field::assign_concrete(const typename PrimitiveTypeTraits<Type>::CppType& x) {
729
    if constexpr (Type == TYPE_VARBINARY) {
730
        *reinterpret_cast<OwnedBinaryField*>(&storage) = OwnedBinaryField(x);
731
        return;
732
    }
733
404
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<Type>::CppType*>(&storage);
734
404
    *ptr = std::forward<const typename PrimitiveTypeTraits<Type>::CppType>(x);
735
404
}
_ZN5doris5Field15assign_concreteILNS_13PrimitiveTypeE30EEEvRKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
728
17.8k
void Field::assign_concrete(const typename PrimitiveTypeTraits<Type>::CppType& x) {
729
    if constexpr (Type == TYPE_VARBINARY) {
730
        *reinterpret_cast<OwnedBinaryField*>(&storage) = OwnedBinaryField(x);
731
        return;
732
    }
733
17.8k
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<Type>::CppType*>(&storage);
734
17.8k
    *ptr = std::forward<const typename PrimitiveTypeTraits<Type>::CppType>(x);
735
17.8k
}
_ZN5doris5Field15assign_concreteILNS_13PrimitiveTypeE35EEEvRKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
728
1.18k
void Field::assign_concrete(const typename PrimitiveTypeTraits<Type>::CppType& x) {
729
    if constexpr (Type == TYPE_VARBINARY) {
730
        *reinterpret_cast<OwnedBinaryField*>(&storage) = OwnedBinaryField(x);
731
        return;
732
    }
733
1.18k
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<Type>::CppType*>(&storage);
734
1.18k
    *ptr = std::forward<const typename PrimitiveTypeTraits<Type>::CppType>(x);
735
1.18k
}
_ZN5doris5Field15assign_concreteILNS_13PrimitiveTypeE15EEEvRKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
728
26.3k
void Field::assign_concrete(const typename PrimitiveTypeTraits<Type>::CppType& x) {
729
    if constexpr (Type == TYPE_VARBINARY) {
730
        *reinterpret_cast<OwnedBinaryField*>(&storage) = OwnedBinaryField(x);
731
        return;
732
    }
733
26.3k
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<Type>::CppType*>(&storage);
734
26.3k
    *ptr = std::forward<const typename PrimitiveTypeTraits<Type>::CppType>(x);
735
26.3k
}
_ZN5doris5Field15assign_concreteILNS_13PrimitiveTypeE10EEEvRKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
728
288k
void Field::assign_concrete(const typename PrimitiveTypeTraits<Type>::CppType& x) {
729
    if constexpr (Type == TYPE_VARBINARY) {
730
        *reinterpret_cast<OwnedBinaryField*>(&storage) = OwnedBinaryField(x);
731
        return;
732
    }
733
288k
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<Type>::CppType*>(&storage);
734
288k
    *ptr = std::forward<const typename PrimitiveTypeTraits<Type>::CppType>(x);
735
288k
}
_ZN5doris5Field15assign_concreteILNS_13PrimitiveTypeE23EEEvRKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
728
95.4k
void Field::assign_concrete(const typename PrimitiveTypeTraits<Type>::CppType& x) {
729
    if constexpr (Type == TYPE_VARBINARY) {
730
        *reinterpret_cast<OwnedBinaryField*>(&storage) = OwnedBinaryField(x);
731
        return;
732
    }
733
95.4k
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<Type>::CppType*>(&storage);
734
95.4k
    *ptr = std::forward<const typename PrimitiveTypeTraits<Type>::CppType>(x);
735
95.4k
}
_ZN5doris5Field15assign_concreteILNS_13PrimitiveTypeE41EEEvRKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
728
7
void Field::assign_concrete(const typename PrimitiveTypeTraits<Type>::CppType& x) {
729
7
    if constexpr (Type == TYPE_VARBINARY) {
730
7
        *reinterpret_cast<OwnedBinaryField*>(&storage) = OwnedBinaryField(x);
731
7
        return;
732
7
    }
733
0
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<Type>::CppType*>(&storage);
734
7
    *ptr = std::forward<const typename PrimitiveTypeTraits<Type>::CppType>(x);
735
7
}
_ZN5doris5Field15assign_concreteILNS_13PrimitiveTypeE19EEEvRKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
728
1
void Field::assign_concrete(const typename PrimitiveTypeTraits<Type>::CppType& x) {
729
    if constexpr (Type == TYPE_VARBINARY) {
730
        *reinterpret_cast<OwnedBinaryField*>(&storage) = OwnedBinaryField(x);
731
        return;
732
    }
733
1
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<Type>::CppType*>(&storage);
734
1
    *ptr = std::forward<const typename PrimitiveTypeTraits<Type>::CppType>(x);
735
1
}
Unexecuted instantiation: _ZN5doris5Field15assign_concreteILNS_13PrimitiveTypeE32EEEvRKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
_ZN5doris5Field15assign_concreteILNS_13PrimitiveTypeE24EEEvRKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
728
1
void Field::assign_concrete(const typename PrimitiveTypeTraits<Type>::CppType& x) {
729
    if constexpr (Type == TYPE_VARBINARY) {
730
        *reinterpret_cast<OwnedBinaryField*>(&storage) = OwnedBinaryField(x);
731
        return;
732
    }
733
1
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<Type>::CppType*>(&storage);
734
1
    *ptr = std::forward<const typename PrimitiveTypeTraits<Type>::CppType>(x);
735
1
}
_ZN5doris5Field15assign_concreteILNS_13PrimitiveTypeE17EEEvRKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
728
13
void Field::assign_concrete(const typename PrimitiveTypeTraits<Type>::CppType& x) {
729
    if constexpr (Type == TYPE_VARBINARY) {
730
        *reinterpret_cast<OwnedBinaryField*>(&storage) = OwnedBinaryField(x);
731
        return;
732
    }
733
13
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<Type>::CppType*>(&storage);
734
13
    *ptr = std::forward<const typename PrimitiveTypeTraits<Type>::CppType>(x);
735
13
}
_ZN5doris5Field15assign_concreteILNS_13PrimitiveTypeE36EEEvRKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
728
957
void Field::assign_concrete(const typename PrimitiveTypeTraits<Type>::CppType& x) {
729
    if constexpr (Type == TYPE_VARBINARY) {
730
        *reinterpret_cast<OwnedBinaryField*>(&storage) = OwnedBinaryField(x);
731
        return;
732
    }
733
957
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<Type>::CppType*>(&storage);
734
957
    *ptr = std::forward<const typename PrimitiveTypeTraits<Type>::CppType>(x);
735
957
}
_ZN5doris5Field15assign_concreteILNS_13PrimitiveTypeE37EEEvRKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
728
983
void Field::assign_concrete(const typename PrimitiveTypeTraits<Type>::CppType& x) {
729
    if constexpr (Type == TYPE_VARBINARY) {
730
        *reinterpret_cast<OwnedBinaryField*>(&storage) = OwnedBinaryField(x);
731
        return;
732
    }
733
983
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<Type>::CppType*>(&storage);
734
983
    *ptr = std::forward<const typename PrimitiveTypeTraits<Type>::CppType>(x);
735
983
}
_ZN5doris5Field15assign_concreteILNS_13PrimitiveTypeE44EEEvRKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
728
702
void Field::assign_concrete(const typename PrimitiveTypeTraits<Type>::CppType& x) {
729
    if constexpr (Type == TYPE_VARBINARY) {
730
        *reinterpret_cast<OwnedBinaryField*>(&storage) = OwnedBinaryField(x);
731
        return;
732
    }
733
702
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<Type>::CppType*>(&storage);
734
702
    *ptr = std::forward<const typename PrimitiveTypeTraits<Type>::CppType>(x);
735
702
}
_ZN5doris5Field15assign_concreteILNS_13PrimitiveTypeE2EEEvRKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
728
15.6k
void Field::assign_concrete(const typename PrimitiveTypeTraits<Type>::CppType& x) {
729
    if constexpr (Type == TYPE_VARBINARY) {
730
        *reinterpret_cast<OwnedBinaryField*>(&storage) = OwnedBinaryField(x);
731
        return;
732
    }
733
15.6k
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<Type>::CppType*>(&storage);
734
15.6k
    *ptr = std::forward<const typename PrimitiveTypeTraits<Type>::CppType>(x);
735
15.6k
}
_ZN5doris5Field15assign_concreteILNS_13PrimitiveTypeE8EEEvRKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
728
13.6k
void Field::assign_concrete(const typename PrimitiveTypeTraits<Type>::CppType& x) {
729
    if constexpr (Type == TYPE_VARBINARY) {
730
        *reinterpret_cast<OwnedBinaryField*>(&storage) = OwnedBinaryField(x);
731
        return;
732
    }
733
13.6k
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<Type>::CppType*>(&storage);
734
13.6k
    *ptr = std::forward<const typename PrimitiveTypeTraits<Type>::CppType>(x);
735
13.6k
}
_ZN5doris5Field15assign_concreteILNS_13PrimitiveTypeE9EEEvRKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
728
18.0k
void Field::assign_concrete(const typename PrimitiveTypeTraits<Type>::CppType& x) {
729
    if constexpr (Type == TYPE_VARBINARY) {
730
        *reinterpret_cast<OwnedBinaryField*>(&storage) = OwnedBinaryField(x);
731
        return;
732
    }
733
18.0k
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<Type>::CppType*>(&storage);
734
18.0k
    *ptr = std::forward<const typename PrimitiveTypeTraits<Type>::CppType>(x);
735
18.0k
}
_ZN5doris5Field15assign_concreteILNS_13PrimitiveTypeE31EEEvRKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
728
1
void Field::assign_concrete(const typename PrimitiveTypeTraits<Type>::CppType& x) {
729
    if constexpr (Type == TYPE_VARBINARY) {
730
        *reinterpret_cast<OwnedBinaryField*>(&storage) = OwnedBinaryField(x);
731
        return;
732
    }
733
1
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<Type>::CppType*>(&storage);
734
1
    *ptr = std::forward<const typename PrimitiveTypeTraits<Type>::CppType>(x);
735
1
}
Unexecuted instantiation: _ZN5doris5Field15assign_concreteILNS_13PrimitiveTypeE16EEEvRKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
_ZN5doris5Field15assign_concreteILNS_13PrimitiveTypeE18EEEvRKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
728
1
void Field::assign_concrete(const typename PrimitiveTypeTraits<Type>::CppType& x) {
729
    if constexpr (Type == TYPE_VARBINARY) {
730
        *reinterpret_cast<OwnedBinaryField*>(&storage) = OwnedBinaryField(x);
731
        return;
732
    }
733
1
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<Type>::CppType*>(&storage);
734
1
    *ptr = std::forward<const typename PrimitiveTypeTraits<Type>::CppType>(x);
735
1
}
_ZN5doris5Field15assign_concreteILNS_13PrimitiveTypeE22EEEvRKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
728
2
void Field::assign_concrete(const typename PrimitiveTypeTraits<Type>::CppType& x) {
729
    if constexpr (Type == TYPE_VARBINARY) {
730
        *reinterpret_cast<OwnedBinaryField*>(&storage) = OwnedBinaryField(x);
731
        return;
732
    }
733
2
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<Type>::CppType*>(&storage);
734
2
    *ptr = std::forward<const typename PrimitiveTypeTraits<Type>::CppType>(x);
735
2
}
Unexecuted instantiation: _ZN5doris5Field15assign_concreteILNS_13PrimitiveTypeE27EEEvRKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Unexecuted instantiation: _ZN5doris5Field15assign_concreteILNS_13PrimitiveTypeE38EEEvRKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Unexecuted instantiation: _ZN5doris5Field15assign_concreteILNS_13PrimitiveTypeE39EEEvRKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
736
737
0
std::string Field::get_type_name() const {
738
0
    return type_to_string(type);
739
0
}
740
741
template <PrimitiveType T>
742
131M
typename PrimitiveTypeTraits<T>::CppType& Field::get() {
743
131M
    if (T != type && !(is_string_type(type) && is_string_type(T)) && type != TYPE_NULL) {
744
0
        throw Exception(Status::FatalError("Field::get type mismatch: requested {}, actual {}",
745
0
                                           type_to_string(T), get_type_name()));
746
0
    }
747
131M
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<T>::CppType*>(&storage);
748
131M
    return *ptr;
749
131M
}
_ZN5doris5Field3getILNS_13PrimitiveTypeE1EEERNS_19PrimitiveTypeTraitsIXT_EE7CppTypeEv
Line
Count
Source
742
372k
typename PrimitiveTypeTraits<T>::CppType& Field::get() {
743
372k
    if (T != type && !(is_string_type(type) && is_string_type(T)) && type != TYPE_NULL) {
744
0
        throw Exception(Status::FatalError("Field::get type mismatch: requested {}, actual {}",
745
0
                                           type_to_string(T), get_type_name()));
746
0
    }
747
372k
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<T>::CppType*>(&storage);
748
372k
    return *ptr;
749
372k
}
_ZN5doris5Field3getILNS_13PrimitiveTypeE3EEERNS_19PrimitiveTypeTraitsIXT_EE7CppTypeEv
Line
Count
Source
742
4.91M
typename PrimitiveTypeTraits<T>::CppType& Field::get() {
743
4.91M
    if (T != type && !(is_string_type(type) && is_string_type(T)) && type != TYPE_NULL) {
744
0
        throw Exception(Status::FatalError("Field::get type mismatch: requested {}, actual {}",
745
0
                                           type_to_string(T), get_type_name()));
746
0
    }
747
4.91M
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<T>::CppType*>(&storage);
748
4.91M
    return *ptr;
749
4.91M
}
_ZN5doris5Field3getILNS_13PrimitiveTypeE4EEERNS_19PrimitiveTypeTraitsIXT_EE7CppTypeEv
Line
Count
Source
742
167k
typename PrimitiveTypeTraits<T>::CppType& Field::get() {
743
167k
    if (T != type && !(is_string_type(type) && is_string_type(T)) && type != TYPE_NULL) {
744
0
        throw Exception(Status::FatalError("Field::get type mismatch: requested {}, actual {}",
745
0
                                           type_to_string(T), get_type_name()));
746
0
    }
747
167k
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<T>::CppType*>(&storage);
748
167k
    return *ptr;
749
167k
}
_ZN5doris5Field3getILNS_13PrimitiveTypeE5EEERNS_19PrimitiveTypeTraitsIXT_EE7CppTypeEv
Line
Count
Source
742
94.3M
typename PrimitiveTypeTraits<T>::CppType& Field::get() {
743
94.3M
    if (T != type && !(is_string_type(type) && is_string_type(T)) && type != TYPE_NULL) {
744
0
        throw Exception(Status::FatalError("Field::get type mismatch: requested {}, actual {}",
745
0
                                           type_to_string(T), get_type_name()));
746
0
    }
747
94.3M
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<T>::CppType*>(&storage);
748
94.3M
    return *ptr;
749
94.3M
}
_ZN5doris5Field3getILNS_13PrimitiveTypeE6EEERNS_19PrimitiveTypeTraitsIXT_EE7CppTypeEv
Line
Count
Source
742
9.15M
typename PrimitiveTypeTraits<T>::CppType& Field::get() {
743
9.15M
    if (T != type && !(is_string_type(type) && is_string_type(T)) && type != TYPE_NULL) {
744
0
        throw Exception(Status::FatalError("Field::get type mismatch: requested {}, actual {}",
745
0
                                           type_to_string(T), get_type_name()));
746
0
    }
747
9.15M
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<T>::CppType*>(&storage);
748
9.15M
    return *ptr;
749
9.15M
}
_ZN5doris5Field3getILNS_13PrimitiveTypeE7EEERNS_19PrimitiveTypeTraitsIXT_EE7CppTypeEv
Line
Count
Source
742
197k
typename PrimitiveTypeTraits<T>::CppType& Field::get() {
743
197k
    if (T != type && !(is_string_type(type) && is_string_type(T)) && type != TYPE_NULL) {
744
0
        throw Exception(Status::FatalError("Field::get type mismatch: requested {}, actual {}",
745
0
                                           type_to_string(T), get_type_name()));
746
0
    }
747
197k
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<T>::CppType*>(&storage);
748
197k
    return *ptr;
749
197k
}
_ZN5doris5Field3getILNS_13PrimitiveTypeE11EEERNS_19PrimitiveTypeTraitsIXT_EE7CppTypeEv
Line
Count
Source
742
17.1k
typename PrimitiveTypeTraits<T>::CppType& Field::get() {
743
17.1k
    if (T != type && !(is_string_type(type) && is_string_type(T)) && type != TYPE_NULL) {
744
0
        throw Exception(Status::FatalError("Field::get type mismatch: requested {}, actual {}",
745
0
                                           type_to_string(T), get_type_name()));
746
0
    }
747
17.1k
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<T>::CppType*>(&storage);
748
17.1k
    return *ptr;
749
17.1k
}
_ZN5doris5Field3getILNS_13PrimitiveTypeE12EEERNS_19PrimitiveTypeTraitsIXT_EE7CppTypeEv
Line
Count
Source
742
22.6k
typename PrimitiveTypeTraits<T>::CppType& Field::get() {
743
22.6k
    if (T != type && !(is_string_type(type) && is_string_type(T)) && type != TYPE_NULL) {
744
0
        throw Exception(Status::FatalError("Field::get type mismatch: requested {}, actual {}",
745
0
                                           type_to_string(T), get_type_name()));
746
0
    }
747
22.6k
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<T>::CppType*>(&storage);
748
22.6k
    return *ptr;
749
22.6k
}
_ZN5doris5Field3getILNS_13PrimitiveTypeE25EEERNS_19PrimitiveTypeTraitsIXT_EE7CppTypeEv
Line
Count
Source
742
575k
typename PrimitiveTypeTraits<T>::CppType& Field::get() {
743
575k
    if (T != type && !(is_string_type(type) && is_string_type(T)) && type != TYPE_NULL) {
744
0
        throw Exception(Status::FatalError("Field::get type mismatch: requested {}, actual {}",
745
0
                                           type_to_string(T), get_type_name()));
746
0
    }
747
575k
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<T>::CppType*>(&storage);
748
575k
    return *ptr;
749
575k
}
_ZN5doris5Field3getILNS_13PrimitiveTypeE26EEERNS_19PrimitiveTypeTraitsIXT_EE7CppTypeEv
Line
Count
Source
742
2.24M
typename PrimitiveTypeTraits<T>::CppType& Field::get() {
743
2.24M
    if (T != type && !(is_string_type(type) && is_string_type(T)) && type != TYPE_NULL) {
744
0
        throw Exception(Status::FatalError("Field::get type mismatch: requested {}, actual {}",
745
0
                                           type_to_string(T), get_type_name()));
746
0
    }
747
2.24M
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<T>::CppType*>(&storage);
748
2.24M
    return *ptr;
749
2.24M
}
_ZN5doris5Field3getILNS_13PrimitiveTypeE43EEERNS_19PrimitiveTypeTraitsIXT_EE7CppTypeEv
Line
Count
Source
742
6.97k
typename PrimitiveTypeTraits<T>::CppType& Field::get() {
743
6.97k
    if (T != type && !(is_string_type(type) && is_string_type(T)) && type != TYPE_NULL) {
744
0
        throw Exception(Status::FatalError("Field::get type mismatch: requested {}, actual {}",
745
0
                                           type_to_string(T), get_type_name()));
746
0
    }
747
6.97k
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<T>::CppType*>(&storage);
748
6.97k
    return *ptr;
749
6.97k
}
_ZN5doris5Field3getILNS_13PrimitiveTypeE42EEERNS_19PrimitiveTypeTraitsIXT_EE7CppTypeEv
Line
Count
Source
742
51.9k
typename PrimitiveTypeTraits<T>::CppType& Field::get() {
743
51.9k
    if (T != type && !(is_string_type(type) && is_string_type(T)) && type != TYPE_NULL) {
744
0
        throw Exception(Status::FatalError("Field::get type mismatch: requested {}, actual {}",
745
0
                                           type_to_string(T), get_type_name()));
746
0
    }
747
51.9k
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<T>::CppType*>(&storage);
748
51.9k
    return *ptr;
749
51.9k
}
_ZN5doris5Field3getILNS_13PrimitiveTypeE28EEERNS_19PrimitiveTypeTraitsIXT_EE7CppTypeEv
Line
Count
Source
742
74.8k
typename PrimitiveTypeTraits<T>::CppType& Field::get() {
743
74.8k
    if (T != type && !(is_string_type(type) && is_string_type(T)) && type != TYPE_NULL) {
744
0
        throw Exception(Status::FatalError("Field::get type mismatch: requested {}, actual {}",
745
0
                                           type_to_string(T), get_type_name()));
746
0
    }
747
74.8k
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<T>::CppType*>(&storage);
748
74.8k
    return *ptr;
749
74.8k
}
_ZN5doris5Field3getILNS_13PrimitiveTypeE29EEERNS_19PrimitiveTypeTraitsIXT_EE7CppTypeEv
Line
Count
Source
742
165k
typename PrimitiveTypeTraits<T>::CppType& Field::get() {
743
165k
    if (T != type && !(is_string_type(type) && is_string_type(T)) && type != TYPE_NULL) {
744
0
        throw Exception(Status::FatalError("Field::get type mismatch: requested {}, actual {}",
745
0
                                           type_to_string(T), get_type_name()));
746
0
    }
747
165k
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<T>::CppType*>(&storage);
748
165k
    return *ptr;
749
165k
}
_ZN5doris5Field3getILNS_13PrimitiveTypeE20EEERNS_19PrimitiveTypeTraitsIXT_EE7CppTypeEv
Line
Count
Source
742
10.3k
typename PrimitiveTypeTraits<T>::CppType& Field::get() {
743
10.3k
    if (T != type && !(is_string_type(type) && is_string_type(T)) && type != TYPE_NULL) {
744
0
        throw Exception(Status::FatalError("Field::get type mismatch: requested {}, actual {}",
745
0
                                           type_to_string(T), get_type_name()));
746
0
    }
747
10.3k
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<T>::CppType*>(&storage);
748
10.3k
    return *ptr;
749
10.3k
}
_ZN5doris5Field3getILNS_13PrimitiveTypeE30EEERNS_19PrimitiveTypeTraitsIXT_EE7CppTypeEv
Line
Count
Source
742
133k
typename PrimitiveTypeTraits<T>::CppType& Field::get() {
743
133k
    if (T != type && !(is_string_type(type) && is_string_type(T)) && type != TYPE_NULL) {
744
0
        throw Exception(Status::FatalError("Field::get type mismatch: requested {}, actual {}",
745
0
                                           type_to_string(T), get_type_name()));
746
0
    }
747
133k
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<T>::CppType*>(&storage);
748
133k
    return *ptr;
749
133k
}
_ZN5doris5Field3getILNS_13PrimitiveTypeE35EEERNS_19PrimitiveTypeTraitsIXT_EE7CppTypeEv
Line
Count
Source
742
47.6k
typename PrimitiveTypeTraits<T>::CppType& Field::get() {
743
47.6k
    if (T != type && !(is_string_type(type) && is_string_type(T)) && type != TYPE_NULL) {
744
0
        throw Exception(Status::FatalError("Field::get type mismatch: requested {}, actual {}",
745
0
                                           type_to_string(T), get_type_name()));
746
0
    }
747
47.6k
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<T>::CppType*>(&storage);
748
47.6k
    return *ptr;
749
47.6k
}
_ZN5doris5Field3getILNS_13PrimitiveTypeE15EEERNS_19PrimitiveTypeTraitsIXT_EE7CppTypeEv
Line
Count
Source
742
136k
typename PrimitiveTypeTraits<T>::CppType& Field::get() {
743
136k
    if (T != type && !(is_string_type(type) && is_string_type(T)) && type != TYPE_NULL) {
744
0
        throw Exception(Status::FatalError("Field::get type mismatch: requested {}, actual {}",
745
0
                                           type_to_string(T), get_type_name()));
746
0
    }
747
136k
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<T>::CppType*>(&storage);
748
136k
    return *ptr;
749
136k
}
_ZN5doris5Field3getILNS_13PrimitiveTypeE10EEERNS_19PrimitiveTypeTraitsIXT_EE7CppTypeEv
Line
Count
Source
742
1.75M
typename PrimitiveTypeTraits<T>::CppType& Field::get() {
743
1.75M
    if (T != type && !(is_string_type(type) && is_string_type(T)) && type != TYPE_NULL) {
744
0
        throw Exception(Status::FatalError("Field::get type mismatch: requested {}, actual {}",
745
0
                                           type_to_string(T), get_type_name()));
746
0
    }
747
1.75M
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<T>::CppType*>(&storage);
748
1.75M
    return *ptr;
749
1.75M
}
_ZN5doris5Field3getILNS_13PrimitiveTypeE23EEERNS_19PrimitiveTypeTraitsIXT_EE7CppTypeEv
Line
Count
Source
742
16.3M
typename PrimitiveTypeTraits<T>::CppType& Field::get() {
743
16.3M
    if (T != type && !(is_string_type(type) && is_string_type(T)) && type != TYPE_NULL) {
744
0
        throw Exception(Status::FatalError("Field::get type mismatch: requested {}, actual {}",
745
0
                                           type_to_string(T), get_type_name()));
746
0
    }
747
16.3M
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<T>::CppType*>(&storage);
748
16.3M
    return *ptr;
749
16.3M
}
_ZN5doris5Field3getILNS_13PrimitiveTypeE41EEERNS_19PrimitiveTypeTraitsIXT_EE7CppTypeEv
Line
Count
Source
742
197
typename PrimitiveTypeTraits<T>::CppType& Field::get() {
743
197
    if (T != type && !(is_string_type(type) && is_string_type(T)) && type != TYPE_NULL) {
744
0
        throw Exception(Status::FatalError("Field::get type mismatch: requested {}, actual {}",
745
0
                                           type_to_string(T), get_type_name()));
746
0
    }
747
197
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<T>::CppType*>(&storage);
748
197
    return *ptr;
749
197
}
_ZN5doris5Field3getILNS_13PrimitiveTypeE19EEERNS_19PrimitiveTypeTraitsIXT_EE7CppTypeEv
Line
Count
Source
742
22
typename PrimitiveTypeTraits<T>::CppType& Field::get() {
743
22
    if (T != type && !(is_string_type(type) && is_string_type(T)) && type != TYPE_NULL) {
744
0
        throw Exception(Status::FatalError("Field::get type mismatch: requested {}, actual {}",
745
0
                                           type_to_string(T), get_type_name()));
746
0
    }
747
22
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<T>::CppType*>(&storage);
748
22
    return *ptr;
749
22
}
_ZN5doris5Field3getILNS_13PrimitiveTypeE32EEERNS_19PrimitiveTypeTraitsIXT_EE7CppTypeEv
Line
Count
Source
742
6.73k
typename PrimitiveTypeTraits<T>::CppType& Field::get() {
743
6.73k
    if (T != type && !(is_string_type(type) && is_string_type(T)) && type != TYPE_NULL) {
744
0
        throw Exception(Status::FatalError("Field::get type mismatch: requested {}, actual {}",
745
0
                                           type_to_string(T), get_type_name()));
746
0
    }
747
6.73k
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<T>::CppType*>(&storage);
748
6.73k
    return *ptr;
749
6.73k
}
_ZN5doris5Field3getILNS_13PrimitiveTypeE24EEERNS_19PrimitiveTypeTraitsIXT_EE7CppTypeEv
Line
Count
Source
742
8
typename PrimitiveTypeTraits<T>::CppType& Field::get() {
743
8
    if (T != type && !(is_string_type(type) && is_string_type(T)) && type != TYPE_NULL) {
744
0
        throw Exception(Status::FatalError("Field::get type mismatch: requested {}, actual {}",
745
0
                                           type_to_string(T), get_type_name()));
746
0
    }
747
8
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<T>::CppType*>(&storage);
748
8
    return *ptr;
749
8
}
_ZN5doris5Field3getILNS_13PrimitiveTypeE17EEERNS_19PrimitiveTypeTraitsIXT_EE7CppTypeEv
Line
Count
Source
742
356k
typename PrimitiveTypeTraits<T>::CppType& Field::get() {
743
356k
    if (T != type && !(is_string_type(type) && is_string_type(T)) && type != TYPE_NULL) {
744
0
        throw Exception(Status::FatalError("Field::get type mismatch: requested {}, actual {}",
745
0
                                           type_to_string(T), get_type_name()));
746
0
    }
747
356k
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<T>::CppType*>(&storage);
748
356k
    return *ptr;
749
356k
}
_ZN5doris5Field3getILNS_13PrimitiveTypeE36EEERNS_19PrimitiveTypeTraitsIXT_EE7CppTypeEv
Line
Count
Source
742
39.8k
typename PrimitiveTypeTraits<T>::CppType& Field::get() {
743
39.8k
    if (T != type && !(is_string_type(type) && is_string_type(T)) && type != TYPE_NULL) {
744
0
        throw Exception(Status::FatalError("Field::get type mismatch: requested {}, actual {}",
745
0
                                           type_to_string(T), get_type_name()));
746
0
    }
747
39.8k
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<T>::CppType*>(&storage);
748
39.8k
    return *ptr;
749
39.8k
}
_ZN5doris5Field3getILNS_13PrimitiveTypeE37EEERNS_19PrimitiveTypeTraitsIXT_EE7CppTypeEv
Line
Count
Source
742
27.8k
typename PrimitiveTypeTraits<T>::CppType& Field::get() {
743
27.8k
    if (T != type && !(is_string_type(type) && is_string_type(T)) && type != TYPE_NULL) {
744
0
        throw Exception(Status::FatalError("Field::get type mismatch: requested {}, actual {}",
745
0
                                           type_to_string(T), get_type_name()));
746
0
    }
747
27.8k
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<T>::CppType*>(&storage);
748
27.8k
    return *ptr;
749
27.8k
}
_ZN5doris5Field3getILNS_13PrimitiveTypeE44EEERNS_19PrimitiveTypeTraitsIXT_EE7CppTypeEv
Line
Count
Source
742
51.3k
typename PrimitiveTypeTraits<T>::CppType& Field::get() {
743
51.3k
    if (T != type && !(is_string_type(type) && is_string_type(T)) && type != TYPE_NULL) {
744
0
        throw Exception(Status::FatalError("Field::get type mismatch: requested {}, actual {}",
745
0
                                           type_to_string(T), get_type_name()));
746
0
    }
747
51.3k
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<T>::CppType*>(&storage);
748
51.3k
    return *ptr;
749
51.3k
}
_ZN5doris5Field3getILNS_13PrimitiveTypeE2EEERNS_19PrimitiveTypeTraitsIXT_EE7CppTypeEv
Line
Count
Source
742
95.6k
typename PrimitiveTypeTraits<T>::CppType& Field::get() {
743
95.6k
    if (T != type && !(is_string_type(type) && is_string_type(T)) && type != TYPE_NULL) {
744
0
        throw Exception(Status::FatalError("Field::get type mismatch: requested {}, actual {}",
745
0
                                           type_to_string(T), get_type_name()));
746
0
    }
747
95.6k
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<T>::CppType*>(&storage);
748
95.6k
    return *ptr;
749
95.6k
}
_ZN5doris5Field3getILNS_13PrimitiveTypeE8EEERNS_19PrimitiveTypeTraitsIXT_EE7CppTypeEv
Line
Count
Source
742
133k
typename PrimitiveTypeTraits<T>::CppType& Field::get() {
743
133k
    if (T != type && !(is_string_type(type) && is_string_type(T)) && type != TYPE_NULL) {
744
0
        throw Exception(Status::FatalError("Field::get type mismatch: requested {}, actual {}",
745
0
                                           type_to_string(T), get_type_name()));
746
0
    }
747
133k
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<T>::CppType*>(&storage);
748
133k
    return *ptr;
749
133k
}
_ZN5doris5Field3getILNS_13PrimitiveTypeE9EEERNS_19PrimitiveTypeTraitsIXT_EE7CppTypeEv
Line
Count
Source
742
347k
typename PrimitiveTypeTraits<T>::CppType& Field::get() {
743
347k
    if (T != type && !(is_string_type(type) && is_string_type(T)) && type != TYPE_NULL) {
744
0
        throw Exception(Status::FatalError("Field::get type mismatch: requested {}, actual {}",
745
0
                                           type_to_string(T), get_type_name()));
746
0
    }
747
347k
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<T>::CppType*>(&storage);
748
347k
    return *ptr;
749
347k
}
_ZN5doris5Field3getILNS_13PrimitiveTypeE31EEERNS_19PrimitiveTypeTraitsIXT_EE7CppTypeEv
Line
Count
Source
742
65.9k
typename PrimitiveTypeTraits<T>::CppType& Field::get() {
743
65.9k
    if (T != type && !(is_string_type(type) && is_string_type(T)) && type != TYPE_NULL) {
744
0
        throw Exception(Status::FatalError("Field::get type mismatch: requested {}, actual {}",
745
0
                                           type_to_string(T), get_type_name()));
746
0
    }
747
65.9k
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<T>::CppType*>(&storage);
748
65.9k
    return *ptr;
749
65.9k
}
_ZN5doris5Field3getILNS_13PrimitiveTypeE16EEERNS_19PrimitiveTypeTraitsIXT_EE7CppTypeEv
Line
Count
Source
742
11.3k
typename PrimitiveTypeTraits<T>::CppType& Field::get() {
743
11.3k
    if (T != type && !(is_string_type(type) && is_string_type(T)) && type != TYPE_NULL) {
744
0
        throw Exception(Status::FatalError("Field::get type mismatch: requested {}, actual {}",
745
0
                                           type_to_string(T), get_type_name()));
746
0
    }
747
11.3k
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<T>::CppType*>(&storage);
748
11.3k
    return *ptr;
749
11.3k
}
_ZN5doris5Field3getILNS_13PrimitiveTypeE18EEERNS_19PrimitiveTypeTraitsIXT_EE7CppTypeEv
Line
Count
Source
742
38.3k
typename PrimitiveTypeTraits<T>::CppType& Field::get() {
743
38.3k
    if (T != type && !(is_string_type(type) && is_string_type(T)) && type != TYPE_NULL) {
744
0
        throw Exception(Status::FatalError("Field::get type mismatch: requested {}, actual {}",
745
0
                                           type_to_string(T), get_type_name()));
746
0
    }
747
38.3k
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<T>::CppType*>(&storage);
748
38.3k
    return *ptr;
749
38.3k
}
_ZN5doris5Field3getILNS_13PrimitiveTypeE22EEERNS_19PrimitiveTypeTraitsIXT_EE7CppTypeEv
Line
Count
Source
742
334
typename PrimitiveTypeTraits<T>::CppType& Field::get() {
743
334
    if (T != type && !(is_string_type(type) && is_string_type(T)) && type != TYPE_NULL) {
744
0
        throw Exception(Status::FatalError("Field::get type mismatch: requested {}, actual {}",
745
0
                                           type_to_string(T), get_type_name()));
746
0
    }
747
334
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<T>::CppType*>(&storage);
748
334
    return *ptr;
749
334
}
_ZN5doris5Field3getILNS_13PrimitiveTypeE27EEERNS_19PrimitiveTypeTraitsIXT_EE7CppTypeEv
Line
Count
Source
742
341
typename PrimitiveTypeTraits<T>::CppType& Field::get() {
743
341
    if (T != type && !(is_string_type(type) && is_string_type(T)) && type != TYPE_NULL) {
744
0
        throw Exception(Status::FatalError("Field::get type mismatch: requested {}, actual {}",
745
0
                                           type_to_string(T), get_type_name()));
746
0
    }
747
341
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<T>::CppType*>(&storage);
748
341
    return *ptr;
749
341
}
Unexecuted instantiation: _ZN5doris5Field3getILNS_13PrimitiveTypeE38EEERNS_19PrimitiveTypeTraitsIXT_EE7CppTypeEv
Unexecuted instantiation: _ZN5doris5Field3getILNS_13PrimitiveTypeE39EEERNS_19PrimitiveTypeTraitsIXT_EE7CppTypeEv
750
751
template <PrimitiveType T>
752
371M
const typename PrimitiveTypeTraits<T>::CppType& Field::get() const {
753
371M
    if (T != type && !(is_string_type(type) && is_string_type(T)) && type != TYPE_NULL) {
754
0
        throw Exception(Status::FatalError("Field::get type mismatch: requested {}, actual {}",
755
0
                                           type_to_string(T), get_type_name()));
756
0
    }
757
371M
    const auto* MAY_ALIAS ptr =
758
371M
            reinterpret_cast<const typename PrimitiveTypeTraits<T>::CppType*>(&storage);
759
371M
    return *ptr;
760
371M
}
_ZNK5doris5Field3getILNS_13PrimitiveTypeE1EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeEv
Line
Count
Source
752
39.4M
const typename PrimitiveTypeTraits<T>::CppType& Field::get() const {
753
39.4M
    if (T != type && !(is_string_type(type) && is_string_type(T)) && type != TYPE_NULL) {
754
0
        throw Exception(Status::FatalError("Field::get type mismatch: requested {}, actual {}",
755
0
                                           type_to_string(T), get_type_name()));
756
0
    }
757
39.4M
    const auto* MAY_ALIAS ptr =
758
39.4M
            reinterpret_cast<const typename PrimitiveTypeTraits<T>::CppType*>(&storage);
759
39.4M
    return *ptr;
760
39.4M
}
_ZNK5doris5Field3getILNS_13PrimitiveTypeE3EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeEv
Line
Count
Source
752
11.0M
const typename PrimitiveTypeTraits<T>::CppType& Field::get() const {
753
11.0M
    if (T != type && !(is_string_type(type) && is_string_type(T)) && type != TYPE_NULL) {
754
0
        throw Exception(Status::FatalError("Field::get type mismatch: requested {}, actual {}",
755
0
                                           type_to_string(T), get_type_name()));
756
0
    }
757
11.0M
    const auto* MAY_ALIAS ptr =
758
11.0M
            reinterpret_cast<const typename PrimitiveTypeTraits<T>::CppType*>(&storage);
759
11.0M
    return *ptr;
760
11.0M
}
_ZNK5doris5Field3getILNS_13PrimitiveTypeE4EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeEv
Line
Count
Source
752
5.12M
const typename PrimitiveTypeTraits<T>::CppType& Field::get() const {
753
5.12M
    if (T != type && !(is_string_type(type) && is_string_type(T)) && type != TYPE_NULL) {
754
0
        throw Exception(Status::FatalError("Field::get type mismatch: requested {}, actual {}",
755
0
                                           type_to_string(T), get_type_name()));
756
0
    }
757
5.12M
    const auto* MAY_ALIAS ptr =
758
5.12M
            reinterpret_cast<const typename PrimitiveTypeTraits<T>::CppType*>(&storage);
759
5.12M
    return *ptr;
760
5.12M
}
_ZNK5doris5Field3getILNS_13PrimitiveTypeE5EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeEv
Line
Count
Source
752
8.92M
const typename PrimitiveTypeTraits<T>::CppType& Field::get() const {
753
8.92M
    if (T != type && !(is_string_type(type) && is_string_type(T)) && type != TYPE_NULL) {
754
0
        throw Exception(Status::FatalError("Field::get type mismatch: requested {}, actual {}",
755
0
                                           type_to_string(T), get_type_name()));
756
0
    }
757
8.92M
    const auto* MAY_ALIAS ptr =
758
8.92M
            reinterpret_cast<const typename PrimitiveTypeTraits<T>::CppType*>(&storage);
759
8.92M
    return *ptr;
760
8.92M
}
_ZNK5doris5Field3getILNS_13PrimitiveTypeE6EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeEv
Line
Count
Source
752
25.2M
const typename PrimitiveTypeTraits<T>::CppType& Field::get() const {
753
25.2M
    if (T != type && !(is_string_type(type) && is_string_type(T)) && type != TYPE_NULL) {
754
0
        throw Exception(Status::FatalError("Field::get type mismatch: requested {}, actual {}",
755
0
                                           type_to_string(T), get_type_name()));
756
0
    }
757
25.2M
    const auto* MAY_ALIAS ptr =
758
25.2M
            reinterpret_cast<const typename PrimitiveTypeTraits<T>::CppType*>(&storage);
759
25.2M
    return *ptr;
760
25.2M
}
_ZNK5doris5Field3getILNS_13PrimitiveTypeE7EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeEv
Line
Count
Source
752
4.39M
const typename PrimitiveTypeTraits<T>::CppType& Field::get() const {
753
4.39M
    if (T != type && !(is_string_type(type) && is_string_type(T)) && type != TYPE_NULL) {
754
0
        throw Exception(Status::FatalError("Field::get type mismatch: requested {}, actual {}",
755
0
                                           type_to_string(T), get_type_name()));
756
0
    }
757
4.39M
    const auto* MAY_ALIAS ptr =
758
4.39M
            reinterpret_cast<const typename PrimitiveTypeTraits<T>::CppType*>(&storage);
759
4.39M
    return *ptr;
760
4.39M
}
_ZNK5doris5Field3getILNS_13PrimitiveTypeE11EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeEv
Line
Count
Source
752
4.40M
const typename PrimitiveTypeTraits<T>::CppType& Field::get() const {
753
4.40M
    if (T != type && !(is_string_type(type) && is_string_type(T)) && type != TYPE_NULL) {
754
0
        throw Exception(Status::FatalError("Field::get type mismatch: requested {}, actual {}",
755
0
                                           type_to_string(T), get_type_name()));
756
0
    }
757
4.40M
    const auto* MAY_ALIAS ptr =
758
4.40M
            reinterpret_cast<const typename PrimitiveTypeTraits<T>::CppType*>(&storage);
759
4.40M
    return *ptr;
760
4.40M
}
_ZNK5doris5Field3getILNS_13PrimitiveTypeE12EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeEv
Line
Count
Source
752
4.32M
const typename PrimitiveTypeTraits<T>::CppType& Field::get() const {
753
4.32M
    if (T != type && !(is_string_type(type) && is_string_type(T)) && type != TYPE_NULL) {
754
0
        throw Exception(Status::FatalError("Field::get type mismatch: requested {}, actual {}",
755
0
                                           type_to_string(T), get_type_name()));
756
0
    }
757
4.32M
    const auto* MAY_ALIAS ptr =
758
4.32M
            reinterpret_cast<const typename PrimitiveTypeTraits<T>::CppType*>(&storage);
759
4.32M
    return *ptr;
760
4.32M
}
_ZNK5doris5Field3getILNS_13PrimitiveTypeE25EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeEv
Line
Count
Source
752
7.84M
const typename PrimitiveTypeTraits<T>::CppType& Field::get() const {
753
7.84M
    if (T != type && !(is_string_type(type) && is_string_type(T)) && type != TYPE_NULL) {
754
0
        throw Exception(Status::FatalError("Field::get type mismatch: requested {}, actual {}",
755
0
                                           type_to_string(T), get_type_name()));
756
0
    }
757
7.84M
    const auto* MAY_ALIAS ptr =
758
7.84M
            reinterpret_cast<const typename PrimitiveTypeTraits<T>::CppType*>(&storage);
759
7.84M
    return *ptr;
760
7.84M
}
_ZNK5doris5Field3getILNS_13PrimitiveTypeE26EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeEv
Line
Count
Source
752
5.39M
const typename PrimitiveTypeTraits<T>::CppType& Field::get() const {
753
5.39M
    if (T != type && !(is_string_type(type) && is_string_type(T)) && type != TYPE_NULL) {
754
0
        throw Exception(Status::FatalError("Field::get type mismatch: requested {}, actual {}",
755
0
                                           type_to_string(T), get_type_name()));
756
0
    }
757
5.39M
    const auto* MAY_ALIAS ptr =
758
5.39M
            reinterpret_cast<const typename PrimitiveTypeTraits<T>::CppType*>(&storage);
759
5.39M
    return *ptr;
760
5.39M
}
_ZNK5doris5Field3getILNS_13PrimitiveTypeE43EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeEv
Line
Count
Source
752
9.71k
const typename PrimitiveTypeTraits<T>::CppType& Field::get() const {
753
9.71k
    if (T != type && !(is_string_type(type) && is_string_type(T)) && type != TYPE_NULL) {
754
0
        throw Exception(Status::FatalError("Field::get type mismatch: requested {}, actual {}",
755
0
                                           type_to_string(T), get_type_name()));
756
0
    }
757
9.71k
    const auto* MAY_ALIAS ptr =
758
9.71k
            reinterpret_cast<const typename PrimitiveTypeTraits<T>::CppType*>(&storage);
759
9.71k
    return *ptr;
760
9.71k
}
_ZNK5doris5Field3getILNS_13PrimitiveTypeE42EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeEv
Line
Count
Source
752
117k
const typename PrimitiveTypeTraits<T>::CppType& Field::get() const {
753
117k
    if (T != type && !(is_string_type(type) && is_string_type(T)) && type != TYPE_NULL) {
754
0
        throw Exception(Status::FatalError("Field::get type mismatch: requested {}, actual {}",
755
0
                                           type_to_string(T), get_type_name()));
756
0
    }
757
117k
    const auto* MAY_ALIAS ptr =
758
117k
            reinterpret_cast<const typename PrimitiveTypeTraits<T>::CppType*>(&storage);
759
117k
    return *ptr;
760
117k
}
_ZNK5doris5Field3getILNS_13PrimitiveTypeE28EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeEv
Line
Count
Source
752
4.62M
const typename PrimitiveTypeTraits<T>::CppType& Field::get() const {
753
4.62M
    if (T != type && !(is_string_type(type) && is_string_type(T)) && type != TYPE_NULL) {
754
0
        throw Exception(Status::FatalError("Field::get type mismatch: requested {}, actual {}",
755
0
                                           type_to_string(T), get_type_name()));
756
0
    }
757
4.62M
    const auto* MAY_ALIAS ptr =
758
4.62M
            reinterpret_cast<const typename PrimitiveTypeTraits<T>::CppType*>(&storage);
759
4.62M
    return *ptr;
760
4.62M
}
_ZNK5doris5Field3getILNS_13PrimitiveTypeE29EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeEv
Line
Count
Source
752
18.2M
const typename PrimitiveTypeTraits<T>::CppType& Field::get() const {
753
18.2M
    if (T != type && !(is_string_type(type) && is_string_type(T)) && type != TYPE_NULL) {
754
0
        throw Exception(Status::FatalError("Field::get type mismatch: requested {}, actual {}",
755
0
                                           type_to_string(T), get_type_name()));
756
0
    }
757
18.2M
    const auto* MAY_ALIAS ptr =
758
18.2M
            reinterpret_cast<const typename PrimitiveTypeTraits<T>::CppType*>(&storage);
759
18.2M
    return *ptr;
760
18.2M
}
_ZNK5doris5Field3getILNS_13PrimitiveTypeE20EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeEv
Line
Count
Source
752
17.5k
const typename PrimitiveTypeTraits<T>::CppType& Field::get() const {
753
17.5k
    if (T != type && !(is_string_type(type) && is_string_type(T)) && type != TYPE_NULL) {
754
0
        throw Exception(Status::FatalError("Field::get type mismatch: requested {}, actual {}",
755
0
                                           type_to_string(T), get_type_name()));
756
0
    }
757
17.5k
    const auto* MAY_ALIAS ptr =
758
17.5k
            reinterpret_cast<const typename PrimitiveTypeTraits<T>::CppType*>(&storage);
759
17.5k
    return *ptr;
760
17.5k
}
_ZNK5doris5Field3getILNS_13PrimitiveTypeE30EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeEv
Line
Count
Source
752
4.58M
const typename PrimitiveTypeTraits<T>::CppType& Field::get() const {
753
4.58M
    if (T != type && !(is_string_type(type) && is_string_type(T)) && type != TYPE_NULL) {
754
0
        throw Exception(Status::FatalError("Field::get type mismatch: requested {}, actual {}",
755
0
                                           type_to_string(T), get_type_name()));
756
0
    }
757
4.58M
    const auto* MAY_ALIAS ptr =
758
4.58M
            reinterpret_cast<const typename PrimitiveTypeTraits<T>::CppType*>(&storage);
759
4.58M
    return *ptr;
760
4.58M
}
_ZNK5doris5Field3getILNS_13PrimitiveTypeE35EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeEv
Line
Count
Source
752
4.69M
const typename PrimitiveTypeTraits<T>::CppType& Field::get() const {
753
4.69M
    if (T != type && !(is_string_type(type) && is_string_type(T)) && type != TYPE_NULL) {
754
0
        throw Exception(Status::FatalError("Field::get type mismatch: requested {}, actual {}",
755
0
                                           type_to_string(T), get_type_name()));
756
0
    }
757
4.69M
    const auto* MAY_ALIAS ptr =
758
4.69M
            reinterpret_cast<const typename PrimitiveTypeTraits<T>::CppType*>(&storage);
759
4.69M
    return *ptr;
760
4.69M
}
_ZNK5doris5Field3getILNS_13PrimitiveTypeE15EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeEv
Line
Count
Source
752
47.6k
const typename PrimitiveTypeTraits<T>::CppType& Field::get() const {
753
47.6k
    if (T != type && !(is_string_type(type) && is_string_type(T)) && type != TYPE_NULL) {
754
0
        throw Exception(Status::FatalError("Field::get type mismatch: requested {}, actual {}",
755
0
                                           type_to_string(T), get_type_name()));
756
0
    }
757
47.6k
    const auto* MAY_ALIAS ptr =
758
47.6k
            reinterpret_cast<const typename PrimitiveTypeTraits<T>::CppType*>(&storage);
759
47.6k
    return *ptr;
760
47.6k
}
_ZNK5doris5Field3getILNS_13PrimitiveTypeE10EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeEv
Line
Count
Source
752
11.8M
const typename PrimitiveTypeTraits<T>::CppType& Field::get() const {
753
11.8M
    if (T != type && !(is_string_type(type) && is_string_type(T)) && type != TYPE_NULL) {
754
0
        throw Exception(Status::FatalError("Field::get type mismatch: requested {}, actual {}",
755
0
                                           type_to_string(T), get_type_name()));
756
0
    }
757
11.8M
    const auto* MAY_ALIAS ptr =
758
11.8M
            reinterpret_cast<const typename PrimitiveTypeTraits<T>::CppType*>(&storage);
759
11.8M
    return *ptr;
760
11.8M
}
_ZNK5doris5Field3getILNS_13PrimitiveTypeE23EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeEv
Line
Count
Source
752
26.7M
const typename PrimitiveTypeTraits<T>::CppType& Field::get() const {
753
26.7M
    if (T != type && !(is_string_type(type) && is_string_type(T)) && type != TYPE_NULL) {
754
0
        throw Exception(Status::FatalError("Field::get type mismatch: requested {}, actual {}",
755
0
                                           type_to_string(T), get_type_name()));
756
0
    }
757
26.7M
    const auto* MAY_ALIAS ptr =
758
26.7M
            reinterpret_cast<const typename PrimitiveTypeTraits<T>::CppType*>(&storage);
759
26.7M
    return *ptr;
760
26.7M
}
_ZNK5doris5Field3getILNS_13PrimitiveTypeE41EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeEv
Line
Count
Source
752
242
const typename PrimitiveTypeTraits<T>::CppType& Field::get() const {
753
242
    if (T != type && !(is_string_type(type) && is_string_type(T)) && type != TYPE_NULL) {
754
0
        throw Exception(Status::FatalError("Field::get type mismatch: requested {}, actual {}",
755
0
                                           type_to_string(T), get_type_name()));
756
0
    }
757
242
    const auto* MAY_ALIAS ptr =
758
242
            reinterpret_cast<const typename PrimitiveTypeTraits<T>::CppType*>(&storage);
759
242
    return *ptr;
760
242
}
_ZNK5doris5Field3getILNS_13PrimitiveTypeE19EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeEv
Line
Count
Source
752
28
const typename PrimitiveTypeTraits<T>::CppType& Field::get() const {
753
28
    if (T != type && !(is_string_type(type) && is_string_type(T)) && type != TYPE_NULL) {
754
0
        throw Exception(Status::FatalError("Field::get type mismatch: requested {}, actual {}",
755
0
                                           type_to_string(T), get_type_name()));
756
0
    }
757
28
    const auto* MAY_ALIAS ptr =
758
28
            reinterpret_cast<const typename PrimitiveTypeTraits<T>::CppType*>(&storage);
759
28
    return *ptr;
760
28
}
_ZNK5doris5Field3getILNS_13PrimitiveTypeE32EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeEv
Line
Count
Source
752
6.68k
const typename PrimitiveTypeTraits<T>::CppType& Field::get() const {
753
6.68k
    if (T != type && !(is_string_type(type) && is_string_type(T)) && type != TYPE_NULL) {
754
0
        throw Exception(Status::FatalError("Field::get type mismatch: requested {}, actual {}",
755
0
                                           type_to_string(T), get_type_name()));
756
0
    }
757
6.68k
    const auto* MAY_ALIAS ptr =
758
6.68k
            reinterpret_cast<const typename PrimitiveTypeTraits<T>::CppType*>(&storage);
759
6.68k
    return *ptr;
760
6.68k
}
_ZNK5doris5Field3getILNS_13PrimitiveTypeE24EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeEv
Line
Count
Source
752
20.0k
const typename PrimitiveTypeTraits<T>::CppType& Field::get() const {
753
20.0k
    if (T != type && !(is_string_type(type) && is_string_type(T)) && type != TYPE_NULL) {
754
0
        throw Exception(Status::FatalError("Field::get type mismatch: requested {}, actual {}",
755
0
                                           type_to_string(T), get_type_name()));
756
0
    }
757
20.0k
    const auto* MAY_ALIAS ptr =
758
20.0k
            reinterpret_cast<const typename PrimitiveTypeTraits<T>::CppType*>(&storage);
759
20.0k
    return *ptr;
760
20.0k
}
_ZNK5doris5Field3getILNS_13PrimitiveTypeE17EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeEv
Line
Count
Source
752
119M
const typename PrimitiveTypeTraits<T>::CppType& Field::get() const {
753
119M
    if (T != type && !(is_string_type(type) && is_string_type(T)) && type != TYPE_NULL) {
754
0
        throw Exception(Status::FatalError("Field::get type mismatch: requested {}, actual {}",
755
0
                                           type_to_string(T), get_type_name()));
756
0
    }
757
119M
    const auto* MAY_ALIAS ptr =
758
119M
            reinterpret_cast<const typename PrimitiveTypeTraits<T>::CppType*>(&storage);
759
119M
    return *ptr;
760
119M
}
_ZNK5doris5Field3getILNS_13PrimitiveTypeE36EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeEv
Line
Count
Source
752
36.9k
const typename PrimitiveTypeTraits<T>::CppType& Field::get() const {
753
36.9k
    if (T != type && !(is_string_type(type) && is_string_type(T)) && type != TYPE_NULL) {
754
0
        throw Exception(Status::FatalError("Field::get type mismatch: requested {}, actual {}",
755
0
                                           type_to_string(T), get_type_name()));
756
0
    }
757
36.9k
    const auto* MAY_ALIAS ptr =
758
36.9k
            reinterpret_cast<const typename PrimitiveTypeTraits<T>::CppType*>(&storage);
759
36.9k
    return *ptr;
760
36.9k
}
_ZNK5doris5Field3getILNS_13PrimitiveTypeE37EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeEv
Line
Count
Source
752
24.0k
const typename PrimitiveTypeTraits<T>::CppType& Field::get() const {
753
24.0k
    if (T != type && !(is_string_type(type) && is_string_type(T)) && type != TYPE_NULL) {
754
0
        throw Exception(Status::FatalError("Field::get type mismatch: requested {}, actual {}",
755
0
                                           type_to_string(T), get_type_name()));
756
0
    }
757
24.0k
    const auto* MAY_ALIAS ptr =
758
24.0k
            reinterpret_cast<const typename PrimitiveTypeTraits<T>::CppType*>(&storage);
759
24.0k
    return *ptr;
760
24.0k
}
_ZNK5doris5Field3getILNS_13PrimitiveTypeE44EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeEv
Line
Count
Source
752
129k
const typename PrimitiveTypeTraits<T>::CppType& Field::get() const {
753
129k
    if (T != type && !(is_string_type(type) && is_string_type(T)) && type != TYPE_NULL) {
754
0
        throw Exception(Status::FatalError("Field::get type mismatch: requested {}, actual {}",
755
0
                                           type_to_string(T), get_type_name()));
756
0
    }
757
129k
    const auto* MAY_ALIAS ptr =
758
129k
            reinterpret_cast<const typename PrimitiveTypeTraits<T>::CppType*>(&storage);
759
129k
    return *ptr;
760
129k
}
_ZNK5doris5Field3getILNS_13PrimitiveTypeE2EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeEv
Line
Count
Source
752
32.9M
const typename PrimitiveTypeTraits<T>::CppType& Field::get() const {
753
32.9M
    if (T != type && !(is_string_type(type) && is_string_type(T)) && type != TYPE_NULL) {
754
0
        throw Exception(Status::FatalError("Field::get type mismatch: requested {}, actual {}",
755
0
                                           type_to_string(T), get_type_name()));
756
0
    }
757
32.9M
    const auto* MAY_ALIAS ptr =
758
32.9M
            reinterpret_cast<const typename PrimitiveTypeTraits<T>::CppType*>(&storage);
759
32.9M
    return *ptr;
760
32.9M
}
_ZNK5doris5Field3getILNS_13PrimitiveTypeE8EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeEv
Line
Count
Source
752
4.56M
const typename PrimitiveTypeTraits<T>::CppType& Field::get() const {
753
4.56M
    if (T != type && !(is_string_type(type) && is_string_type(T)) && type != TYPE_NULL) {
754
0
        throw Exception(Status::FatalError("Field::get type mismatch: requested {}, actual {}",
755
0
                                           type_to_string(T), get_type_name()));
756
0
    }
757
4.56M
    const auto* MAY_ALIAS ptr =
758
4.56M
            reinterpret_cast<const typename PrimitiveTypeTraits<T>::CppType*>(&storage);
759
4.56M
    return *ptr;
760
4.56M
}
_ZNK5doris5Field3getILNS_13PrimitiveTypeE9EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeEv
Line
Count
Source
752
5.43M
const typename PrimitiveTypeTraits<T>::CppType& Field::get() const {
753
5.43M
    if (T != type && !(is_string_type(type) && is_string_type(T)) && type != TYPE_NULL) {
754
0
        throw Exception(Status::FatalError("Field::get type mismatch: requested {}, actual {}",
755
0
                                           type_to_string(T), get_type_name()));
756
0
    }
757
5.43M
    const auto* MAY_ALIAS ptr =
758
5.43M
            reinterpret_cast<const typename PrimitiveTypeTraits<T>::CppType*>(&storage);
759
5.43M
    return *ptr;
760
5.43M
}
_ZNK5doris5Field3getILNS_13PrimitiveTypeE31EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeEv
Line
Count
Source
752
22.0k
const typename PrimitiveTypeTraits<T>::CppType& Field::get() const {
753
22.0k
    if (T != type && !(is_string_type(type) && is_string_type(T)) && type != TYPE_NULL) {
754
0
        throw Exception(Status::FatalError("Field::get type mismatch: requested {}, actual {}",
755
0
                                           type_to_string(T), get_type_name()));
756
0
    }
757
22.0k
    const auto* MAY_ALIAS ptr =
758
22.0k
            reinterpret_cast<const typename PrimitiveTypeTraits<T>::CppType*>(&storage);
759
22.0k
    return *ptr;
760
22.0k
}
_ZNK5doris5Field3getILNS_13PrimitiveTypeE16EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeEv
Line
Count
Source
752
4.05M
const typename PrimitiveTypeTraits<T>::CppType& Field::get() const {
753
4.05M
    if (T != type && !(is_string_type(type) && is_string_type(T)) && type != TYPE_NULL) {
754
0
        throw Exception(Status::FatalError("Field::get type mismatch: requested {}, actual {}",
755
0
                                           type_to_string(T), get_type_name()));
756
0
    }
757
4.05M
    const auto* MAY_ALIAS ptr =
758
4.05M
            reinterpret_cast<const typename PrimitiveTypeTraits<T>::CppType*>(&storage);
759
4.05M
    return *ptr;
760
4.05M
}
_ZNK5doris5Field3getILNS_13PrimitiveTypeE18EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeEv
Line
Count
Source
752
17.2M
const typename PrimitiveTypeTraits<T>::CppType& Field::get() const {
753
17.2M
    if (T != type && !(is_string_type(type) && is_string_type(T)) && type != TYPE_NULL) {
754
0
        throw Exception(Status::FatalError("Field::get type mismatch: requested {}, actual {}",
755
0
                                           type_to_string(T), get_type_name()));
756
0
    }
757
17.2M
    const auto* MAY_ALIAS ptr =
758
17.2M
            reinterpret_cast<const typename PrimitiveTypeTraits<T>::CppType*>(&storage);
759
17.2M
    return *ptr;
760
17.2M
}
_ZNK5doris5Field3getILNS_13PrimitiveTypeE22EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeEv
Line
Count
Source
752
25.1k
const typename PrimitiveTypeTraits<T>::CppType& Field::get() const {
753
25.1k
    if (T != type && !(is_string_type(type) && is_string_type(T)) && type != TYPE_NULL) {
754
0
        throw Exception(Status::FatalError("Field::get type mismatch: requested {}, actual {}",
755
0
                                           type_to_string(T), get_type_name()));
756
0
    }
757
25.1k
    const auto* MAY_ALIAS ptr =
758
25.1k
            reinterpret_cast<const typename PrimitiveTypeTraits<T>::CppType*>(&storage);
759
25.1k
    return *ptr;
760
25.1k
}
_ZNK5doris5Field3getILNS_13PrimitiveTypeE27EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeEv
Line
Count
Source
752
665
const typename PrimitiveTypeTraits<T>::CppType& Field::get() const {
753
665
    if (T != type && !(is_string_type(type) && is_string_type(T)) && type != TYPE_NULL) {
754
0
        throw Exception(Status::FatalError("Field::get type mismatch: requested {}, actual {}",
755
0
                                           type_to_string(T), get_type_name()));
756
0
    }
757
665
    const auto* MAY_ALIAS ptr =
758
665
            reinterpret_cast<const typename PrimitiveTypeTraits<T>::CppType*>(&storage);
759
665
    return *ptr;
760
665
}
Unexecuted instantiation: _ZNK5doris5Field3getILNS_13PrimitiveTypeE38EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeEv
_ZNK5doris5Field3getILNS_13PrimitiveTypeE39EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeEv
Line
Count
Source
752
40
const typename PrimitiveTypeTraits<T>::CppType& Field::get() const {
753
40
    if (T != type && !(is_string_type(type) && is_string_type(T)) && type != TYPE_NULL) {
754
0
        throw Exception(Status::FatalError("Field::get type mismatch: requested {}, actual {}",
755
0
                                           type_to_string(T), get_type_name()));
756
0
    }
757
40
    const auto* MAY_ALIAS ptr =
758
40
            reinterpret_cast<const typename PrimitiveTypeTraits<T>::CppType*>(&storage);
759
40
    return *ptr;
760
40
}
761
762
template <PrimitiveType T>
763
153M
void Field::destroy() {
764
153M
    if constexpr (T == TYPE_VARBINARY) {
765
407
        reinterpret_cast<OwnedBinaryField*>(&storage)->~OwnedBinaryField();
766
407
        return;
767
407
    }
768
0
    using TargetType = typename PrimitiveTypeTraits<T>::CppType;
769
18.4E
    DCHECK(T == type || ((is_string_type(type) && is_string_type(T))))
770
18.4E
            << "Type mismatch: requested " << type_to_string(T) << ", actual " << get_type_name();
771
153M
    auto* MAY_ALIAS ptr = reinterpret_cast<TargetType*>(&storage);
772
153M
    ptr->~TargetType();
773
153M
}
Unexecuted instantiation: _ZN5doris5Field7destroyILNS_13PrimitiveTypeE1EEEvv
Unexecuted instantiation: _ZN5doris5Field7destroyILNS_13PrimitiveTypeE3EEEvv
Unexecuted instantiation: _ZN5doris5Field7destroyILNS_13PrimitiveTypeE4EEEvv
Unexecuted instantiation: _ZN5doris5Field7destroyILNS_13PrimitiveTypeE5EEEvv
Unexecuted instantiation: _ZN5doris5Field7destroyILNS_13PrimitiveTypeE6EEEvv
Unexecuted instantiation: _ZN5doris5Field7destroyILNS_13PrimitiveTypeE7EEEvv
Unexecuted instantiation: _ZN5doris5Field7destroyILNS_13PrimitiveTypeE11EEEvv
Unexecuted instantiation: _ZN5doris5Field7destroyILNS_13PrimitiveTypeE12EEEvv
Unexecuted instantiation: _ZN5doris5Field7destroyILNS_13PrimitiveTypeE25EEEvv
Unexecuted instantiation: _ZN5doris5Field7destroyILNS_13PrimitiveTypeE26EEEvv
Unexecuted instantiation: _ZN5doris5Field7destroyILNS_13PrimitiveTypeE43EEEvv
Unexecuted instantiation: _ZN5doris5Field7destroyILNS_13PrimitiveTypeE42EEEvv
Unexecuted instantiation: _ZN5doris5Field7destroyILNS_13PrimitiveTypeE28EEEvv
Unexecuted instantiation: _ZN5doris5Field7destroyILNS_13PrimitiveTypeE29EEEvv
Unexecuted instantiation: _ZN5doris5Field7destroyILNS_13PrimitiveTypeE20EEEvv
Unexecuted instantiation: _ZN5doris5Field7destroyILNS_13PrimitiveTypeE30EEEvv
Unexecuted instantiation: _ZN5doris5Field7destroyILNS_13PrimitiveTypeE35EEEvv
_ZN5doris5Field7destroyILNS_13PrimitiveTypeE15EEEvv
Line
Count
Source
763
148k
void Field::destroy() {
764
    if constexpr (T == TYPE_VARBINARY) {
765
        reinterpret_cast<OwnedBinaryField*>(&storage)->~OwnedBinaryField();
766
        return;
767
    }
768
148k
    using TargetType = typename PrimitiveTypeTraits<T>::CppType;
769
18.4E
    DCHECK(T == type || ((is_string_type(type) && is_string_type(T))))
770
18.4E
            << "Type mismatch: requested " << type_to_string(T) << ", actual " << get_type_name();
771
148k
    auto* MAY_ALIAS ptr = reinterpret_cast<TargetType*>(&storage);
772
148k
    ptr->~TargetType();
773
148k
}
_ZN5doris5Field7destroyILNS_13PrimitiveTypeE10EEEvv
Line
Count
Source
763
10.5M
void Field::destroy() {
764
    if constexpr (T == TYPE_VARBINARY) {
765
        reinterpret_cast<OwnedBinaryField*>(&storage)->~OwnedBinaryField();
766
        return;
767
    }
768
10.5M
    using TargetType = typename PrimitiveTypeTraits<T>::CppType;
769
18.4E
    DCHECK(T == type || ((is_string_type(type) && is_string_type(T))))
770
18.4E
            << "Type mismatch: requested " << type_to_string(T) << ", actual " << get_type_name();
771
10.5M
    auto* MAY_ALIAS ptr = reinterpret_cast<TargetType*>(&storage);
772
10.5M
    ptr->~TargetType();
773
10.5M
}
_ZN5doris5Field7destroyILNS_13PrimitiveTypeE23EEEvv
Line
Count
Source
763
33.7M
void Field::destroy() {
764
    if constexpr (T == TYPE_VARBINARY) {
765
        reinterpret_cast<OwnedBinaryField*>(&storage)->~OwnedBinaryField();
766
        return;
767
    }
768
33.7M
    using TargetType = typename PrimitiveTypeTraits<T>::CppType;
769
18.4E
    DCHECK(T == type || ((is_string_type(type) && is_string_type(T))))
770
18.4E
            << "Type mismatch: requested " << type_to_string(T) << ", actual " << get_type_name();
771
33.7M
    auto* MAY_ALIAS ptr = reinterpret_cast<TargetType*>(&storage);
772
33.7M
    ptr->~TargetType();
773
33.7M
}
_ZN5doris5Field7destroyILNS_13PrimitiveTypeE41EEEvv
Line
Count
Source
763
407
void Field::destroy() {
764
407
    if constexpr (T == TYPE_VARBINARY) {
765
407
        reinterpret_cast<OwnedBinaryField*>(&storage)->~OwnedBinaryField();
766
407
        return;
767
407
    }
768
0
    using TargetType = typename PrimitiveTypeTraits<T>::CppType;
769
407
    DCHECK(T == type || ((is_string_type(type) && is_string_type(T))))
770
407
            << "Type mismatch: requested " << type_to_string(T) << ", actual " << get_type_name();
771
407
    auto* MAY_ALIAS ptr = reinterpret_cast<TargetType*>(&storage);
772
407
    ptr->~TargetType();
773
407
}
_ZN5doris5Field7destroyILNS_13PrimitiveTypeE19EEEvv
Line
Count
Source
763
452
void Field::destroy() {
764
    if constexpr (T == TYPE_VARBINARY) {
765
        reinterpret_cast<OwnedBinaryField*>(&storage)->~OwnedBinaryField();
766
        return;
767
    }
768
452
    using TargetType = typename PrimitiveTypeTraits<T>::CppType;
769
452
    DCHECK(T == type || ((is_string_type(type) && is_string_type(T))))
770
0
            << "Type mismatch: requested " << type_to_string(T) << ", actual " << get_type_name();
771
452
    auto* MAY_ALIAS ptr = reinterpret_cast<TargetType*>(&storage);
772
452
    ptr->~TargetType();
773
452
}
_ZN5doris5Field7destroyILNS_13PrimitiveTypeE32EEEvv
Line
Count
Source
763
13.3k
void Field::destroy() {
764
    if constexpr (T == TYPE_VARBINARY) {
765
        reinterpret_cast<OwnedBinaryField*>(&storage)->~OwnedBinaryField();
766
        return;
767
    }
768
13.3k
    using TargetType = typename PrimitiveTypeTraits<T>::CppType;
769
18.4E
    DCHECK(T == type || ((is_string_type(type) && is_string_type(T))))
770
18.4E
            << "Type mismatch: requested " << type_to_string(T) << ", actual " << get_type_name();
771
13.3k
    auto* MAY_ALIAS ptr = reinterpret_cast<TargetType*>(&storage);
772
13.3k
    ptr->~TargetType();
773
13.3k
}
_ZN5doris5Field7destroyILNS_13PrimitiveTypeE24EEEvv
Line
Count
Source
763
22.4k
void Field::destroy() {
764
    if constexpr (T == TYPE_VARBINARY) {
765
        reinterpret_cast<OwnedBinaryField*>(&storage)->~OwnedBinaryField();
766
        return;
767
    }
768
22.4k
    using TargetType = typename PrimitiveTypeTraits<T>::CppType;
769
22.4k
    DCHECK(T == type || ((is_string_type(type) && is_string_type(T))))
770
0
            << "Type mismatch: requested " << type_to_string(T) << ", actual " << get_type_name();
771
22.4k
    auto* MAY_ALIAS ptr = reinterpret_cast<TargetType*>(&storage);
772
22.4k
    ptr->~TargetType();
773
22.4k
}
_ZN5doris5Field7destroyILNS_13PrimitiveTypeE17EEEvv
Line
Count
Source
763
92.7M
void Field::destroy() {
764
    if constexpr (T == TYPE_VARBINARY) {
765
        reinterpret_cast<OwnedBinaryField*>(&storage)->~OwnedBinaryField();
766
        return;
767
    }
768
92.7M
    using TargetType = typename PrimitiveTypeTraits<T>::CppType;
769
18.4E
    DCHECK(T == type || ((is_string_type(type) && is_string_type(T))))
770
18.4E
            << "Type mismatch: requested " << type_to_string(T) << ", actual " << get_type_name();
771
92.7M
    auto* MAY_ALIAS ptr = reinterpret_cast<TargetType*>(&storage);
772
92.7M
    ptr->~TargetType();
773
92.7M
}
Unexecuted instantiation: _ZN5doris5Field7destroyILNS_13PrimitiveTypeE36EEEvv
Unexecuted instantiation: _ZN5doris5Field7destroyILNS_13PrimitiveTypeE37EEEvv
Unexecuted instantiation: _ZN5doris5Field7destroyILNS_13PrimitiveTypeE44EEEvv
Unexecuted instantiation: _ZN5doris5Field7destroyILNS_13PrimitiveTypeE2EEEvv
Unexecuted instantiation: _ZN5doris5Field7destroyILNS_13PrimitiveTypeE8EEEvv
Unexecuted instantiation: _ZN5doris5Field7destroyILNS_13PrimitiveTypeE9EEEvv
_ZN5doris5Field7destroyILNS_13PrimitiveTypeE31EEEvv
Line
Count
Source
763
87.9k
void Field::destroy() {
764
    if constexpr (T == TYPE_VARBINARY) {
765
        reinterpret_cast<OwnedBinaryField*>(&storage)->~OwnedBinaryField();
766
        return;
767
    }
768
87.9k
    using TargetType = typename PrimitiveTypeTraits<T>::CppType;
769
87.9k
    DCHECK(T == type || ((is_string_type(type) && is_string_type(T))))
770
0
            << "Type mismatch: requested " << type_to_string(T) << ", actual " << get_type_name();
771
87.9k
    auto* MAY_ALIAS ptr = reinterpret_cast<TargetType*>(&storage);
772
87.9k
    ptr->~TargetType();
773
87.9k
}
_ZN5doris5Field7destroyILNS_13PrimitiveTypeE16EEEvv
Line
Count
Source
763
3.05M
void Field::destroy() {
764
    if constexpr (T == TYPE_VARBINARY) {
765
        reinterpret_cast<OwnedBinaryField*>(&storage)->~OwnedBinaryField();
766
        return;
767
    }
768
3.05M
    using TargetType = typename PrimitiveTypeTraits<T>::CppType;
769
3.05M
    DCHECK(T == type || ((is_string_type(type) && is_string_type(T))))
770
0
            << "Type mismatch: requested " << type_to_string(T) << ", actual " << get_type_name();
771
3.05M
    auto* MAY_ALIAS ptr = reinterpret_cast<TargetType*>(&storage);
772
3.05M
    ptr->~TargetType();
773
3.05M
}
_ZN5doris5Field7destroyILNS_13PrimitiveTypeE18EEEvv
Line
Count
Source
763
13.2M
void Field::destroy() {
764
    if constexpr (T == TYPE_VARBINARY) {
765
        reinterpret_cast<OwnedBinaryField*>(&storage)->~OwnedBinaryField();
766
        return;
767
    }
768
13.2M
    using TargetType = typename PrimitiveTypeTraits<T>::CppType;
769
18.4E
    DCHECK(T == type || ((is_string_type(type) && is_string_type(T))))
770
18.4E
            << "Type mismatch: requested " << type_to_string(T) << ", actual " << get_type_name();
771
13.2M
    auto* MAY_ALIAS ptr = reinterpret_cast<TargetType*>(&storage);
772
13.2M
    ptr->~TargetType();
773
13.2M
}
_ZN5doris5Field7destroyILNS_13PrimitiveTypeE22EEEvv
Line
Count
Source
763
2.76k
void Field::destroy() {
764
    if constexpr (T == TYPE_VARBINARY) {
765
        reinterpret_cast<OwnedBinaryField*>(&storage)->~OwnedBinaryField();
766
        return;
767
    }
768
2.76k
    using TargetType = typename PrimitiveTypeTraits<T>::CppType;
769
2.76k
    DCHECK(T == type || ((is_string_type(type) && is_string_type(T))))
770
0
            << "Type mismatch: requested " << type_to_string(T) << ", actual " << get_type_name();
771
2.76k
    auto* MAY_ALIAS ptr = reinterpret_cast<TargetType*>(&storage);
772
2.76k
    ptr->~TargetType();
773
2.76k
}
Unexecuted instantiation: _ZN5doris5Field7destroyILNS_13PrimitiveTypeE27EEEvv
Unexecuted instantiation: _ZN5doris5Field7destroyILNS_13PrimitiveTypeE38EEEvv
Unexecuted instantiation: _ZN5doris5Field7destroyILNS_13PrimitiveTypeE39EEEvv
774
775
11.7M
std::strong_ordering Field::operator<=>(const Field& rhs) const {
776
11.7M
    if (type == PrimitiveType::TYPE_NULL || rhs == PrimitiveType::TYPE_NULL) {
777
7.94M
        return type <=> rhs.type;
778
7.94M
    }
779
3.81M
    if (type != rhs.type) {
780
        // String-family types (STRING, CHAR, VARCHAR) all store String internally
781
        // and are inter-comparable.  This arises when comparing RowCursor fields
782
        // (which carry the declared column type) against Column::operator[] results
783
        // (which always return TYPE_STRING for ColumnString).
784
46.4k
        if (is_string_type(type) && is_string_type(rhs.type)) {
785
46.3k
            return get<TYPE_STRING>() <=> rhs.get<TYPE_STRING>();
786
46.3k
        }
787
64
        throw Exception(Status::FatalError("lhs type not equal with rhs, lhs={}, rhs={}",
788
64
                                           get_type_name(), rhs.get_type_name()));
789
46.4k
    }
790
791
3.76M
    switch (type) {
792
1.15k
    case PrimitiveType::TYPE_BITMAP:
793
1.35k
    case PrimitiveType::TYPE_HLL:
794
2.55k
    case PrimitiveType::TYPE_QUANTILE_STATE:
795
2.55k
    case PrimitiveType::INVALID_TYPE:
796
2.56k
    case PrimitiveType::TYPE_JSONB:
797
2.56k
    case PrimitiveType::TYPE_NULL:
798
8.72k
    case PrimitiveType::TYPE_ARRAY:
799
8.79k
    case PrimitiveType::TYPE_MAP:
800
8.83k
    case PrimitiveType::TYPE_STRUCT:
801
8.83k
    case PrimitiveType::TYPE_VARIANT:
802
8.83k
        return std::strong_ordering::equal; //TODO: throw Exception?
803
32.9k
    case PrimitiveType::TYPE_DATETIMEV2:
804
32.9k
        return get<PrimitiveType::TYPE_DATETIMEV2>().to_date_int_val() <=>
805
32.9k
               rhs.get<PrimitiveType::TYPE_DATETIMEV2>().to_date_int_val();
806
370
    case PrimitiveType::TYPE_TIMESTAMP_NS:
807
370
        return get<PrimitiveType::TYPE_TIMESTAMP_NS>() <=>
808
370
               rhs.get<PrimitiveType::TYPE_TIMESTAMP_NS>();
809
525k
    case PrimitiveType::TYPE_DATEV2:
810
525k
        return get<PrimitiveType::TYPE_DATEV2>().to_date_int_val() <=>
811
525k
               rhs.get<PrimitiveType::TYPE_DATEV2>().to_date_int_val();
812
7.93k
    case PrimitiveType::TYPE_TIMESTAMPTZ:
813
7.93k
        return get<PrimitiveType::TYPE_TIMESTAMPTZ>().to_date_int_val() <=>
814
7.93k
               rhs.get<PrimitiveType::TYPE_TIMESTAMPTZ>().to_date_int_val();
815
4.42k
    case PrimitiveType::TYPE_DATE:
816
4.42k
        return get<PrimitiveType::TYPE_DATE>() <=> rhs.get<PrimitiveType::TYPE_DATE>();
817
600
    case PrimitiveType::TYPE_DATETIME:
818
600
        return get<PrimitiveType::TYPE_DATETIME>() <=> rhs.get<PrimitiveType::TYPE_DATETIME>();
819
96.2k
    case PrimitiveType::TYPE_BIGINT:
820
96.2k
        return get<PrimitiveType::TYPE_BIGINT>() <=> rhs.get<PrimitiveType::TYPE_BIGINT>();
821
16.4k
    case PrimitiveType::TYPE_BOOLEAN:
822
16.4k
        return get<PrimitiveType::TYPE_BOOLEAN>() <=> rhs.get<PrimitiveType::TYPE_BOOLEAN>();
823
473k
    case PrimitiveType::TYPE_TINYINT:
824
473k
        return get<TYPE_TINYINT>() <=> rhs.get<TYPE_TINYINT>();
825
10.7k
    case PrimitiveType::TYPE_SMALLINT:
826
10.7k
        return get<TYPE_SMALLINT>() <=> rhs.get<TYPE_SMALLINT>();
827
902k
    case PrimitiveType::TYPE_INT:
828
902k
        return get<TYPE_INT>() <=> rhs.get<TYPE_INT>();
829
14.5k
    case PrimitiveType::TYPE_LARGEINT:
830
14.5k
        return get<TYPE_LARGEINT>() <=> rhs.get<TYPE_LARGEINT>();
831
364
    case PrimitiveType::TYPE_IPV6:
832
364
        return get<TYPE_IPV6>() <=> rhs.get<TYPE_IPV6>();
833
44.7k
    case PrimitiveType::TYPE_UUID:
834
44.7k
        return get<TYPE_UUID>() <=> rhs.get<TYPE_UUID>();
835
698
    case PrimitiveType::TYPE_IPV4:
836
698
        return get<TYPE_IPV4>() <=> rhs.get<TYPE_IPV4>();
837
578
    case PrimitiveType::TYPE_FLOAT:
838
578
        switch (Compare::compare(get<TYPE_FLOAT>(), rhs.get<TYPE_FLOAT>())) {
839
49
        case -1:
840
49
            return std::strong_ordering::less;
841
455
        case 0:
842
455
            return std::strong_ordering::equal;
843
74
        case 1:
844
74
            return std::strong_ordering::greater;
845
0
        default:
846
0
            LOG(FATAL) << "unexpected float compare result";
847
578
        }
848
53
    case PrimitiveType::TYPE_TIMEV2:
849
53
        return get<TYPE_TIMEV2>() < rhs.get<TYPE_TIMEV2>()    ? std::strong_ordering::less
850
53
               : get<TYPE_TIMEV2>() == rhs.get<TYPE_TIMEV2>() ? std::strong_ordering::equal
851
53
                                                              : std::strong_ordering::greater;
852
605
    case PrimitiveType::TYPE_DOUBLE:
853
605
        switch (Compare::compare(get<TYPE_DOUBLE>(), rhs.get<TYPE_DOUBLE>())) {
854
53
        case -1:
855
53
            return std::strong_ordering::less;
856
465
        case 0:
857
465
            return std::strong_ordering::equal;
858
87
        case 1:
859
87
            return std::strong_ordering::greater;
860
0
        default:
861
0
            LOG(FATAL) << "unexpected double compare result";
862
605
        }
863
28.4k
    case PrimitiveType::TYPE_STRING:
864
28.4k
        return get<TYPE_STRING>() <=> rhs.get<TYPE_STRING>();
865
623
    case PrimitiveType::TYPE_CHAR:
866
623
        return get<TYPE_CHAR>() <=> rhs.get<TYPE_CHAR>();
867
1.72M
    case PrimitiveType::TYPE_VARCHAR:
868
1.72M
        return get<TYPE_VARCHAR>() <=> rhs.get<TYPE_VARCHAR>();
869
27
    case PrimitiveType::TYPE_VARBINARY:
870
27
        return get<TYPE_VARBINARY>() <=> rhs.get<TYPE_VARBINARY>();
871
827
    case PrimitiveType::TYPE_DECIMAL32:
872
827
        return get<TYPE_DECIMAL32>() <=> rhs.get<TYPE_DECIMAL32>();
873
2.66k
    case PrimitiveType::TYPE_DECIMAL64:
874
2.66k
        return get<TYPE_DECIMAL64>() <=> rhs.get<TYPE_DECIMAL64>();
875
2.75k
    case PrimitiveType::TYPE_DECIMALV2:
876
2.75k
        return get<TYPE_DECIMALV2>() <=> rhs.get<TYPE_DECIMALV2>();
877
3.45k
    case PrimitiveType::TYPE_DECIMAL128I:
878
3.45k
        return get<TYPE_DECIMAL128I>() <=> rhs.get<TYPE_DECIMAL128I>();
879
2.12k
    case PrimitiveType::TYPE_DECIMAL256:
880
2.12k
        return get<TYPE_DECIMAL256>() <=> rhs.get<TYPE_DECIMAL256>();
881
0
    default:
882
0
        throw Exception(Status::FatalError("Unsupported type: {}", get_type_name()));
883
3.76M
    }
884
3.76M
}
885
886
#define MATCH_PRIMITIVE_TYPE(primitive_type)                                   \
887
82.0k
    if (type == primitive_type) {                                              \
888
6.14k
        const auto& v = get<primitive_type>();                                 \
889
6.14k
        return std::string_view(reinterpret_cast<const char*>(&v), sizeof(v)); \
890
6.14k
    }
891
892
8.77k
std::string_view Field::as_string_view() const {
893
8.77k
    if (type == PrimitiveType::TYPE_STRING || type == PrimitiveType::TYPE_VARCHAR ||
894
8.77k
        type == PrimitiveType::TYPE_CHAR) {
895
2.62k
        const auto& s = get<TYPE_STRING>();
896
2.62k
        return {s.data(), s.size()};
897
2.62k
    }
898
6.15k
    if (type == PrimitiveType::TYPE_VARBINARY) {
899
5
        const auto& svf = get<TYPE_VARBINARY>();
900
5
        return {svf.data(), svf.size()};
901
5
    }
902
    // MATCH_PRIMITIVE_TYPE(INVALID_TYPE);
903
    // MATCH_PRIMITIVE_TYPE(TYPE_NULL);
904
6.14k
    MATCH_PRIMITIVE_TYPE(TYPE_BOOLEAN);
905
6.14k
    MATCH_PRIMITIVE_TYPE(TYPE_TINYINT);
906
5.98k
    MATCH_PRIMITIVE_TYPE(TYPE_SMALLINT);
907
5.98k
    MATCH_PRIMITIVE_TYPE(TYPE_INT);
908
3.45k
    MATCH_PRIMITIVE_TYPE(TYPE_BIGINT);
909
3.39k
    MATCH_PRIMITIVE_TYPE(TYPE_LARGEINT);
910
3.39k
    MATCH_PRIMITIVE_TYPE(TYPE_FLOAT)
911
3.39k
    MATCH_PRIMITIVE_TYPE(TYPE_DOUBLE);
912
    // MATCH_PRIMITIVE_TYPE(TYPE_VARCHAR);
913
3.39k
    MATCH_PRIMITIVE_TYPE(TYPE_DATE);
914
3.39k
    MATCH_PRIMITIVE_TYPE(TYPE_DATETIME);
915
3.39k
    MATCH_PRIMITIVE_TYPE(TYPE_TIMESTAMPTZ);
916
    // MATCH_PRIMITIVE_TYPE(TYPE_BINARY);
917
    // MATCH_PRIMITIVE_TYPE(TYPE_DECIMAL);
918
    // MATCH_PRIMITIVE_TYPE(TYPE_CHAR);
919
    // MATCH_PRIMITIVE_TYPE(TYPE_STRUCT);
920
    // MATCH_PRIMITIVE_TYPE(TYPE_ARRAY);
921
    // MATCH_PRIMITIVE_TYPE(TYPE_MAP);
922
    // MATCH_PRIMITIVE_TYPE(TYPE_HLL);
923
3.38k
    MATCH_PRIMITIVE_TYPE(TYPE_DECIMALV2);
924
    // MATCH_PRIMITIVE_TYPE(TYPE_BITMAP);
925
    // MATCH_PRIMITIVE_TYPE(TYPE_STRING);
926
    // MATCH_PRIMITIVE_TYPE(TYPE_QUANTILE_STATE);
927
3.38k
    MATCH_PRIMITIVE_TYPE(TYPE_DATEV2);
928
3.35k
    MATCH_PRIMITIVE_TYPE(TYPE_DATETIMEV2);
929
3.31k
    MATCH_PRIMITIVE_TYPE(TYPE_TIMESTAMP_NS);
930
3.02k
    MATCH_PRIMITIVE_TYPE(TYPE_TIMEV2);
931
2.99k
    MATCH_PRIMITIVE_TYPE(TYPE_DECIMAL32);
932
2.99k
    MATCH_PRIMITIVE_TYPE(TYPE_DECIMAL64);
933
2.99k
    MATCH_PRIMITIVE_TYPE(TYPE_DECIMAL128I);
934
    // MATCH_PRIMITIVE_TYPE(TYPE_JSONB);
935
    // MATCH_PRIMITIVE_TYPE(TYPE_VARIANT);
936
    // MATCH_PRIMITIVE_TYPE(TYPE_LAMBDA_FUNCTION);
937
    // MATCH_PRIMITIVE_TYPE(TYPE_AGG_STATE);
938
2.99k
    MATCH_PRIMITIVE_TYPE(TYPE_DECIMAL256);
939
2.99k
    MATCH_PRIMITIVE_TYPE(TYPE_IPV4);
940
1.46k
    MATCH_PRIMITIVE_TYPE(TYPE_IPV6);
941
1.06k
    MATCH_PRIMITIVE_TYPE(TYPE_UUID);
942
1
    MATCH_PRIMITIVE_TYPE(TYPE_UINT32);
943
1
    MATCH_PRIMITIVE_TYPE(TYPE_UINT64);
944
    // MATCH_PRIMITIVE_TYPE(TYPE_FIXED_LENGTH_OBJECT);
945
1
    throw Exception(
946
1
            Status::FatalError("type not supported for as_string_view, type={}", get_type_name()));
947
1
}
948
949
#undef MATCH_PRIMITIVE_TYPE
950
951
// Important!!! This method is not accurate, for example, decimal to string, it uses scale == 0, because
952
// it do not know the actual scale of the decimal value. It is only used for debug printing, so it is fine.
953
15.7M
std::string Field::to_debug_string(int scale) const {
954
15.7M
    if (is_null()) {
955
0
        return "NULL";
956
0
    }
957
15.7M
    switch (type) {
958
38.5k
    case PrimitiveType::TYPE_BOOLEAN:
959
38.5k
        return get<TYPE_BOOLEAN>() ? "true" : "false";
960
1.45M
    case PrimitiveType::TYPE_TINYINT:
961
1.45M
        return CastToString::from_number(get<TYPE_TINYINT>());
962
29.6k
    case PrimitiveType::TYPE_SMALLINT:
963
29.6k
        return CastToString::from_number(get<TYPE_SMALLINT>());
964
664k
    case PrimitiveType::TYPE_INT:
965
664k
        return CastToString::from_number(get<TYPE_INT>());
966
217k
    case PrimitiveType::TYPE_BIGINT:
967
217k
        return CastToString::from_number(get<TYPE_BIGINT>());
968
51.3k
    case PrimitiveType::TYPE_LARGEINT:
969
51.3k
        return CastToString::from_number(get<TYPE_LARGEINT>());
970
0
    case PrimitiveType::TYPE_FLOAT:
971
0
        return CastToString::from_number(get<TYPE_FLOAT>());
972
0
    case PrimitiveType::TYPE_DOUBLE:
973
0
        return CastToString::from_number(get<TYPE_DOUBLE>());
974
0
    case PrimitiveType::TYPE_STRING:
975
2.19k
    case PrimitiveType::TYPE_CHAR:
976
12.3M
    case PrimitiveType::TYPE_VARCHAR:
977
12.3M
        return get<TYPE_STRING>();
978
0
    case PrimitiveType::TYPE_VARBINARY:
979
0
        return get<TYPE_VARBINARY>();
980
1.91k
    case PrimitiveType::TYPE_DATE:
981
1.91k
        return CastToString::from_date_or_datetime(get<TYPE_DATE>());
982
121
    case PrimitiveType::TYPE_DATETIME:
983
121
        return CastToString::from_date_or_datetime(get<TYPE_DATETIME>());
984
853k
    case PrimitiveType::TYPE_DATEV2:
985
853k
        return CastToString::from_datev2(get<TYPE_DATEV2>());
986
11.2k
    case PrimitiveType::TYPE_DATETIMEV2:
987
11.2k
        return CastToString::from_datetimev2(get<TYPE_DATETIMEV2>(), scale);
988
352
    case PrimitiveType::TYPE_TIMESTAMP_NS:
989
352
        return get<TYPE_TIMESTAMP_NS>().to_string();
990
28.6k
    case PrimitiveType::TYPE_TIMESTAMPTZ:
991
28.6k
        return CastToString::from_timestamptz(get<TYPE_TIMESTAMPTZ>(), scale);
992
58
    case PrimitiveType::TYPE_DECIMALV2:
993
58
        return get<TYPE_DECIMALV2>().to_string();
994
2.30k
    case PrimitiveType::TYPE_DECIMAL32:
995
2.30k
        return CastToString::from_decimal(get<TYPE_DECIMAL32>(), scale);
996
2.63k
    case PrimitiveType::TYPE_DECIMAL64:
997
2.63k
        return CastToString::from_decimal(get<TYPE_DECIMAL64>(), scale);
998
5.22k
    case PrimitiveType::TYPE_DECIMAL128I:
999
5.22k
        return CastToString::from_decimal(get<TYPE_DECIMAL128I>(), scale);
1000
2.09k
    case PrimitiveType::TYPE_DECIMAL256:
1001
2.09k
        return CastToString::from_decimal(get<TYPE_DECIMAL256>(), scale);
1002
0
    case PrimitiveType::TYPE_IPV4:
1003
0
        return CastToString::from_ip(get<TYPE_IPV4>());
1004
2
    case PrimitiveType::TYPE_IPV6:
1005
2
        return CastToString::from_ip(get<TYPE_IPV6>());
1006
497
    case PrimitiveType::TYPE_UUID:
1007
497
        return UUIDValue::to_string(get<TYPE_UUID>());
1008
0
    default:
1009
0
        throw Exception(Status::FatalError("type not supported for to_debug_string, type={}",
1010
0
                                           get_type_name()));
1011
0
        __builtin_unreachable();
1012
15.7M
    }
1013
15.7M
}
1014
1015
#define DECLARE_FUNCTION(FUNC_NAME)                                                               \
1016
    template void Field::FUNC_NAME<TYPE_NULL>(typename PrimitiveTypeTraits<TYPE_NULL>::CppType && \
1017
                                              rhs);                                               \
1018
    template void Field::FUNC_NAME<TYPE_TINYINT>(                                                 \
1019
            typename PrimitiveTypeTraits<TYPE_TINYINT>::CppType && rhs);                          \
1020
    template void Field::FUNC_NAME<TYPE_SMALLINT>(                                                \
1021
            typename PrimitiveTypeTraits<TYPE_SMALLINT>::CppType && rhs);                         \
1022
    template void Field::FUNC_NAME<TYPE_INT>(typename PrimitiveTypeTraits<TYPE_INT>::CppType &&   \
1023
                                             rhs);                                                \
1024
    template void Field::FUNC_NAME<TYPE_BIGINT>(                                                  \
1025
            typename PrimitiveTypeTraits<TYPE_BIGINT>::CppType && rhs);                           \
1026
    template void Field::FUNC_NAME<TYPE_LARGEINT>(                                                \
1027
            typename PrimitiveTypeTraits<TYPE_LARGEINT>::CppType && rhs);                         \
1028
    template void Field::FUNC_NAME<TYPE_DATE>(typename PrimitiveTypeTraits<TYPE_DATE>::CppType && \
1029
                                              rhs);                                               \
1030
    template void Field::FUNC_NAME<TYPE_DATETIME>(                                                \
1031
            typename PrimitiveTypeTraits<TYPE_DATETIME>::CppType && rhs);                         \
1032
    template void Field::FUNC_NAME<TYPE_DATEV2>(                                                  \
1033
            typename PrimitiveTypeTraits<TYPE_DATEV2>::CppType && rhs);                           \
1034
    template void Field::FUNC_NAME<TYPE_DATETIMEV2>(                                              \
1035
            typename PrimitiveTypeTraits<TYPE_DATETIMEV2>::CppType && rhs);                       \
1036
    template void Field::FUNC_NAME<TYPE_TIMESTAMP_NS>(                                            \
1037
            typename PrimitiveTypeTraits<TYPE_TIMESTAMP_NS>::CppType && rhs);                     \
1038
    template void Field::FUNC_NAME<TYPE_DECIMAL32>(                                               \
1039
            typename PrimitiveTypeTraits<TYPE_DECIMAL32>::CppType && rhs);                        \
1040
    template void Field::FUNC_NAME<TYPE_DECIMAL64>(                                               \
1041
            typename PrimitiveTypeTraits<TYPE_DECIMAL64>::CppType && rhs);                        \
1042
    template void Field::FUNC_NAME<TYPE_DECIMALV2>(                                               \
1043
            typename PrimitiveTypeTraits<TYPE_DECIMALV2>::CppType && rhs);                        \
1044
    template void Field::FUNC_NAME<TYPE_DECIMAL128I>(                                             \
1045
            typename PrimitiveTypeTraits<TYPE_DECIMAL128I>::CppType && rhs);                      \
1046
    template void Field::FUNC_NAME<TYPE_DECIMAL256>(                                              \
1047
            typename PrimitiveTypeTraits<TYPE_DECIMAL256>::CppType && rhs);                       \
1048
    template void Field::FUNC_NAME<TYPE_CHAR>(typename PrimitiveTypeTraits<TYPE_CHAR>::CppType && \
1049
                                              rhs);                                               \
1050
    template void Field::FUNC_NAME<TYPE_VARCHAR>(                                                 \
1051
            typename PrimitiveTypeTraits<TYPE_VARCHAR>::CppType && rhs);                          \
1052
    template void Field::FUNC_NAME<TYPE_STRING>(                                                  \
1053
            typename PrimitiveTypeTraits<TYPE_STRING>::CppType && rhs);                           \
1054
    template void Field::FUNC_NAME<TYPE_VARBINARY>(                                               \
1055
            typename PrimitiveTypeTraits<TYPE_VARBINARY>::CppType && rhs);                        \
1056
    template void Field::FUNC_NAME<TYPE_HLL>(typename PrimitiveTypeTraits<TYPE_HLL>::CppType &&   \
1057
                                             rhs);                                                \
1058
    template void Field::FUNC_NAME<TYPE_VARIANT>(                                                 \
1059
            typename PrimitiveTypeTraits<TYPE_VARIANT>::CppType && rhs);                          \
1060
    template void Field::FUNC_NAME<TYPE_QUANTILE_STATE>(                                          \
1061
            typename PrimitiveTypeTraits<TYPE_QUANTILE_STATE>::CppType && rhs);                   \
1062
    template void Field::FUNC_NAME<TYPE_ARRAY>(                                                   \
1063
            typename PrimitiveTypeTraits<TYPE_ARRAY>::CppType && rhs);                            \
1064
    template void Field::FUNC_NAME<TYPE_NULL>(                                                    \
1065
            const typename PrimitiveTypeTraits<TYPE_NULL>::CppType& rhs);                         \
1066
    template void Field::FUNC_NAME<TYPE_TINYINT>(                                                 \
1067
            const typename PrimitiveTypeTraits<TYPE_TINYINT>::CppType& rhs);                      \
1068
    template void Field::FUNC_NAME<TYPE_SMALLINT>(                                                \
1069
            const typename PrimitiveTypeTraits<TYPE_SMALLINT>::CppType& rhs);                     \
1070
    template void Field::FUNC_NAME<TYPE_INT>(                                                     \
1071
            const typename PrimitiveTypeTraits<TYPE_INT>::CppType& rhs);                          \
1072
    template void Field::FUNC_NAME<TYPE_BIGINT>(                                                  \
1073
            const typename PrimitiveTypeTraits<TYPE_BIGINT>::CppType& rhs);                       \
1074
    template void Field::FUNC_NAME<TYPE_LARGEINT>(                                                \
1075
            const typename PrimitiveTypeTraits<TYPE_LARGEINT>::CppType& rhs);                     \
1076
    template void Field::FUNC_NAME<TYPE_DATE>(                                                    \
1077
            const typename PrimitiveTypeTraits<TYPE_DATE>::CppType& rhs);                         \
1078
    template void Field::FUNC_NAME<TYPE_DATETIME>(                                                \
1079
            const typename PrimitiveTypeTraits<TYPE_DATETIME>::CppType& rhs);                     \
1080
    template void Field::FUNC_NAME<TYPE_DATEV2>(                                                  \
1081
            const typename PrimitiveTypeTraits<TYPE_DATEV2>::CppType& rhs);                       \
1082
    template void Field::FUNC_NAME<TYPE_DATETIMEV2>(                                              \
1083
            const typename PrimitiveTypeTraits<TYPE_DATETIMEV2>::CppType& rhs);                   \
1084
    template void Field::FUNC_NAME<TYPE_TIMESTAMP_NS>(                                            \
1085
            const typename PrimitiveTypeTraits<TYPE_TIMESTAMP_NS>::CppType& rhs);                 \
1086
    template void Field::FUNC_NAME<TYPE_TIMESTAMPTZ>(                                             \
1087
            const typename PrimitiveTypeTraits<TYPE_TIMESTAMPTZ>::CppType& rhs);                  \
1088
    template void Field::FUNC_NAME<TYPE_TIMESTAMPTZ>(                                             \
1089
            typename PrimitiveTypeTraits<TYPE_TIMESTAMPTZ>::CppType && rhs);                      \
1090
    template void Field::FUNC_NAME<TYPE_DECIMAL32>(                                               \
1091
            const typename PrimitiveTypeTraits<TYPE_DECIMAL32>::CppType& rhs);                    \
1092
    template void Field::FUNC_NAME<TYPE_DECIMAL64>(                                               \
1093
            const typename PrimitiveTypeTraits<TYPE_DECIMAL64>::CppType& rhs);                    \
1094
    template void Field::FUNC_NAME<TYPE_DECIMALV2>(                                               \
1095
            const typename PrimitiveTypeTraits<TYPE_DECIMALV2>::CppType& rhs);                    \
1096
    template void Field::FUNC_NAME<TYPE_DECIMAL128I>(                                             \
1097
            const typename PrimitiveTypeTraits<TYPE_DECIMAL128I>::CppType& rhs);                  \
1098
    template void Field::FUNC_NAME<TYPE_DECIMAL256>(                                              \
1099
            const typename PrimitiveTypeTraits<TYPE_DECIMAL256>::CppType& rhs);                   \
1100
    template void Field::FUNC_NAME<TYPE_CHAR>(                                                    \
1101
            const typename PrimitiveTypeTraits<TYPE_CHAR>::CppType& rhs);                         \
1102
    template void Field::FUNC_NAME<TYPE_VARCHAR>(                                                 \
1103
            const typename PrimitiveTypeTraits<TYPE_VARCHAR>::CppType& rhs);                      \
1104
    template void Field::FUNC_NAME<TYPE_STRING>(                                                  \
1105
            const typename PrimitiveTypeTraits<TYPE_STRING>::CppType& rhs);                       \
1106
    template void Field::FUNC_NAME<TYPE_VARBINARY>(                                               \
1107
            const typename PrimitiveTypeTraits<TYPE_VARBINARY>::CppType& rhs);                    \
1108
    template void Field::FUNC_NAME<TYPE_HLL>(                                                     \
1109
            const typename PrimitiveTypeTraits<TYPE_HLL>::CppType& rhs);                          \
1110
    template void Field::FUNC_NAME<TYPE_VARIANT>(                                                 \
1111
            const typename PrimitiveTypeTraits<TYPE_VARIANT>::CppType& rhs);                      \
1112
    template void Field::FUNC_NAME<TYPE_QUANTILE_STATE>(                                          \
1113
            const typename PrimitiveTypeTraits<TYPE_QUANTILE_STATE>::CppType& rhs);               \
1114
    template void Field::FUNC_NAME<TYPE_ARRAY>(                                                   \
1115
            const typename PrimitiveTypeTraits<TYPE_ARRAY>::CppType& rhs);                        \
1116
    template void Field::FUNC_NAME<TYPE_IPV4>(typename PrimitiveTypeTraits<TYPE_IPV4>::CppType && \
1117
                                              rhs);                                               \
1118
    template void Field::FUNC_NAME<TYPE_IPV4>(                                                    \
1119
            const typename PrimitiveTypeTraits<TYPE_IPV4>::CppType& rhs);                         \
1120
    template void Field::FUNC_NAME<TYPE_IPV6>(typename PrimitiveTypeTraits<TYPE_IPV6>::CppType && \
1121
                                              rhs);                                               \
1122
    template void Field::FUNC_NAME<TYPE_IPV6>(                                                    \
1123
            const typename PrimitiveTypeTraits<TYPE_IPV6>::CppType& rhs);                         \
1124
    template void Field::FUNC_NAME<TYPE_UUID>(typename PrimitiveTypeTraits<TYPE_UUID>::CppType && \
1125
                                              rhs);                                               \
1126
    template void Field::FUNC_NAME<TYPE_UUID>(                                                    \
1127
            const typename PrimitiveTypeTraits<TYPE_UUID>::CppType& rhs);                         \
1128
    template void Field::FUNC_NAME<TYPE_BOOLEAN>(                                                 \
1129
            typename PrimitiveTypeTraits<TYPE_BOOLEAN>::CppType && rhs);                          \
1130
    template void Field::FUNC_NAME<TYPE_BOOLEAN>(                                                 \
1131
            const typename PrimitiveTypeTraits<TYPE_BOOLEAN>::CppType& rhs);                      \
1132
    template void Field::FUNC_NAME<TYPE_FLOAT>(                                                   \
1133
            typename PrimitiveTypeTraits<TYPE_FLOAT>::CppType && rhs);                            \
1134
    template void Field::FUNC_NAME<TYPE_FLOAT>(                                                   \
1135
            const typename PrimitiveTypeTraits<TYPE_FLOAT>::CppType& rhs);                        \
1136
    template void Field::FUNC_NAME<TYPE_DOUBLE>(                                                  \
1137
            typename PrimitiveTypeTraits<TYPE_DOUBLE>::CppType && rhs);                           \
1138
    template void Field::FUNC_NAME<TYPE_DOUBLE>(                                                  \
1139
            const typename PrimitiveTypeTraits<TYPE_DOUBLE>::CppType& rhs);                       \
1140
    template void Field::FUNC_NAME<TYPE_JSONB>(                                                   \
1141
            typename PrimitiveTypeTraits<TYPE_JSONB>::CppType && rhs);                            \
1142
    template void Field::FUNC_NAME<TYPE_JSONB>(                                                   \
1143
            const typename PrimitiveTypeTraits<TYPE_JSONB>::CppType& rhs);                        \
1144
    template void Field::FUNC_NAME<TYPE_STRUCT>(                                                  \
1145
            typename PrimitiveTypeTraits<TYPE_STRUCT>::CppType && rhs);                           \
1146
    template void Field::FUNC_NAME<TYPE_STRUCT>(                                                  \
1147
            const typename PrimitiveTypeTraits<TYPE_STRUCT>::CppType& rhs);                       \
1148
    template void Field::FUNC_NAME<TYPE_MAP>(typename PrimitiveTypeTraits<TYPE_MAP>::CppType &&   \
1149
                                             rhs);                                                \
1150
    template void Field::FUNC_NAME<TYPE_MAP>(                                                     \
1151
            const typename PrimitiveTypeTraits<TYPE_MAP>::CppType& rhs);                          \
1152
    template void Field::FUNC_NAME<TYPE_BITMAP>(                                                  \
1153
            typename PrimitiveTypeTraits<TYPE_BITMAP>::CppType && rhs);                           \
1154
    template void Field::FUNC_NAME<TYPE_BITMAP>(                                                  \
1155
            const typename PrimitiveTypeTraits<TYPE_BITMAP>::CppType& rhs);                       \
1156
    template void Field::FUNC_NAME<TYPE_TIMEV2>(                                                  \
1157
            const typename PrimitiveTypeTraits<TYPE_TIMEV2>::CppType& rhs);                       \
1158
    template void Field::FUNC_NAME<TYPE_TIMEV2>(                                                  \
1159
            typename PrimitiveTypeTraits<TYPE_TIMEV2>::CppType && rhs);                           \
1160
    template void Field::FUNC_NAME<TYPE_UINT32>(                                                  \
1161
            const typename PrimitiveTypeTraits<TYPE_UINT32>::CppType& rhs);                       \
1162
    template void Field::FUNC_NAME<TYPE_UINT32>(                                                  \
1163
            typename PrimitiveTypeTraits<TYPE_UINT32>::CppType && rhs);                           \
1164
    template void Field::FUNC_NAME<TYPE_UINT64>(                                                  \
1165
            const typename PrimitiveTypeTraits<TYPE_UINT64>::CppType& rhs);                       \
1166
    template void Field::FUNC_NAME<TYPE_UINT64>(                                                  \
1167
            typename PrimitiveTypeTraits<TYPE_UINT64>::CppType && rhs);
1168
DECLARE_FUNCTION(create_concrete)
1169
DECLARE_FUNCTION(assign_concrete)
1170
#undef DECLARE_FUNCTION
1171
1172
#define DECLARE_FUNCTION(TYPE_NAME)                                                          \
1173
    template typename PrimitiveTypeTraits<TYPE_NAME>::CppType& Field::get<TYPE_NAME>();      \
1174
    template const typename PrimitiveTypeTraits<TYPE_NAME>::CppType& Field::get<TYPE_NAME>() \
1175
            const;                                                                           \
1176
    template void Field::destroy<TYPE_NAME>();
1177
DECLARE_FUNCTION(TYPE_NULL)
1178
DECLARE_FUNCTION(TYPE_TINYINT)
1179
DECLARE_FUNCTION(TYPE_SMALLINT)
1180
DECLARE_FUNCTION(TYPE_INT)
1181
DECLARE_FUNCTION(TYPE_BIGINT)
1182
DECLARE_FUNCTION(TYPE_LARGEINT)
1183
DECLARE_FUNCTION(TYPE_DATE)
1184
DECLARE_FUNCTION(TYPE_DATETIME)
1185
DECLARE_FUNCTION(TYPE_DATEV2)
1186
DECLARE_FUNCTION(TYPE_DATETIMEV2)
1187
DECLARE_FUNCTION(TYPE_TIMESTAMP_NS)
1188
DECLARE_FUNCTION(TYPE_TIMESTAMPTZ)
1189
DECLARE_FUNCTION(TYPE_DECIMAL32)
1190
DECLARE_FUNCTION(TYPE_DECIMAL64)
1191
DECLARE_FUNCTION(TYPE_DECIMALV2)
1192
DECLARE_FUNCTION(TYPE_DECIMAL128I)
1193
DECLARE_FUNCTION(TYPE_DECIMAL256)
1194
DECLARE_FUNCTION(TYPE_CHAR)
1195
DECLARE_FUNCTION(TYPE_VARCHAR)
1196
DECLARE_FUNCTION(TYPE_STRING)
1197
DECLARE_FUNCTION(TYPE_VARBINARY)
1198
DECLARE_FUNCTION(TYPE_HLL)
1199
DECLARE_FUNCTION(TYPE_VARIANT)
1200
DECLARE_FUNCTION(TYPE_QUANTILE_STATE)
1201
DECLARE_FUNCTION(TYPE_ARRAY)
1202
DECLARE_FUNCTION(TYPE_IPV4)
1203
DECLARE_FUNCTION(TYPE_IPV6)
1204
DECLARE_FUNCTION(TYPE_UUID)
1205
DECLARE_FUNCTION(TYPE_BOOLEAN)
1206
DECLARE_FUNCTION(TYPE_FLOAT)
1207
DECLARE_FUNCTION(TYPE_DOUBLE)
1208
DECLARE_FUNCTION(TYPE_JSONB)
1209
DECLARE_FUNCTION(TYPE_STRUCT)
1210
DECLARE_FUNCTION(TYPE_MAP)
1211
DECLARE_FUNCTION(TYPE_BITMAP)
1212
DECLARE_FUNCTION(TYPE_TIMEV2)
1213
DECLARE_FUNCTION(TYPE_UINT32)
1214
DECLARE_FUNCTION(TYPE_UINT64)
1215
#undef DECLARE_FUNCTION
1216
} // namespace doris