Coverage Report

Created: 2026-08-15 03:58

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/data_type/data_type_decimal.h"
26
#include "core/data_type/define_primitive_type.h"
27
#include "core/data_type/primitive_type.h"
28
#include "core/decimal_comparison.h"
29
#include "core/value/bitmap_value.h"
30
#include "core/value/jsonb_value.h"
31
#include "core/value/timestamptz_value.h"
32
#include "core/value/vdatetime_value.h"
33
#include "exprs/function/cast/cast_to_string.h"
34
#include "util/var_int.h"
35
36
namespace doris {
37
class BufferReadable;
38
class BufferWritable;
39
40
template <PrimitiveType T>
41
bool dec_equal(typename PrimitiveTypeTraits<T>::CppType x,
42
0
               typename PrimitiveTypeTraits<T>::CppType y, UInt32 x_scale, UInt32 y_scale) {
43
0
    using Comparator = DecimalComparison<T, T, EqualsOp>;
44
0
    return Comparator::compare(x, y, x_scale, y_scale);
45
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
46
47
template <PrimitiveType T>
48
bool dec_less(typename PrimitiveTypeTraits<T>::CppType x,
49
3.48k
              typename PrimitiveTypeTraits<T>::CppType y, UInt32 x_scale, UInt32 y_scale) {
50
3.48k
    using Comparator = DecimalComparison<T, T, LessOp>;
51
3.48k
    return Comparator::compare(x, y, x_scale, y_scale);
52
3.48k
}
_ZN5doris8dec_lessILNS_13PrimitiveTypeE28EEEbNS_19PrimitiveTypeTraitsIXT_EE7CppTypeES4_jj
Line
Count
Source
49
10
              typename PrimitiveTypeTraits<T>::CppType y, UInt32 x_scale, UInt32 y_scale) {
50
10
    using Comparator = DecimalComparison<T, T, LessOp>;
51
10
    return Comparator::compare(x, y, x_scale, y_scale);
52
10
}
_ZN5doris8dec_lessILNS_13PrimitiveTypeE29EEEbNS_19PrimitiveTypeTraitsIXT_EE7CppTypeES4_jj
Line
Count
Source
49
3
              typename PrimitiveTypeTraits<T>::CppType y, UInt32 x_scale, UInt32 y_scale) {
50
3
    using Comparator = DecimalComparison<T, T, LessOp>;
51
3
    return Comparator::compare(x, y, x_scale, y_scale);
52
3
}
Unexecuted instantiation: _ZN5doris8dec_lessILNS_13PrimitiveTypeE20EEEbNS_19PrimitiveTypeTraitsIXT_EE7CppTypeES4_jj
_ZN5doris8dec_lessILNS_13PrimitiveTypeE35EEEbNS_19PrimitiveTypeTraitsIXT_EE7CppTypeES4_jj
Line
Count
Source
49
972
              typename PrimitiveTypeTraits<T>::CppType y, UInt32 x_scale, UInt32 y_scale) {
50
972
    using Comparator = DecimalComparison<T, T, LessOp>;
51
972
    return Comparator::compare(x, y, x_scale, y_scale);
52
972
}
_ZN5doris8dec_lessILNS_13PrimitiveTypeE30EEEbNS_19PrimitiveTypeTraitsIXT_EE7CppTypeES4_jj
Line
Count
Source
49
2.50k
              typename PrimitiveTypeTraits<T>::CppType y, UInt32 x_scale, UInt32 y_scale) {
50
2.50k
    using Comparator = DecimalComparison<T, T, LessOp>;
51
2.50k
    return Comparator::compare(x, y, x_scale, y_scale);
52
2.50k
}
53
54
template <PrimitiveType T>
55
bool dec_less_or_equal(typename PrimitiveTypeTraits<T>::CppType x,
56
0
                       typename PrimitiveTypeTraits<T>::CppType y, UInt32 x_scale, UInt32 y_scale) {
57
0
    using Comparator = DecimalComparison<T, T, LessOrEqualsOp>;
58
0
    return Comparator::compare(x, y, x_scale, y_scale);
59
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
60
61
#define DECLARE_DECIMAL_COMPARISON(TYPE, PTYPE)                        \
62
    template <>                                                        \
63
0
    bool decimal_equal(TYPE x, TYPE y, UInt32 xs, UInt32 ys) {         \
64
0
        return dec_equal<PTYPE>(x, y, xs, ys);                         \
65
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
66
    template <>                                                        \
67
985
    bool decimal_less(TYPE x, TYPE y, UInt32 xs, UInt32 ys) {          \
68
985
        return dec_less<PTYPE>(x, y, xs, ys);                          \
69
985
    }                                                                  \
_ZN5doris12decimal_lessINS_7DecimalIiEEEEbT_S3_jj
Line
Count
Source
67
10
    bool decimal_less(TYPE x, TYPE y, UInt32 xs, UInt32 ys) {          \
68
10
        return dec_less<PTYPE>(x, y, xs, ys);                          \
69
10
    }                                                                  \
_ZN5doris12decimal_lessINS_7DecimalIlEEEEbT_S3_jj
Line
Count
Source
67
3
    bool decimal_less(TYPE x, TYPE y, UInt32 xs, UInt32 ys) {          \
68
3
        return dec_less<PTYPE>(x, y, xs, ys);                          \
69
3
    }                                                                  \
Unexecuted instantiation: _ZN5doris12decimal_lessINS_14DecimalV2ValueEEEbT_S2_jj
_ZN5doris12decimal_lessINS_7DecimalIN4wide7integerILm256EiEEEEEEbT_S6_jj
Line
Count
Source
67
972
    bool decimal_less(TYPE x, TYPE y, UInt32 xs, UInt32 ys) {          \
68
972
        return dec_less<PTYPE>(x, y, xs, ys);                          \
69
972
    }                                                                  \
70
    template <>                                                        \
71
0
    bool decimal_less_or_equal(TYPE x, TYPE y, UInt32 xs, UInt32 ys) { \
72
0
        return dec_less_or_equal<PTYPE>(x, y, xs, ys);                 \
73
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
74
75
DECLARE_DECIMAL_COMPARISON(Decimal32, TYPE_DECIMAL32)
76
DECLARE_DECIMAL_COMPARISON(Decimal64, TYPE_DECIMAL64)
77
DECLARE_DECIMAL_COMPARISON(DecimalV2Value, TYPE_DECIMALV2)
78
DECLARE_DECIMAL_COMPARISON(Decimal256, TYPE_DECIMAL256)
79
80
template <>
81
0
bool decimal_equal(Decimal128V3 x, Decimal128V3 y, UInt32 xs, UInt32 ys) {
82
0
    return dec_equal<TYPE_DECIMAL128I>(x, y, xs, ys);
83
0
}
84
template <>
85
2.50k
bool decimal_less(Decimal128V3 x, Decimal128V3 y, UInt32 xs, UInt32 ys) {
86
2.50k
    return dec_less<TYPE_DECIMAL128I>(x, y, xs, ys);
87
2.50k
}
88
template <>
89
0
bool decimal_less_or_equal(Decimal128V3 x, Decimal128V3 y, UInt32 xs, UInt32 ys) {
90
0
    return dec_less_or_equal<TYPE_DECIMAL128I>(x, y, xs, ys);
91
0
}
92
93
template <PrimitiveType Type>
94
237M
void Field::create_concrete(typename PrimitiveTypeTraits<Type>::CppType&& x) {
95
    // In both Field and PODArray, small types may be stored as wider types,
96
    // e.g. char is stored as UInt64. Field can return this extended value
97
    // with get<StorageType>(). To avoid uninitialized results from get(),
98
    // we must initialize the entire wide stored type, and not just the
99
    // nominal type.
100
237M
    using StorageType = typename PrimitiveTypeTraits<Type>::CppType;
101
237M
    new (&storage) StorageType(std::move(x));
102
237M
    type = Type;
103
237M
    DCHECK_NE(type, PrimitiveType::INVALID_TYPE);
104
237M
}
_ZN5doris5Field15create_concreteILNS_13PrimitiveTypeE1EEEvONS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
94
582k
void Field::create_concrete(typename PrimitiveTypeTraits<Type>::CppType&& x) {
95
    // In both Field and PODArray, small types may be stored as wider types,
96
    // e.g. char is stored as UInt64. Field can return this extended value
97
    // with get<StorageType>(). To avoid uninitialized results from get(),
98
    // we must initialize the entire wide stored type, and not just the
99
    // nominal type.
100
582k
    using StorageType = typename PrimitiveTypeTraits<Type>::CppType;
101
582k
    new (&storage) StorageType(std::move(x));
102
582k
    type = Type;
103
    DCHECK_NE(type, PrimitiveType::INVALID_TYPE);
104
582k
}
_ZN5doris5Field15create_concreteILNS_13PrimitiveTypeE3EEEvONS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
94
9.92M
void Field::create_concrete(typename PrimitiveTypeTraits<Type>::CppType&& x) {
95
    // In both Field and PODArray, small types may be stored as wider types,
96
    // e.g. char is stored as UInt64. Field can return this extended value
97
    // with get<StorageType>(). To avoid uninitialized results from get(),
98
    // we must initialize the entire wide stored type, and not just the
99
    // nominal type.
100
9.92M
    using StorageType = typename PrimitiveTypeTraits<Type>::CppType;
101
9.92M
    new (&storage) StorageType(std::move(x));
102
9.92M
    type = Type;
103
    DCHECK_NE(type, PrimitiveType::INVALID_TYPE);
104
9.92M
}
_ZN5doris5Field15create_concreteILNS_13PrimitiveTypeE4EEEvONS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
94
250k
void Field::create_concrete(typename PrimitiveTypeTraits<Type>::CppType&& x) {
95
    // In both Field and PODArray, small types may be stored as wider types,
96
    // e.g. char is stored as UInt64. Field can return this extended value
97
    // with get<StorageType>(). To avoid uninitialized results from get(),
98
    // we must initialize the entire wide stored type, and not just the
99
    // nominal type.
100
250k
    using StorageType = typename PrimitiveTypeTraits<Type>::CppType;
101
250k
    new (&storage) StorageType(std::move(x));
102
250k
    type = Type;
103
    DCHECK_NE(type, PrimitiveType::INVALID_TYPE);
104
250k
}
_ZN5doris5Field15create_concreteILNS_13PrimitiveTypeE5EEEvONS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
94
26.5M
void Field::create_concrete(typename PrimitiveTypeTraits<Type>::CppType&& x) {
95
    // In both Field and PODArray, small types may be stored as wider types,
96
    // e.g. char is stored as UInt64. Field can return this extended value
97
    // with get<StorageType>(). To avoid uninitialized results from get(),
98
    // we must initialize the entire wide stored type, and not just the
99
    // nominal type.
100
26.5M
    using StorageType = typename PrimitiveTypeTraits<Type>::CppType;
101
26.5M
    new (&storage) StorageType(std::move(x));
102
26.5M
    type = Type;
103
    DCHECK_NE(type, PrimitiveType::INVALID_TYPE);
104
26.5M
}
_ZN5doris5Field15create_concreteILNS_13PrimitiveTypeE6EEEvONS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
94
57.8M
void Field::create_concrete(typename PrimitiveTypeTraits<Type>::CppType&& x) {
95
    // In both Field and PODArray, small types may be stored as wider types,
96
    // e.g. char is stored as UInt64. Field can return this extended value
97
    // with get<StorageType>(). To avoid uninitialized results from get(),
98
    // we must initialize the entire wide stored type, and not just the
99
    // nominal type.
100
57.8M
    using StorageType = typename PrimitiveTypeTraits<Type>::CppType;
101
57.8M
    new (&storage) StorageType(std::move(x));
102
57.8M
    type = Type;
103
    DCHECK_NE(type, PrimitiveType::INVALID_TYPE);
104
57.8M
}
_ZN5doris5Field15create_concreteILNS_13PrimitiveTypeE7EEEvONS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
94
351k
void Field::create_concrete(typename PrimitiveTypeTraits<Type>::CppType&& x) {
95
    // In both Field and PODArray, small types may be stored as wider types,
96
    // e.g. char is stored as UInt64. Field can return this extended value
97
    // with get<StorageType>(). To avoid uninitialized results from get(),
98
    // we must initialize the entire wide stored type, and not just the
99
    // nominal type.
100
351k
    using StorageType = typename PrimitiveTypeTraits<Type>::CppType;
101
351k
    new (&storage) StorageType(std::move(x));
102
351k
    type = Type;
103
    DCHECK_NE(type, PrimitiveType::INVALID_TYPE);
104
351k
}
_ZN5doris5Field15create_concreteILNS_13PrimitiveTypeE11EEEvONS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
94
19.0k
void Field::create_concrete(typename PrimitiveTypeTraits<Type>::CppType&& x) {
95
    // In both Field and PODArray, small types may be stored as wider types,
96
    // e.g. char is stored as UInt64. Field can return this extended value
97
    // with get<StorageType>(). To avoid uninitialized results from get(),
98
    // we must initialize the entire wide stored type, and not just the
99
    // nominal type.
100
19.0k
    using StorageType = typename PrimitiveTypeTraits<Type>::CppType;
101
19.0k
    new (&storage) StorageType(std::move(x));
102
19.0k
    type = Type;
103
    DCHECK_NE(type, PrimitiveType::INVALID_TYPE);
104
19.0k
}
_ZN5doris5Field15create_concreteILNS_13PrimitiveTypeE12EEEvONS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
94
23.5k
void Field::create_concrete(typename PrimitiveTypeTraits<Type>::CppType&& x) {
95
    // In both Field and PODArray, small types may be stored as wider types,
96
    // e.g. char is stored as UInt64. Field can return this extended value
97
    // with get<StorageType>(). To avoid uninitialized results from get(),
98
    // we must initialize the entire wide stored type, and not just the
99
    // nominal type.
100
23.5k
    using StorageType = typename PrimitiveTypeTraits<Type>::CppType;
101
23.5k
    new (&storage) StorageType(std::move(x));
102
23.5k
    type = Type;
103
    DCHECK_NE(type, PrimitiveType::INVALID_TYPE);
104
23.5k
}
_ZN5doris5Field15create_concreteILNS_13PrimitiveTypeE25EEEvONS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
94
748k
void Field::create_concrete(typename PrimitiveTypeTraits<Type>::CppType&& x) {
95
    // In both Field and PODArray, small types may be stored as wider types,
96
    // e.g. char is stored as UInt64. Field can return this extended value
97
    // with get<StorageType>(). To avoid uninitialized results from get(),
98
    // we must initialize the entire wide stored type, and not just the
99
    // nominal type.
100
748k
    using StorageType = typename PrimitiveTypeTraits<Type>::CppType;
101
748k
    new (&storage) StorageType(std::move(x));
102
748k
    type = Type;
103
    DCHECK_NE(type, PrimitiveType::INVALID_TYPE);
104
748k
}
_ZN5doris5Field15create_concreteILNS_13PrimitiveTypeE26EEEvONS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
94
623k
void Field::create_concrete(typename PrimitiveTypeTraits<Type>::CppType&& x) {
95
    // In both Field and PODArray, small types may be stored as wider types,
96
    // e.g. char is stored as UInt64. Field can return this extended value
97
    // with get<StorageType>(). To avoid uninitialized results from get(),
98
    // we must initialize the entire wide stored type, and not just the
99
    // nominal type.
100
623k
    using StorageType = typename PrimitiveTypeTraits<Type>::CppType;
101
623k
    new (&storage) StorageType(std::move(x));
102
623k
    type = Type;
103
    DCHECK_NE(type, PrimitiveType::INVALID_TYPE);
104
623k
}
_ZN5doris5Field15create_concreteILNS_13PrimitiveTypeE43EEEvONS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
94
4.28k
void Field::create_concrete(typename PrimitiveTypeTraits<Type>::CppType&& x) {
95
    // In both Field and PODArray, small types may be stored as wider types,
96
    // e.g. char is stored as UInt64. Field can return this extended value
97
    // with get<StorageType>(). To avoid uninitialized results from get(),
98
    // we must initialize the entire wide stored type, and not just the
99
    // nominal type.
100
4.28k
    using StorageType = typename PrimitiveTypeTraits<Type>::CppType;
101
4.28k
    new (&storage) StorageType(std::move(x));
102
4.28k
    type = Type;
103
    DCHECK_NE(type, PrimitiveType::INVALID_TYPE);
104
4.28k
}
_ZN5doris5Field15create_concreteILNS_13PrimitiveTypeE28EEEvONS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
94
104k
void Field::create_concrete(typename PrimitiveTypeTraits<Type>::CppType&& x) {
95
    // In both Field and PODArray, small types may be stored as wider types,
96
    // e.g. char is stored as UInt64. Field can return this extended value
97
    // with get<StorageType>(). To avoid uninitialized results from get(),
98
    // we must initialize the entire wide stored type, and not just the
99
    // nominal type.
100
104k
    using StorageType = typename PrimitiveTypeTraits<Type>::CppType;
101
104k
    new (&storage) StorageType(std::move(x));
102
104k
    type = Type;
103
    DCHECK_NE(type, PrimitiveType::INVALID_TYPE);
104
104k
}
_ZN5doris5Field15create_concreteILNS_13PrimitiveTypeE29EEEvONS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
94
13.6M
void Field::create_concrete(typename PrimitiveTypeTraits<Type>::CppType&& x) {
95
    // In both Field and PODArray, small types may be stored as wider types,
96
    // e.g. char is stored as UInt64. Field can return this extended value
97
    // with get<StorageType>(). To avoid uninitialized results from get(),
98
    // we must initialize the entire wide stored type, and not just the
99
    // nominal type.
100
13.6M
    using StorageType = typename PrimitiveTypeTraits<Type>::CppType;
101
13.6M
    new (&storage) StorageType(std::move(x));
102
13.6M
    type = Type;
103
    DCHECK_NE(type, PrimitiveType::INVALID_TYPE);
104
13.6M
}
_ZN5doris5Field15create_concreteILNS_13PrimitiveTypeE20EEEvONS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
94
18.6k
void Field::create_concrete(typename PrimitiveTypeTraits<Type>::CppType&& x) {
95
    // In both Field and PODArray, small types may be stored as wider types,
96
    // e.g. char is stored as UInt64. Field can return this extended value
97
    // with get<StorageType>(). To avoid uninitialized results from get(),
98
    // we must initialize the entire wide stored type, and not just the
99
    // nominal type.
100
18.6k
    using StorageType = typename PrimitiveTypeTraits<Type>::CppType;
101
18.6k
    new (&storage) StorageType(std::move(x));
102
18.6k
    type = Type;
103
    DCHECK_NE(type, PrimitiveType::INVALID_TYPE);
104
18.6k
}
_ZN5doris5Field15create_concreteILNS_13PrimitiveTypeE30EEEvONS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
94
180k
void Field::create_concrete(typename PrimitiveTypeTraits<Type>::CppType&& x) {
95
    // In both Field and PODArray, small types may be stored as wider types,
96
    // e.g. char is stored as UInt64. Field can return this extended value
97
    // with get<StorageType>(). To avoid uninitialized results from get(),
98
    // we must initialize the entire wide stored type, and not just the
99
    // nominal type.
100
180k
    using StorageType = typename PrimitiveTypeTraits<Type>::CppType;
101
180k
    new (&storage) StorageType(std::move(x));
102
180k
    type = Type;
103
    DCHECK_NE(type, PrimitiveType::INVALID_TYPE);
104
180k
}
_ZN5doris5Field15create_concreteILNS_13PrimitiveTypeE35EEEvONS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
94
54.0k
void Field::create_concrete(typename PrimitiveTypeTraits<Type>::CppType&& x) {
95
    // In both Field and PODArray, small types may be stored as wider types,
96
    // e.g. char is stored as UInt64. Field can return this extended value
97
    // with get<StorageType>(). To avoid uninitialized results from get(),
98
    // we must initialize the entire wide stored type, and not just the
99
    // nominal type.
100
54.0k
    using StorageType = typename PrimitiveTypeTraits<Type>::CppType;
101
54.0k
    new (&storage) StorageType(std::move(x));
102
54.0k
    type = Type;
103
    DCHECK_NE(type, PrimitiveType::INVALID_TYPE);
104
54.0k
}
_ZN5doris5Field15create_concreteILNS_13PrimitiveTypeE15EEEvONS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
94
143k
void Field::create_concrete(typename PrimitiveTypeTraits<Type>::CppType&& x) {
95
    // In both Field and PODArray, small types may be stored as wider types,
96
    // e.g. char is stored as UInt64. Field can return this extended value
97
    // with get<StorageType>(). To avoid uninitialized results from get(),
98
    // we must initialize the entire wide stored type, and not just the
99
    // nominal type.
100
143k
    using StorageType = typename PrimitiveTypeTraits<Type>::CppType;
101
143k
    new (&storage) StorageType(std::move(x));
102
143k
    type = Type;
103
    DCHECK_NE(type, PrimitiveType::INVALID_TYPE);
104
143k
}
_ZN5doris5Field15create_concreteILNS_13PrimitiveTypeE10EEEvONS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
94
1.94M
void Field::create_concrete(typename PrimitiveTypeTraits<Type>::CppType&& x) {
95
    // In both Field and PODArray, small types may be stored as wider types,
96
    // e.g. char is stored as UInt64. Field can return this extended value
97
    // with get<StorageType>(). To avoid uninitialized results from get(),
98
    // we must initialize the entire wide stored type, and not just the
99
    // nominal type.
100
1.94M
    using StorageType = typename PrimitiveTypeTraits<Type>::CppType;
101
1.94M
    new (&storage) StorageType(std::move(x));
102
1.94M
    type = Type;
103
    DCHECK_NE(type, PrimitiveType::INVALID_TYPE);
104
1.94M
}
_ZN5doris5Field15create_concreteILNS_13PrimitiveTypeE23EEEvONS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
94
61.1M
void Field::create_concrete(typename PrimitiveTypeTraits<Type>::CppType&& x) {
95
    // In both Field and PODArray, small types may be stored as wider types,
96
    // e.g. char is stored as UInt64. Field can return this extended value
97
    // with get<StorageType>(). To avoid uninitialized results from get(),
98
    // we must initialize the entire wide stored type, and not just the
99
    // nominal type.
100
61.1M
    using StorageType = typename PrimitiveTypeTraits<Type>::CppType;
101
61.1M
    new (&storage) StorageType(std::move(x));
102
61.1M
    type = Type;
103
    DCHECK_NE(type, PrimitiveType::INVALID_TYPE);
104
61.1M
}
_ZN5doris5Field15create_concreteILNS_13PrimitiveTypeE41EEEvONS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
94
71
void Field::create_concrete(typename PrimitiveTypeTraits<Type>::CppType&& x) {
95
    // In both Field and PODArray, small types may be stored as wider types,
96
    // e.g. char is stored as UInt64. Field can return this extended value
97
    // with get<StorageType>(). To avoid uninitialized results from get(),
98
    // we must initialize the entire wide stored type, and not just the
99
    // nominal type.
100
71
    using StorageType = typename PrimitiveTypeTraits<Type>::CppType;
101
71
    new (&storage) StorageType(std::move(x));
102
71
    type = Type;
103
    DCHECK_NE(type, PrimitiveType::INVALID_TYPE);
104
71
}
_ZN5doris5Field15create_concreteILNS_13PrimitiveTypeE19EEEvONS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
94
14
void Field::create_concrete(typename PrimitiveTypeTraits<Type>::CppType&& x) {
95
    // In both Field and PODArray, small types may be stored as wider types,
96
    // e.g. char is stored as UInt64. Field can return this extended value
97
    // with get<StorageType>(). To avoid uninitialized results from get(),
98
    // we must initialize the entire wide stored type, and not just the
99
    // nominal type.
100
14
    using StorageType = typename PrimitiveTypeTraits<Type>::CppType;
101
14
    new (&storage) StorageType(std::move(x));
102
14
    type = Type;
103
    DCHECK_NE(type, PrimitiveType::INVALID_TYPE);
104
14
}
_ZN5doris5Field15create_concreteILNS_13PrimitiveTypeE32EEEvONS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
94
244k
void Field::create_concrete(typename PrimitiveTypeTraits<Type>::CppType&& x) {
95
    // In both Field and PODArray, small types may be stored as wider types,
96
    // e.g. char is stored as UInt64. Field can return this extended value
97
    // with get<StorageType>(). To avoid uninitialized results from get(),
98
    // we must initialize the entire wide stored type, and not just the
99
    // nominal type.
100
244k
    using StorageType = typename PrimitiveTypeTraits<Type>::CppType;
101
244k
    new (&storage) StorageType(std::move(x));
102
244k
    type = Type;
103
    DCHECK_NE(type, PrimitiveType::INVALID_TYPE);
104
244k
}
_ZN5doris5Field15create_concreteILNS_13PrimitiveTypeE24EEEvONS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
94
12
void Field::create_concrete(typename PrimitiveTypeTraits<Type>::CppType&& x) {
95
    // In both Field and PODArray, small types may be stored as wider types,
96
    // e.g. char is stored as UInt64. Field can return this extended value
97
    // with get<StorageType>(). To avoid uninitialized results from get(),
98
    // we must initialize the entire wide stored type, and not just the
99
    // nominal type.
100
12
    using StorageType = typename PrimitiveTypeTraits<Type>::CppType;
101
12
    new (&storage) StorageType(std::move(x));
102
12
    type = Type;
103
    DCHECK_NE(type, PrimitiveType::INVALID_TYPE);
104
12
}
_ZN5doris5Field15create_concreteILNS_13PrimitiveTypeE17EEEvONS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
94
6.20M
void Field::create_concrete(typename PrimitiveTypeTraits<Type>::CppType&& x) {
95
    // In both Field and PODArray, small types may be stored as wider types,
96
    // e.g. char is stored as UInt64. Field can return this extended value
97
    // with get<StorageType>(). To avoid uninitialized results from get(),
98
    // we must initialize the entire wide stored type, and not just the
99
    // nominal type.
100
6.20M
    using StorageType = typename PrimitiveTypeTraits<Type>::CppType;
101
6.20M
    new (&storage) StorageType(std::move(x));
102
6.20M
    type = Type;
103
    DCHECK_NE(type, PrimitiveType::INVALID_TYPE);
104
6.20M
}
_ZN5doris5Field15create_concreteILNS_13PrimitiveTypeE42EEEvONS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
94
74.4k
void Field::create_concrete(typename PrimitiveTypeTraits<Type>::CppType&& x) {
95
    // In both Field and PODArray, small types may be stored as wider types,
96
    // e.g. char is stored as UInt64. Field can return this extended value
97
    // with get<StorageType>(). To avoid uninitialized results from get(),
98
    // we must initialize the entire wide stored type, and not just the
99
    // nominal type.
100
74.4k
    using StorageType = typename PrimitiveTypeTraits<Type>::CppType;
101
74.4k
    new (&storage) StorageType(std::move(x));
102
74.4k
    type = Type;
103
    DCHECK_NE(type, PrimitiveType::INVALID_TYPE);
104
74.4k
}
_ZN5doris5Field15create_concreteILNS_13PrimitiveTypeE36EEEvONS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
94
43.9k
void Field::create_concrete(typename PrimitiveTypeTraits<Type>::CppType&& x) {
95
    // In both Field and PODArray, small types may be stored as wider types,
96
    // e.g. char is stored as UInt64. Field can return this extended value
97
    // with get<StorageType>(). To avoid uninitialized results from get(),
98
    // we must initialize the entire wide stored type, and not just the
99
    // nominal type.
100
43.9k
    using StorageType = typename PrimitiveTypeTraits<Type>::CppType;
101
43.9k
    new (&storage) StorageType(std::move(x));
102
43.9k
    type = Type;
103
    DCHECK_NE(type, PrimitiveType::INVALID_TYPE);
104
43.9k
}
_ZN5doris5Field15create_concreteILNS_13PrimitiveTypeE37EEEvONS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
94
30.5k
void Field::create_concrete(typename PrimitiveTypeTraits<Type>::CppType&& x) {
95
    // In both Field and PODArray, small types may be stored as wider types,
96
    // e.g. char is stored as UInt64. Field can return this extended value
97
    // with get<StorageType>(). To avoid uninitialized results from get(),
98
    // we must initialize the entire wide stored type, and not just the
99
    // nominal type.
100
30.5k
    using StorageType = typename PrimitiveTypeTraits<Type>::CppType;
101
30.5k
    new (&storage) StorageType(std::move(x));
102
30.5k
    type = Type;
103
    DCHECK_NE(type, PrimitiveType::INVALID_TYPE);
104
30.5k
}
_ZN5doris5Field15create_concreteILNS_13PrimitiveTypeE2EEEvONS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
94
29.7M
void Field::create_concrete(typename PrimitiveTypeTraits<Type>::CppType&& x) {
95
    // In both Field and PODArray, small types may be stored as wider types,
96
    // e.g. char is stored as UInt64. Field can return this extended value
97
    // with get<StorageType>(). To avoid uninitialized results from get(),
98
    // we must initialize the entire wide stored type, and not just the
99
    // nominal type.
100
29.7M
    using StorageType = typename PrimitiveTypeTraits<Type>::CppType;
101
29.7M
    new (&storage) StorageType(std::move(x));
102
29.7M
    type = Type;
103
    DCHECK_NE(type, PrimitiveType::INVALID_TYPE);
104
29.7M
}
_ZN5doris5Field15create_concreteILNS_13PrimitiveTypeE8EEEvONS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
94
149k
void Field::create_concrete(typename PrimitiveTypeTraits<Type>::CppType&& x) {
95
    // In both Field and PODArray, small types may be stored as wider types,
96
    // e.g. char is stored as UInt64. Field can return this extended value
97
    // with get<StorageType>(). To avoid uninitialized results from get(),
98
    // we must initialize the entire wide stored type, and not just the
99
    // nominal type.
100
149k
    using StorageType = typename PrimitiveTypeTraits<Type>::CppType;
101
149k
    new (&storage) StorageType(std::move(x));
102
149k
    type = Type;
103
    DCHECK_NE(type, PrimitiveType::INVALID_TYPE);
104
149k
}
_ZN5doris5Field15create_concreteILNS_13PrimitiveTypeE9EEEvONS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
94
21.1M
void Field::create_concrete(typename PrimitiveTypeTraits<Type>::CppType&& x) {
95
    // In both Field and PODArray, small types may be stored as wider types,
96
    // e.g. char is stored as UInt64. Field can return this extended value
97
    // with get<StorageType>(). To avoid uninitialized results from get(),
98
    // we must initialize the entire wide stored type, and not just the
99
    // nominal type.
100
21.1M
    using StorageType = typename PrimitiveTypeTraits<Type>::CppType;
101
21.1M
    new (&storage) StorageType(std::move(x));
102
21.1M
    type = Type;
103
    DCHECK_NE(type, PrimitiveType::INVALID_TYPE);
104
21.1M
}
_ZN5doris5Field15create_concreteILNS_13PrimitiveTypeE31EEEvONS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
94
5.24M
void Field::create_concrete(typename PrimitiveTypeTraits<Type>::CppType&& x) {
95
    // In both Field and PODArray, small types may be stored as wider types,
96
    // e.g. char is stored as UInt64. Field can return this extended value
97
    // with get<StorageType>(). To avoid uninitialized results from get(),
98
    // we must initialize the entire wide stored type, and not just the
99
    // nominal type.
100
5.24M
    using StorageType = typename PrimitiveTypeTraits<Type>::CppType;
101
5.24M
    new (&storage) StorageType(std::move(x));
102
5.24M
    type = Type;
103
    DCHECK_NE(type, PrimitiveType::INVALID_TYPE);
104
5.24M
}
_ZN5doris5Field15create_concreteILNS_13PrimitiveTypeE16EEEvONS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
94
11.1k
void Field::create_concrete(typename PrimitiveTypeTraits<Type>::CppType&& x) {
95
    // In both Field and PODArray, small types may be stored as wider types,
96
    // e.g. char is stored as UInt64. Field can return this extended value
97
    // with get<StorageType>(). To avoid uninitialized results from get(),
98
    // we must initialize the entire wide stored type, and not just the
99
    // nominal type.
100
11.1k
    using StorageType = typename PrimitiveTypeTraits<Type>::CppType;
101
11.1k
    new (&storage) StorageType(std::move(x));
102
11.1k
    type = Type;
103
    DCHECK_NE(type, PrimitiveType::INVALID_TYPE);
104
11.1k
}
_ZN5doris5Field15create_concreteILNS_13PrimitiveTypeE18EEEvONS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
94
32.6k
void Field::create_concrete(typename PrimitiveTypeTraits<Type>::CppType&& x) {
95
    // In both Field and PODArray, small types may be stored as wider types,
96
    // e.g. char is stored as UInt64. Field can return this extended value
97
    // with get<StorageType>(). To avoid uninitialized results from get(),
98
    // we must initialize the entire wide stored type, and not just the
99
    // nominal type.
100
32.6k
    using StorageType = typename PrimitiveTypeTraits<Type>::CppType;
101
32.6k
    new (&storage) StorageType(std::move(x));
102
32.6k
    type = Type;
103
    DCHECK_NE(type, PrimitiveType::INVALID_TYPE);
104
32.6k
}
_ZN5doris5Field15create_concreteILNS_13PrimitiveTypeE22EEEvONS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
94
144
void Field::create_concrete(typename PrimitiveTypeTraits<Type>::CppType&& x) {
95
    // In both Field and PODArray, small types may be stored as wider types,
96
    // e.g. char is stored as UInt64. Field can return this extended value
97
    // with get<StorageType>(). To avoid uninitialized results from get(),
98
    // we must initialize the entire wide stored type, and not just the
99
    // nominal type.
100
144
    using StorageType = typename PrimitiveTypeTraits<Type>::CppType;
101
144
    new (&storage) StorageType(std::move(x));
102
144
    type = Type;
103
    DCHECK_NE(type, PrimitiveType::INVALID_TYPE);
104
144
}
_ZN5doris5Field15create_concreteILNS_13PrimitiveTypeE27EEEvONS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
94
160
void Field::create_concrete(typename PrimitiveTypeTraits<Type>::CppType&& x) {
95
    // In both Field and PODArray, small types may be stored as wider types,
96
    // e.g. char is stored as UInt64. Field can return this extended value
97
    // with get<StorageType>(). To avoid uninitialized results from get(),
98
    // we must initialize the entire wide stored type, and not just the
99
    // nominal type.
100
160
    using StorageType = typename PrimitiveTypeTraits<Type>::CppType;
101
160
    new (&storage) StorageType(std::move(x));
102
160
    type = Type;
103
    DCHECK_NE(type, PrimitiveType::INVALID_TYPE);
104
160
}
Unexecuted instantiation: _ZN5doris5Field15create_concreteILNS_13PrimitiveTypeE38EEEvONS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
_ZN5doris5Field15create_concreteILNS_13PrimitiveTypeE39EEEvONS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
94
40
void Field::create_concrete(typename PrimitiveTypeTraits<Type>::CppType&& x) {
95
    // In both Field and PODArray, small types may be stored as wider types,
96
    // e.g. char is stored as UInt64. Field can return this extended value
97
    // with get<StorageType>(). To avoid uninitialized results from get(),
98
    // we must initialize the entire wide stored type, and not just the
99
    // nominal type.
100
40
    using StorageType = typename PrimitiveTypeTraits<Type>::CppType;
101
40
    new (&storage) StorageType(std::move(x));
102
40
    type = Type;
103
    DCHECK_NE(type, PrimitiveType::INVALID_TYPE);
104
40
}
105
106
template <PrimitiveType Type>
107
270M
void Field::create_concrete(const typename PrimitiveTypeTraits<Type>::CppType& x) {
108
    // In both Field and PODArray, small types may be stored as wider types,
109
    // e.g. char is stored as UInt64. Field can return this extended value
110
    // with get<StorageType>(). To avoid uninitialized results from get(),
111
    // we must initialize the entire wide stored type, and not just the
112
    // nominal type.
113
270M
    using StorageType = typename PrimitiveTypeTraits<Type>::CppType;
114
270M
    new (&storage) StorageType(x);
115
270M
    type = Type;
116
270M
    DCHECK_NE(type, PrimitiveType::INVALID_TYPE);
117
270M
}
_ZN5doris5Field15create_concreteILNS_13PrimitiveTypeE1EEEvRKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
107
39.5M
void Field::create_concrete(const typename PrimitiveTypeTraits<Type>::CppType& x) {
108
    // In both Field and PODArray, small types may be stored as wider types,
109
    // e.g. char is stored as UInt64. Field can return this extended value
110
    // with get<StorageType>(). To avoid uninitialized results from get(),
111
    // we must initialize the entire wide stored type, and not just the
112
    // nominal type.
113
39.5M
    using StorageType = typename PrimitiveTypeTraits<Type>::CppType;
114
39.5M
    new (&storage) StorageType(x);
115
39.5M
    type = Type;
116
    DCHECK_NE(type, PrimitiveType::INVALID_TYPE);
117
39.5M
}
_ZN5doris5Field15create_concreteILNS_13PrimitiveTypeE3EEEvRKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
107
5.36M
void Field::create_concrete(const typename PrimitiveTypeTraits<Type>::CppType& x) {
108
    // In both Field and PODArray, small types may be stored as wider types,
109
    // e.g. char is stored as UInt64. Field can return this extended value
110
    // with get<StorageType>(). To avoid uninitialized results from get(),
111
    // we must initialize the entire wide stored type, and not just the
112
    // nominal type.
113
5.36M
    using StorageType = typename PrimitiveTypeTraits<Type>::CppType;
114
5.36M
    new (&storage) StorageType(x);
115
5.36M
    type = Type;
116
    DCHECK_NE(type, PrimitiveType::INVALID_TYPE);
117
5.36M
}
_ZN5doris5Field15create_concreteILNS_13PrimitiveTypeE4EEEvRKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
107
4.01M
void Field::create_concrete(const typename PrimitiveTypeTraits<Type>::CppType& x) {
108
    // In both Field and PODArray, small types may be stored as wider types,
109
    // e.g. char is stored as UInt64. Field can return this extended value
110
    // with get<StorageType>(). To avoid uninitialized results from get(),
111
    // we must initialize the entire wide stored type, and not just the
112
    // nominal type.
113
4.01M
    using StorageType = typename PrimitiveTypeTraits<Type>::CppType;
114
4.01M
    new (&storage) StorageType(x);
115
4.01M
    type = Type;
116
    DCHECK_NE(type, PrimitiveType::INVALID_TYPE);
117
4.01M
}
_ZN5doris5Field15create_concreteILNS_13PrimitiveTypeE5EEEvRKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
107
25.6M
void Field::create_concrete(const typename PrimitiveTypeTraits<Type>::CppType& x) {
108
    // In both Field and PODArray, small types may be stored as wider types,
109
    // e.g. char is stored as UInt64. Field can return this extended value
110
    // with get<StorageType>(). To avoid uninitialized results from get(),
111
    // we must initialize the entire wide stored type, and not just the
112
    // nominal type.
113
25.6M
    using StorageType = typename PrimitiveTypeTraits<Type>::CppType;
114
25.6M
    new (&storage) StorageType(x);
115
25.6M
    type = Type;
116
    DCHECK_NE(type, PrimitiveType::INVALID_TYPE);
117
25.6M
}
_ZN5doris5Field15create_concreteILNS_13PrimitiveTypeE6EEEvRKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
107
18.8M
void Field::create_concrete(const typename PrimitiveTypeTraits<Type>::CppType& x) {
108
    // In both Field and PODArray, small types may be stored as wider types,
109
    // e.g. char is stored as UInt64. Field can return this extended value
110
    // with get<StorageType>(). To avoid uninitialized results from get(),
111
    // we must initialize the entire wide stored type, and not just the
112
    // nominal type.
113
18.8M
    using StorageType = typename PrimitiveTypeTraits<Type>::CppType;
114
18.8M
    new (&storage) StorageType(x);
115
18.8M
    type = Type;
116
    DCHECK_NE(type, PrimitiveType::INVALID_TYPE);
117
18.8M
}
_ZN5doris5Field15create_concreteILNS_13PrimitiveTypeE7EEEvRKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
107
3.26M
void Field::create_concrete(const typename PrimitiveTypeTraits<Type>::CppType& x) {
108
    // In both Field and PODArray, small types may be stored as wider types,
109
    // e.g. char is stored as UInt64. Field can return this extended value
110
    // with get<StorageType>(). To avoid uninitialized results from get(),
111
    // we must initialize the entire wide stored type, and not just the
112
    // nominal type.
113
3.26M
    using StorageType = typename PrimitiveTypeTraits<Type>::CppType;
114
3.26M
    new (&storage) StorageType(x);
115
3.26M
    type = Type;
116
    DCHECK_NE(type, PrimitiveType::INVALID_TYPE);
117
3.26M
}
_ZN5doris5Field15create_concreteILNS_13PrimitiveTypeE11EEEvRKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
107
3.39M
void Field::create_concrete(const typename PrimitiveTypeTraits<Type>::CppType& x) {
108
    // In both Field and PODArray, small types may be stored as wider types,
109
    // e.g. char is stored as UInt64. Field can return this extended value
110
    // with get<StorageType>(). To avoid uninitialized results from get(),
111
    // we must initialize the entire wide stored type, and not just the
112
    // nominal type.
113
3.39M
    using StorageType = typename PrimitiveTypeTraits<Type>::CppType;
114
3.39M
    new (&storage) StorageType(x);
115
3.39M
    type = Type;
116
    DCHECK_NE(type, PrimitiveType::INVALID_TYPE);
117
3.39M
}
_ZN5doris5Field15create_concreteILNS_13PrimitiveTypeE12EEEvRKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
107
3.33M
void Field::create_concrete(const typename PrimitiveTypeTraits<Type>::CppType& x) {
108
    // In both Field and PODArray, small types may be stored as wider types,
109
    // e.g. char is stored as UInt64. Field can return this extended value
110
    // with get<StorageType>(). To avoid uninitialized results from get(),
111
    // we must initialize the entire wide stored type, and not just the
112
    // nominal type.
113
3.33M
    using StorageType = typename PrimitiveTypeTraits<Type>::CppType;
114
3.33M
    new (&storage) StorageType(x);
115
3.33M
    type = Type;
116
    DCHECK_NE(type, PrimitiveType::INVALID_TYPE);
117
3.33M
}
_ZN5doris5Field15create_concreteILNS_13PrimitiveTypeE25EEEvRKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
107
5.05M
void Field::create_concrete(const typename PrimitiveTypeTraits<Type>::CppType& x) {
108
    // In both Field and PODArray, small types may be stored as wider types,
109
    // e.g. char is stored as UInt64. Field can return this extended value
110
    // with get<StorageType>(). To avoid uninitialized results from get(),
111
    // we must initialize the entire wide stored type, and not just the
112
    // nominal type.
113
5.05M
    using StorageType = typename PrimitiveTypeTraits<Type>::CppType;
114
5.05M
    new (&storage) StorageType(x);
115
5.05M
    type = Type;
116
    DCHECK_NE(type, PrimitiveType::INVALID_TYPE);
117
5.05M
}
_ZN5doris5Field15create_concreteILNS_13PrimitiveTypeE26EEEvRKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
107
4.15M
void Field::create_concrete(const typename PrimitiveTypeTraits<Type>::CppType& x) {
108
    // In both Field and PODArray, small types may be stored as wider types,
109
    // e.g. char is stored as UInt64. Field can return this extended value
110
    // with get<StorageType>(). To avoid uninitialized results from get(),
111
    // we must initialize the entire wide stored type, and not just the
112
    // nominal type.
113
4.15M
    using StorageType = typename PrimitiveTypeTraits<Type>::CppType;
114
4.15M
    new (&storage) StorageType(x);
115
4.15M
    type = Type;
116
    DCHECK_NE(type, PrimitiveType::INVALID_TYPE);
117
4.15M
}
_ZN5doris5Field15create_concreteILNS_13PrimitiveTypeE43EEEvRKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
107
555
void Field::create_concrete(const typename PrimitiveTypeTraits<Type>::CppType& x) {
108
    // In both Field and PODArray, small types may be stored as wider types,
109
    // e.g. char is stored as UInt64. Field can return this extended value
110
    // with get<StorageType>(). To avoid uninitialized results from get(),
111
    // we must initialize the entire wide stored type, and not just the
112
    // nominal type.
113
555
    using StorageType = typename PrimitiveTypeTraits<Type>::CppType;
114
555
    new (&storage) StorageType(x);
115
555
    type = Type;
116
    DCHECK_NE(type, PrimitiveType::INVALID_TYPE);
117
555
}
_ZN5doris5Field15create_concreteILNS_13PrimitiveTypeE42EEEvRKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
107
47.2k
void Field::create_concrete(const typename PrimitiveTypeTraits<Type>::CppType& x) {
108
    // In both Field and PODArray, small types may be stored as wider types,
109
    // e.g. char is stored as UInt64. Field can return this extended value
110
    // with get<StorageType>(). To avoid uninitialized results from get(),
111
    // we must initialize the entire wide stored type, and not just the
112
    // nominal type.
113
47.2k
    using StorageType = typename PrimitiveTypeTraits<Type>::CppType;
114
47.2k
    new (&storage) StorageType(x);
115
47.2k
    type = Type;
116
    DCHECK_NE(type, PrimitiveType::INVALID_TYPE);
117
47.2k
}
_ZN5doris5Field15create_concreteILNS_13PrimitiveTypeE28EEEvRKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
107
3.61M
void Field::create_concrete(const typename PrimitiveTypeTraits<Type>::CppType& x) {
108
    // In both Field and PODArray, small types may be stored as wider types,
109
    // e.g. char is stored as UInt64. Field can return this extended value
110
    // with get<StorageType>(). To avoid uninitialized results from get(),
111
    // we must initialize the entire wide stored type, and not just the
112
    // nominal type.
113
3.61M
    using StorageType = typename PrimitiveTypeTraits<Type>::CppType;
114
3.61M
    new (&storage) StorageType(x);
115
3.61M
    type = Type;
116
    DCHECK_NE(type, PrimitiveType::INVALID_TYPE);
117
3.61M
}
_ZN5doris5Field15create_concreteILNS_13PrimitiveTypeE29EEEvRKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
107
3.62M
void Field::create_concrete(const typename PrimitiveTypeTraits<Type>::CppType& x) {
108
    // In both Field and PODArray, small types may be stored as wider types,
109
    // e.g. char is stored as UInt64. Field can return this extended value
110
    // with get<StorageType>(). To avoid uninitialized results from get(),
111
    // we must initialize the entire wide stored type, and not just the
112
    // nominal type.
113
3.62M
    using StorageType = typename PrimitiveTypeTraits<Type>::CppType;
114
3.62M
    new (&storage) StorageType(x);
115
3.62M
    type = Type;
116
    DCHECK_NE(type, PrimitiveType::INVALID_TYPE);
117
3.62M
}
_ZN5doris5Field15create_concreteILNS_13PrimitiveTypeE20EEEvRKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
107
9.99k
void Field::create_concrete(const typename PrimitiveTypeTraits<Type>::CppType& x) {
108
    // In both Field and PODArray, small types may be stored as wider types,
109
    // e.g. char is stored as UInt64. Field can return this extended value
110
    // with get<StorageType>(). To avoid uninitialized results from get(),
111
    // we must initialize the entire wide stored type, and not just the
112
    // nominal type.
113
9.99k
    using StorageType = typename PrimitiveTypeTraits<Type>::CppType;
114
9.99k
    new (&storage) StorageType(x);
115
9.99k
    type = Type;
116
    DCHECK_NE(type, PrimitiveType::INVALID_TYPE);
117
9.99k
}
_ZN5doris5Field15create_concreteILNS_13PrimitiveTypeE30EEEvRKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
107
3.52M
void Field::create_concrete(const typename PrimitiveTypeTraits<Type>::CppType& x) {
108
    // In both Field and PODArray, small types may be stored as wider types,
109
    // e.g. char is stored as UInt64. Field can return this extended value
110
    // with get<StorageType>(). To avoid uninitialized results from get(),
111
    // we must initialize the entire wide stored type, and not just the
112
    // nominal type.
113
3.52M
    using StorageType = typename PrimitiveTypeTraits<Type>::CppType;
114
3.52M
    new (&storage) StorageType(x);
115
3.52M
    type = Type;
116
    DCHECK_NE(type, PrimitiveType::INVALID_TYPE);
117
3.52M
}
_ZN5doris5Field15create_concreteILNS_13PrimitiveTypeE35EEEvRKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
107
3.71M
void Field::create_concrete(const typename PrimitiveTypeTraits<Type>::CppType& x) {
108
    // In both Field and PODArray, small types may be stored as wider types,
109
    // e.g. char is stored as UInt64. Field can return this extended value
110
    // with get<StorageType>(). To avoid uninitialized results from get(),
111
    // we must initialize the entire wide stored type, and not just the
112
    // nominal type.
113
3.71M
    using StorageType = typename PrimitiveTypeTraits<Type>::CppType;
114
3.71M
    new (&storage) StorageType(x);
115
3.71M
    type = Type;
116
    DCHECK_NE(type, PrimitiveType::INVALID_TYPE);
117
3.71M
}
_ZN5doris5Field15create_concreteILNS_13PrimitiveTypeE15EEEvRKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
107
3.83k
void Field::create_concrete(const typename PrimitiveTypeTraits<Type>::CppType& x) {
108
    // In both Field and PODArray, small types may be stored as wider types,
109
    // e.g. char is stored as UInt64. Field can return this extended value
110
    // with get<StorageType>(). To avoid uninitialized results from get(),
111
    // we must initialize the entire wide stored type, and not just the
112
    // nominal type.
113
3.83k
    using StorageType = typename PrimitiveTypeTraits<Type>::CppType;
114
3.83k
    new (&storage) StorageType(x);
115
3.83k
    type = Type;
116
    DCHECK_NE(type, PrimitiveType::INVALID_TYPE);
117
3.83k
}
_ZN5doris5Field15create_concreteILNS_13PrimitiveTypeE10EEEvRKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
107
7.86M
void Field::create_concrete(const typename PrimitiveTypeTraits<Type>::CppType& x) {
108
    // In both Field and PODArray, small types may be stored as wider types,
109
    // e.g. char is stored as UInt64. Field can return this extended value
110
    // with get<StorageType>(). To avoid uninitialized results from get(),
111
    // we must initialize the entire wide stored type, and not just the
112
    // nominal type.
113
7.86M
    using StorageType = typename PrimitiveTypeTraits<Type>::CppType;
114
7.86M
    new (&storage) StorageType(x);
115
7.86M
    type = Type;
116
    DCHECK_NE(type, PrimitiveType::INVALID_TYPE);
117
7.86M
}
_ZN5doris5Field15create_concreteILNS_13PrimitiveTypeE23EEEvRKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
107
7.38M
void Field::create_concrete(const typename PrimitiveTypeTraits<Type>::CppType& x) {
108
    // In both Field and PODArray, small types may be stored as wider types,
109
    // e.g. char is stored as UInt64. Field can return this extended value
110
    // with get<StorageType>(). To avoid uninitialized results from get(),
111
    // we must initialize the entire wide stored type, and not just the
112
    // nominal type.
113
7.38M
    using StorageType = typename PrimitiveTypeTraits<Type>::CppType;
114
7.38M
    new (&storage) StorageType(x);
115
7.38M
    type = Type;
116
    DCHECK_NE(type, PrimitiveType::INVALID_TYPE);
117
7.38M
}
_ZN5doris5Field15create_concreteILNS_13PrimitiveTypeE41EEEvRKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
107
21
void Field::create_concrete(const typename PrimitiveTypeTraits<Type>::CppType& x) {
108
    // In both Field and PODArray, small types may be stored as wider types,
109
    // e.g. char is stored as UInt64. Field can return this extended value
110
    // with get<StorageType>(). To avoid uninitialized results from get(),
111
    // we must initialize the entire wide stored type, and not just the
112
    // nominal type.
113
21
    using StorageType = typename PrimitiveTypeTraits<Type>::CppType;
114
21
    new (&storage) StorageType(x);
115
21
    type = Type;
116
    DCHECK_NE(type, PrimitiveType::INVALID_TYPE);
117
21
}
_ZN5doris5Field15create_concreteILNS_13PrimitiveTypeE19EEEvRKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
107
404
void Field::create_concrete(const typename PrimitiveTypeTraits<Type>::CppType& x) {
108
    // In both Field and PODArray, small types may be stored as wider types,
109
    // e.g. char is stored as UInt64. Field can return this extended value
110
    // with get<StorageType>(). To avoid uninitialized results from get(),
111
    // we must initialize the entire wide stored type, and not just the
112
    // nominal type.
113
404
    using StorageType = typename PrimitiveTypeTraits<Type>::CppType;
114
404
    new (&storage) StorageType(x);
115
404
    type = Type;
116
    DCHECK_NE(type, PrimitiveType::INVALID_TYPE);
117
404
}
_ZN5doris5Field15create_concreteILNS_13PrimitiveTypeE32EEEvRKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
107
5
void Field::create_concrete(const typename PrimitiveTypeTraits<Type>::CppType& x) {
108
    // In both Field and PODArray, small types may be stored as wider types,
109
    // e.g. char is stored as UInt64. Field can return this extended value
110
    // with get<StorageType>(). To avoid uninitialized results from get(),
111
    // we must initialize the entire wide stored type, and not just the
112
    // nominal type.
113
5
    using StorageType = typename PrimitiveTypeTraits<Type>::CppType;
114
5
    new (&storage) StorageType(x);
115
5
    type = Type;
116
    DCHECK_NE(type, PrimitiveType::INVALID_TYPE);
117
5
}
_ZN5doris5Field15create_concreteILNS_13PrimitiveTypeE24EEEvRKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
107
22.3k
void Field::create_concrete(const typename PrimitiveTypeTraits<Type>::CppType& x) {
108
    // In both Field and PODArray, small types may be stored as wider types,
109
    // e.g. char is stored as UInt64. Field can return this extended value
110
    // with get<StorageType>(). To avoid uninitialized results from get(),
111
    // we must initialize the entire wide stored type, and not just the
112
    // nominal type.
113
22.3k
    using StorageType = typename PrimitiveTypeTraits<Type>::CppType;
114
22.3k
    new (&storage) StorageType(x);
115
22.3k
    type = Type;
116
    DCHECK_NE(type, PrimitiveType::INVALID_TYPE);
117
22.3k
}
_ZN5doris5Field15create_concreteILNS_13PrimitiveTypeE17EEEvRKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
107
92.6M
void Field::create_concrete(const typename PrimitiveTypeTraits<Type>::CppType& x) {
108
    // In both Field and PODArray, small types may be stored as wider types,
109
    // e.g. char is stored as UInt64. Field can return this extended value
110
    // with get<StorageType>(). To avoid uninitialized results from get(),
111
    // we must initialize the entire wide stored type, and not just the
112
    // nominal type.
113
92.6M
    using StorageType = typename PrimitiveTypeTraits<Type>::CppType;
114
92.6M
    new (&storage) StorageType(x);
115
92.6M
    type = Type;
116
    DCHECK_NE(type, PrimitiveType::INVALID_TYPE);
117
92.6M
}
_ZN5doris5Field15create_concreteILNS_13PrimitiveTypeE36EEEvRKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
107
60.1k
void Field::create_concrete(const typename PrimitiveTypeTraits<Type>::CppType& x) {
108
    // In both Field and PODArray, small types may be stored as wider types,
109
    // e.g. char is stored as UInt64. Field can return this extended value
110
    // with get<StorageType>(). To avoid uninitialized results from get(),
111
    // we must initialize the entire wide stored type, and not just the
112
    // nominal type.
113
60.1k
    using StorageType = typename PrimitiveTypeTraits<Type>::CppType;
114
60.1k
    new (&storage) StorageType(x);
115
60.1k
    type = Type;
116
    DCHECK_NE(type, PrimitiveType::INVALID_TYPE);
117
60.1k
}
_ZN5doris5Field15create_concreteILNS_13PrimitiveTypeE37EEEvRKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
107
41.6k
void Field::create_concrete(const typename PrimitiveTypeTraits<Type>::CppType& x) {
108
    // In both Field and PODArray, small types may be stored as wider types,
109
    // e.g. char is stored as UInt64. Field can return this extended value
110
    // with get<StorageType>(). To avoid uninitialized results from get(),
111
    // we must initialize the entire wide stored type, and not just the
112
    // nominal type.
113
41.6k
    using StorageType = typename PrimitiveTypeTraits<Type>::CppType;
114
41.6k
    new (&storage) StorageType(x);
115
41.6k
    type = Type;
116
    DCHECK_NE(type, PrimitiveType::INVALID_TYPE);
117
41.6k
}
_ZN5doris5Field15create_concreteILNS_13PrimitiveTypeE2EEEvRKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
107
4.13M
void Field::create_concrete(const typename PrimitiveTypeTraits<Type>::CppType& x) {
108
    // In both Field and PODArray, small types may be stored as wider types,
109
    // e.g. char is stored as UInt64. Field can return this extended value
110
    // with get<StorageType>(). To avoid uninitialized results from get(),
111
    // we must initialize the entire wide stored type, and not just the
112
    // nominal type.
113
4.13M
    using StorageType = typename PrimitiveTypeTraits<Type>::CppType;
114
4.13M
    new (&storage) StorageType(x);
115
4.13M
    type = Type;
116
    DCHECK_NE(type, PrimitiveType::INVALID_TYPE);
117
4.13M
}
_ZN5doris5Field15create_concreteILNS_13PrimitiveTypeE8EEEvRKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
107
3.52M
void Field::create_concrete(const typename PrimitiveTypeTraits<Type>::CppType& x) {
108
    // In both Field and PODArray, small types may be stored as wider types,
109
    // e.g. char is stored as UInt64. Field can return this extended value
110
    // with get<StorageType>(). To avoid uninitialized results from get(),
111
    // we must initialize the entire wide stored type, and not just the
112
    // nominal type.
113
3.52M
    using StorageType = typename PrimitiveTypeTraits<Type>::CppType;
114
3.52M
    new (&storage) StorageType(x);
115
3.52M
    type = Type;
116
    DCHECK_NE(type, PrimitiveType::INVALID_TYPE);
117
3.52M
}
_ZN5doris5Field15create_concreteILNS_13PrimitiveTypeE9EEEvRKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
107
8.99M
void Field::create_concrete(const typename PrimitiveTypeTraits<Type>::CppType& x) {
108
    // In both Field and PODArray, small types may be stored as wider types,
109
    // e.g. char is stored as UInt64. Field can return this extended value
110
    // with get<StorageType>(). To avoid uninitialized results from get(),
111
    // we must initialize the entire wide stored type, and not just the
112
    // nominal type.
113
8.99M
    using StorageType = typename PrimitiveTypeTraits<Type>::CppType;
114
8.99M
    new (&storage) StorageType(x);
115
8.99M
    type = Type;
116
    DCHECK_NE(type, PrimitiveType::INVALID_TYPE);
117
8.99M
}
_ZN5doris5Field15create_concreteILNS_13PrimitiveTypeE31EEEvRKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
107
2.42M
void Field::create_concrete(const typename PrimitiveTypeTraits<Type>::CppType& x) {
108
    // In both Field and PODArray, small types may be stored as wider types,
109
    // e.g. char is stored as UInt64. Field can return this extended value
110
    // with get<StorageType>(). To avoid uninitialized results from get(),
111
    // we must initialize the entire wide stored type, and not just the
112
    // nominal type.
113
2.42M
    using StorageType = typename PrimitiveTypeTraits<Type>::CppType;
114
2.42M
    new (&storage) StorageType(x);
115
2.42M
    type = Type;
116
    DCHECK_NE(type, PrimitiveType::INVALID_TYPE);
117
2.42M
}
_ZN5doris5Field15create_concreteILNS_13PrimitiveTypeE16EEEvRKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
107
3.04M
void Field::create_concrete(const typename PrimitiveTypeTraits<Type>::CppType& x) {
108
    // In both Field and PODArray, small types may be stored as wider types,
109
    // e.g. char is stored as UInt64. Field can return this extended value
110
    // with get<StorageType>(). To avoid uninitialized results from get(),
111
    // we must initialize the entire wide stored type, and not just the
112
    // nominal type.
113
3.04M
    using StorageType = typename PrimitiveTypeTraits<Type>::CppType;
114
3.04M
    new (&storage) StorageType(x);
115
3.04M
    type = Type;
116
    DCHECK_NE(type, PrimitiveType::INVALID_TYPE);
117
3.04M
}
_ZN5doris5Field15create_concreteILNS_13PrimitiveTypeE18EEEvRKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
107
13.2M
void Field::create_concrete(const typename PrimitiveTypeTraits<Type>::CppType& x) {
108
    // In both Field and PODArray, small types may be stored as wider types,
109
    // e.g. char is stored as UInt64. Field can return this extended value
110
    // with get<StorageType>(). To avoid uninitialized results from get(),
111
    // we must initialize the entire wide stored type, and not just the
112
    // nominal type.
113
13.2M
    using StorageType = typename PrimitiveTypeTraits<Type>::CppType;
114
13.2M
    new (&storage) StorageType(x);
115
13.2M
    type = Type;
116
    DCHECK_NE(type, PrimitiveType::INVALID_TYPE);
117
13.2M
}
_ZN5doris5Field15create_concreteILNS_13PrimitiveTypeE22EEEvRKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
107
2.42k
void Field::create_concrete(const typename PrimitiveTypeTraits<Type>::CppType& x) {
108
    // In both Field and PODArray, small types may be stored as wider types,
109
    // e.g. char is stored as UInt64. Field can return this extended value
110
    // with get<StorageType>(). To avoid uninitialized results from get(),
111
    // we must initialize the entire wide stored type, and not just the
112
    // nominal type.
113
2.42k
    using StorageType = typename PrimitiveTypeTraits<Type>::CppType;
114
2.42k
    new (&storage) StorageType(x);
115
2.42k
    type = Type;
116
    DCHECK_NE(type, PrimitiveType::INVALID_TYPE);
117
2.42k
}
_ZN5doris5Field15create_concreteILNS_13PrimitiveTypeE27EEEvRKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
107
156
void Field::create_concrete(const typename PrimitiveTypeTraits<Type>::CppType& x) {
108
    // In both Field and PODArray, small types may be stored as wider types,
109
    // e.g. char is stored as UInt64. Field can return this extended value
110
    // with get<StorageType>(). To avoid uninitialized results from get(),
111
    // we must initialize the entire wide stored type, and not just the
112
    // nominal type.
113
156
    using StorageType = typename PrimitiveTypeTraits<Type>::CppType;
114
156
    new (&storage) StorageType(x);
115
156
    type = Type;
116
    DCHECK_NE(type, PrimitiveType::INVALID_TYPE);
117
156
}
Unexecuted instantiation: _ZN5doris5Field15create_concreteILNS_13PrimitiveTypeE38EEEvRKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Unexecuted instantiation: _ZN5doris5Field15create_concreteILNS_13PrimitiveTypeE39EEEvRKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
118
119
134M
void Field::create(Field&& field) {
120
134M
    switch (field.type) {
121
534k
    case PrimitiveType::TYPE_NULL:
122
534k
        create_concrete<TYPE_NULL>(std::move(field.template get<TYPE_NULL>()));
123
534k
        return;
124
322k
    case PrimitiveType::TYPE_DATETIMEV2:
125
322k
        create_concrete<TYPE_DATETIMEV2>(std::move(field.template get<TYPE_DATETIMEV2>()));
126
322k
        return;
127
3.19k
    case PrimitiveType::TYPE_TIMESTAMP_NS:
128
3.19k
        create_concrete<TYPE_TIMESTAMP_NS>(std::move(field.template get<TYPE_TIMESTAMP_NS>()));
129
3.19k
        return;
130
479k
    case PrimitiveType::TYPE_DATEV2:
131
479k
        create_concrete<TYPE_DATEV2>(std::move(field.template get<TYPE_DATEV2>()));
132
479k
        return;
133
39.9k
    case PrimitiveType::TYPE_TIMESTAMPTZ:
134
39.9k
        create_concrete<TYPE_TIMESTAMPTZ>(std::move(field.template get<TYPE_TIMESTAMPTZ>()));
135
39.9k
        return;
136
18.1k
    case PrimitiveType::TYPE_DATETIME:
137
18.1k
        create_concrete<TYPE_DATETIME>(std::move(field.template get<TYPE_DATETIME>()));
138
18.1k
        return;
139
14.0k
    case PrimitiveType::TYPE_DATE:
140
14.0k
        create_concrete<TYPE_DATE>(std::move(field.template get<TYPE_DATE>()));
141
14.0k
        return;
142
1.04M
    case PrimitiveType::TYPE_BOOLEAN:
143
1.04M
        create_concrete<TYPE_BOOLEAN>(std::move(field.template get<TYPE_BOOLEAN>()));
144
1.04M
        return;
145
5.07M
    case PrimitiveType::TYPE_TINYINT:
146
5.07M
        create_concrete<TYPE_TINYINT>(std::move(field.template get<TYPE_TINYINT>()));
147
5.07M
        return;
148
136k
    case PrimitiveType::TYPE_SMALLINT:
149
136k
        create_concrete<TYPE_SMALLINT>(std::move(field.template get<TYPE_SMALLINT>()));
150
136k
        return;
151
24.3M
    case PrimitiveType::TYPE_INT:
152
24.3M
        create_concrete<TYPE_INT>(std::move(field.template get<TYPE_INT>()));
153
24.3M
        return;
154
37.5M
    case PrimitiveType::TYPE_BIGINT:
155
37.5M
        create_concrete<TYPE_BIGINT>(std::move(field.template get<TYPE_BIGINT>()));
156
37.5M
        return;
157
188k
    case PrimitiveType::TYPE_LARGEINT:
158
188k
        create_concrete<TYPE_LARGEINT>(std::move(field.template get<TYPE_LARGEINT>()));
159
188k
        return;
160
38.0k
    case PrimitiveType::TYPE_IPV4:
161
38.0k
        create_concrete<TYPE_IPV4>(std::move(field.template get<TYPE_IPV4>()));
162
38.0k
        return;
163
26.6k
    case PrimitiveType::TYPE_IPV6:
164
26.6k
        create_concrete<TYPE_IPV6>(std::move(field.template get<TYPE_IPV6>()));
165
26.6k
        return;
166
89.5k
    case PrimitiveType::TYPE_FLOAT:
167
89.5k
        create_concrete<TYPE_FLOAT>(std::move(field.template get<TYPE_FLOAT>()));
168
89.5k
        return;
169
156
    case PrimitiveType::TYPE_TIMEV2:
170
156
        create_concrete<TYPE_TIMEV2>(std::move(field.template get<TYPE_TIMEV2>()));
171
156
        return;
172
18.1M
    case PrimitiveType::TYPE_DOUBLE:
173
18.1M
        create_concrete<TYPE_DOUBLE>(std::move(field.template get<TYPE_DOUBLE>()));
174
18.1M
        return;
175
39.5M
    case PrimitiveType::TYPE_STRING:
176
39.5M
        create_concrete<TYPE_STRING>(std::move(field.template get<TYPE_STRING>()));
177
39.5M
        return;
178
54.1k
    case PrimitiveType::TYPE_CHAR:
179
54.1k
        create_concrete<TYPE_CHAR>(std::move(field.template get<TYPE_CHAR>()));
180
54.1k
        return;
181
985k
    case PrimitiveType::TYPE_VARCHAR:
182
985k
        create_concrete<TYPE_VARCHAR>(std::move(field.template get<TYPE_VARCHAR>()));
183
985k
        return;
184
2.75M
    case PrimitiveType::TYPE_JSONB:
185
2.75M
        create_concrete<TYPE_JSONB>(std::move(field.template get<TYPE_JSONB>()));
186
2.75M
        return;
187
4.09M
    case PrimitiveType::TYPE_ARRAY:
188
4.09M
        create_concrete<TYPE_ARRAY>(std::move(field.template get<TYPE_ARRAY>()));
189
4.09M
        return;
190
5.39k
    case PrimitiveType::TYPE_STRUCT:
191
5.39k
        create_concrete<TYPE_STRUCT>(std::move(field.template get<TYPE_STRUCT>()));
192
5.39k
        return;
193
10.3k
    case PrimitiveType::TYPE_MAP:
194
10.3k
        create_concrete<TYPE_MAP>(std::move(field.template get<TYPE_MAP>()));
195
10.3k
        return;
196
59.2k
    case PrimitiveType::TYPE_DECIMAL32:
197
59.2k
        create_concrete<TYPE_DECIMAL32>(std::move(field.template get<TYPE_DECIMAL32>()));
198
59.2k
        return;
199
84.2k
    case PrimitiveType::TYPE_DECIMAL64:
200
84.2k
        create_concrete<TYPE_DECIMAL64>(std::move(field.template get<TYPE_DECIMAL64>()));
201
84.2k
        return;
202
7.27k
    case PrimitiveType::TYPE_DECIMALV2:
203
7.27k
        create_concrete<TYPE_DECIMALV2>(std::move(field.template get<TYPE_DECIMALV2>()));
204
7.27k
        return;
205
91.0k
    case PrimitiveType::TYPE_DECIMAL128I:
206
91.0k
        create_concrete<TYPE_DECIMAL128I>(std::move(field.template get<TYPE_DECIMAL128I>()));
207
91.0k
        return;
208
44.0k
    case PrimitiveType::TYPE_DECIMAL256:
209
44.0k
        create_concrete<TYPE_DECIMAL256>(std::move(field.template get<TYPE_DECIMAL256>()));
210
44.0k
        return;
211
119k
    case PrimitiveType::TYPE_VARIANT:
212
119k
        create_concrete<TYPE_VARIANT>(std::move(field.template get<TYPE_VARIANT>()));
213
119k
        return;
214
48
    case PrimitiveType::TYPE_BITMAP:
215
48
        create_concrete<TYPE_BITMAP>(std::move(field.template get<TYPE_BITMAP>()));
216
48
        return;
217
4
    case PrimitiveType::TYPE_HLL:
218
4
        create_concrete<TYPE_HLL>(std::move(field.template get<TYPE_HLL>()));
219
4
        return;
220
2
    case PrimitiveType::TYPE_QUANTILE_STATE:
221
2
        create_concrete<TYPE_QUANTILE_STATE>(std::move(field.template get<TYPE_QUANTILE_STATE>()));
222
2
        return;
223
29
    case PrimitiveType::TYPE_VARBINARY:
224
29
        create_concrete<TYPE_VARBINARY>(std::move(field.template get<TYPE_VARBINARY>()));
225
29
        return;
226
0
    default:
227
0
        throw Exception(Status::FatalError("type not supported, type={}", field.get_type_name()));
228
134M
    }
229
134M
}
230
231
221M
Field::Field(const Field& rhs) {
232
221M
    create(rhs);
233
221M
}
234
235
69.4M
Field::Field(Field&& rhs) {
236
69.4M
    create(std::move(rhs));
237
69.4M
}
238
239
8.04M
Field& Field::operator=(const Field& rhs) {
240
8.04M
    if (this != &rhs) {
241
8.04M
        if (type != rhs.type) {
242
6.60M
            destroy();
243
6.60M
            create(rhs);
244
6.60M
        } else {
245
1.43M
            assign(rhs); /// This assigns string or vector without deallocation of existing buffer.
246
1.43M
        }
247
8.04M
    }
248
8.04M
    return *this;
249
8.04M
}
250
251
228M
void Field::create(const Field& field) {
252
228M
    switch (field.type) {
253
39.5M
    case PrimitiveType::TYPE_NULL:
254
39.5M
        create_concrete<TYPE_NULL>(field.template get<TYPE_NULL>());
255
39.5M
        return;
256
4.05M
    case PrimitiveType::TYPE_DATETIMEV2:
257
4.05M
        create_concrete<TYPE_DATETIMEV2>(field.template get<TYPE_DATETIMEV2>());
258
4.05M
        return;
259
129
    case PrimitiveType::TYPE_TIMESTAMP_NS:
260
129
        create_concrete<TYPE_TIMESTAMP_NS>(field.template get<TYPE_TIMESTAMP_NS>());
261
129
        return;
262
4.49M
    case PrimitiveType::TYPE_DATEV2:
263
4.49M
        create_concrete<TYPE_DATEV2>(field.template get<TYPE_DATEV2>());
264
4.49M
        return;
265
29.8k
    case PrimitiveType::TYPE_TIMESTAMPTZ:
266
29.8k
        create_concrete<TYPE_TIMESTAMPTZ>(field.template get<TYPE_TIMESTAMPTZ>());
267
29.8k
        return;
268
3.32M
    case PrimitiveType::TYPE_DATETIME:
269
3.32M
        create_concrete<TYPE_DATETIME>(field.template get<TYPE_DATETIME>());
270
3.32M
        return;
271
3.38M
    case PrimitiveType::TYPE_DATE:
272
3.38M
        create_concrete<TYPE_DATE>(field.template get<TYPE_DATE>());
273
3.38M
        return;
274
3.97M
    case PrimitiveType::TYPE_BOOLEAN:
275
3.97M
        create_concrete<TYPE_BOOLEAN>(field.template get<TYPE_BOOLEAN>());
276
3.97M
        return;
277
4.96M
    case PrimitiveType::TYPE_TINYINT:
278
4.96M
        create_concrete<TYPE_TINYINT>(field.template get<TYPE_TINYINT>());
279
4.96M
        return;
280
3.96M
    case PrimitiveType::TYPE_SMALLINT:
281
3.96M
        create_concrete<TYPE_SMALLINT>(field.template get<TYPE_SMALLINT>());
282
3.96M
        return;
283
1.28M
    case PrimitiveType::TYPE_INT:
284
1.28M
        create_concrete<TYPE_INT>(field.template get<TYPE_INT>());
285
1.28M
        return;
286
9.14M
    case PrimitiveType::TYPE_BIGINT:
287
9.14M
        create_concrete<TYPE_BIGINT>(field.template get<TYPE_BIGINT>());
288
9.14M
        return;
289
3.22M
    case PrimitiveType::TYPE_LARGEINT:
290
3.22M
        create_concrete<TYPE_LARGEINT>(field.template get<TYPE_LARGEINT>());
291
3.22M
        return;
292
26.8k
    case PrimitiveType::TYPE_IPV4:
293
26.8k
        create_concrete<TYPE_IPV4>(field.template get<TYPE_IPV4>());
294
26.8k
        return;
295
17.5k
    case PrimitiveType::TYPE_IPV6:
296
17.5k
        create_concrete<TYPE_IPV6>(field.template get<TYPE_IPV6>());
297
17.5k
        return;
298
3.48M
    case PrimitiveType::TYPE_FLOAT:
299
3.48M
        create_concrete<TYPE_FLOAT>(field.template get<TYPE_FLOAT>());
300
3.48M
        return;
301
8
    case PrimitiveType::TYPE_TIMEV2:
302
8
        create_concrete<TYPE_TIMEV2>(field.template get<TYPE_TIMEV2>());
303
8
        return;
304
3.91M
    case PrimitiveType::TYPE_DOUBLE:
305
3.91M
        create_concrete<TYPE_DOUBLE>(field.template get<TYPE_DOUBLE>());
306
3.91M
        return;
307
6.46M
    case PrimitiveType::TYPE_STRING:
308
6.46M
        create_concrete<TYPE_STRING>(field.template get<TYPE_STRING>());
309
6.46M
        return;
310
2.90k
    case PrimitiveType::TYPE_CHAR:
311
2.90k
        create_concrete<TYPE_CHAR>(field.template get<TYPE_CHAR>());
312
2.90k
        return;
313
7.52M
    case PrimitiveType::TYPE_VARCHAR:
314
7.52M
        create_concrete<TYPE_VARCHAR>(field.template get<TYPE_VARCHAR>());
315
7.52M
        return;
316
2.42M
    case PrimitiveType::TYPE_JSONB:
317
2.42M
        create_concrete<TYPE_JSONB>(field.template get<TYPE_JSONB>());
318
2.42M
        return;
319
92.5M
    case PrimitiveType::TYPE_ARRAY:
320
92.5M
        create_concrete<TYPE_ARRAY>(field.template get<TYPE_ARRAY>());
321
92.5M
        return;
322
3.04M
    case PrimitiveType::TYPE_STRUCT:
323
3.04M
        create_concrete<TYPE_STRUCT>(field.template get<TYPE_STRUCT>());
324
3.04M
        return;
325
13.2M
    case PrimitiveType::TYPE_MAP:
326
13.2M
        create_concrete<TYPE_MAP>(field.template get<TYPE_MAP>());
327
13.2M
        return;
328
3.58M
    case PrimitiveType::TYPE_DECIMAL32:
329
3.58M
        create_concrete<TYPE_DECIMAL32>(field.template get<TYPE_DECIMAL32>());
330
3.58M
        return;
331
3.59M
    case PrimitiveType::TYPE_DECIMAL64:
332
3.59M
        create_concrete<TYPE_DECIMAL64>(field.template get<TYPE_DECIMAL64>());
333
3.59M
        return;
334
1.22k
    case PrimitiveType::TYPE_DECIMALV2:
335
1.22k
        create_concrete<TYPE_DECIMALV2>(field.template get<TYPE_DECIMALV2>());
336
1.22k
        return;
337
3.49M
    case PrimitiveType::TYPE_DECIMAL128I:
338
3.49M
        create_concrete<TYPE_DECIMAL128I>(field.template get<TYPE_DECIMAL128I>());
339
3.49M
        return;
340
3.67M
    case PrimitiveType::TYPE_DECIMAL256:
341
3.67M
        create_concrete<TYPE_DECIMAL256>(field.template get<TYPE_DECIMAL256>());
342
3.67M
        return;
343
5
    case PrimitiveType::TYPE_VARIANT:
344
5
        create_concrete<TYPE_VARIANT>(field.template get<TYPE_VARIANT>());
345
5
        return;
346
0
    case PrimitiveType::TYPE_BITMAP:
347
0
        create_concrete<TYPE_BITMAP>(field.template get<TYPE_BITMAP>());
348
0
        return;
349
0
    case PrimitiveType::TYPE_HLL:
350
0
        create_concrete<TYPE_HLL>(field.template get<TYPE_HLL>());
351
0
        return;
352
0
    case PrimitiveType::TYPE_QUANTILE_STATE:
353
0
        create_concrete<TYPE_QUANTILE_STATE>(field.template get<TYPE_QUANTILE_STATE>());
354
0
        return;
355
0
    case PrimitiveType::TYPE_UINT32:
356
0
        create_concrete<TYPE_UINT32>(field.template get<TYPE_UINT32>());
357
0
        return;
358
0
    case PrimitiveType::TYPE_UINT64:
359
0
        create_concrete<TYPE_UINT64>(field.template get<TYPE_UINT64>());
360
0
        return;
361
7
    case PrimitiveType::TYPE_VARBINARY:
362
7
        create_concrete<TYPE_VARBINARY>(field.template get<TYPE_VARBINARY>());
363
7
        return;
364
0
    default:
365
0
        throw Exception(Status::FatalError("type not supported, type={}", field.get_type_name()));
366
228M
    }
367
228M
}
368
369
652M
void Field::destroy() {
370
652M
    switch (type) {
371
68.5M
    case PrimitiveType::TYPE_STRING:
372
68.5M
        destroy<TYPE_STRING>();
373
68.5M
        break;
374
147k
    case PrimitiveType::TYPE_CHAR:
375
147k
        destroy<TYPE_CHAR>();
376
147k
        break;
377
9.84M
    case PrimitiveType::TYPE_VARCHAR:
378
9.84M
        destroy<TYPE_VARCHAR>();
379
9.84M
        break;
380
7.67M
    case PrimitiveType::TYPE_JSONB:
381
7.67M
        destroy<TYPE_JSONB>();
382
7.67M
        break;
383
98.8M
    case PrimitiveType::TYPE_ARRAY:
384
98.8M
        destroy<TYPE_ARRAY>();
385
98.8M
        break;
386
3.06M
    case PrimitiveType::TYPE_STRUCT:
387
3.06M
        destroy<TYPE_STRUCT>();
388
3.06M
        break;
389
13.2M
    case PrimitiveType::TYPE_MAP:
390
13.2M
        destroy<TYPE_MAP>();
391
13.2M
        break;
392
244k
    case PrimitiveType::TYPE_VARIANT:
393
244k
        destroy<TYPE_VARIANT>();
394
244k
        break;
395
2.56k
    case PrimitiveType::TYPE_BITMAP:
396
2.56k
        destroy<TYPE_BITMAP>();
397
2.56k
        break;
398
418
    case PrimitiveType::TYPE_HLL:
399
418
        destroy<TYPE_HLL>();
400
418
        break;
401
22.3k
    case PrimitiveType::TYPE_QUANTILE_STATE:
402
22.3k
        destroy<TYPE_QUANTILE_STATE>();
403
22.3k
        break;
404
92
    case PrimitiveType::TYPE_VARBINARY:
405
92
        destroy<TYPE_VARBINARY>();
406
92
        break;
407
453M
    default:
408
453M
        break;
409
652M
    }
410
411
652M
    type = PrimitiveType::
412
652M
            TYPE_NULL; /// for exception safety in subsequent calls to destroy and create, when create fails.
413
652M
}
414
415
37.5M
void Field::assign(Field&& field) {
416
37.5M
    switch (field.type) {
417
35.2M
    case PrimitiveType::TYPE_NULL:
418
35.2M
        assign_concrete<TYPE_NULL>(std::move(field.template get<TYPE_NULL>()));
419
35.2M
        return;
420
63.2k
    case PrimitiveType::TYPE_DATETIMEV2:
421
63.2k
        assign_concrete<TYPE_DATETIMEV2>(std::move(field.template get<TYPE_DATETIMEV2>()));
422
63.2k
        return;
423
163
    case PrimitiveType::TYPE_TIMESTAMP_NS:
424
163
        assign_concrete<TYPE_TIMESTAMP_NS>(std::move(field.template get<TYPE_TIMESTAMP_NS>()));
425
163
        return;
426
1.10k
    case PrimitiveType::TYPE_DATETIME:
427
1.10k
        assign_concrete<TYPE_DATETIME>(std::move(field.template get<TYPE_DATETIME>()));
428
1.10k
        return;
429
766
    case PrimitiveType::TYPE_DATE:
430
766
        assign_concrete<TYPE_DATE>(std::move(field.template get<TYPE_DATE>()));
431
766
        return;
432
60.7k
    case PrimitiveType::TYPE_DATEV2:
433
60.7k
        assign_concrete<TYPE_DATEV2>(std::move(field.template get<TYPE_DATEV2>()));
434
60.7k
        return;
435
7.02k
    case PrimitiveType::TYPE_TIMESTAMPTZ:
436
7.02k
        assign_concrete<TYPE_TIMESTAMPTZ>(std::move(field.template get<TYPE_TIMESTAMPTZ>()));
437
7.02k
        return;
438
20.7k
    case PrimitiveType::TYPE_BOOLEAN:
439
20.7k
        assign_concrete<TYPE_BOOLEAN>(std::move(field.template get<TYPE_BOOLEAN>()));
440
20.7k
        return;
441
76.2k
    case PrimitiveType::TYPE_TINYINT:
442
76.2k
        assign_concrete<TYPE_TINYINT>(std::move(field.template get<TYPE_TINYINT>()));
443
76.2k
        return;
444
22.9k
    case PrimitiveType::TYPE_SMALLINT:
445
22.9k
        assign_concrete<TYPE_SMALLINT>(std::move(field.template get<TYPE_SMALLINT>()));
446
22.9k
        return;
447
890k
    case PrimitiveType::TYPE_INT:
448
890k
        assign_concrete<TYPE_INT>(std::move(field.template get<TYPE_INT>()));
449
890k
        return;
450
271k
    case PrimitiveType::TYPE_BIGINT:
451
271k
        assign_concrete<TYPE_BIGINT>(std::move(field.template get<TYPE_BIGINT>()));
452
271k
        return;
453
34.6k
    case PrimitiveType::TYPE_LARGEINT:
454
34.6k
        assign_concrete<TYPE_LARGEINT>(std::move(field.template get<TYPE_LARGEINT>()));
455
34.6k
        return;
456
1.06k
    case PrimitiveType::TYPE_IPV4:
457
1.06k
        assign_concrete<TYPE_IPV4>(std::move(field.template get<TYPE_IPV4>()));
458
1.06k
        return;
459
1.08k
    case PrimitiveType::TYPE_IPV6:
460
1.08k
        assign_concrete<TYPE_IPV6>(std::move(field.template get<TYPE_IPV6>()));
461
1.08k
        return;
462
13.7k
    case PrimitiveType::TYPE_FLOAT:
463
13.7k
        assign_concrete<TYPE_FLOAT>(std::move(field.template get<TYPE_FLOAT>()));
464
13.7k
        return;
465
0
    case PrimitiveType::TYPE_TIMEV2:
466
0
        assign_concrete<TYPE_TIMEV2>(std::move(field.template get<TYPE_TIMEV2>()));
467
0
        return;
468
20.3k
    case PrimitiveType::TYPE_DOUBLE:
469
20.3k
        assign_concrete<TYPE_DOUBLE>(std::move(field.template get<TYPE_DOUBLE>()));
470
20.3k
        return;
471
165k
    case PrimitiveType::TYPE_STRING:
472
165k
        assign_concrete<TYPE_STRING>(std::move(field.template get<TYPE_STRING>()));
473
165k
        return;
474
35.0k
    case PrimitiveType::TYPE_CHAR:
475
35.0k
        assign_concrete<TYPE_CHAR>(std::move(field.template get<TYPE_CHAR>()));
476
35.0k
        return;
477
272k
    case PrimitiveType::TYPE_VARCHAR:
478
272k
        assign_concrete<TYPE_VARCHAR>(std::move(field.template get<TYPE_VARCHAR>()));
479
272k
        return;
480
207k
    case PrimitiveType::TYPE_JSONB:
481
207k
        assign_concrete<TYPE_JSONB>(std::move(field.template get<TYPE_JSONB>()));
482
207k
        return;
483
28.8k
    case PrimitiveType::TYPE_ARRAY:
484
28.8k
        assign_concrete<TYPE_ARRAY>(std::move(field.template get<TYPE_ARRAY>()));
485
28.8k
        return;
486
0
    case PrimitiveType::TYPE_STRUCT:
487
0
        assign_concrete<TYPE_STRUCT>(std::move(field.template get<TYPE_STRUCT>()));
488
0
        return;
489
1
    case PrimitiveType::TYPE_MAP:
490
1
        assign_concrete<TYPE_MAP>(std::move(field.template get<TYPE_MAP>()));
491
1
        return;
492
6.83k
    case PrimitiveType::TYPE_DECIMAL32:
493
6.83k
        assign_concrete<TYPE_DECIMAL32>(std::move(field.template get<TYPE_DECIMAL32>()));
494
6.83k
        return;
495
32.3k
    case PrimitiveType::TYPE_DECIMAL64:
496
32.3k
        assign_concrete<TYPE_DECIMAL64>(std::move(field.template get<TYPE_DECIMAL64>()));
497
32.3k
        return;
498
434
    case PrimitiveType::TYPE_DECIMALV2:
499
434
        assign_concrete<TYPE_DECIMALV2>(std::move(field.template get<TYPE_DECIMALV2>()));
500
434
        return;
501
20.1k
    case PrimitiveType::TYPE_DECIMAL128I:
502
20.1k
        assign_concrete<TYPE_DECIMAL128I>(std::move(field.template get<TYPE_DECIMAL128I>()));
503
20.1k
        return;
504
1.17k
    case PrimitiveType::TYPE_DECIMAL256:
505
1.17k
        assign_concrete<TYPE_DECIMAL256>(std::move(field.template get<TYPE_DECIMAL256>()));
506
1.17k
        return;
507
67
    case PrimitiveType::TYPE_VARIANT:
508
67
        assign_concrete<TYPE_VARIANT>(std::move(field.template get<TYPE_VARIANT>()));
509
67
        return;
510
44
    case PrimitiveType::TYPE_BITMAP:
511
44
        assign_concrete<TYPE_BITMAP>(std::move(field.template get<TYPE_BITMAP>()));
512
44
        return;
513
1
    case PrimitiveType::TYPE_HLL:
514
1
        assign_concrete<TYPE_HLL>(std::move(field.template get<TYPE_HLL>()));
515
1
        return;
516
1
    case PrimitiveType::TYPE_QUANTILE_STATE:
517
1
        assign_concrete<TYPE_QUANTILE_STATE>(std::move(field.template get<TYPE_QUANTILE_STATE>()));
518
1
        return;
519
0
    case PrimitiveType::TYPE_VARBINARY:
520
0
        assign_concrete<TYPE_VARBINARY>(std::move(field.template get<TYPE_VARBINARY>()));
521
0
        return;
522
0
    default:
523
0
        throw Exception(Status::FatalError("type not supported, type={}", field.get_type_name()));
524
37.5M
    }
525
37.5M
}
526
527
1.43M
void Field::assign(const Field& field) {
528
1.43M
    switch (field.type) {
529
209k
    case PrimitiveType::TYPE_NULL:
530
209k
        assign_concrete<TYPE_NULL>(field.template get<TYPE_NULL>());
531
209k
        return;
532
62.1k
    case PrimitiveType::TYPE_DATETIMEV2:
533
62.1k
        assign_concrete<TYPE_DATETIMEV2>(field.template get<TYPE_DATETIMEV2>());
534
62.1k
        return;
535
159
    case PrimitiveType::TYPE_TIMESTAMP_NS:
536
159
        assign_concrete<TYPE_TIMESTAMP_NS>(field.template get<TYPE_TIMESTAMP_NS>());
537
159
        return;
538
816
    case PrimitiveType::TYPE_DATETIME:
539
816
        assign_concrete<TYPE_DATETIME>(field.template get<TYPE_DATETIME>());
540
816
        return;
541
697
    case PrimitiveType::TYPE_DATE:
542
697
        assign_concrete<TYPE_DATE>(field.template get<TYPE_DATE>());
543
697
        return;
544
56.1k
    case PrimitiveType::TYPE_DATEV2:
545
56.1k
        assign_concrete<TYPE_DATEV2>(field.template get<TYPE_DATEV2>());
546
56.1k
        return;
547
7.02k
    case PrimitiveType::TYPE_TIMESTAMPTZ:
548
7.02k
        assign_concrete<TYPE_TIMESTAMPTZ>(field.template get<TYPE_TIMESTAMPTZ>());
549
7.02k
        return;
550
19.6k
    case PrimitiveType::TYPE_BOOLEAN:
551
19.6k
        assign_concrete<TYPE_BOOLEAN>(field.template get<TYPE_BOOLEAN>());
552
19.6k
        return;
553
76.0k
    case PrimitiveType::TYPE_TINYINT:
554
76.0k
        assign_concrete<TYPE_TINYINT>(field.template get<TYPE_TINYINT>());
555
76.0k
        return;
556
22.7k
    case PrimitiveType::TYPE_SMALLINT:
557
22.7k
        assign_concrete<TYPE_SMALLINT>(field.template get<TYPE_SMALLINT>());
558
22.7k
        return;
559
182k
    case PrimitiveType::TYPE_INT:
560
182k
        assign_concrete<TYPE_INT>(field.template get<TYPE_INT>());
561
182k
        return;
562
259k
    case PrimitiveType::TYPE_BIGINT:
563
259k
        assign_concrete<TYPE_BIGINT>(field.template get<TYPE_BIGINT>());
564
259k
        return;
565
32.3k
    case PrimitiveType::TYPE_LARGEINT:
566
32.3k
        assign_concrete<TYPE_LARGEINT>(field.template get<TYPE_LARGEINT>());
567
32.3k
        return;
568
1.06k
    case PrimitiveType::TYPE_IPV4:
569
1.06k
        assign_concrete<TYPE_IPV4>(field.template get<TYPE_IPV4>());
570
1.06k
        return;
571
1.08k
    case PrimitiveType::TYPE_IPV6:
572
1.08k
        assign_concrete<TYPE_IPV6>(field.template get<TYPE_IPV6>());
573
1.08k
        return;
574
13.5k
    case PrimitiveType::TYPE_FLOAT:
575
13.5k
        assign_concrete<TYPE_FLOAT>(field.template get<TYPE_FLOAT>());
576
13.5k
        return;
577
0
    case PrimitiveType::TYPE_TIMEV2:
578
0
        assign_concrete<TYPE_TIMEV2>(field.template get<TYPE_TIMEV2>());
579
0
        return;
580
18.2k
    case PrimitiveType::TYPE_DOUBLE:
581
18.2k
        assign_concrete<TYPE_DOUBLE>(field.template get<TYPE_DOUBLE>());
582
18.2k
        return;
583
114k
    case PrimitiveType::TYPE_STRING:
584
114k
        assign_concrete<TYPE_STRING>(field.template get<TYPE_STRING>());
585
114k
        return;
586
26.3k
    case PrimitiveType::TYPE_CHAR:
587
26.3k
        assign_concrete<TYPE_CHAR>(field.template get<TYPE_CHAR>());
588
26.3k
        return;
589
256k
    case PrimitiveType::TYPE_VARCHAR:
590
256k
        assign_concrete<TYPE_VARCHAR>(field.template get<TYPE_VARCHAR>());
591
256k
        return;
592
22
    case PrimitiveType::TYPE_JSONB:
593
22
        assign_concrete<TYPE_JSONB>(field.template get<TYPE_JSONB>());
594
22
        return;
595
34.2k
    case PrimitiveType::TYPE_ARRAY:
596
34.2k
        assign_concrete<TYPE_ARRAY>(field.template get<TYPE_ARRAY>());
597
34.2k
        return;
598
0
    case PrimitiveType::TYPE_STRUCT:
599
0
        assign_concrete<TYPE_STRUCT>(field.template get<TYPE_STRUCT>());
600
0
        return;
601
1
    case PrimitiveType::TYPE_MAP:
602
1
        assign_concrete<TYPE_MAP>(field.template get<TYPE_MAP>());
603
1
        return;
604
6.83k
    case PrimitiveType::TYPE_DECIMAL32:
605
6.83k
        assign_concrete<TYPE_DECIMAL32>(field.template get<TYPE_DECIMAL32>());
606
6.83k
        return;
607
18.4k
    case PrimitiveType::TYPE_DECIMAL64:
608
18.4k
        assign_concrete<TYPE_DECIMAL64>(field.template get<TYPE_DECIMAL64>());
609
18.4k
        return;
610
424
    case PrimitiveType::TYPE_DECIMALV2:
611
424
        assign_concrete<TYPE_DECIMALV2>(field.template get<TYPE_DECIMALV2>());
612
424
        return;
613
17.6k
    case PrimitiveType::TYPE_DECIMAL128I:
614
17.6k
        assign_concrete<TYPE_DECIMAL128I>(field.template get<TYPE_DECIMAL128I>());
615
17.6k
        return;
616
1.17k
    case PrimitiveType::TYPE_DECIMAL256:
617
1.17k
        assign_concrete<TYPE_DECIMAL256>(field.template get<TYPE_DECIMAL256>());
618
1.17k
        return;
619
0
    case PrimitiveType::TYPE_VARIANT:
620
0
        assign_concrete<TYPE_VARIANT>(field.template get<TYPE_VARIANT>());
621
0
        return;
622
2
    case PrimitiveType::TYPE_BITMAP:
623
2
        assign_concrete<TYPE_BITMAP>(field.template get<TYPE_BITMAP>());
624
2
        return;
625
1
    case PrimitiveType::TYPE_HLL:
626
1
        assign_concrete<TYPE_HLL>(field.template get<TYPE_HLL>());
627
1
        return;
628
1
    case PrimitiveType::TYPE_QUANTILE_STATE:
629
1
        assign_concrete<TYPE_QUANTILE_STATE>(field.template get<TYPE_QUANTILE_STATE>());
630
1
        return;
631
0
    case PrimitiveType::TYPE_UINT32:
632
0
        assign_concrete<TYPE_UINT32>(field.template get<TYPE_UINT32>());
633
0
        return;
634
0
    case PrimitiveType::TYPE_UINT64:
635
0
        assign_concrete<TYPE_UINT64>(field.template get<TYPE_UINT64>());
636
0
        return;
637
0
    case PrimitiveType::TYPE_VARBINARY:
638
0
        assign_concrete<TYPE_VARBINARY>(field.template get<TYPE_VARBINARY>());
639
0
        return;
640
0
    default:
641
0
        throw Exception(Status::FatalError("type not supported, type={}", field.get_type_name()));
642
1.43M
    }
643
1.43M
}
644
645
/// Assuming same types.
646
template <PrimitiveType Type>
647
37.4M
void Field::assign_concrete(typename PrimitiveTypeTraits<Type>::CppType&& x) {
648
37.4M
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<Type>::CppType*>(&storage);
649
37.4M
    *ptr = std::forward<typename PrimitiveTypeTraits<Type>::CppType>(x);
650
37.4M
}
_ZN5doris5Field15assign_concreteILNS_13PrimitiveTypeE1EEEvONS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
647
35.2M
void Field::assign_concrete(typename PrimitiveTypeTraits<Type>::CppType&& x) {
648
35.2M
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<Type>::CppType*>(&storage);
649
35.2M
    *ptr = std::forward<typename PrimitiveTypeTraits<Type>::CppType>(x);
650
35.2M
}
_ZN5doris5Field15assign_concreteILNS_13PrimitiveTypeE3EEEvONS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
647
76.2k
void Field::assign_concrete(typename PrimitiveTypeTraits<Type>::CppType&& x) {
648
76.2k
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<Type>::CppType*>(&storage);
649
76.2k
    *ptr = std::forward<typename PrimitiveTypeTraits<Type>::CppType>(x);
650
76.2k
}
_ZN5doris5Field15assign_concreteILNS_13PrimitiveTypeE4EEEvONS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
647
22.9k
void Field::assign_concrete(typename PrimitiveTypeTraits<Type>::CppType&& x) {
648
22.9k
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<Type>::CppType*>(&storage);
649
22.9k
    *ptr = std::forward<typename PrimitiveTypeTraits<Type>::CppType>(x);
650
22.9k
}
_ZN5doris5Field15assign_concreteILNS_13PrimitiveTypeE5EEEvONS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
647
890k
void Field::assign_concrete(typename PrimitiveTypeTraits<Type>::CppType&& x) {
648
890k
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<Type>::CppType*>(&storage);
649
890k
    *ptr = std::forward<typename PrimitiveTypeTraits<Type>::CppType>(x);
650
890k
}
_ZN5doris5Field15assign_concreteILNS_13PrimitiveTypeE6EEEvONS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
647
271k
void Field::assign_concrete(typename PrimitiveTypeTraits<Type>::CppType&& x) {
648
271k
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<Type>::CppType*>(&storage);
649
271k
    *ptr = std::forward<typename PrimitiveTypeTraits<Type>::CppType>(x);
650
271k
}
_ZN5doris5Field15assign_concreteILNS_13PrimitiveTypeE7EEEvONS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
647
34.6k
void Field::assign_concrete(typename PrimitiveTypeTraits<Type>::CppType&& x) {
648
34.6k
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<Type>::CppType*>(&storage);
649
34.6k
    *ptr = std::forward<typename PrimitiveTypeTraits<Type>::CppType>(x);
650
34.6k
}
_ZN5doris5Field15assign_concreteILNS_13PrimitiveTypeE11EEEvONS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
647
766
void Field::assign_concrete(typename PrimitiveTypeTraits<Type>::CppType&& x) {
648
766
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<Type>::CppType*>(&storage);
649
766
    *ptr = std::forward<typename PrimitiveTypeTraits<Type>::CppType>(x);
650
766
}
_ZN5doris5Field15assign_concreteILNS_13PrimitiveTypeE12EEEvONS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
647
1.10k
void Field::assign_concrete(typename PrimitiveTypeTraits<Type>::CppType&& x) {
648
1.10k
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<Type>::CppType*>(&storage);
649
1.10k
    *ptr = std::forward<typename PrimitiveTypeTraits<Type>::CppType>(x);
650
1.10k
}
_ZN5doris5Field15assign_concreteILNS_13PrimitiveTypeE25EEEvONS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
647
60.7k
void Field::assign_concrete(typename PrimitiveTypeTraits<Type>::CppType&& x) {
648
60.7k
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<Type>::CppType*>(&storage);
649
60.7k
    *ptr = std::forward<typename PrimitiveTypeTraits<Type>::CppType>(x);
650
60.7k
}
_ZN5doris5Field15assign_concreteILNS_13PrimitiveTypeE26EEEvONS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
647
63.2k
void Field::assign_concrete(typename PrimitiveTypeTraits<Type>::CppType&& x) {
648
63.2k
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<Type>::CppType*>(&storage);
649
63.2k
    *ptr = std::forward<typename PrimitiveTypeTraits<Type>::CppType>(x);
650
63.2k
}
_ZN5doris5Field15assign_concreteILNS_13PrimitiveTypeE43EEEvONS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
647
165
void Field::assign_concrete(typename PrimitiveTypeTraits<Type>::CppType&& x) {
648
165
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<Type>::CppType*>(&storage);
649
165
    *ptr = std::forward<typename PrimitiveTypeTraits<Type>::CppType>(x);
650
165
}
_ZN5doris5Field15assign_concreteILNS_13PrimitiveTypeE28EEEvONS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
647
6.83k
void Field::assign_concrete(typename PrimitiveTypeTraits<Type>::CppType&& x) {
648
6.83k
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<Type>::CppType*>(&storage);
649
6.83k
    *ptr = std::forward<typename PrimitiveTypeTraits<Type>::CppType>(x);
650
6.83k
}
_ZN5doris5Field15assign_concreteILNS_13PrimitiveTypeE29EEEvONS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
647
32.3k
void Field::assign_concrete(typename PrimitiveTypeTraits<Type>::CppType&& x) {
648
32.3k
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<Type>::CppType*>(&storage);
649
32.3k
    *ptr = std::forward<typename PrimitiveTypeTraits<Type>::CppType>(x);
650
32.3k
}
_ZN5doris5Field15assign_concreteILNS_13PrimitiveTypeE20EEEvONS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
647
434
void Field::assign_concrete(typename PrimitiveTypeTraits<Type>::CppType&& x) {
648
434
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<Type>::CppType*>(&storage);
649
434
    *ptr = std::forward<typename PrimitiveTypeTraits<Type>::CppType>(x);
650
434
}
_ZN5doris5Field15assign_concreteILNS_13PrimitiveTypeE30EEEvONS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
647
20.1k
void Field::assign_concrete(typename PrimitiveTypeTraits<Type>::CppType&& x) {
648
20.1k
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<Type>::CppType*>(&storage);
649
20.1k
    *ptr = std::forward<typename PrimitiveTypeTraits<Type>::CppType>(x);
650
20.1k
}
_ZN5doris5Field15assign_concreteILNS_13PrimitiveTypeE35EEEvONS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
647
1.17k
void Field::assign_concrete(typename PrimitiveTypeTraits<Type>::CppType&& x) {
648
1.17k
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<Type>::CppType*>(&storage);
649
1.17k
    *ptr = std::forward<typename PrimitiveTypeTraits<Type>::CppType>(x);
650
1.17k
}
_ZN5doris5Field15assign_concreteILNS_13PrimitiveTypeE15EEEvONS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
647
35.0k
void Field::assign_concrete(typename PrimitiveTypeTraits<Type>::CppType&& x) {
648
35.0k
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<Type>::CppType*>(&storage);
649
35.0k
    *ptr = std::forward<typename PrimitiveTypeTraits<Type>::CppType>(x);
650
35.0k
}
_ZN5doris5Field15assign_concreteILNS_13PrimitiveTypeE10EEEvONS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
647
272k
void Field::assign_concrete(typename PrimitiveTypeTraits<Type>::CppType&& x) {
648
272k
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<Type>::CppType*>(&storage);
649
272k
    *ptr = std::forward<typename PrimitiveTypeTraits<Type>::CppType>(x);
650
272k
}
_ZN5doris5Field15assign_concreteILNS_13PrimitiveTypeE23EEEvONS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
647
165k
void Field::assign_concrete(typename PrimitiveTypeTraits<Type>::CppType&& x) {
648
165k
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<Type>::CppType*>(&storage);
649
165k
    *ptr = std::forward<typename PrimitiveTypeTraits<Type>::CppType>(x);
650
165k
}
Unexecuted instantiation: _ZN5doris5Field15assign_concreteILNS_13PrimitiveTypeE41EEEvONS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
_ZN5doris5Field15assign_concreteILNS_13PrimitiveTypeE19EEEvONS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
647
1
void Field::assign_concrete(typename PrimitiveTypeTraits<Type>::CppType&& x) {
648
1
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<Type>::CppType*>(&storage);
649
1
    *ptr = std::forward<typename PrimitiveTypeTraits<Type>::CppType>(x);
650
1
}
_ZN5doris5Field15assign_concreteILNS_13PrimitiveTypeE32EEEvONS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
647
67
void Field::assign_concrete(typename PrimitiveTypeTraits<Type>::CppType&& x) {
648
67
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<Type>::CppType*>(&storage);
649
67
    *ptr = std::forward<typename PrimitiveTypeTraits<Type>::CppType>(x);
650
67
}
_ZN5doris5Field15assign_concreteILNS_13PrimitiveTypeE24EEEvONS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
647
1
void Field::assign_concrete(typename PrimitiveTypeTraits<Type>::CppType&& x) {
648
1
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<Type>::CppType*>(&storage);
649
1
    *ptr = std::forward<typename PrimitiveTypeTraits<Type>::CppType>(x);
650
1
}
_ZN5doris5Field15assign_concreteILNS_13PrimitiveTypeE17EEEvONS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
647
28.8k
void Field::assign_concrete(typename PrimitiveTypeTraits<Type>::CppType&& x) {
648
28.8k
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<Type>::CppType*>(&storage);
649
28.8k
    *ptr = std::forward<typename PrimitiveTypeTraits<Type>::CppType>(x);
650
28.8k
}
_ZN5doris5Field15assign_concreteILNS_13PrimitiveTypeE42EEEvONS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
647
7.02k
void Field::assign_concrete(typename PrimitiveTypeTraits<Type>::CppType&& x) {
648
7.02k
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<Type>::CppType*>(&storage);
649
7.02k
    *ptr = std::forward<typename PrimitiveTypeTraits<Type>::CppType>(x);
650
7.02k
}
_ZN5doris5Field15assign_concreteILNS_13PrimitiveTypeE36EEEvONS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
647
1.06k
void Field::assign_concrete(typename PrimitiveTypeTraits<Type>::CppType&& x) {
648
1.06k
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<Type>::CppType*>(&storage);
649
1.06k
    *ptr = std::forward<typename PrimitiveTypeTraits<Type>::CppType>(x);
650
1.06k
}
_ZN5doris5Field15assign_concreteILNS_13PrimitiveTypeE37EEEvONS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
647
1.08k
void Field::assign_concrete(typename PrimitiveTypeTraits<Type>::CppType&& x) {
648
1.08k
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<Type>::CppType*>(&storage);
649
1.08k
    *ptr = std::forward<typename PrimitiveTypeTraits<Type>::CppType>(x);
650
1.08k
}
_ZN5doris5Field15assign_concreteILNS_13PrimitiveTypeE2EEEvONS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
647
20.7k
void Field::assign_concrete(typename PrimitiveTypeTraits<Type>::CppType&& x) {
648
20.7k
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<Type>::CppType*>(&storage);
649
20.7k
    *ptr = std::forward<typename PrimitiveTypeTraits<Type>::CppType>(x);
650
20.7k
}
_ZN5doris5Field15assign_concreteILNS_13PrimitiveTypeE8EEEvONS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
647
13.7k
void Field::assign_concrete(typename PrimitiveTypeTraits<Type>::CppType&& x) {
648
13.7k
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<Type>::CppType*>(&storage);
649
13.7k
    *ptr = std::forward<typename PrimitiveTypeTraits<Type>::CppType>(x);
650
13.7k
}
_ZN5doris5Field15assign_concreteILNS_13PrimitiveTypeE9EEEvONS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
647
20.3k
void Field::assign_concrete(typename PrimitiveTypeTraits<Type>::CppType&& x) {
648
20.3k
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<Type>::CppType*>(&storage);
649
20.3k
    *ptr = std::forward<typename PrimitiveTypeTraits<Type>::CppType>(x);
650
20.3k
}
_ZN5doris5Field15assign_concreteILNS_13PrimitiveTypeE31EEEvONS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
647
207k
void Field::assign_concrete(typename PrimitiveTypeTraits<Type>::CppType&& x) {
648
207k
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<Type>::CppType*>(&storage);
649
207k
    *ptr = std::forward<typename PrimitiveTypeTraits<Type>::CppType>(x);
650
207k
}
Unexecuted instantiation: _ZN5doris5Field15assign_concreteILNS_13PrimitiveTypeE16EEEvONS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
_ZN5doris5Field15assign_concreteILNS_13PrimitiveTypeE18EEEvONS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
647
1
void Field::assign_concrete(typename PrimitiveTypeTraits<Type>::CppType&& x) {
648
1
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<Type>::CppType*>(&storage);
649
1
    *ptr = std::forward<typename PrimitiveTypeTraits<Type>::CppType>(x);
650
1
}
_ZN5doris5Field15assign_concreteILNS_13PrimitiveTypeE22EEEvONS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
647
44
void Field::assign_concrete(typename PrimitiveTypeTraits<Type>::CppType&& x) {
648
44
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<Type>::CppType*>(&storage);
649
44
    *ptr = std::forward<typename PrimitiveTypeTraits<Type>::CppType>(x);
650
44
}
Unexecuted instantiation: _ZN5doris5Field15assign_concreteILNS_13PrimitiveTypeE27EEEvONS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Unexecuted instantiation: _ZN5doris5Field15assign_concreteILNS_13PrimitiveTypeE38EEEvONS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Unexecuted instantiation: _ZN5doris5Field15assign_concreteILNS_13PrimitiveTypeE39EEEvONS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
651
652
template <PrimitiveType Type>
653
1.43M
void Field::assign_concrete(const typename PrimitiveTypeTraits<Type>::CppType& x) {
654
1.43M
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<Type>::CppType*>(&storage);
655
1.43M
    *ptr = std::forward<const typename PrimitiveTypeTraits<Type>::CppType>(x);
656
1.43M
}
_ZN5doris5Field15assign_concreteILNS_13PrimitiveTypeE1EEEvRKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
653
209k
void Field::assign_concrete(const typename PrimitiveTypeTraits<Type>::CppType& x) {
654
209k
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<Type>::CppType*>(&storage);
655
209k
    *ptr = std::forward<const typename PrimitiveTypeTraits<Type>::CppType>(x);
656
209k
}
_ZN5doris5Field15assign_concreteILNS_13PrimitiveTypeE3EEEvRKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
653
76.0k
void Field::assign_concrete(const typename PrimitiveTypeTraits<Type>::CppType& x) {
654
76.0k
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<Type>::CppType*>(&storage);
655
76.0k
    *ptr = std::forward<const typename PrimitiveTypeTraits<Type>::CppType>(x);
656
76.0k
}
_ZN5doris5Field15assign_concreteILNS_13PrimitiveTypeE4EEEvRKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
653
22.8k
void Field::assign_concrete(const typename PrimitiveTypeTraits<Type>::CppType& x) {
654
22.8k
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<Type>::CppType*>(&storage);
655
22.8k
    *ptr = std::forward<const typename PrimitiveTypeTraits<Type>::CppType>(x);
656
22.8k
}
_ZN5doris5Field15assign_concreteILNS_13PrimitiveTypeE5EEEvRKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
653
182k
void Field::assign_concrete(const typename PrimitiveTypeTraits<Type>::CppType& x) {
654
182k
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<Type>::CppType*>(&storage);
655
182k
    *ptr = std::forward<const typename PrimitiveTypeTraits<Type>::CppType>(x);
656
182k
}
_ZN5doris5Field15assign_concreteILNS_13PrimitiveTypeE6EEEvRKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
653
259k
void Field::assign_concrete(const typename PrimitiveTypeTraits<Type>::CppType& x) {
654
259k
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<Type>::CppType*>(&storage);
655
259k
    *ptr = std::forward<const typename PrimitiveTypeTraits<Type>::CppType>(x);
656
259k
}
_ZN5doris5Field15assign_concreteILNS_13PrimitiveTypeE7EEEvRKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
653
32.3k
void Field::assign_concrete(const typename PrimitiveTypeTraits<Type>::CppType& x) {
654
32.3k
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<Type>::CppType*>(&storage);
655
32.3k
    *ptr = std::forward<const typename PrimitiveTypeTraits<Type>::CppType>(x);
656
32.3k
}
_ZN5doris5Field15assign_concreteILNS_13PrimitiveTypeE11EEEvRKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
653
697
void Field::assign_concrete(const typename PrimitiveTypeTraits<Type>::CppType& x) {
654
697
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<Type>::CppType*>(&storage);
655
697
    *ptr = std::forward<const typename PrimitiveTypeTraits<Type>::CppType>(x);
656
697
}
_ZN5doris5Field15assign_concreteILNS_13PrimitiveTypeE12EEEvRKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
653
816
void Field::assign_concrete(const typename PrimitiveTypeTraits<Type>::CppType& x) {
654
816
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<Type>::CppType*>(&storage);
655
816
    *ptr = std::forward<const typename PrimitiveTypeTraits<Type>::CppType>(x);
656
816
}
_ZN5doris5Field15assign_concreteILNS_13PrimitiveTypeE25EEEvRKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
653
56.1k
void Field::assign_concrete(const typename PrimitiveTypeTraits<Type>::CppType& x) {
654
56.1k
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<Type>::CppType*>(&storage);
655
56.1k
    *ptr = std::forward<const typename PrimitiveTypeTraits<Type>::CppType>(x);
656
56.1k
}
_ZN5doris5Field15assign_concreteILNS_13PrimitiveTypeE26EEEvRKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
653
62.1k
void Field::assign_concrete(const typename PrimitiveTypeTraits<Type>::CppType& x) {
654
62.1k
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<Type>::CppType*>(&storage);
655
62.1k
    *ptr = std::forward<const typename PrimitiveTypeTraits<Type>::CppType>(x);
656
62.1k
}
_ZN5doris5Field15assign_concreteILNS_13PrimitiveTypeE43EEEvRKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
653
160
void Field::assign_concrete(const typename PrimitiveTypeTraits<Type>::CppType& x) {
654
160
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<Type>::CppType*>(&storage);
655
160
    *ptr = std::forward<const typename PrimitiveTypeTraits<Type>::CppType>(x);
656
160
}
_ZN5doris5Field15assign_concreteILNS_13PrimitiveTypeE42EEEvRKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
653
7.02k
void Field::assign_concrete(const typename PrimitiveTypeTraits<Type>::CppType& x) {
654
7.02k
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<Type>::CppType*>(&storage);
655
7.02k
    *ptr = std::forward<const typename PrimitiveTypeTraits<Type>::CppType>(x);
656
7.02k
}
_ZN5doris5Field15assign_concreteILNS_13PrimitiveTypeE28EEEvRKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
653
6.83k
void Field::assign_concrete(const typename PrimitiveTypeTraits<Type>::CppType& x) {
654
6.83k
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<Type>::CppType*>(&storage);
655
6.83k
    *ptr = std::forward<const typename PrimitiveTypeTraits<Type>::CppType>(x);
656
6.83k
}
_ZN5doris5Field15assign_concreteILNS_13PrimitiveTypeE29EEEvRKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
653
18.4k
void Field::assign_concrete(const typename PrimitiveTypeTraits<Type>::CppType& x) {
654
18.4k
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<Type>::CppType*>(&storage);
655
18.4k
    *ptr = std::forward<const typename PrimitiveTypeTraits<Type>::CppType>(x);
656
18.4k
}
_ZN5doris5Field15assign_concreteILNS_13PrimitiveTypeE20EEEvRKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
653
424
void Field::assign_concrete(const typename PrimitiveTypeTraits<Type>::CppType& x) {
654
424
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<Type>::CppType*>(&storage);
655
424
    *ptr = std::forward<const typename PrimitiveTypeTraits<Type>::CppType>(x);
656
424
}
_ZN5doris5Field15assign_concreteILNS_13PrimitiveTypeE30EEEvRKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
653
17.6k
void Field::assign_concrete(const typename PrimitiveTypeTraits<Type>::CppType& x) {
654
17.6k
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<Type>::CppType*>(&storage);
655
17.6k
    *ptr = std::forward<const typename PrimitiveTypeTraits<Type>::CppType>(x);
656
17.6k
}
_ZN5doris5Field15assign_concreteILNS_13PrimitiveTypeE35EEEvRKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
653
1.17k
void Field::assign_concrete(const typename PrimitiveTypeTraits<Type>::CppType& x) {
654
1.17k
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<Type>::CppType*>(&storage);
655
1.17k
    *ptr = std::forward<const typename PrimitiveTypeTraits<Type>::CppType>(x);
656
1.17k
}
_ZN5doris5Field15assign_concreteILNS_13PrimitiveTypeE15EEEvRKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
653
26.3k
void Field::assign_concrete(const typename PrimitiveTypeTraits<Type>::CppType& x) {
654
26.3k
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<Type>::CppType*>(&storage);
655
26.3k
    *ptr = std::forward<const typename PrimitiveTypeTraits<Type>::CppType>(x);
656
26.3k
}
_ZN5doris5Field15assign_concreteILNS_13PrimitiveTypeE10EEEvRKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
653
256k
void Field::assign_concrete(const typename PrimitiveTypeTraits<Type>::CppType& x) {
654
256k
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<Type>::CppType*>(&storage);
655
256k
    *ptr = std::forward<const typename PrimitiveTypeTraits<Type>::CppType>(x);
656
256k
}
_ZN5doris5Field15assign_concreteILNS_13PrimitiveTypeE23EEEvRKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
653
114k
void Field::assign_concrete(const typename PrimitiveTypeTraits<Type>::CppType& x) {
654
114k
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<Type>::CppType*>(&storage);
655
114k
    *ptr = std::forward<const typename PrimitiveTypeTraits<Type>::CppType>(x);
656
114k
}
Unexecuted instantiation: _ZN5doris5Field15assign_concreteILNS_13PrimitiveTypeE41EEEvRKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
_ZN5doris5Field15assign_concreteILNS_13PrimitiveTypeE19EEEvRKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
653
1
void Field::assign_concrete(const typename PrimitiveTypeTraits<Type>::CppType& x) {
654
1
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<Type>::CppType*>(&storage);
655
1
    *ptr = std::forward<const typename PrimitiveTypeTraits<Type>::CppType>(x);
656
1
}
Unexecuted instantiation: _ZN5doris5Field15assign_concreteILNS_13PrimitiveTypeE32EEEvRKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
_ZN5doris5Field15assign_concreteILNS_13PrimitiveTypeE24EEEvRKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
653
1
void Field::assign_concrete(const typename PrimitiveTypeTraits<Type>::CppType& x) {
654
1
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<Type>::CppType*>(&storage);
655
1
    *ptr = std::forward<const typename PrimitiveTypeTraits<Type>::CppType>(x);
656
1
}
_ZN5doris5Field15assign_concreteILNS_13PrimitiveTypeE17EEEvRKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
653
34.2k
void Field::assign_concrete(const typename PrimitiveTypeTraits<Type>::CppType& x) {
654
34.2k
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<Type>::CppType*>(&storage);
655
34.2k
    *ptr = std::forward<const typename PrimitiveTypeTraits<Type>::CppType>(x);
656
34.2k
}
_ZN5doris5Field15assign_concreteILNS_13PrimitiveTypeE36EEEvRKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
653
1.06k
void Field::assign_concrete(const typename PrimitiveTypeTraits<Type>::CppType& x) {
654
1.06k
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<Type>::CppType*>(&storage);
655
1.06k
    *ptr = std::forward<const typename PrimitiveTypeTraits<Type>::CppType>(x);
656
1.06k
}
_ZN5doris5Field15assign_concreteILNS_13PrimitiveTypeE37EEEvRKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
653
1.08k
void Field::assign_concrete(const typename PrimitiveTypeTraits<Type>::CppType& x) {
654
1.08k
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<Type>::CppType*>(&storage);
655
1.08k
    *ptr = std::forward<const typename PrimitiveTypeTraits<Type>::CppType>(x);
656
1.08k
}
_ZN5doris5Field15assign_concreteILNS_13PrimitiveTypeE2EEEvRKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
653
19.6k
void Field::assign_concrete(const typename PrimitiveTypeTraits<Type>::CppType& x) {
654
19.6k
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<Type>::CppType*>(&storage);
655
19.6k
    *ptr = std::forward<const typename PrimitiveTypeTraits<Type>::CppType>(x);
656
19.6k
}
_ZN5doris5Field15assign_concreteILNS_13PrimitiveTypeE8EEEvRKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
653
13.5k
void Field::assign_concrete(const typename PrimitiveTypeTraits<Type>::CppType& x) {
654
13.5k
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<Type>::CppType*>(&storage);
655
13.5k
    *ptr = std::forward<const typename PrimitiveTypeTraits<Type>::CppType>(x);
656
13.5k
}
_ZN5doris5Field15assign_concreteILNS_13PrimitiveTypeE9EEEvRKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
653
18.2k
void Field::assign_concrete(const typename PrimitiveTypeTraits<Type>::CppType& x) {
654
18.2k
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<Type>::CppType*>(&storage);
655
18.2k
    *ptr = std::forward<const typename PrimitiveTypeTraits<Type>::CppType>(x);
656
18.2k
}
_ZN5doris5Field15assign_concreteILNS_13PrimitiveTypeE31EEEvRKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
653
22
void Field::assign_concrete(const typename PrimitiveTypeTraits<Type>::CppType& x) {
654
22
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<Type>::CppType*>(&storage);
655
22
    *ptr = std::forward<const typename PrimitiveTypeTraits<Type>::CppType>(x);
656
22
}
Unexecuted instantiation: _ZN5doris5Field15assign_concreteILNS_13PrimitiveTypeE16EEEvRKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
_ZN5doris5Field15assign_concreteILNS_13PrimitiveTypeE18EEEvRKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
653
1
void Field::assign_concrete(const typename PrimitiveTypeTraits<Type>::CppType& x) {
654
1
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<Type>::CppType*>(&storage);
655
1
    *ptr = std::forward<const typename PrimitiveTypeTraits<Type>::CppType>(x);
656
1
}
_ZN5doris5Field15assign_concreteILNS_13PrimitiveTypeE22EEEvRKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
653
2
void Field::assign_concrete(const typename PrimitiveTypeTraits<Type>::CppType& x) {
654
2
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<Type>::CppType*>(&storage);
655
2
    *ptr = std::forward<const typename PrimitiveTypeTraits<Type>::CppType>(x);
656
2
}
Unexecuted instantiation: _ZN5doris5Field15assign_concreteILNS_13PrimitiveTypeE27EEEvRKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Unexecuted instantiation: _ZN5doris5Field15assign_concreteILNS_13PrimitiveTypeE38EEEvRKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Unexecuted instantiation: _ZN5doris5Field15assign_concreteILNS_13PrimitiveTypeE39EEEvRKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
657
658
159
std::string Field::get_type_name() const {
659
159
    return type_to_string(type);
660
159
}
661
662
template <PrimitiveType T>
663
243M
typename PrimitiveTypeTraits<T>::CppType& Field::get() {
664
243M
    if (T != type && !(is_string_type(type) && is_string_type(T)) && type != TYPE_NULL) {
665
0
        throw Exception(Status::FatalError("Field::get type mismatch: requested {}, actual {}",
666
0
                                           type_to_string(T), get_type_name()));
667
0
    }
668
243M
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<T>::CppType*>(&storage);
669
243M
    return *ptr;
670
243M
}
_ZN5doris5Field3getILNS_13PrimitiveTypeE1EEERNS_19PrimitiveTypeTraitsIXT_EE7CppTypeEv
Line
Count
Source
663
35.7M
typename PrimitiveTypeTraits<T>::CppType& Field::get() {
664
35.7M
    if (T != type && !(is_string_type(type) && is_string_type(T)) && type != TYPE_NULL) {
665
0
        throw Exception(Status::FatalError("Field::get type mismatch: requested {}, actual {}",
666
0
                                           type_to_string(T), get_type_name()));
667
0
    }
668
35.7M
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<T>::CppType*>(&storage);
669
35.7M
    return *ptr;
670
35.7M
}
_ZN5doris5Field3getILNS_13PrimitiveTypeE3EEERNS_19PrimitiveTypeTraitsIXT_EE7CppTypeEv
Line
Count
Source
663
5.14M
typename PrimitiveTypeTraits<T>::CppType& Field::get() {
664
5.14M
    if (T != type && !(is_string_type(type) && is_string_type(T)) && type != TYPE_NULL) {
665
0
        throw Exception(Status::FatalError("Field::get type mismatch: requested {}, actual {}",
666
0
                                           type_to_string(T), get_type_name()));
667
0
    }
668
5.14M
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<T>::CppType*>(&storage);
669
5.14M
    return *ptr;
670
5.14M
}
_ZN5doris5Field3getILNS_13PrimitiveTypeE4EEERNS_19PrimitiveTypeTraitsIXT_EE7CppTypeEv
Line
Count
Source
663
162k
typename PrimitiveTypeTraits<T>::CppType& Field::get() {
664
162k
    if (T != type && !(is_string_type(type) && is_string_type(T)) && type != TYPE_NULL) {
665
0
        throw Exception(Status::FatalError("Field::get type mismatch: requested {}, actual {}",
666
0
                                           type_to_string(T), get_type_name()));
667
0
    }
668
162k
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<T>::CppType*>(&storage);
669
162k
    return *ptr;
670
162k
}
_ZN5doris5Field3getILNS_13PrimitiveTypeE5EEERNS_19PrimitiveTypeTraitsIXT_EE7CppTypeEv
Line
Count
Source
663
92.1M
typename PrimitiveTypeTraits<T>::CppType& Field::get() {
664
92.1M
    if (T != type && !(is_string_type(type) && is_string_type(T)) && type != TYPE_NULL) {
665
0
        throw Exception(Status::FatalError("Field::get type mismatch: requested {}, actual {}",
666
0
                                           type_to_string(T), get_type_name()));
667
0
    }
668
92.1M
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<T>::CppType*>(&storage);
669
92.1M
    return *ptr;
670
92.1M
}
_ZN5doris5Field3getILNS_13PrimitiveTypeE6EEERNS_19PrimitiveTypeTraitsIXT_EE7CppTypeEv
Line
Count
Source
663
37.8M
typename PrimitiveTypeTraits<T>::CppType& Field::get() {
664
37.8M
    if (T != type && !(is_string_type(type) && is_string_type(T)) && type != TYPE_NULL) {
665
0
        throw Exception(Status::FatalError("Field::get type mismatch: requested {}, actual {}",
666
0
                                           type_to_string(T), get_type_name()));
667
0
    }
668
37.8M
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<T>::CppType*>(&storage);
669
37.8M
    return *ptr;
670
37.8M
}
_ZN5doris5Field3getILNS_13PrimitiveTypeE7EEERNS_19PrimitiveTypeTraitsIXT_EE7CppTypeEv
Line
Count
Source
663
227k
typename PrimitiveTypeTraits<T>::CppType& Field::get() {
664
227k
    if (T != type && !(is_string_type(type) && is_string_type(T)) && type != TYPE_NULL) {
665
0
        throw Exception(Status::FatalError("Field::get type mismatch: requested {}, actual {}",
666
0
                                           type_to_string(T), get_type_name()));
667
0
    }
668
227k
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<T>::CppType*>(&storage);
669
227k
    return *ptr;
670
227k
}
_ZN5doris5Field3getILNS_13PrimitiveTypeE11EEERNS_19PrimitiveTypeTraitsIXT_EE7CppTypeEv
Line
Count
Source
663
14.9k
typename PrimitiveTypeTraits<T>::CppType& Field::get() {
664
14.9k
    if (T != type && !(is_string_type(type) && is_string_type(T)) && type != TYPE_NULL) {
665
0
        throw Exception(Status::FatalError("Field::get type mismatch: requested {}, actual {}",
666
0
                                           type_to_string(T), get_type_name()));
667
0
    }
668
14.9k
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<T>::CppType*>(&storage);
669
14.9k
    return *ptr;
670
14.9k
}
_ZN5doris5Field3getILNS_13PrimitiveTypeE12EEERNS_19PrimitiveTypeTraitsIXT_EE7CppTypeEv
Line
Count
Source
663
19.9k
typename PrimitiveTypeTraits<T>::CppType& Field::get() {
664
19.9k
    if (T != type && !(is_string_type(type) && is_string_type(T)) && type != TYPE_NULL) {
665
0
        throw Exception(Status::FatalError("Field::get type mismatch: requested {}, actual {}",
666
0
                                           type_to_string(T), get_type_name()));
667
0
    }
668
19.9k
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<T>::CppType*>(&storage);
669
19.9k
    return *ptr;
670
19.9k
}
_ZN5doris5Field3getILNS_13PrimitiveTypeE25EEERNS_19PrimitiveTypeTraitsIXT_EE7CppTypeEv
Line
Count
Source
663
552k
typename PrimitiveTypeTraits<T>::CppType& Field::get() {
664
552k
    if (T != type && !(is_string_type(type) && is_string_type(T)) && type != TYPE_NULL) {
665
0
        throw Exception(Status::FatalError("Field::get type mismatch: requested {}, actual {}",
666
0
                                           type_to_string(T), get_type_name()));
667
0
    }
668
552k
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<T>::CppType*>(&storage);
669
552k
    return *ptr;
670
552k
}
_ZN5doris5Field3getILNS_13PrimitiveTypeE26EEERNS_19PrimitiveTypeTraitsIXT_EE7CppTypeEv
Line
Count
Source
663
388k
typename PrimitiveTypeTraits<T>::CppType& Field::get() {
664
388k
    if (T != type && !(is_string_type(type) && is_string_type(T)) && type != TYPE_NULL) {
665
0
        throw Exception(Status::FatalError("Field::get type mismatch: requested {}, actual {}",
666
0
                                           type_to_string(T), get_type_name()));
667
0
    }
668
388k
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<T>::CppType*>(&storage);
669
388k
    return *ptr;
670
388k
}
_ZN5doris5Field3getILNS_13PrimitiveTypeE43EEERNS_19PrimitiveTypeTraitsIXT_EE7CppTypeEv
Line
Count
Source
663
3.36k
typename PrimitiveTypeTraits<T>::CppType& Field::get() {
664
3.36k
    if (T != type && !(is_string_type(type) && is_string_type(T)) && type != TYPE_NULL) {
665
0
        throw Exception(Status::FatalError("Field::get type mismatch: requested {}, actual {}",
666
0
                                           type_to_string(T), get_type_name()));
667
0
    }
668
3.36k
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<T>::CppType*>(&storage);
669
3.36k
    return *ptr;
670
3.36k
}
_ZN5doris5Field3getILNS_13PrimitiveTypeE42EEERNS_19PrimitiveTypeTraitsIXT_EE7CppTypeEv
Line
Count
Source
663
47.1k
typename PrimitiveTypeTraits<T>::CppType& Field::get() {
664
47.1k
    if (T != type && !(is_string_type(type) && is_string_type(T)) && type != TYPE_NULL) {
665
0
        throw Exception(Status::FatalError("Field::get type mismatch: requested {}, actual {}",
666
0
                                           type_to_string(T), get_type_name()));
667
0
    }
668
47.1k
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<T>::CppType*>(&storage);
669
47.1k
    return *ptr;
670
47.1k
}
_ZN5doris5Field3getILNS_13PrimitiveTypeE28EEERNS_19PrimitiveTypeTraitsIXT_EE7CppTypeEv
Line
Count
Source
663
67.5k
typename PrimitiveTypeTraits<T>::CppType& Field::get() {
664
67.5k
    if (T != type && !(is_string_type(type) && is_string_type(T)) && type != TYPE_NULL) {
665
0
        throw Exception(Status::FatalError("Field::get type mismatch: requested {}, actual {}",
666
0
                                           type_to_string(T), get_type_name()));
667
0
    }
668
67.5k
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<T>::CppType*>(&storage);
669
67.5k
    return *ptr;
670
67.5k
}
_ZN5doris5Field3getILNS_13PrimitiveTypeE29EEERNS_19PrimitiveTypeTraitsIXT_EE7CppTypeEv
Line
Count
Source
663
152k
typename PrimitiveTypeTraits<T>::CppType& Field::get() {
664
152k
    if (T != type && !(is_string_type(type) && is_string_type(T)) && type != TYPE_NULL) {
665
0
        throw Exception(Status::FatalError("Field::get type mismatch: requested {}, actual {}",
666
0
                                           type_to_string(T), get_type_name()));
667
0
    }
668
152k
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<T>::CppType*>(&storage);
669
152k
    return *ptr;
670
152k
}
_ZN5doris5Field3getILNS_13PrimitiveTypeE20EEERNS_19PrimitiveTypeTraitsIXT_EE7CppTypeEv
Line
Count
Source
663
10.4k
typename PrimitiveTypeTraits<T>::CppType& Field::get() {
664
10.4k
    if (T != type && !(is_string_type(type) && is_string_type(T)) && type != TYPE_NULL) {
665
0
        throw Exception(Status::FatalError("Field::get type mismatch: requested {}, actual {}",
666
0
                                           type_to_string(T), get_type_name()));
667
0
    }
668
10.4k
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<T>::CppType*>(&storage);
669
10.4k
    return *ptr;
670
10.4k
}
_ZN5doris5Field3getILNS_13PrimitiveTypeE30EEERNS_19PrimitiveTypeTraitsIXT_EE7CppTypeEv
Line
Count
Source
663
122k
typename PrimitiveTypeTraits<T>::CppType& Field::get() {
664
122k
    if (T != type && !(is_string_type(type) && is_string_type(T)) && type != TYPE_NULL) {
665
0
        throw Exception(Status::FatalError("Field::get type mismatch: requested {}, actual {}",
666
0
                                           type_to_string(T), get_type_name()));
667
0
    }
668
122k
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<T>::CppType*>(&storage);
669
122k
    return *ptr;
670
122k
}
_ZN5doris5Field3getILNS_13PrimitiveTypeE35EEERNS_19PrimitiveTypeTraitsIXT_EE7CppTypeEv
Line
Count
Source
663
46.8k
typename PrimitiveTypeTraits<T>::CppType& Field::get() {
664
46.8k
    if (T != type && !(is_string_type(type) && is_string_type(T)) && type != TYPE_NULL) {
665
0
        throw Exception(Status::FatalError("Field::get type mismatch: requested {}, actual {}",
666
0
                                           type_to_string(T), get_type_name()));
667
0
    }
668
46.8k
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<T>::CppType*>(&storage);
669
46.8k
    return *ptr;
670
46.8k
}
_ZN5doris5Field3getILNS_13PrimitiveTypeE15EEERNS_19PrimitiveTypeTraitsIXT_EE7CppTypeEv
Line
Count
Source
663
137k
typename PrimitiveTypeTraits<T>::CppType& Field::get() {
664
137k
    if (T != type && !(is_string_type(type) && is_string_type(T)) && type != TYPE_NULL) {
665
0
        throw Exception(Status::FatalError("Field::get type mismatch: requested {}, actual {}",
666
0
                                           type_to_string(T), get_type_name()));
667
0
    }
668
137k
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<T>::CppType*>(&storage);
669
137k
    return *ptr;
670
137k
}
_ZN5doris5Field3getILNS_13PrimitiveTypeE10EEERNS_19PrimitiveTypeTraitsIXT_EE7CppTypeEv
Line
Count
Source
663
1.58M
typename PrimitiveTypeTraits<T>::CppType& Field::get() {
664
1.58M
    if (T != type && !(is_string_type(type) && is_string_type(T)) && type != TYPE_NULL) {
665
0
        throw Exception(Status::FatalError("Field::get type mismatch: requested {}, actual {}",
666
0
                                           type_to_string(T), get_type_name()));
667
0
    }
668
1.58M
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<T>::CppType*>(&storage);
669
1.58M
    return *ptr;
670
1.58M
}
_ZN5doris5Field3getILNS_13PrimitiveTypeE23EEERNS_19PrimitiveTypeTraitsIXT_EE7CppTypeEv
Line
Count
Source
663
40.0M
typename PrimitiveTypeTraits<T>::CppType& Field::get() {
664
40.0M
    if (T != type && !(is_string_type(type) && is_string_type(T)) && type != TYPE_NULL) {
665
0
        throw Exception(Status::FatalError("Field::get type mismatch: requested {}, actual {}",
666
0
                                           type_to_string(T), get_type_name()));
667
0
    }
668
40.0M
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<T>::CppType*>(&storage);
669
40.0M
    return *ptr;
670
40.0M
}
_ZN5doris5Field3getILNS_13PrimitiveTypeE41EEERNS_19PrimitiveTypeTraitsIXT_EE7CppTypeEv
Line
Count
Source
663
42
typename PrimitiveTypeTraits<T>::CppType& Field::get() {
664
42
    if (T != type && !(is_string_type(type) && is_string_type(T)) && type != TYPE_NULL) {
665
0
        throw Exception(Status::FatalError("Field::get type mismatch: requested {}, actual {}",
666
0
                                           type_to_string(T), get_type_name()));
667
0
    }
668
42
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<T>::CppType*>(&storage);
669
42
    return *ptr;
670
42
}
_ZN5doris5Field3getILNS_13PrimitiveTypeE19EEERNS_19PrimitiveTypeTraitsIXT_EE7CppTypeEv
Line
Count
Source
663
6
typename PrimitiveTypeTraits<T>::CppType& Field::get() {
664
6
    if (T != type && !(is_string_type(type) && is_string_type(T)) && type != TYPE_NULL) {
665
0
        throw Exception(Status::FatalError("Field::get type mismatch: requested {}, actual {}",
666
0
                                           type_to_string(T), get_type_name()));
667
0
    }
668
6
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<T>::CppType*>(&storage);
669
6
    return *ptr;
670
6
}
_ZN5doris5Field3getILNS_13PrimitiveTypeE32EEERNS_19PrimitiveTypeTraitsIXT_EE7CppTypeEv
Line
Count
Source
663
240k
typename PrimitiveTypeTraits<T>::CppType& Field::get() {
664
240k
    if (T != type && !(is_string_type(type) && is_string_type(T)) && type != TYPE_NULL) {
665
0
        throw Exception(Status::FatalError("Field::get type mismatch: requested {}, actual {}",
666
0
                                           type_to_string(T), get_type_name()));
667
0
    }
668
240k
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<T>::CppType*>(&storage);
669
240k
    return *ptr;
670
240k
}
_ZN5doris5Field3getILNS_13PrimitiveTypeE24EEERNS_19PrimitiveTypeTraitsIXT_EE7CppTypeEv
Line
Count
Source
663
4
typename PrimitiveTypeTraits<T>::CppType& Field::get() {
664
4
    if (T != type && !(is_string_type(type) && is_string_type(T)) && type != TYPE_NULL) {
665
0
        throw Exception(Status::FatalError("Field::get type mismatch: requested {}, actual {}",
666
0
                                           type_to_string(T), get_type_name()));
667
0
    }
668
4
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<T>::CppType*>(&storage);
669
4
    return *ptr;
670
4
}
_ZN5doris5Field3getILNS_13PrimitiveTypeE17EEERNS_19PrimitiveTypeTraitsIXT_EE7CppTypeEv
Line
Count
Source
663
5.93M
typename PrimitiveTypeTraits<T>::CppType& Field::get() {
664
5.93M
    if (T != type && !(is_string_type(type) && is_string_type(T)) && type != TYPE_NULL) {
665
0
        throw Exception(Status::FatalError("Field::get type mismatch: requested {}, actual {}",
666
0
                                           type_to_string(T), get_type_name()));
667
0
    }
668
5.93M
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<T>::CppType*>(&storage);
669
5.93M
    return *ptr;
670
5.93M
}
_ZN5doris5Field3getILNS_13PrimitiveTypeE36EEERNS_19PrimitiveTypeTraitsIXT_EE7CppTypeEv
Line
Count
Source
663
39.0k
typename PrimitiveTypeTraits<T>::CppType& Field::get() {
664
39.0k
    if (T != type && !(is_string_type(type) && is_string_type(T)) && type != TYPE_NULL) {
665
0
        throw Exception(Status::FatalError("Field::get type mismatch: requested {}, actual {}",
666
0
                                           type_to_string(T), get_type_name()));
667
0
    }
668
39.0k
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<T>::CppType*>(&storage);
669
39.0k
    return *ptr;
670
39.0k
}
_ZN5doris5Field3getILNS_13PrimitiveTypeE37EEERNS_19PrimitiveTypeTraitsIXT_EE7CppTypeEv
Line
Count
Source
663
27.7k
typename PrimitiveTypeTraits<T>::CppType& Field::get() {
664
27.7k
    if (T != type && !(is_string_type(type) && is_string_type(T)) && type != TYPE_NULL) {
665
0
        throw Exception(Status::FatalError("Field::get type mismatch: requested {}, actual {}",
666
0
                                           type_to_string(T), get_type_name()));
667
0
    }
668
27.7k
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<T>::CppType*>(&storage);
669
27.7k
    return *ptr;
670
27.7k
}
_ZN5doris5Field3getILNS_13PrimitiveTypeE2EEERNS_19PrimitiveTypeTraitsIXT_EE7CppTypeEv
Line
Count
Source
663
1.06M
typename PrimitiveTypeTraits<T>::CppType& Field::get() {
664
1.06M
    if (T != type && !(is_string_type(type) && is_string_type(T)) && type != TYPE_NULL) {
665
0
        throw Exception(Status::FatalError("Field::get type mismatch: requested {}, actual {}",
666
0
                                           type_to_string(T), get_type_name()));
667
0
    }
668
1.06M
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<T>::CppType*>(&storage);
669
1.06M
    return *ptr;
670
1.06M
}
_ZN5doris5Field3getILNS_13PrimitiveTypeE8EEERNS_19PrimitiveTypeTraitsIXT_EE7CppTypeEv
Line
Count
Source
663
104k
typename PrimitiveTypeTraits<T>::CppType& Field::get() {
664
104k
    if (T != type && !(is_string_type(type) && is_string_type(T)) && type != TYPE_NULL) {
665
0
        throw Exception(Status::FatalError("Field::get type mismatch: requested {}, actual {}",
666
0
                                           type_to_string(T), get_type_name()));
667
0
    }
668
104k
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<T>::CppType*>(&storage);
669
104k
    return *ptr;
670
104k
}
_ZN5doris5Field3getILNS_13PrimitiveTypeE9EEERNS_19PrimitiveTypeTraitsIXT_EE7CppTypeEv
Line
Count
Source
663
18.1M
typename PrimitiveTypeTraits<T>::CppType& Field::get() {
664
18.1M
    if (T != type && !(is_string_type(type) && is_string_type(T)) && type != TYPE_NULL) {
665
0
        throw Exception(Status::FatalError("Field::get type mismatch: requested {}, actual {}",
666
0
                                           type_to_string(T), get_type_name()));
667
0
    }
668
18.1M
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<T>::CppType*>(&storage);
669
18.1M
    return *ptr;
670
18.1M
}
_ZN5doris5Field3getILNS_13PrimitiveTypeE31EEERNS_19PrimitiveTypeTraitsIXT_EE7CppTypeEv
Line
Count
Source
663
2.98M
typename PrimitiveTypeTraits<T>::CppType& Field::get() {
664
2.98M
    if (T != type && !(is_string_type(type) && is_string_type(T)) && type != TYPE_NULL) {
665
0
        throw Exception(Status::FatalError("Field::get type mismatch: requested {}, actual {}",
666
0
                                           type_to_string(T), get_type_name()));
667
0
    }
668
2.98M
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<T>::CppType*>(&storage);
669
2.98M
    return *ptr;
670
2.98M
}
_ZN5doris5Field3getILNS_13PrimitiveTypeE16EEERNS_19PrimitiveTypeTraitsIXT_EE7CppTypeEv
Line
Count
Source
663
13.9k
typename PrimitiveTypeTraits<T>::CppType& Field::get() {
664
13.9k
    if (T != type && !(is_string_type(type) && is_string_type(T)) && type != TYPE_NULL) {
665
0
        throw Exception(Status::FatalError("Field::get type mismatch: requested {}, actual {}",
666
0
                                           type_to_string(T), get_type_name()));
667
0
    }
668
13.9k
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<T>::CppType*>(&storage);
669
13.9k
    return *ptr;
670
13.9k
}
_ZN5doris5Field3getILNS_13PrimitiveTypeE18EEERNS_19PrimitiveTypeTraitsIXT_EE7CppTypeEv
Line
Count
Source
663
34.5k
typename PrimitiveTypeTraits<T>::CppType& Field::get() {
664
34.5k
    if (T != type && !(is_string_type(type) && is_string_type(T)) && type != TYPE_NULL) {
665
0
        throw Exception(Status::FatalError("Field::get type mismatch: requested {}, actual {}",
666
0
                                           type_to_string(T), get_type_name()));
667
0
    }
668
34.5k
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<T>::CppType*>(&storage);
669
34.5k
    return *ptr;
670
34.5k
}
_ZN5doris5Field3getILNS_13PrimitiveTypeE22EEERNS_19PrimitiveTypeTraitsIXT_EE7CppTypeEv
Line
Count
Source
663
222
typename PrimitiveTypeTraits<T>::CppType& Field::get() {
664
222
    if (T != type && !(is_string_type(type) && is_string_type(T)) && type != TYPE_NULL) {
665
0
        throw Exception(Status::FatalError("Field::get type mismatch: requested {}, actual {}",
666
0
                                           type_to_string(T), get_type_name()));
667
0
    }
668
222
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<T>::CppType*>(&storage);
669
222
    return *ptr;
670
222
}
_ZN5doris5Field3getILNS_13PrimitiveTypeE27EEERNS_19PrimitiveTypeTraitsIXT_EE7CppTypeEv
Line
Count
Source
663
160
typename PrimitiveTypeTraits<T>::CppType& Field::get() {
664
160
    if (T != type && !(is_string_type(type) && is_string_type(T)) && type != TYPE_NULL) {
665
0
        throw Exception(Status::FatalError("Field::get type mismatch: requested {}, actual {}",
666
0
                                           type_to_string(T), get_type_name()));
667
0
    }
668
160
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<T>::CppType*>(&storage);
669
160
    return *ptr;
670
160
}
Unexecuted instantiation: _ZN5doris5Field3getILNS_13PrimitiveTypeE38EEERNS_19PrimitiveTypeTraitsIXT_EE7CppTypeEv
Unexecuted instantiation: _ZN5doris5Field3getILNS_13PrimitiveTypeE39EEERNS_19PrimitiveTypeTraitsIXT_EE7CppTypeEv
671
672
template <PrimitiveType T>
673
477M
const typename PrimitiveTypeTraits<T>::CppType& Field::get() const {
674
477M
    if (T != type && !(is_string_type(type) && is_string_type(T)) && type != TYPE_NULL) {
675
0
        throw Exception(Status::FatalError("Field::get type mismatch: requested {}, actual {}",
676
0
                                           type_to_string(T), get_type_name()));
677
0
    }
678
477M
    const auto* MAY_ALIAS ptr =
679
477M
            reinterpret_cast<const typename PrimitiveTypeTraits<T>::CppType*>(&storage);
680
477M
    return *ptr;
681
477M
}
_ZNK5doris5Field3getILNS_13PrimitiveTypeE1EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeEv
Line
Count
Source
673
40.0M
const typename PrimitiveTypeTraits<T>::CppType& Field::get() const {
674
40.0M
    if (T != type && !(is_string_type(type) && is_string_type(T)) && type != TYPE_NULL) {
675
0
        throw Exception(Status::FatalError("Field::get type mismatch: requested {}, actual {}",
676
0
                                           type_to_string(T), get_type_name()));
677
0
    }
678
40.0M
    const auto* MAY_ALIAS ptr =
679
40.0M
            reinterpret_cast<const typename PrimitiveTypeTraits<T>::CppType*>(&storage);
680
40.0M
    return *ptr;
681
40.0M
}
_ZNK5doris5Field3getILNS_13PrimitiveTypeE3EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeEv
Line
Count
Source
673
11.1M
const typename PrimitiveTypeTraits<T>::CppType& Field::get() const {
674
11.1M
    if (T != type && !(is_string_type(type) && is_string_type(T)) && type != TYPE_NULL) {
675
0
        throw Exception(Status::FatalError("Field::get type mismatch: requested {}, actual {}",
676
0
                                           type_to_string(T), get_type_name()));
677
0
    }
678
11.1M
    const auto* MAY_ALIAS ptr =
679
11.1M
            reinterpret_cast<const typename PrimitiveTypeTraits<T>::CppType*>(&storage);
680
11.1M
    return *ptr;
681
11.1M
}
_ZNK5doris5Field3getILNS_13PrimitiveTypeE4EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeEv
Line
Count
Source
673
5.11M
const typename PrimitiveTypeTraits<T>::CppType& Field::get() const {
674
5.11M
    if (T != type && !(is_string_type(type) && is_string_type(T)) && type != TYPE_NULL) {
675
0
        throw Exception(Status::FatalError("Field::get type mismatch: requested {}, actual {}",
676
0
                                           type_to_string(T), get_type_name()));
677
0
    }
678
5.11M
    const auto* MAY_ALIAS ptr =
679
5.11M
            reinterpret_cast<const typename PrimitiveTypeTraits<T>::CppType*>(&storage);
680
5.11M
    return *ptr;
681
5.11M
}
_ZNK5doris5Field3getILNS_13PrimitiveTypeE5EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeEv
Line
Count
Source
673
8.13M
const typename PrimitiveTypeTraits<T>::CppType& Field::get() const {
674
8.13M
    if (T != type && !(is_string_type(type) && is_string_type(T)) && type != TYPE_NULL) {
675
0
        throw Exception(Status::FatalError("Field::get type mismatch: requested {}, actual {}",
676
0
                                           type_to_string(T), get_type_name()));
677
0
    }
678
8.13M
    const auto* MAY_ALIAS ptr =
679
8.13M
            reinterpret_cast<const typename PrimitiveTypeTraits<T>::CppType*>(&storage);
680
8.13M
    return *ptr;
681
8.13M
}
_ZNK5doris5Field3getILNS_13PrimitiveTypeE6EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeEv
Line
Count
Source
673
52.5M
const typename PrimitiveTypeTraits<T>::CppType& Field::get() const {
674
52.5M
    if (T != type && !(is_string_type(type) && is_string_type(T)) && type != TYPE_NULL) {
675
0
        throw Exception(Status::FatalError("Field::get type mismatch: requested {}, actual {}",
676
0
                                           type_to_string(T), get_type_name()));
677
0
    }
678
52.5M
    const auto* MAY_ALIAS ptr =
679
52.5M
            reinterpret_cast<const typename PrimitiveTypeTraits<T>::CppType*>(&storage);
680
52.5M
    return *ptr;
681
52.5M
}
_ZNK5doris5Field3getILNS_13PrimitiveTypeE7EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeEv
Line
Count
Source
673
4.57M
const typename PrimitiveTypeTraits<T>::CppType& Field::get() const {
674
4.57M
    if (T != type && !(is_string_type(type) && is_string_type(T)) && type != TYPE_NULL) {
675
0
        throw Exception(Status::FatalError("Field::get type mismatch: requested {}, actual {}",
676
0
                                           type_to_string(T), get_type_name()));
677
0
    }
678
4.57M
    const auto* MAY_ALIAS ptr =
679
4.57M
            reinterpret_cast<const typename PrimitiveTypeTraits<T>::CppType*>(&storage);
680
4.57M
    return *ptr;
681
4.57M
}
_ZNK5doris5Field3getILNS_13PrimitiveTypeE11EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeEv
Line
Count
Source
673
4.40M
const typename PrimitiveTypeTraits<T>::CppType& Field::get() const {
674
4.40M
    if (T != type && !(is_string_type(type) && is_string_type(T)) && type != TYPE_NULL) {
675
0
        throw Exception(Status::FatalError("Field::get type mismatch: requested {}, actual {}",
676
0
                                           type_to_string(T), get_type_name()));
677
0
    }
678
4.40M
    const auto* MAY_ALIAS ptr =
679
4.40M
            reinterpret_cast<const typename PrimitiveTypeTraits<T>::CppType*>(&storage);
680
4.40M
    return *ptr;
681
4.40M
}
_ZNK5doris5Field3getILNS_13PrimitiveTypeE12EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeEv
Line
Count
Source
673
4.32M
const typename PrimitiveTypeTraits<T>::CppType& Field::get() const {
674
4.32M
    if (T != type && !(is_string_type(type) && is_string_type(T)) && type != TYPE_NULL) {
675
0
        throw Exception(Status::FatalError("Field::get type mismatch: requested {}, actual {}",
676
0
                                           type_to_string(T), get_type_name()));
677
0
    }
678
4.32M
    const auto* MAY_ALIAS ptr =
679
4.32M
            reinterpret_cast<const typename PrimitiveTypeTraits<T>::CppType*>(&storage);
680
4.32M
    return *ptr;
681
4.32M
}
_ZNK5doris5Field3getILNS_13PrimitiveTypeE25EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeEv
Line
Count
Source
673
7.91M
const typename PrimitiveTypeTraits<T>::CppType& Field::get() const {
674
7.91M
    if (T != type && !(is_string_type(type) && is_string_type(T)) && type != TYPE_NULL) {
675
0
        throw Exception(Status::FatalError("Field::get type mismatch: requested {}, actual {}",
676
0
                                           type_to_string(T), get_type_name()));
677
0
    }
678
7.91M
    const auto* MAY_ALIAS ptr =
679
7.91M
            reinterpret_cast<const typename PrimitiveTypeTraits<T>::CppType*>(&storage);
680
7.91M
    return *ptr;
681
7.91M
}
_ZNK5doris5Field3getILNS_13PrimitiveTypeE26EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeEv
Line
Count
Source
673
5.39M
const typename PrimitiveTypeTraits<T>::CppType& Field::get() const {
674
5.39M
    if (T != type && !(is_string_type(type) && is_string_type(T)) && type != TYPE_NULL) {
675
0
        throw Exception(Status::FatalError("Field::get type mismatch: requested {}, actual {}",
676
0
                                           type_to_string(T), get_type_name()));
677
0
    }
678
5.39M
    const auto* MAY_ALIAS ptr =
679
5.39M
            reinterpret_cast<const typename PrimitiveTypeTraits<T>::CppType*>(&storage);
680
5.39M
    return *ptr;
681
5.39M
}
_ZNK5doris5Field3getILNS_13PrimitiveTypeE43EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeEv
Line
Count
Source
673
1.31k
const typename PrimitiveTypeTraits<T>::CppType& Field::get() const {
674
1.31k
    if (T != type && !(is_string_type(type) && is_string_type(T)) && type != TYPE_NULL) {
675
0
        throw Exception(Status::FatalError("Field::get type mismatch: requested {}, actual {}",
676
0
                                           type_to_string(T), get_type_name()));
677
0
    }
678
1.31k
    const auto* MAY_ALIAS ptr =
679
1.31k
            reinterpret_cast<const typename PrimitiveTypeTraits<T>::CppType*>(&storage);
680
1.31k
    return *ptr;
681
1.31k
}
_ZNK5doris5Field3getILNS_13PrimitiveTypeE42EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeEv
Line
Count
Source
673
115k
const typename PrimitiveTypeTraits<T>::CppType& Field::get() const {
674
115k
    if (T != type && !(is_string_type(type) && is_string_type(T)) && type != TYPE_NULL) {
675
0
        throw Exception(Status::FatalError("Field::get type mismatch: requested {}, actual {}",
676
0
                                           type_to_string(T), get_type_name()));
677
0
    }
678
115k
    const auto* MAY_ALIAS ptr =
679
115k
            reinterpret_cast<const typename PrimitiveTypeTraits<T>::CppType*>(&storage);
680
115k
    return *ptr;
681
115k
}
_ZNK5doris5Field3getILNS_13PrimitiveTypeE28EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeEv
Line
Count
Source
673
4.62M
const typename PrimitiveTypeTraits<T>::CppType& Field::get() const {
674
4.62M
    if (T != type && !(is_string_type(type) && is_string_type(T)) && type != TYPE_NULL) {
675
0
        throw Exception(Status::FatalError("Field::get type mismatch: requested {}, actual {}",
676
0
                                           type_to_string(T), get_type_name()));
677
0
    }
678
4.62M
    const auto* MAY_ALIAS ptr =
679
4.62M
            reinterpret_cast<const typename PrimitiveTypeTraits<T>::CppType*>(&storage);
680
4.62M
    return *ptr;
681
4.62M
}
_ZNK5doris5Field3getILNS_13PrimitiveTypeE29EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeEv
Line
Count
Source
673
18.2M
const typename PrimitiveTypeTraits<T>::CppType& Field::get() const {
674
18.2M
    if (T != type && !(is_string_type(type) && is_string_type(T)) && type != TYPE_NULL) {
675
0
        throw Exception(Status::FatalError("Field::get type mismatch: requested {}, actual {}",
676
0
                                           type_to_string(T), get_type_name()));
677
0
    }
678
18.2M
    const auto* MAY_ALIAS ptr =
679
18.2M
            reinterpret_cast<const typename PrimitiveTypeTraits<T>::CppType*>(&storage);
680
18.2M
    return *ptr;
681
18.2M
}
_ZNK5doris5Field3getILNS_13PrimitiveTypeE20EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeEv
Line
Count
Source
673
18.4k
const typename PrimitiveTypeTraits<T>::CppType& Field::get() const {
674
18.4k
    if (T != type && !(is_string_type(type) && is_string_type(T)) && type != TYPE_NULL) {
675
0
        throw Exception(Status::FatalError("Field::get type mismatch: requested {}, actual {}",
676
0
                                           type_to_string(T), get_type_name()));
677
0
    }
678
18.4k
    const auto* MAY_ALIAS ptr =
679
18.4k
            reinterpret_cast<const typename PrimitiveTypeTraits<T>::CppType*>(&storage);
680
18.4k
    return *ptr;
681
18.4k
}
_ZNK5doris5Field3getILNS_13PrimitiveTypeE30EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeEv
Line
Count
Source
673
4.58M
const typename PrimitiveTypeTraits<T>::CppType& Field::get() const {
674
4.58M
    if (T != type && !(is_string_type(type) && is_string_type(T)) && type != TYPE_NULL) {
675
0
        throw Exception(Status::FatalError("Field::get type mismatch: requested {}, actual {}",
676
0
                                           type_to_string(T), get_type_name()));
677
0
    }
678
4.58M
    const auto* MAY_ALIAS ptr =
679
4.58M
            reinterpret_cast<const typename PrimitiveTypeTraits<T>::CppType*>(&storage);
680
4.58M
    return *ptr;
681
4.58M
}
_ZNK5doris5Field3getILNS_13PrimitiveTypeE35EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeEv
Line
Count
Source
673
4.69M
const typename PrimitiveTypeTraits<T>::CppType& Field::get() const {
674
4.69M
    if (T != type && !(is_string_type(type) && is_string_type(T)) && type != TYPE_NULL) {
675
0
        throw Exception(Status::FatalError("Field::get type mismatch: requested {}, actual {}",
676
0
                                           type_to_string(T), get_type_name()));
677
0
    }
678
4.69M
    const auto* MAY_ALIAS ptr =
679
4.69M
            reinterpret_cast<const typename PrimitiveTypeTraits<T>::CppType*>(&storage);
680
4.69M
    return *ptr;
681
4.69M
}
_ZNK5doris5Field3getILNS_13PrimitiveTypeE15EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeEv
Line
Count
Source
673
41.7k
const typename PrimitiveTypeTraits<T>::CppType& Field::get() const {
674
41.7k
    if (T != type && !(is_string_type(type) && is_string_type(T)) && type != TYPE_NULL) {
675
0
        throw Exception(Status::FatalError("Field::get type mismatch: requested {}, actual {}",
676
0
                                           type_to_string(T), get_type_name()));
677
0
    }
678
41.7k
    const auto* MAY_ALIAS ptr =
679
41.7k
            reinterpret_cast<const typename PrimitiveTypeTraits<T>::CppType*>(&storage);
680
41.7k
    return *ptr;
681
41.7k
}
_ZNK5doris5Field3getILNS_13PrimitiveTypeE10EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeEv
Line
Count
Source
673
11.1M
const typename PrimitiveTypeTraits<T>::CppType& Field::get() const {
674
11.1M
    if (T != type && !(is_string_type(type) && is_string_type(T)) && type != TYPE_NULL) {
675
0
        throw Exception(Status::FatalError("Field::get type mismatch: requested {}, actual {}",
676
0
                                           type_to_string(T), get_type_name()));
677
0
    }
678
11.1M
    const auto* MAY_ALIAS ptr =
679
11.1M
            reinterpret_cast<const typename PrimitiveTypeTraits<T>::CppType*>(&storage);
680
11.1M
    return *ptr;
681
11.1M
}
_ZNK5doris5Field3getILNS_13PrimitiveTypeE23EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeEv
Line
Count
Source
673
80.6M
const typename PrimitiveTypeTraits<T>::CppType& Field::get() const {
674
80.6M
    if (T != type && !(is_string_type(type) && is_string_type(T)) && type != TYPE_NULL) {
675
0
        throw Exception(Status::FatalError("Field::get type mismatch: requested {}, actual {}",
676
0
                                           type_to_string(T), get_type_name()));
677
0
    }
678
80.6M
    const auto* MAY_ALIAS ptr =
679
80.6M
            reinterpret_cast<const typename PrimitiveTypeTraits<T>::CppType*>(&storage);
680
80.6M
    return *ptr;
681
80.6M
}
_ZNK5doris5Field3getILNS_13PrimitiveTypeE41EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeEv
Line
Count
Source
673
54
const typename PrimitiveTypeTraits<T>::CppType& Field::get() const {
674
54
    if (T != type && !(is_string_type(type) && is_string_type(T)) && type != TYPE_NULL) {
675
0
        throw Exception(Status::FatalError("Field::get type mismatch: requested {}, actual {}",
676
0
                                           type_to_string(T), get_type_name()));
677
0
    }
678
54
    const auto* MAY_ALIAS ptr =
679
54
            reinterpret_cast<const typename PrimitiveTypeTraits<T>::CppType*>(&storage);
680
54
    return *ptr;
681
54
}
_ZNK5doris5Field3getILNS_13PrimitiveTypeE19EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeEv
Line
Count
Source
673
8
const typename PrimitiveTypeTraits<T>::CppType& Field::get() const {
674
8
    if (T != type && !(is_string_type(type) && is_string_type(T)) && type != TYPE_NULL) {
675
0
        throw Exception(Status::FatalError("Field::get type mismatch: requested {}, actual {}",
676
0
                                           type_to_string(T), get_type_name()));
677
0
    }
678
8
    const auto* MAY_ALIAS ptr =
679
8
            reinterpret_cast<const typename PrimitiveTypeTraits<T>::CppType*>(&storage);
680
8
    return *ptr;
681
8
}
_ZNK5doris5Field3getILNS_13PrimitiveTypeE32EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeEv
Line
Count
Source
673
55.1k
const typename PrimitiveTypeTraits<T>::CppType& Field::get() const {
674
55.1k
    if (T != type && !(is_string_type(type) && is_string_type(T)) && type != TYPE_NULL) {
675
0
        throw Exception(Status::FatalError("Field::get type mismatch: requested {}, actual {}",
676
0
                                           type_to_string(T), get_type_name()));
677
0
    }
678
55.1k
    const auto* MAY_ALIAS ptr =
679
55.1k
            reinterpret_cast<const typename PrimitiveTypeTraits<T>::CppType*>(&storage);
680
55.1k
    return *ptr;
681
55.1k
}
_ZNK5doris5Field3getILNS_13PrimitiveTypeE24EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeEv
Line
Count
Source
673
20.0k
const typename PrimitiveTypeTraits<T>::CppType& Field::get() const {
674
20.0k
    if (T != type && !(is_string_type(type) && is_string_type(T)) && type != TYPE_NULL) {
675
0
        throw Exception(Status::FatalError("Field::get type mismatch: requested {}, actual {}",
676
0
                                           type_to_string(T), get_type_name()));
677
0
    }
678
20.0k
    const auto* MAY_ALIAS ptr =
679
20.0k
            reinterpret_cast<const typename PrimitiveTypeTraits<T>::CppType*>(&storage);
680
20.0k
    return *ptr;
681
20.0k
}
_ZNK5doris5Field3getILNS_13PrimitiveTypeE17EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeEv
Line
Count
Source
673
125M
const typename PrimitiveTypeTraits<T>::CppType& Field::get() const {
674
125M
    if (T != type && !(is_string_type(type) && is_string_type(T)) && type != TYPE_NULL) {
675
0
        throw Exception(Status::FatalError("Field::get type mismatch: requested {}, actual {}",
676
0
                                           type_to_string(T), get_type_name()));
677
0
    }
678
125M
    const auto* MAY_ALIAS ptr =
679
125M
            reinterpret_cast<const typename PrimitiveTypeTraits<T>::CppType*>(&storage);
680
125M
    return *ptr;
681
125M
}
_ZNK5doris5Field3getILNS_13PrimitiveTypeE36EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeEv
Line
Count
Source
673
32.8k
const typename PrimitiveTypeTraits<T>::CppType& Field::get() const {
674
32.8k
    if (T != type && !(is_string_type(type) && is_string_type(T)) && type != TYPE_NULL) {
675
0
        throw Exception(Status::FatalError("Field::get type mismatch: requested {}, actual {}",
676
0
                                           type_to_string(T), get_type_name()));
677
0
    }
678
32.8k
    const auto* MAY_ALIAS ptr =
679
32.8k
            reinterpret_cast<const typename PrimitiveTypeTraits<T>::CppType*>(&storage);
680
32.8k
    return *ptr;
681
32.8k
}
_ZNK5doris5Field3getILNS_13PrimitiveTypeE37EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeEv
Line
Count
Source
673
23.1k
const typename PrimitiveTypeTraits<T>::CppType& Field::get() const {
674
23.1k
    if (T != type && !(is_string_type(type) && is_string_type(T)) && type != TYPE_NULL) {
675
0
        throw Exception(Status::FatalError("Field::get type mismatch: requested {}, actual {}",
676
0
                                           type_to_string(T), get_type_name()));
677
0
    }
678
23.1k
    const auto* MAY_ALIAS ptr =
679
23.1k
            reinterpret_cast<const typename PrimitiveTypeTraits<T>::CppType*>(&storage);
680
23.1k
    return *ptr;
681
23.1k
}
_ZNK5doris5Field3getILNS_13PrimitiveTypeE2EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeEv
Line
Count
Source
673
34.4M
const typename PrimitiveTypeTraits<T>::CppType& Field::get() const {
674
34.4M
    if (T != type && !(is_string_type(type) && is_string_type(T)) && type != TYPE_NULL) {
675
0
        throw Exception(Status::FatalError("Field::get type mismatch: requested {}, actual {}",
676
0
                                           type_to_string(T), get_type_name()));
677
0
    }
678
34.4M
    const auto* MAY_ALIAS ptr =
679
34.4M
            reinterpret_cast<const typename PrimitiveTypeTraits<T>::CppType*>(&storage);
680
34.4M
    return *ptr;
681
34.4M
}
_ZNK5doris5Field3getILNS_13PrimitiveTypeE8EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeEv
Line
Count
Source
673
4.55M
const typename PrimitiveTypeTraits<T>::CppType& Field::get() const {
674
4.55M
    if (T != type && !(is_string_type(type) && is_string_type(T)) && type != TYPE_NULL) {
675
0
        throw Exception(Status::FatalError("Field::get type mismatch: requested {}, actual {}",
676
0
                                           type_to_string(T), get_type_name()));
677
0
    }
678
4.55M
    const auto* MAY_ALIAS ptr =
679
4.55M
            reinterpret_cast<const typename PrimitiveTypeTraits<T>::CppType*>(&storage);
680
4.55M
    return *ptr;
681
4.55M
}
_ZNK5doris5Field3getILNS_13PrimitiveTypeE9EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeEv
Line
Count
Source
673
18.9M
const typename PrimitiveTypeTraits<T>::CppType& Field::get() const {
674
18.9M
    if (T != type && !(is_string_type(type) && is_string_type(T)) && type != TYPE_NULL) {
675
0
        throw Exception(Status::FatalError("Field::get type mismatch: requested {}, actual {}",
676
0
                                           type_to_string(T), get_type_name()));
677
0
    }
678
18.9M
    const auto* MAY_ALIAS ptr =
679
18.9M
            reinterpret_cast<const typename PrimitiveTypeTraits<T>::CppType*>(&storage);
680
18.9M
    return *ptr;
681
18.9M
}
_ZNK5doris5Field3getILNS_13PrimitiveTypeE31EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeEv
Line
Count
Source
673
4.36M
const typename PrimitiveTypeTraits<T>::CppType& Field::get() const {
674
4.36M
    if (T != type && !(is_string_type(type) && is_string_type(T)) && type != TYPE_NULL) {
675
0
        throw Exception(Status::FatalError("Field::get type mismatch: requested {}, actual {}",
676
0
                                           type_to_string(T), get_type_name()));
677
0
    }
678
4.36M
    const auto* MAY_ALIAS ptr =
679
4.36M
            reinterpret_cast<const typename PrimitiveTypeTraits<T>::CppType*>(&storage);
680
4.36M
    return *ptr;
681
4.36M
}
_ZNK5doris5Field3getILNS_13PrimitiveTypeE16EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeEv
Line
Count
Source
673
4.05M
const typename PrimitiveTypeTraits<T>::CppType& Field::get() const {
674
4.05M
    if (T != type && !(is_string_type(type) && is_string_type(T)) && type != TYPE_NULL) {
675
0
        throw Exception(Status::FatalError("Field::get type mismatch: requested {}, actual {}",
676
0
                                           type_to_string(T), get_type_name()));
677
0
    }
678
4.05M
    const auto* MAY_ALIAS ptr =
679
4.05M
            reinterpret_cast<const typename PrimitiveTypeTraits<T>::CppType*>(&storage);
680
4.05M
    return *ptr;
681
4.05M
}
_ZNK5doris5Field3getILNS_13PrimitiveTypeE18EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeEv
Line
Count
Source
673
17.2M
const typename PrimitiveTypeTraits<T>::CppType& Field::get() const {
674
17.2M
    if (T != type && !(is_string_type(type) && is_string_type(T)) && type != TYPE_NULL) {
675
0
        throw Exception(Status::FatalError("Field::get type mismatch: requested {}, actual {}",
676
0
                                           type_to_string(T), get_type_name()));
677
0
    }
678
17.2M
    const auto* MAY_ALIAS ptr =
679
17.2M
            reinterpret_cast<const typename PrimitiveTypeTraits<T>::CppType*>(&storage);
680
17.2M
    return *ptr;
681
17.2M
}
_ZNK5doris5Field3getILNS_13PrimitiveTypeE22EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeEv
Line
Count
Source
673
22.5k
const typename PrimitiveTypeTraits<T>::CppType& Field::get() const {
674
22.5k
    if (T != type && !(is_string_type(type) && is_string_type(T)) && type != TYPE_NULL) {
675
0
        throw Exception(Status::FatalError("Field::get type mismatch: requested {}, actual {}",
676
0
                                           type_to_string(T), get_type_name()));
677
0
    }
678
22.5k
    const auto* MAY_ALIAS ptr =
679
22.5k
            reinterpret_cast<const typename PrimitiveTypeTraits<T>::CppType*>(&storage);
680
22.5k
    return *ptr;
681
22.5k
}
_ZNK5doris5Field3getILNS_13PrimitiveTypeE27EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeEv
Line
Count
Source
673
228
const typename PrimitiveTypeTraits<T>::CppType& Field::get() const {
674
228
    if (T != type && !(is_string_type(type) && is_string_type(T)) && type != TYPE_NULL) {
675
0
        throw Exception(Status::FatalError("Field::get type mismatch: requested {}, actual {}",
676
0
                                           type_to_string(T), get_type_name()));
677
0
    }
678
228
    const auto* MAY_ALIAS ptr =
679
228
            reinterpret_cast<const typename PrimitiveTypeTraits<T>::CppType*>(&storage);
680
228
    return *ptr;
681
228
}
Unexecuted instantiation: _ZNK5doris5Field3getILNS_13PrimitiveTypeE38EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeEv
_ZNK5doris5Field3getILNS_13PrimitiveTypeE39EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeEv
Line
Count
Source
673
40
const typename PrimitiveTypeTraits<T>::CppType& Field::get() const {
674
40
    if (T != type && !(is_string_type(type) && is_string_type(T)) && type != TYPE_NULL) {
675
0
        throw Exception(Status::FatalError("Field::get type mismatch: requested {}, actual {}",
676
0
                                           type_to_string(T), get_type_name()));
677
0
    }
678
40
    const auto* MAY_ALIAS ptr =
679
40
            reinterpret_cast<const typename PrimitiveTypeTraits<T>::CppType*>(&storage);
680
40
    return *ptr;
681
40
}
682
683
template <PrimitiveType T>
684
201M
void Field::destroy() {
685
201M
    using TargetType = typename PrimitiveTypeTraits<T>::CppType;
686
18.4E
    DCHECK(T == type || ((is_string_type(type) && is_string_type(T))))
687
18.4E
            << "Type mismatch: requested " << type_to_string(T) << ", actual " << get_type_name();
688
201M
    auto* MAY_ALIAS ptr = reinterpret_cast<TargetType*>(&storage);
689
201M
    ptr->~TargetType();
690
201M
}
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
684
147k
void Field::destroy() {
685
147k
    using TargetType = typename PrimitiveTypeTraits<T>::CppType;
686
18.4E
    DCHECK(T == type || ((is_string_type(type) && is_string_type(T))))
687
18.4E
            << "Type mismatch: requested " << type_to_string(T) << ", actual " << get_type_name();
688
147k
    auto* MAY_ALIAS ptr = reinterpret_cast<TargetType*>(&storage);
689
147k
    ptr->~TargetType();
690
147k
}
_ZN5doris5Field7destroyILNS_13PrimitiveTypeE10EEEvv
Line
Count
Source
684
9.81M
void Field::destroy() {
685
9.81M
    using TargetType = typename PrimitiveTypeTraits<T>::CppType;
686
18.4E
    DCHECK(T == type || ((is_string_type(type) && is_string_type(T))))
687
18.4E
            << "Type mismatch: requested " << type_to_string(T) << ", actual " << get_type_name();
688
9.81M
    auto* MAY_ALIAS ptr = reinterpret_cast<TargetType*>(&storage);
689
9.81M
    ptr->~TargetType();
690
9.81M
}
_ZN5doris5Field7destroyILNS_13PrimitiveTypeE23EEEvv
Line
Count
Source
684
68.5M
void Field::destroy() {
685
68.5M
    using TargetType = typename PrimitiveTypeTraits<T>::CppType;
686
18.4E
    DCHECK(T == type || ((is_string_type(type) && is_string_type(T))))
687
18.4E
            << "Type mismatch: requested " << type_to_string(T) << ", actual " << get_type_name();
688
68.5M
    auto* MAY_ALIAS ptr = reinterpret_cast<TargetType*>(&storage);
689
68.5M
    ptr->~TargetType();
690
68.5M
}
_ZN5doris5Field7destroyILNS_13PrimitiveTypeE41EEEvv
Line
Count
Source
684
92
void Field::destroy() {
685
92
    using TargetType = typename PrimitiveTypeTraits<T>::CppType;
686
92
    DCHECK(T == type || ((is_string_type(type) && is_string_type(T))))
687
0
            << "Type mismatch: requested " << type_to_string(T) << ", actual " << get_type_name();
688
92
    auto* MAY_ALIAS ptr = reinterpret_cast<TargetType*>(&storage);
689
92
    ptr->~TargetType();
690
92
}
_ZN5doris5Field7destroyILNS_13PrimitiveTypeE19EEEvv
Line
Count
Source
684
418
void Field::destroy() {
685
418
    using TargetType = typename PrimitiveTypeTraits<T>::CppType;
686
418
    DCHECK(T == type || ((is_string_type(type) && is_string_type(T))))
687
0
            << "Type mismatch: requested " << type_to_string(T) << ", actual " << get_type_name();
688
418
    auto* MAY_ALIAS ptr = reinterpret_cast<TargetType*>(&storage);
689
418
    ptr->~TargetType();
690
418
}
_ZN5doris5Field7destroyILNS_13PrimitiveTypeE32EEEvv
Line
Count
Source
684
244k
void Field::destroy() {
685
244k
    using TargetType = typename PrimitiveTypeTraits<T>::CppType;
686
18.4E
    DCHECK(T == type || ((is_string_type(type) && is_string_type(T))))
687
18.4E
            << "Type mismatch: requested " << type_to_string(T) << ", actual " << get_type_name();
688
244k
    auto* MAY_ALIAS ptr = reinterpret_cast<TargetType*>(&storage);
689
244k
    ptr->~TargetType();
690
244k
}
_ZN5doris5Field7destroyILNS_13PrimitiveTypeE24EEEvv
Line
Count
Source
684
22.3k
void Field::destroy() {
685
22.3k
    using TargetType = typename PrimitiveTypeTraits<T>::CppType;
686
22.3k
    DCHECK(T == type || ((is_string_type(type) && is_string_type(T))))
687
0
            << "Type mismatch: requested " << type_to_string(T) << ", actual " << get_type_name();
688
22.3k
    auto* MAY_ALIAS ptr = reinterpret_cast<TargetType*>(&storage);
689
22.3k
    ptr->~TargetType();
690
22.3k
}
_ZN5doris5Field7destroyILNS_13PrimitiveTypeE17EEEvv
Line
Count
Source
684
98.8M
void Field::destroy() {
685
98.8M
    using TargetType = typename PrimitiveTypeTraits<T>::CppType;
686
18.4E
    DCHECK(T == type || ((is_string_type(type) && is_string_type(T))))
687
18.4E
            << "Type mismatch: requested " << type_to_string(T) << ", actual " << get_type_name();
688
98.8M
    auto* MAY_ALIAS ptr = reinterpret_cast<TargetType*>(&storage);
689
98.8M
    ptr->~TargetType();
690
98.8M
}
Unexecuted instantiation: _ZN5doris5Field7destroyILNS_13PrimitiveTypeE36EEEvv
Unexecuted instantiation: _ZN5doris5Field7destroyILNS_13PrimitiveTypeE37EEEvv
Unexecuted instantiation: _ZN5doris5Field7destroyILNS_13PrimitiveTypeE2EEEvv
Unexecuted instantiation: _ZN5doris5Field7destroyILNS_13PrimitiveTypeE8EEEvv
Unexecuted instantiation: _ZN5doris5Field7destroyILNS_13PrimitiveTypeE9EEEvv
_ZN5doris5Field7destroyILNS_13PrimitiveTypeE31EEEvv
Line
Count
Source
684
7.67M
void Field::destroy() {
685
7.67M
    using TargetType = typename PrimitiveTypeTraits<T>::CppType;
686
18.4E
    DCHECK(T == type || ((is_string_type(type) && is_string_type(T))))
687
18.4E
            << "Type mismatch: requested " << type_to_string(T) << ", actual " << get_type_name();
688
7.67M
    auto* MAY_ALIAS ptr = reinterpret_cast<TargetType*>(&storage);
689
7.67M
    ptr->~TargetType();
690
7.67M
}
_ZN5doris5Field7destroyILNS_13PrimitiveTypeE16EEEvv
Line
Count
Source
684
3.06M
void Field::destroy() {
685
3.06M
    using TargetType = typename PrimitiveTypeTraits<T>::CppType;
686
3.06M
    DCHECK(T == type || ((is_string_type(type) && is_string_type(T))))
687
0
            << "Type mismatch: requested " << type_to_string(T) << ", actual " << get_type_name();
688
3.06M
    auto* MAY_ALIAS ptr = reinterpret_cast<TargetType*>(&storage);
689
3.06M
    ptr->~TargetType();
690
3.06M
}
_ZN5doris5Field7destroyILNS_13PrimitiveTypeE18EEEvv
Line
Count
Source
684
13.2M
void Field::destroy() {
685
13.2M
    using TargetType = typename PrimitiveTypeTraits<T>::CppType;
686
18.4E
    DCHECK(T == type || ((is_string_type(type) && is_string_type(T))))
687
18.4E
            << "Type mismatch: requested " << type_to_string(T) << ", actual " << get_type_name();
688
13.2M
    auto* MAY_ALIAS ptr = reinterpret_cast<TargetType*>(&storage);
689
13.2M
    ptr->~TargetType();
690
13.2M
}
_ZN5doris5Field7destroyILNS_13PrimitiveTypeE22EEEvv
Line
Count
Source
684
2.56k
void Field::destroy() {
685
2.56k
    using TargetType = typename PrimitiveTypeTraits<T>::CppType;
686
2.56k
    DCHECK(T == type || ((is_string_type(type) && is_string_type(T))))
687
0
            << "Type mismatch: requested " << type_to_string(T) << ", actual " << get_type_name();
688
2.56k
    auto* MAY_ALIAS ptr = reinterpret_cast<TargetType*>(&storage);
689
2.56k
    ptr->~TargetType();
690
2.56k
}
Unexecuted instantiation: _ZN5doris5Field7destroyILNS_13PrimitiveTypeE27EEEvv
Unexecuted instantiation: _ZN5doris5Field7destroyILNS_13PrimitiveTypeE38EEEvv
Unexecuted instantiation: _ZN5doris5Field7destroyILNS_13PrimitiveTypeE39EEEvv
691
692
12.8M
std::strong_ordering Field::operator<=>(const Field& rhs) const {
693
12.8M
    if (type == PrimitiveType::TYPE_NULL || rhs == PrimitiveType::TYPE_NULL) {
694
8.65M
        return type <=> rhs.type;
695
8.65M
    }
696
4.24M
    if (type != rhs.type) {
697
        // String-family types (STRING, CHAR, VARCHAR) all store String internally
698
        // and are inter-comparable.  This arises when comparing RowCursor fields
699
        // (which carry the declared column type) against Column::operator[] results
700
        // (which always return TYPE_STRING for ColumnString).
701
15.2k
        if (is_string_type(type) && is_string_type(rhs.type)) {
702
15.2k
            return get<TYPE_STRING>() <=> rhs.get<TYPE_STRING>();
703
15.2k
        }
704
0
        throw Exception(Status::FatalError("lhs type not equal with rhs, lhs={}, rhs={}",
705
0
                                           get_type_name(), rhs.get_type_name()));
706
15.2k
    }
707
708
4.23M
    switch (type) {
709
1.14k
    case PrimitiveType::TYPE_BITMAP:
710
1.34k
    case PrimitiveType::TYPE_HLL:
711
2.53k
    case PrimitiveType::TYPE_QUANTILE_STATE:
712
2.53k
    case PrimitiveType::INVALID_TYPE:
713
2.53k
    case PrimitiveType::TYPE_JSONB:
714
2.53k
    case PrimitiveType::TYPE_NULL:
715
8.67k
    case PrimitiveType::TYPE_ARRAY:
716
9.59k
    case PrimitiveType::TYPE_MAP:
717
10.3k
    case PrimitiveType::TYPE_STRUCT:
718
43.7k
    case PrimitiveType::TYPE_VARIANT:
719
43.7k
        return std::strong_ordering::equal; //TODO: throw Exception?
720
32.9k
    case PrimitiveType::TYPE_DATETIMEV2:
721
32.9k
        return get<PrimitiveType::TYPE_DATETIMEV2>().to_date_int_val() <=>
722
32.9k
               rhs.get<PrimitiveType::TYPE_DATETIMEV2>().to_date_int_val();
723
171
    case PrimitiveType::TYPE_TIMESTAMP_NS:
724
171
        return get<PrimitiveType::TYPE_TIMESTAMP_NS>() <=>
725
171
               rhs.get<PrimitiveType::TYPE_TIMESTAMP_NS>();
726
513k
    case PrimitiveType::TYPE_DATEV2:
727
513k
        return get<PrimitiveType::TYPE_DATEV2>().to_date_int_val() <=>
728
513k
               rhs.get<PrimitiveType::TYPE_DATEV2>().to_date_int_val();
729
7.89k
    case PrimitiveType::TYPE_TIMESTAMPTZ:
730
7.89k
        return get<PrimitiveType::TYPE_TIMESTAMPTZ>().to_date_int_val() <=>
731
7.89k
               rhs.get<PrimitiveType::TYPE_TIMESTAMPTZ>().to_date_int_val();
732
3.58k
    case PrimitiveType::TYPE_DATE:
733
3.58k
        return get<PrimitiveType::TYPE_DATE>() <=> rhs.get<PrimitiveType::TYPE_DATE>();
734
490
    case PrimitiveType::TYPE_DATETIME:
735
490
        return get<PrimitiveType::TYPE_DATETIME>() <=> rhs.get<PrimitiveType::TYPE_DATETIME>();
736
85.3k
    case PrimitiveType::TYPE_BIGINT:
737
85.3k
        return get<PrimitiveType::TYPE_BIGINT>() <=> rhs.get<PrimitiveType::TYPE_BIGINT>();
738
16.5k
    case PrimitiveType::TYPE_BOOLEAN:
739
16.5k
        return get<PrimitiveType::TYPE_BOOLEAN>() <=> rhs.get<PrimitiveType::TYPE_BOOLEAN>();
740
468k
    case PrimitiveType::TYPE_TINYINT:
741
468k
        return get<TYPE_TINYINT>() <=> rhs.get<TYPE_TINYINT>();
742
9.23k
    case PrimitiveType::TYPE_SMALLINT:
743
9.23k
        return get<TYPE_SMALLINT>() <=> rhs.get<TYPE_SMALLINT>();
744
1.42M
    case PrimitiveType::TYPE_INT:
745
1.42M
        return get<TYPE_INT>() <=> rhs.get<TYPE_INT>();
746
16.6k
    case PrimitiveType::TYPE_LARGEINT:
747
16.6k
        return get<TYPE_LARGEINT>() <=> rhs.get<TYPE_LARGEINT>();
748
247
    case PrimitiveType::TYPE_IPV6:
749
247
        return get<TYPE_IPV6>() <=> rhs.get<TYPE_IPV6>();
750
303
    case PrimitiveType::TYPE_IPV4:
751
303
        return get<TYPE_IPV4>() <=> rhs.get<TYPE_IPV4>();
752
12
    case PrimitiveType::TYPE_FLOAT:
753
12
        switch (Compare::compare(get<TYPE_FLOAT>(), rhs.get<TYPE_FLOAT>())) {
754
0
        case -1:
755
0
            return std::strong_ordering::less;
756
10
        case 0:
757
10
            return std::strong_ordering::equal;
758
2
        case 1:
759
2
            return std::strong_ordering::greater;
760
0
        default:
761
0
            LOG(FATAL) << "unexpected float compare result";
762
12
        }
763
13
    case PrimitiveType::TYPE_TIMEV2:
764
13
        return get<TYPE_TIMEV2>() < rhs.get<TYPE_TIMEV2>()    ? std::strong_ordering::less
765
13
               : get<TYPE_TIMEV2>() == rhs.get<TYPE_TIMEV2>() ? std::strong_ordering::equal
766
13
                                                              : std::strong_ordering::greater;
767
56
    case PrimitiveType::TYPE_DOUBLE:
768
56
        switch (Compare::compare(get<TYPE_DOUBLE>(), rhs.get<TYPE_DOUBLE>())) {
769
17
        case -1:
770
17
            return std::strong_ordering::less;
771
13
        case 0:
772
13
            return std::strong_ordering::equal;
773
26
        case 1:
774
26
            return std::strong_ordering::greater;
775
0
        default:
776
0
            LOG(FATAL) << "unexpected double compare result";
777
56
        }
778
29.2k
    case PrimitiveType::TYPE_STRING:
779
29.2k
        return get<TYPE_STRING>() <=> rhs.get<TYPE_STRING>();
780
434
    case PrimitiveType::TYPE_CHAR:
781
434
        return get<TYPE_CHAR>() <=> rhs.get<TYPE_CHAR>();
782
1.62M
    case PrimitiveType::TYPE_VARCHAR:
783
1.62M
        return get<TYPE_VARCHAR>() <=> rhs.get<TYPE_VARCHAR>();
784
3
    case PrimitiveType::TYPE_VARBINARY:
785
3
        return get<TYPE_VARBINARY>() <=> rhs.get<TYPE_VARBINARY>();
786
822
    case PrimitiveType::TYPE_DECIMAL32:
787
822
        return get<TYPE_DECIMAL32>() <=> rhs.get<TYPE_DECIMAL32>();
788
2.68k
    case PrimitiveType::TYPE_DECIMAL64:
789
2.68k
        return get<TYPE_DECIMAL64>() <=> rhs.get<TYPE_DECIMAL64>();
790
2.73k
    case PrimitiveType::TYPE_DECIMALV2:
791
2.73k
        return get<TYPE_DECIMALV2>() <=> rhs.get<TYPE_DECIMALV2>();
792
3.32k
    case PrimitiveType::TYPE_DECIMAL128I:
793
3.32k
        return get<TYPE_DECIMAL128I>() <=> rhs.get<TYPE_DECIMAL128I>();
794
2.18k
    case PrimitiveType::TYPE_DECIMAL256:
795
2.18k
        return get<TYPE_DECIMAL256>() <=> rhs.get<TYPE_DECIMAL256>();
796
0
    default:
797
0
        throw Exception(Status::FatalError("Unsupported type: {}", get_type_name()));
798
4.23M
    }
799
4.23M
}
800
801
#define MATCH_PRIMITIVE_TYPE(primitive_type)                                   \
802
6.04k
    if (type == primitive_type) {                                              \
803
1.09k
        const auto& v = get<primitive_type>();                                 \
804
1.09k
        return std::string_view(reinterpret_cast<const char*>(&v), sizeof(v)); \
805
1.09k
    }
806
807
2.17k
std::string_view Field::as_string_view() const {
808
2.17k
    if (type == PrimitiveType::TYPE_STRING || type == PrimitiveType::TYPE_VARCHAR ||
809
2.17k
        type == PrimitiveType::TYPE_CHAR) {
810
1.07k
        const auto& s = get<TYPE_STRING>();
811
1.07k
        return {s.data(), s.size()};
812
1.07k
    }
813
1.10k
    if (type == PrimitiveType::TYPE_VARBINARY) {
814
5
        const auto& svf = get<TYPE_VARBINARY>();
815
5
        return {svf.data(), svf.size()};
816
5
    }
817
    // MATCH_PRIMITIVE_TYPE(INVALID_TYPE);
818
    // MATCH_PRIMITIVE_TYPE(TYPE_NULL);
819
1.09k
    MATCH_PRIMITIVE_TYPE(TYPE_BOOLEAN);
820
1.09k
    MATCH_PRIMITIVE_TYPE(TYPE_TINYINT);
821
1.08k
    MATCH_PRIMITIVE_TYPE(TYPE_SMALLINT);
822
1.08k
    MATCH_PRIMITIVE_TYPE(TYPE_INT);
823
224
    MATCH_PRIMITIVE_TYPE(TYPE_BIGINT);
824
161
    MATCH_PRIMITIVE_TYPE(TYPE_LARGEINT);
825
161
    MATCH_PRIMITIVE_TYPE(TYPE_FLOAT)
826
161
    MATCH_PRIMITIVE_TYPE(TYPE_DOUBLE);
827
    // MATCH_PRIMITIVE_TYPE(TYPE_VARCHAR);
828
161
    MATCH_PRIMITIVE_TYPE(TYPE_DATE);
829
161
    MATCH_PRIMITIVE_TYPE(TYPE_DATETIME);
830
161
    MATCH_PRIMITIVE_TYPE(TYPE_TIMESTAMPTZ);
831
    // MATCH_PRIMITIVE_TYPE(TYPE_BINARY);
832
    // MATCH_PRIMITIVE_TYPE(TYPE_DECIMAL);
833
    // MATCH_PRIMITIVE_TYPE(TYPE_CHAR);
834
    // MATCH_PRIMITIVE_TYPE(TYPE_STRUCT);
835
    // MATCH_PRIMITIVE_TYPE(TYPE_ARRAY);
836
    // MATCH_PRIMITIVE_TYPE(TYPE_MAP);
837
    // MATCH_PRIMITIVE_TYPE(TYPE_HLL);
838
141
    MATCH_PRIMITIVE_TYPE(TYPE_DECIMALV2);
839
    // MATCH_PRIMITIVE_TYPE(TYPE_BITMAP);
840
    // MATCH_PRIMITIVE_TYPE(TYPE_STRING);
841
    // MATCH_PRIMITIVE_TYPE(TYPE_QUANTILE_STATE);
842
141
    MATCH_PRIMITIVE_TYPE(TYPE_DATEV2);
843
113
    MATCH_PRIMITIVE_TYPE(TYPE_DATETIMEV2);
844
74
    MATCH_PRIMITIVE_TYPE(TYPE_TIMESTAMP_NS);
845
30
    MATCH_PRIMITIVE_TYPE(TYPE_TIMEV2);
846
0
    MATCH_PRIMITIVE_TYPE(TYPE_DECIMAL32);
847
0
    MATCH_PRIMITIVE_TYPE(TYPE_DECIMAL64);
848
0
    MATCH_PRIMITIVE_TYPE(TYPE_DECIMAL128I);
849
    // MATCH_PRIMITIVE_TYPE(TYPE_JSONB);
850
    // MATCH_PRIMITIVE_TYPE(TYPE_VARIANT);
851
    // MATCH_PRIMITIVE_TYPE(TYPE_LAMBDA_FUNCTION);
852
    // MATCH_PRIMITIVE_TYPE(TYPE_AGG_STATE);
853
0
    MATCH_PRIMITIVE_TYPE(TYPE_DECIMAL256);
854
0
    MATCH_PRIMITIVE_TYPE(TYPE_IPV4);
855
0
    MATCH_PRIMITIVE_TYPE(TYPE_IPV6);
856
0
    MATCH_PRIMITIVE_TYPE(TYPE_UINT32);
857
0
    MATCH_PRIMITIVE_TYPE(TYPE_UINT64);
858
    // MATCH_PRIMITIVE_TYPE(TYPE_FIXED_LENGTH_OBJECT);
859
0
    throw Exception(
860
0
            Status::FatalError("type not supported for as_string_view, type={}", get_type_name()));
861
0
}
862
863
#undef MATCH_PRIMITIVE_TYPE
864
865
// Important!!! This method is not accurate, for example, decimal to string, it uses scale == 0, because
866
// it do not know the actual scale of the decimal value. It is only used for debug printing, so it is fine.
867
16.2M
std::string Field::to_debug_string(int scale) const {
868
16.2M
    if (is_null()) {
869
0
        return "NULL";
870
0
    }
871
16.2M
    switch (type) {
872
37.9k
    case PrimitiveType::TYPE_BOOLEAN:
873
37.9k
        return get<TYPE_BOOLEAN>() ? "true" : "false";
874
1.45M
    case PrimitiveType::TYPE_TINYINT:
875
1.45M
        return CastToString::from_number(get<TYPE_TINYINT>());
876
31.4k
    case PrimitiveType::TYPE_SMALLINT:
877
31.4k
        return CastToString::from_number(get<TYPE_SMALLINT>());
878
595k
    case PrimitiveType::TYPE_INT:
879
595k
        return CastToString::from_number(get<TYPE_INT>());
880
221k
    case PrimitiveType::TYPE_BIGINT:
881
221k
        return CastToString::from_number(get<TYPE_BIGINT>());
882
49.4k
    case PrimitiveType::TYPE_LARGEINT:
883
49.4k
        return CastToString::from_number(get<TYPE_LARGEINT>());
884
0
    case PrimitiveType::TYPE_FLOAT:
885
0
        return CastToString::from_number(get<TYPE_FLOAT>());
886
0
    case PrimitiveType::TYPE_DOUBLE:
887
0
        return CastToString::from_number(get<TYPE_DOUBLE>());
888
0
    case PrimitiveType::TYPE_STRING:
889
1.63k
    case PrimitiveType::TYPE_CHAR:
890
12.9M
    case PrimitiveType::TYPE_VARCHAR:
891
12.9M
        return get<TYPE_STRING>();
892
0
    case PrimitiveType::TYPE_VARBINARY:
893
0
        return get<TYPE_VARBINARY>();
894
3.14k
    case PrimitiveType::TYPE_DATE:
895
3.14k
        return CastToString::from_date_or_datetime(get<TYPE_DATE>());
896
53
    case PrimitiveType::TYPE_DATETIME:
897
53
        return CastToString::from_date_or_datetime(get<TYPE_DATETIME>());
898
911k
    case PrimitiveType::TYPE_DATEV2:
899
911k
        return CastToString::from_datev2(get<TYPE_DATEV2>());
900
11.3k
    case PrimitiveType::TYPE_DATETIMEV2:
901
11.3k
        return CastToString::from_datetimev2(get<TYPE_DATETIMEV2>(), scale);
902
2
    case PrimitiveType::TYPE_TIMESTAMP_NS:
903
2
        return get<TYPE_TIMESTAMP_NS>().to_string();
904
28.9k
    case PrimitiveType::TYPE_TIMESTAMPTZ:
905
28.9k
        return CastToString::from_timestamptz(get<TYPE_TIMESTAMPTZ>(), scale);
906
451
    case PrimitiveType::TYPE_DECIMALV2:
907
451
        return get<TYPE_DECIMALV2>().to_string();
908
1.41k
    case PrimitiveType::TYPE_DECIMAL32:
909
1.41k
        return CastToString::from_decimal(get<TYPE_DECIMAL32>(), scale);
910
1.08k
    case PrimitiveType::TYPE_DECIMAL64:
911
1.08k
        return CastToString::from_decimal(get<TYPE_DECIMAL64>(), scale);
912
4.18k
    case PrimitiveType::TYPE_DECIMAL128I:
913
4.18k
        return CastToString::from_decimal(get<TYPE_DECIMAL128I>(), scale);
914
2.09k
    case PrimitiveType::TYPE_DECIMAL256:
915
2.09k
        return CastToString::from_decimal(get<TYPE_DECIMAL256>(), scale);
916
0
    case PrimitiveType::TYPE_IPV4:
917
0
        return CastToString::from_ip(get<TYPE_IPV4>());
918
21
    case PrimitiveType::TYPE_IPV6:
919
21
        return CastToString::from_ip(get<TYPE_IPV6>());
920
0
    default:
921
0
        throw Exception(Status::FatalError("type not supported for to_debug_string, type={}",
922
0
                                           get_type_name()));
923
0
        __builtin_unreachable();
924
16.2M
    }
925
16.2M
}
926
927
#define DECLARE_FUNCTION(FUNC_NAME)                                                               \
928
    template void Field::FUNC_NAME<TYPE_NULL>(typename PrimitiveTypeTraits<TYPE_NULL>::CppType && \
929
                                              rhs);                                               \
930
    template void Field::FUNC_NAME<TYPE_TINYINT>(                                                 \
931
            typename PrimitiveTypeTraits<TYPE_TINYINT>::CppType && rhs);                          \
932
    template void Field::FUNC_NAME<TYPE_SMALLINT>(                                                \
933
            typename PrimitiveTypeTraits<TYPE_SMALLINT>::CppType && rhs);                         \
934
    template void Field::FUNC_NAME<TYPE_INT>(typename PrimitiveTypeTraits<TYPE_INT>::CppType &&   \
935
                                             rhs);                                                \
936
    template void Field::FUNC_NAME<TYPE_BIGINT>(                                                  \
937
            typename PrimitiveTypeTraits<TYPE_BIGINT>::CppType && rhs);                           \
938
    template void Field::FUNC_NAME<TYPE_LARGEINT>(                                                \
939
            typename PrimitiveTypeTraits<TYPE_LARGEINT>::CppType && rhs);                         \
940
    template void Field::FUNC_NAME<TYPE_DATE>(typename PrimitiveTypeTraits<TYPE_DATE>::CppType && \
941
                                              rhs);                                               \
942
    template void Field::FUNC_NAME<TYPE_DATETIME>(                                                \
943
            typename PrimitiveTypeTraits<TYPE_DATETIME>::CppType && rhs);                         \
944
    template void Field::FUNC_NAME<TYPE_DATEV2>(                                                  \
945
            typename PrimitiveTypeTraits<TYPE_DATEV2>::CppType && rhs);                           \
946
    template void Field::FUNC_NAME<TYPE_DATETIMEV2>(                                              \
947
            typename PrimitiveTypeTraits<TYPE_DATETIMEV2>::CppType && rhs);                       \
948
    template void Field::FUNC_NAME<TYPE_TIMESTAMP_NS>(                                            \
949
            typename PrimitiveTypeTraits<TYPE_TIMESTAMP_NS>::CppType && rhs);                     \
950
    template void Field::FUNC_NAME<TYPE_DECIMAL32>(                                               \
951
            typename PrimitiveTypeTraits<TYPE_DECIMAL32>::CppType && rhs);                        \
952
    template void Field::FUNC_NAME<TYPE_DECIMAL64>(                                               \
953
            typename PrimitiveTypeTraits<TYPE_DECIMAL64>::CppType && rhs);                        \
954
    template void Field::FUNC_NAME<TYPE_DECIMALV2>(                                               \
955
            typename PrimitiveTypeTraits<TYPE_DECIMALV2>::CppType && rhs);                        \
956
    template void Field::FUNC_NAME<TYPE_DECIMAL128I>(                                             \
957
            typename PrimitiveTypeTraits<TYPE_DECIMAL128I>::CppType && rhs);                      \
958
    template void Field::FUNC_NAME<TYPE_DECIMAL256>(                                              \
959
            typename PrimitiveTypeTraits<TYPE_DECIMAL256>::CppType && rhs);                       \
960
    template void Field::FUNC_NAME<TYPE_CHAR>(typename PrimitiveTypeTraits<TYPE_CHAR>::CppType && \
961
                                              rhs);                                               \
962
    template void Field::FUNC_NAME<TYPE_VARCHAR>(                                                 \
963
            typename PrimitiveTypeTraits<TYPE_VARCHAR>::CppType && rhs);                          \
964
    template void Field::FUNC_NAME<TYPE_STRING>(                                                  \
965
            typename PrimitiveTypeTraits<TYPE_STRING>::CppType && rhs);                           \
966
    template void Field::FUNC_NAME<TYPE_VARBINARY>(                                               \
967
            typename PrimitiveTypeTraits<TYPE_VARBINARY>::CppType && rhs);                        \
968
    template void Field::FUNC_NAME<TYPE_HLL>(typename PrimitiveTypeTraits<TYPE_HLL>::CppType &&   \
969
                                             rhs);                                                \
970
    template void Field::FUNC_NAME<TYPE_VARIANT>(                                                 \
971
            typename PrimitiveTypeTraits<TYPE_VARIANT>::CppType && rhs);                          \
972
    template void Field::FUNC_NAME<TYPE_QUANTILE_STATE>(                                          \
973
            typename PrimitiveTypeTraits<TYPE_QUANTILE_STATE>::CppType && rhs);                   \
974
    template void Field::FUNC_NAME<TYPE_ARRAY>(                                                   \
975
            typename PrimitiveTypeTraits<TYPE_ARRAY>::CppType && rhs);                            \
976
    template void Field::FUNC_NAME<TYPE_NULL>(                                                    \
977
            const typename PrimitiveTypeTraits<TYPE_NULL>::CppType& rhs);                         \
978
    template void Field::FUNC_NAME<TYPE_TINYINT>(                                                 \
979
            const typename PrimitiveTypeTraits<TYPE_TINYINT>::CppType& rhs);                      \
980
    template void Field::FUNC_NAME<TYPE_SMALLINT>(                                                \
981
            const typename PrimitiveTypeTraits<TYPE_SMALLINT>::CppType& rhs);                     \
982
    template void Field::FUNC_NAME<TYPE_INT>(                                                     \
983
            const typename PrimitiveTypeTraits<TYPE_INT>::CppType& rhs);                          \
984
    template void Field::FUNC_NAME<TYPE_BIGINT>(                                                  \
985
            const typename PrimitiveTypeTraits<TYPE_BIGINT>::CppType& rhs);                       \
986
    template void Field::FUNC_NAME<TYPE_LARGEINT>(                                                \
987
            const typename PrimitiveTypeTraits<TYPE_LARGEINT>::CppType& rhs);                     \
988
    template void Field::FUNC_NAME<TYPE_DATE>(                                                    \
989
            const typename PrimitiveTypeTraits<TYPE_DATE>::CppType& rhs);                         \
990
    template void Field::FUNC_NAME<TYPE_DATETIME>(                                                \
991
            const typename PrimitiveTypeTraits<TYPE_DATETIME>::CppType& rhs);                     \
992
    template void Field::FUNC_NAME<TYPE_DATEV2>(                                                  \
993
            const typename PrimitiveTypeTraits<TYPE_DATEV2>::CppType& rhs);                       \
994
    template void Field::FUNC_NAME<TYPE_DATETIMEV2>(                                              \
995
            const typename PrimitiveTypeTraits<TYPE_DATETIMEV2>::CppType& rhs);                   \
996
    template void Field::FUNC_NAME<TYPE_TIMESTAMP_NS>(                                            \
997
            const typename PrimitiveTypeTraits<TYPE_TIMESTAMP_NS>::CppType& rhs);                 \
998
    template void Field::FUNC_NAME<TYPE_TIMESTAMPTZ>(                                             \
999
            const typename PrimitiveTypeTraits<TYPE_TIMESTAMPTZ>::CppType& rhs);                  \
1000
    template void Field::FUNC_NAME<TYPE_TIMESTAMPTZ>(                                             \
1001
            typename PrimitiveTypeTraits<TYPE_TIMESTAMPTZ>::CppType && rhs);                      \
1002
    template void Field::FUNC_NAME<TYPE_DECIMAL32>(                                               \
1003
            const typename PrimitiveTypeTraits<TYPE_DECIMAL32>::CppType& rhs);                    \
1004
    template void Field::FUNC_NAME<TYPE_DECIMAL64>(                                               \
1005
            const typename PrimitiveTypeTraits<TYPE_DECIMAL64>::CppType& rhs);                    \
1006
    template void Field::FUNC_NAME<TYPE_DECIMALV2>(                                               \
1007
            const typename PrimitiveTypeTraits<TYPE_DECIMALV2>::CppType& rhs);                    \
1008
    template void Field::FUNC_NAME<TYPE_DECIMAL128I>(                                             \
1009
            const typename PrimitiveTypeTraits<TYPE_DECIMAL128I>::CppType& rhs);                  \
1010
    template void Field::FUNC_NAME<TYPE_DECIMAL256>(                                              \
1011
            const typename PrimitiveTypeTraits<TYPE_DECIMAL256>::CppType& rhs);                   \
1012
    template void Field::FUNC_NAME<TYPE_CHAR>(                                                    \
1013
            const typename PrimitiveTypeTraits<TYPE_CHAR>::CppType& rhs);                         \
1014
    template void Field::FUNC_NAME<TYPE_VARCHAR>(                                                 \
1015
            const typename PrimitiveTypeTraits<TYPE_VARCHAR>::CppType& rhs);                      \
1016
    template void Field::FUNC_NAME<TYPE_STRING>(                                                  \
1017
            const typename PrimitiveTypeTraits<TYPE_STRING>::CppType& rhs);                       \
1018
    template void Field::FUNC_NAME<TYPE_VARBINARY>(                                               \
1019
            const typename PrimitiveTypeTraits<TYPE_VARBINARY>::CppType& rhs);                    \
1020
    template void Field::FUNC_NAME<TYPE_HLL>(                                                     \
1021
            const typename PrimitiveTypeTraits<TYPE_HLL>::CppType& rhs);                          \
1022
    template void Field::FUNC_NAME<TYPE_VARIANT>(                                                 \
1023
            const typename PrimitiveTypeTraits<TYPE_VARIANT>::CppType& rhs);                      \
1024
    template void Field::FUNC_NAME<TYPE_QUANTILE_STATE>(                                          \
1025
            const typename PrimitiveTypeTraits<TYPE_QUANTILE_STATE>::CppType& rhs);               \
1026
    template void Field::FUNC_NAME<TYPE_ARRAY>(                                                   \
1027
            const typename PrimitiveTypeTraits<TYPE_ARRAY>::CppType& rhs);                        \
1028
    template void Field::FUNC_NAME<TYPE_IPV4>(typename PrimitiveTypeTraits<TYPE_IPV4>::CppType && \
1029
                                              rhs);                                               \
1030
    template void Field::FUNC_NAME<TYPE_IPV4>(                                                    \
1031
            const typename PrimitiveTypeTraits<TYPE_IPV4>::CppType& rhs);                         \
1032
    template void Field::FUNC_NAME<TYPE_IPV6>(typename PrimitiveTypeTraits<TYPE_IPV6>::CppType && \
1033
                                              rhs);                                               \
1034
    template void Field::FUNC_NAME<TYPE_IPV6>(                                                    \
1035
            const typename PrimitiveTypeTraits<TYPE_IPV6>::CppType& rhs);                         \
1036
    template void Field::FUNC_NAME<TYPE_BOOLEAN>(                                                 \
1037
            typename PrimitiveTypeTraits<TYPE_BOOLEAN>::CppType && rhs);                          \
1038
    template void Field::FUNC_NAME<TYPE_BOOLEAN>(                                                 \
1039
            const typename PrimitiveTypeTraits<TYPE_BOOLEAN>::CppType& rhs);                      \
1040
    template void Field::FUNC_NAME<TYPE_FLOAT>(                                                   \
1041
            typename PrimitiveTypeTraits<TYPE_FLOAT>::CppType && rhs);                            \
1042
    template void Field::FUNC_NAME<TYPE_FLOAT>(                                                   \
1043
            const typename PrimitiveTypeTraits<TYPE_FLOAT>::CppType& rhs);                        \
1044
    template void Field::FUNC_NAME<TYPE_DOUBLE>(                                                  \
1045
            typename PrimitiveTypeTraits<TYPE_DOUBLE>::CppType && rhs);                           \
1046
    template void Field::FUNC_NAME<TYPE_DOUBLE>(                                                  \
1047
            const typename PrimitiveTypeTraits<TYPE_DOUBLE>::CppType& rhs);                       \
1048
    template void Field::FUNC_NAME<TYPE_JSONB>(                                                   \
1049
            typename PrimitiveTypeTraits<TYPE_JSONB>::CppType && rhs);                            \
1050
    template void Field::FUNC_NAME<TYPE_JSONB>(                                                   \
1051
            const typename PrimitiveTypeTraits<TYPE_JSONB>::CppType& rhs);                        \
1052
    template void Field::FUNC_NAME<TYPE_STRUCT>(                                                  \
1053
            typename PrimitiveTypeTraits<TYPE_STRUCT>::CppType && rhs);                           \
1054
    template void Field::FUNC_NAME<TYPE_STRUCT>(                                                  \
1055
            const typename PrimitiveTypeTraits<TYPE_STRUCT>::CppType& rhs);                       \
1056
    template void Field::FUNC_NAME<TYPE_MAP>(typename PrimitiveTypeTraits<TYPE_MAP>::CppType &&   \
1057
                                             rhs);                                                \
1058
    template void Field::FUNC_NAME<TYPE_MAP>(                                                     \
1059
            const typename PrimitiveTypeTraits<TYPE_MAP>::CppType& rhs);                          \
1060
    template void Field::FUNC_NAME<TYPE_BITMAP>(                                                  \
1061
            typename PrimitiveTypeTraits<TYPE_BITMAP>::CppType && rhs);                           \
1062
    template void Field::FUNC_NAME<TYPE_BITMAP>(                                                  \
1063
            const typename PrimitiveTypeTraits<TYPE_BITMAP>::CppType& rhs);                       \
1064
    template void Field::FUNC_NAME<TYPE_TIMEV2>(                                                  \
1065
            const typename PrimitiveTypeTraits<TYPE_TIMEV2>::CppType& rhs);                       \
1066
    template void Field::FUNC_NAME<TYPE_TIMEV2>(                                                  \
1067
            typename PrimitiveTypeTraits<TYPE_TIMEV2>::CppType && rhs);                           \
1068
    template void Field::FUNC_NAME<TYPE_UINT32>(                                                  \
1069
            const typename PrimitiveTypeTraits<TYPE_UINT32>::CppType& rhs);                       \
1070
    template void Field::FUNC_NAME<TYPE_UINT32>(                                                  \
1071
            typename PrimitiveTypeTraits<TYPE_UINT32>::CppType && rhs);                           \
1072
    template void Field::FUNC_NAME<TYPE_UINT64>(                                                  \
1073
            const typename PrimitiveTypeTraits<TYPE_UINT64>::CppType& rhs);                       \
1074
    template void Field::FUNC_NAME<TYPE_UINT64>(                                                  \
1075
            typename PrimitiveTypeTraits<TYPE_UINT64>::CppType && rhs);
1076
DECLARE_FUNCTION(create_concrete)
1077
DECLARE_FUNCTION(assign_concrete)
1078
#undef DECLARE_FUNCTION
1079
1080
#define DECLARE_FUNCTION(TYPE_NAME)                                                          \
1081
    template typename PrimitiveTypeTraits<TYPE_NAME>::CppType& Field::get<TYPE_NAME>();      \
1082
    template const typename PrimitiveTypeTraits<TYPE_NAME>::CppType& Field::get<TYPE_NAME>() \
1083
            const;                                                                           \
1084
    template void Field::destroy<TYPE_NAME>();
1085
DECLARE_FUNCTION(TYPE_NULL)
1086
DECLARE_FUNCTION(TYPE_TINYINT)
1087
DECLARE_FUNCTION(TYPE_SMALLINT)
1088
DECLARE_FUNCTION(TYPE_INT)
1089
DECLARE_FUNCTION(TYPE_BIGINT)
1090
DECLARE_FUNCTION(TYPE_LARGEINT)
1091
DECLARE_FUNCTION(TYPE_DATE)
1092
DECLARE_FUNCTION(TYPE_DATETIME)
1093
DECLARE_FUNCTION(TYPE_DATEV2)
1094
DECLARE_FUNCTION(TYPE_DATETIMEV2)
1095
DECLARE_FUNCTION(TYPE_TIMESTAMP_NS)
1096
DECLARE_FUNCTION(TYPE_TIMESTAMPTZ)
1097
DECLARE_FUNCTION(TYPE_DECIMAL32)
1098
DECLARE_FUNCTION(TYPE_DECIMAL64)
1099
DECLARE_FUNCTION(TYPE_DECIMALV2)
1100
DECLARE_FUNCTION(TYPE_DECIMAL128I)
1101
DECLARE_FUNCTION(TYPE_DECIMAL256)
1102
DECLARE_FUNCTION(TYPE_CHAR)
1103
DECLARE_FUNCTION(TYPE_VARCHAR)
1104
DECLARE_FUNCTION(TYPE_STRING)
1105
DECLARE_FUNCTION(TYPE_VARBINARY)
1106
DECLARE_FUNCTION(TYPE_HLL)
1107
DECLARE_FUNCTION(TYPE_VARIANT)
1108
DECLARE_FUNCTION(TYPE_QUANTILE_STATE)
1109
DECLARE_FUNCTION(TYPE_ARRAY)
1110
DECLARE_FUNCTION(TYPE_IPV4)
1111
DECLARE_FUNCTION(TYPE_IPV6)
1112
DECLARE_FUNCTION(TYPE_BOOLEAN)
1113
DECLARE_FUNCTION(TYPE_FLOAT)
1114
DECLARE_FUNCTION(TYPE_DOUBLE)
1115
DECLARE_FUNCTION(TYPE_JSONB)
1116
DECLARE_FUNCTION(TYPE_STRUCT)
1117
DECLARE_FUNCTION(TYPE_MAP)
1118
DECLARE_FUNCTION(TYPE_BITMAP)
1119
DECLARE_FUNCTION(TYPE_TIMEV2)
1120
DECLARE_FUNCTION(TYPE_UINT32)
1121
DECLARE_FUNCTION(TYPE_UINT64)
1122
#undef DECLARE_FUNCTION
1123
} // namespace doris