Coverage Report

Created: 2026-08-03 10:00

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
307M
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
307M
    using StorageType = typename PrimitiveTypeTraits<Type>::CppType;
101
307M
    new (&storage) StorageType(std::move(x));
102
307M
    type = Type;
103
307M
    DCHECK_NE(type, PrimitiveType::INVALID_TYPE);
104
307M
}
_ZN5doris5Field15create_concreteILNS_13PrimitiveTypeE1EEEvONS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
94
1.93M
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.93M
    using StorageType = typename PrimitiveTypeTraits<Type>::CppType;
101
1.93M
    new (&storage) StorageType(std::move(x));
102
1.93M
    type = Type;
103
    DCHECK_NE(type, PrimitiveType::INVALID_TYPE);
104
1.93M
}
_ZN5doris5Field15create_concreteILNS_13PrimitiveTypeE3EEEvONS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
94
16.2M
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
16.2M
    using StorageType = typename PrimitiveTypeTraits<Type>::CppType;
101
16.2M
    new (&storage) StorageType(std::move(x));
102
16.2M
    type = Type;
103
    DCHECK_NE(type, PrimitiveType::INVALID_TYPE);
104
16.2M
}
_ZN5doris5Field15create_concreteILNS_13PrimitiveTypeE4EEEvONS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
94
313k
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
313k
    using StorageType = typename PrimitiveTypeTraits<Type>::CppType;
101
313k
    new (&storage) StorageType(std::move(x));
102
313k
    type = Type;
103
    DCHECK_NE(type, PrimitiveType::INVALID_TYPE);
104
313k
}
_ZN5doris5Field15create_concreteILNS_13PrimitiveTypeE5EEEvONS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
94
42.4M
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
42.4M
    using StorageType = typename PrimitiveTypeTraits<Type>::CppType;
101
42.4M
    new (&storage) StorageType(std::move(x));
102
42.4M
    type = Type;
103
    DCHECK_NE(type, PrimitiveType::INVALID_TYPE);
104
42.4M
}
_ZN5doris5Field15create_concreteILNS_13PrimitiveTypeE6EEEvONS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
94
70.2M
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
70.2M
    using StorageType = typename PrimitiveTypeTraits<Type>::CppType;
101
70.2M
    new (&storage) StorageType(std::move(x));
102
70.2M
    type = Type;
103
    DCHECK_NE(type, PrimitiveType::INVALID_TYPE);
104
70.2M
}
_ZN5doris5Field15create_concreteILNS_13PrimitiveTypeE7EEEvONS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
94
374k
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
374k
    using StorageType = typename PrimitiveTypeTraits<Type>::CppType;
101
374k
    new (&storage) StorageType(std::move(x));
102
374k
    type = Type;
103
    DCHECK_NE(type, PrimitiveType::INVALID_TYPE);
104
374k
}
_ZN5doris5Field15create_concreteILNS_13PrimitiveTypeE11EEEvONS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
94
35.3k
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
35.3k
    using StorageType = typename PrimitiveTypeTraits<Type>::CppType;
101
35.3k
    new (&storage) StorageType(std::move(x));
102
35.3k
    type = Type;
103
    DCHECK_NE(type, PrimitiveType::INVALID_TYPE);
104
35.3k
}
_ZN5doris5Field15create_concreteILNS_13PrimitiveTypeE12EEEvONS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
94
41.3k
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
41.3k
    using StorageType = typename PrimitiveTypeTraits<Type>::CppType;
101
41.3k
    new (&storage) StorageType(std::move(x));
102
41.3k
    type = Type;
103
    DCHECK_NE(type, PrimitiveType::INVALID_TYPE);
104
41.3k
}
_ZN5doris5Field15create_concreteILNS_13PrimitiveTypeE25EEEvONS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
94
958k
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
958k
    using StorageType = typename PrimitiveTypeTraits<Type>::CppType;
101
958k
    new (&storage) StorageType(std::move(x));
102
958k
    type = Type;
103
    DCHECK_NE(type, PrimitiveType::INVALID_TYPE);
104
958k
}
_ZN5doris5Field15create_concreteILNS_13PrimitiveTypeE26EEEvONS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
94
7.43M
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
7.43M
    using StorageType = typename PrimitiveTypeTraits<Type>::CppType;
101
7.43M
    new (&storage) StorageType(std::move(x));
102
7.43M
    type = Type;
103
    DCHECK_NE(type, PrimitiveType::INVALID_TYPE);
104
7.43M
}
_ZN5doris5Field15create_concreteILNS_13PrimitiveTypeE43EEEvONS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
94
675
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
675
    using StorageType = typename PrimitiveTypeTraits<Type>::CppType;
101
675
    new (&storage) StorageType(std::move(x));
102
675
    type = Type;
103
    DCHECK_NE(type, PrimitiveType::INVALID_TYPE);
104
675
}
_ZN5doris5Field15create_concreteILNS_13PrimitiveTypeE28EEEvONS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
94
147k
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
147k
    using StorageType = typename PrimitiveTypeTraits<Type>::CppType;
101
147k
    new (&storage) StorageType(std::move(x));
102
147k
    type = Type;
103
    DCHECK_NE(type, PrimitiveType::INVALID_TYPE);
104
147k
}
_ZN5doris5Field15create_concreteILNS_13PrimitiveTypeE29EEEvONS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
94
13.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
13.8M
    using StorageType = typename PrimitiveTypeTraits<Type>::CppType;
101
13.8M
    new (&storage) StorageType(std::move(x));
102
13.8M
    type = Type;
103
    DCHECK_NE(type, PrimitiveType::INVALID_TYPE);
104
13.8M
}
_ZN5doris5Field15create_concreteILNS_13PrimitiveTypeE20EEEvONS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
94
18.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
18.0k
    using StorageType = typename PrimitiveTypeTraits<Type>::CppType;
101
18.0k
    new (&storage) StorageType(std::move(x));
102
18.0k
    type = Type;
103
    DCHECK_NE(type, PrimitiveType::INVALID_TYPE);
104
18.0k
}
_ZN5doris5Field15create_concreteILNS_13PrimitiveTypeE30EEEvONS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
94
496k
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
496k
    using StorageType = typename PrimitiveTypeTraits<Type>::CppType;
101
496k
    new (&storage) StorageType(std::move(x));
102
496k
    type = Type;
103
    DCHECK_NE(type, PrimitiveType::INVALID_TYPE);
104
496k
}
_ZN5doris5Field15create_concreteILNS_13PrimitiveTypeE35EEEvONS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
94
62.7k
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
62.7k
    using StorageType = typename PrimitiveTypeTraits<Type>::CppType;
101
62.7k
    new (&storage) StorageType(std::move(x));
102
62.7k
    type = Type;
103
    DCHECK_NE(type, PrimitiveType::INVALID_TYPE);
104
62.7k
}
_ZN5doris5Field15create_concreteILNS_13PrimitiveTypeE15EEEvONS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
94
144k
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
144k
    using StorageType = typename PrimitiveTypeTraits<Type>::CppType;
101
144k
    new (&storage) StorageType(std::move(x));
102
144k
    type = Type;
103
    DCHECK_NE(type, PrimitiveType::INVALID_TYPE);
104
144k
}
_ZN5doris5Field15create_concreteILNS_13PrimitiveTypeE10EEEvONS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
94
2.95M
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
2.95M
    using StorageType = typename PrimitiveTypeTraits<Type>::CppType;
101
2.95M
    new (&storage) StorageType(std::move(x));
102
2.95M
    type = Type;
103
    DCHECK_NE(type, PrimitiveType::INVALID_TYPE);
104
2.95M
}
_ZN5doris5Field15create_concreteILNS_13PrimitiveTypeE23EEEvONS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
94
100M
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
100M
    using StorageType = typename PrimitiveTypeTraits<Type>::CppType;
101
100M
    new (&storage) StorageType(std::move(x));
102
100M
    type = Type;
103
    DCHECK_NE(type, PrimitiveType::INVALID_TYPE);
104
100M
}
_ZN5doris5Field15create_concreteILNS_13PrimitiveTypeE41EEEvONS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
94
224
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
224
    using StorageType = typename PrimitiveTypeTraits<Type>::CppType;
101
224
    new (&storage) StorageType(std::move(x));
102
224
    type = Type;
103
    DCHECK_NE(type, PrimitiveType::INVALID_TYPE);
104
224
}
_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
739k
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
739k
    using StorageType = typename PrimitiveTypeTraits<Type>::CppType;
101
739k
    new (&storage) StorageType(std::move(x));
102
739k
    type = Type;
103
    DCHECK_NE(type, PrimitiveType::INVALID_TYPE);
104
739k
}
_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
4.83M
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.83M
    using StorageType = typename PrimitiveTypeTraits<Type>::CppType;
101
4.83M
    new (&storage) StorageType(std::move(x));
102
4.83M
    type = Type;
103
    DCHECK_NE(type, PrimitiveType::INVALID_TYPE);
104
4.83M
}
_ZN5doris5Field15create_concreteILNS_13PrimitiveTypeE42EEEvONS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
94
78.7k
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
78.7k
    using StorageType = typename PrimitiveTypeTraits<Type>::CppType;
101
78.7k
    new (&storage) StorageType(std::move(x));
102
78.7k
    type = Type;
103
    DCHECK_NE(type, PrimitiveType::INVALID_TYPE);
104
78.7k
}
_ZN5doris5Field15create_concreteILNS_13PrimitiveTypeE36EEEvONS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
94
51.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
51.5k
    using StorageType = typename PrimitiveTypeTraits<Type>::CppType;
101
51.5k
    new (&storage) StorageType(std::move(x));
102
51.5k
    type = Type;
103
    DCHECK_NE(type, PrimitiveType::INVALID_TYPE);
104
51.5k
}
_ZN5doris5Field15create_concreteILNS_13PrimitiveTypeE37EEEvONS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
94
36.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
36.6k
    using StorageType = typename PrimitiveTypeTraits<Type>::CppType;
101
36.6k
    new (&storage) StorageType(std::move(x));
102
36.6k
    type = Type;
103
    DCHECK_NE(type, PrimitiveType::INVALID_TYPE);
104
36.6k
}
_ZN5doris5Field15create_concreteILNS_13PrimitiveTypeE2EEEvONS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
94
29.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
29.8M
    using StorageType = typename PrimitiveTypeTraits<Type>::CppType;
101
29.8M
    new (&storage) StorageType(std::move(x));
102
29.8M
    type = Type;
103
    DCHECK_NE(type, PrimitiveType::INVALID_TYPE);
104
29.8M
}
_ZN5doris5Field15create_concreteILNS_13PrimitiveTypeE8EEEvONS_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_13PrimitiveTypeE9EEEvONS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
94
7.74M
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
7.74M
    using StorageType = typename PrimitiveTypeTraits<Type>::CppType;
101
7.74M
    new (&storage) StorageType(std::move(x));
102
7.74M
    type = Type;
103
    DCHECK_NE(type, PrimitiveType::INVALID_TYPE);
104
7.74M
}
_ZN5doris5Field15create_concreteILNS_13PrimitiveTypeE31EEEvONS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
94
5.84M
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.84M
    using StorageType = typename PrimitiveTypeTraits<Type>::CppType;
101
5.84M
    new (&storage) StorageType(std::move(x));
102
5.84M
    type = Type;
103
    DCHECK_NE(type, PrimitiveType::INVALID_TYPE);
104
5.84M
}
_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
35.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
35.5k
    using StorageType = typename PrimitiveTypeTraits<Type>::CppType;
101
35.5k
    new (&storage) StorageType(std::move(x));
102
35.5k
    type = Type;
103
    DCHECK_NE(type, PrimitiveType::INVALID_TYPE);
104
35.5k
}
_ZN5doris5Field15create_concreteILNS_13PrimitiveTypeE22EEEvONS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
94
99
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
99
    using StorageType = typename PrimitiveTypeTraits<Type>::CppType;
101
99
    new (&storage) StorageType(std::move(x));
102
99
    type = Type;
103
    DCHECK_NE(type, PrimitiveType::INVALID_TYPE);
104
99
}
_ZN5doris5Field15create_concreteILNS_13PrimitiveTypeE27EEEvONS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
94
146
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
146
    using StorageType = typename PrimitiveTypeTraits<Type>::CppType;
101
146
    new (&storage) StorageType(std::move(x));
102
146
    type = Type;
103
    DCHECK_NE(type, PrimitiveType::INVALID_TYPE);
104
146
}
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
295M
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
295M
    using StorageType = typename PrimitiveTypeTraits<Type>::CppType;
114
295M
    new (&storage) StorageType(x);
115
295M
    type = Type;
116
295M
    DCHECK_NE(type, PrimitiveType::INVALID_TYPE);
117
295M
}
_ZN5doris5Field15create_concreteILNS_13PrimitiveTypeE1EEEvRKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
107
42.3M
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
42.3M
    using StorageType = typename PrimitiveTypeTraits<Type>::CppType;
114
42.3M
    new (&storage) StorageType(x);
115
42.3M
    type = Type;
116
    DCHECK_NE(type, PrimitiveType::INVALID_TYPE);
117
42.3M
}
_ZN5doris5Field15create_concreteILNS_13PrimitiveTypeE3EEEvRKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
107
5.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
5.33M
    using StorageType = typename PrimitiveTypeTraits<Type>::CppType;
114
5.33M
    new (&storage) StorageType(x);
115
5.33M
    type = Type;
116
    DCHECK_NE(type, PrimitiveType::INVALID_TYPE);
117
5.33M
}
_ZN5doris5Field15create_concreteILNS_13PrimitiveTypeE4EEEvRKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
107
4.07M
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.07M
    using StorageType = typename PrimitiveTypeTraits<Type>::CppType;
114
4.07M
    new (&storage) StorageType(x);
115
4.07M
    type = Type;
116
    DCHECK_NE(type, PrimitiveType::INVALID_TYPE);
117
4.07M
}
_ZN5doris5Field15create_concreteILNS_13PrimitiveTypeE5EEEvRKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
107
40.1M
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
40.1M
    using StorageType = typename PrimitiveTypeTraits<Type>::CppType;
114
40.1M
    new (&storage) StorageType(x);
115
40.1M
    type = Type;
116
    DCHECK_NE(type, PrimitiveType::INVALID_TYPE);
117
40.1M
}
_ZN5doris5Field15create_concreteILNS_13PrimitiveTypeE6EEEvRKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
107
14.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
14.5M
    using StorageType = typename PrimitiveTypeTraits<Type>::CppType;
114
14.5M
    new (&storage) StorageType(x);
115
14.5M
    type = Type;
116
    DCHECK_NE(type, PrimitiveType::INVALID_TYPE);
117
14.5M
}
_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.44M
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.44M
    using StorageType = typename PrimitiveTypeTraits<Type>::CppType;
114
3.44M
    new (&storage) StorageType(x);
115
3.44M
    type = Type;
116
    DCHECK_NE(type, PrimitiveType::INVALID_TYPE);
117
3.44M
}
_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.18M
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.18M
    using StorageType = typename PrimitiveTypeTraits<Type>::CppType;
114
5.18M
    new (&storage) StorageType(x);
115
5.18M
    type = Type;
116
    DCHECK_NE(type, PrimitiveType::INVALID_TYPE);
117
5.18M
}
_ZN5doris5Field15create_concreteILNS_13PrimitiveTypeE26EEEvRKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
107
4.19M
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.19M
    using StorageType = typename PrimitiveTypeTraits<Type>::CppType;
114
4.19M
    new (&storage) StorageType(x);
115
4.19M
    type = Type;
116
    DCHECK_NE(type, PrimitiveType::INVALID_TYPE);
117
4.19M
}
_ZN5doris5Field15create_concreteILNS_13PrimitiveTypeE43EEEvRKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
107
36
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
36
    using StorageType = typename PrimitiveTypeTraits<Type>::CppType;
114
36
    new (&storage) StorageType(x);
115
36
    type = Type;
116
    DCHECK_NE(type, PrimitiveType::INVALID_TYPE);
117
36
}
_ZN5doris5Field15create_concreteILNS_13PrimitiveTypeE42EEEvRKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
107
47.9k
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.9k
    using StorageType = typename PrimitiveTypeTraits<Type>::CppType;
114
47.9k
    new (&storage) StorageType(x);
115
47.9k
    type = Type;
116
    DCHECK_NE(type, PrimitiveType::INVALID_TYPE);
117
47.9k
}
_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.67M
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.67M
    using StorageType = typename PrimitiveTypeTraits<Type>::CppType;
114
3.67M
    new (&storage) StorageType(x);
115
3.67M
    type = Type;
116
    DCHECK_NE(type, PrimitiveType::INVALID_TYPE);
117
3.67M
}
_ZN5doris5Field15create_concreteILNS_13PrimitiveTypeE20EEEvRKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
107
10.0k
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
10.0k
    using StorageType = typename PrimitiveTypeTraits<Type>::CppType;
114
10.0k
    new (&storage) StorageType(x);
115
10.0k
    type = Type;
116
    DCHECK_NE(type, PrimitiveType::INVALID_TYPE);
117
10.0k
}
_ZN5doris5Field15create_concreteILNS_13PrimitiveTypeE30EEEvRKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
107
3.54M
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.54M
    using StorageType = typename PrimitiveTypeTraits<Type>::CppType;
114
3.54M
    new (&storage) StorageType(x);
115
3.54M
    type = Type;
116
    DCHECK_NE(type, PrimitiveType::INVALID_TYPE);
117
3.54M
}
_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
4.01k
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.01k
    using StorageType = typename PrimitiveTypeTraits<Type>::CppType;
114
4.01k
    new (&storage) StorageType(x);
115
4.01k
    type = Type;
116
    DCHECK_NE(type, PrimitiveType::INVALID_TYPE);
117
4.01k
}
_ZN5doris5Field15create_concreteILNS_13PrimitiveTypeE10EEEvRKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
107
15.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
15.2M
    using StorageType = typename PrimitiveTypeTraits<Type>::CppType;
114
15.2M
    new (&storage) StorageType(x);
115
15.2M
    type = Type;
116
    DCHECK_NE(type, PrimitiveType::INVALID_TYPE);
117
15.2M
}
_ZN5doris5Field15create_concreteILNS_13PrimitiveTypeE23EEEvRKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
107
15.3M
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
15.3M
    using StorageType = typename PrimitiveTypeTraits<Type>::CppType;
114
15.3M
    new (&storage) StorageType(x);
115
15.3M
    type = Type;
116
    DCHECK_NE(type, PrimitiveType::INVALID_TYPE);
117
15.3M
}
_ZN5doris5Field15create_concreteILNS_13PrimitiveTypeE41EEEvRKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
107
65
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
65
    using StorageType = typename PrimitiveTypeTraits<Type>::CppType;
114
65
    new (&storage) StorageType(x);
115
65
    type = Type;
116
    DCHECK_NE(type, PrimitiveType::INVALID_TYPE);
117
65
}
_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
55
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
55
    using StorageType = typename PrimitiveTypeTraits<Type>::CppType;
114
55
    new (&storage) StorageType(x);
115
55
    type = Type;
116
    DCHECK_NE(type, PrimitiveType::INVALID_TYPE);
117
55
}
_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
93.3M
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
93.3M
    using StorageType = typename PrimitiveTypeTraits<Type>::CppType;
114
93.3M
    new (&storage) StorageType(x);
115
93.3M
    type = Type;
116
    DCHECK_NE(type, PrimitiveType::INVALID_TYPE);
117
93.3M
}
_ZN5doris5Field15create_concreteILNS_13PrimitiveTypeE36EEEvRKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
107
63.8k
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
63.8k
    using StorageType = typename PrimitiveTypeTraits<Type>::CppType;
114
63.8k
    new (&storage) StorageType(x);
115
63.8k
    type = Type;
116
    DCHECK_NE(type, PrimitiveType::INVALID_TYPE);
117
63.8k
}
_ZN5doris5Field15create_concreteILNS_13PrimitiveTypeE37EEEvRKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
107
45.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
45.3k
    using StorageType = typename PrimitiveTypeTraits<Type>::CppType;
114
45.3k
    new (&storage) StorageType(x);
115
45.3k
    type = Type;
116
    DCHECK_NE(type, PrimitiveType::INVALID_TYPE);
117
45.3k
}
_ZN5doris5Field15create_concreteILNS_13PrimitiveTypeE2EEEvRKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
107
4.14M
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.14M
    using StorageType = typename PrimitiveTypeTraits<Type>::CppType;
114
4.14M
    new (&storage) StorageType(x);
115
4.14M
    type = Type;
116
    DCHECK_NE(type, PrimitiveType::INVALID_TYPE);
117
4.14M
}
_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
4.55M
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.55M
    using StorageType = typename PrimitiveTypeTraits<Type>::CppType;
114
4.55M
    new (&storage) StorageType(x);
115
4.55M
    type = Type;
116
    DCHECK_NE(type, PrimitiveType::INVALID_TYPE);
117
4.55M
}
_ZN5doris5Field15create_concreteILNS_13PrimitiveTypeE31EEEvRKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
107
2.28M
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.28M
    using StorageType = typename PrimitiveTypeTraits<Type>::CppType;
114
2.28M
    new (&storage) StorageType(x);
115
2.28M
    type = Type;
116
    DCHECK_NE(type, PrimitiveType::INVALID_TYPE);
117
2.28M
}
_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
142
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
142
    using StorageType = typename PrimitiveTypeTraits<Type>::CppType;
114
142
    new (&storage) StorageType(x);
115
142
    type = Type;
116
    DCHECK_NE(type, PrimitiveType::INVALID_TYPE);
117
142
}
Unexecuted instantiation: _ZN5doris5Field15create_concreteILNS_13PrimitiveTypeE38EEEvRKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Unexecuted instantiation: _ZN5doris5Field15create_concreteILNS_13PrimitiveTypeE39EEEvRKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
118
119
156M
void Field::create(Field&& field) {
120
156M
    switch (field.type) {
121
1.86M
    case PrimitiveType::TYPE_NULL:
122
1.86M
        create_concrete<TYPE_NULL>(std::move(field.template get<TYPE_NULL>()));
123
1.86M
        return;
124
3.76M
    case PrimitiveType::TYPE_DATETIMEV2:
125
3.76M
        create_concrete<TYPE_DATETIMEV2>(std::move(field.template get<TYPE_DATETIMEV2>()));
126
3.76M
        return;
127
324
    case PrimitiveType::TYPE_DATETIMEV2_NANO:
128
324
        create_concrete<TYPE_DATETIMEV2_NANO>(
129
324
                std::move(field.template get<TYPE_DATETIMEV2_NANO>()));
130
324
        return;
131
629k
    case PrimitiveType::TYPE_DATEV2:
132
629k
        create_concrete<TYPE_DATEV2>(std::move(field.template get<TYPE_DATEV2>()));
133
629k
        return;
134
42.0k
    case PrimitiveType::TYPE_TIMESTAMPTZ:
135
42.0k
        create_concrete<TYPE_TIMESTAMPTZ>(std::move(field.template get<TYPE_TIMESTAMPTZ>()));
136
42.0k
        return;
137
27.4k
    case PrimitiveType::TYPE_DATETIME:
138
27.4k
        create_concrete<TYPE_DATETIME>(std::move(field.template get<TYPE_DATETIME>()));
139
27.4k
        return;
140
24.0k
    case PrimitiveType::TYPE_DATE:
141
24.0k
        create_concrete<TYPE_DATE>(std::move(field.template get<TYPE_DATE>()));
142
24.0k
        return;
143
1.09M
    case PrimitiveType::TYPE_BOOLEAN:
144
1.09M
        create_concrete<TYPE_BOOLEAN>(std::move(field.template get<TYPE_BOOLEAN>()));
145
1.09M
        return;
146
8.24M
    case PrimitiveType::TYPE_TINYINT:
147
8.24M
        create_concrete<TYPE_TINYINT>(std::move(field.template get<TYPE_TINYINT>()));
148
8.24M
        return;
149
182k
    case PrimitiveType::TYPE_SMALLINT:
150
182k
        create_concrete<TYPE_SMALLINT>(std::move(field.template get<TYPE_SMALLINT>()));
151
182k
        return;
152
36.9M
    case PrimitiveType::TYPE_INT:
153
36.9M
        create_concrete<TYPE_INT>(std::move(field.template get<TYPE_INT>()));
154
36.9M
        return;
155
35.8M
    case PrimitiveType::TYPE_BIGINT:
156
35.8M
        create_concrete<TYPE_BIGINT>(std::move(field.template get<TYPE_BIGINT>()));
157
35.8M
        return;
158
202k
    case PrimitiveType::TYPE_LARGEINT:
159
202k
        create_concrete<TYPE_LARGEINT>(std::move(field.template get<TYPE_LARGEINT>()));
160
202k
        return;
161
45.0k
    case PrimitiveType::TYPE_IPV4:
162
45.0k
        create_concrete<TYPE_IPV4>(std::move(field.template get<TYPE_IPV4>()));
163
45.0k
        return;
164
32.8k
    case PrimitiveType::TYPE_IPV6:
165
32.8k
        create_concrete<TYPE_IPV6>(std::move(field.template get<TYPE_IPV6>()));
166
32.8k
        return;
167
107k
    case PrimitiveType::TYPE_FLOAT:
168
107k
        create_concrete<TYPE_FLOAT>(std::move(field.template get<TYPE_FLOAT>()));
169
107k
        return;
170
142
    case PrimitiveType::TYPE_TIMEV2:
171
142
        create_concrete<TYPE_TIMEV2>(std::move(field.template get<TYPE_TIMEV2>()));
172
142
        return;
173
4.73M
    case PrimitiveType::TYPE_DOUBLE:
174
4.73M
        create_concrete<TYPE_DOUBLE>(std::move(field.template get<TYPE_DOUBLE>()));
175
4.73M
        return;
176
54.0M
    case PrimitiveType::TYPE_STRING:
177
54.0M
        create_concrete<TYPE_STRING>(std::move(field.template get<TYPE_STRING>()));
178
54.0M
        return;
179
54.4k
    case PrimitiveType::TYPE_CHAR:
180
54.4k
        create_concrete<TYPE_CHAR>(std::move(field.template get<TYPE_CHAR>()));
181
54.4k
        return;
182
1.60M
    case PrimitiveType::TYPE_VARCHAR:
183
1.60M
        create_concrete<TYPE_VARCHAR>(std::move(field.template get<TYPE_VARCHAR>()));
184
1.60M
        return;
185
3.44M
    case PrimitiveType::TYPE_JSONB:
186
3.44M
        create_concrete<TYPE_JSONB>(std::move(field.template get<TYPE_JSONB>()));
187
3.44M
        return;
188
3.47M
    case PrimitiveType::TYPE_ARRAY:
189
3.47M
        create_concrete<TYPE_ARRAY>(std::move(field.template get<TYPE_ARRAY>()));
190
3.47M
        return;
191
5.32k
    case PrimitiveType::TYPE_STRUCT:
192
5.32k
        create_concrete<TYPE_STRUCT>(std::move(field.template get<TYPE_STRUCT>()));
193
5.32k
        return;
194
12.2k
    case PrimitiveType::TYPE_MAP:
195
12.2k
        create_concrete<TYPE_MAP>(std::move(field.template get<TYPE_MAP>()));
196
12.2k
        return;
197
84.5k
    case PrimitiveType::TYPE_DECIMAL32:
198
84.5k
        create_concrete<TYPE_DECIMAL32>(std::move(field.template get<TYPE_DECIMAL32>()));
199
84.5k
        return;
200
189k
    case PrimitiveType::TYPE_DECIMAL64:
201
189k
        create_concrete<TYPE_DECIMAL64>(std::move(field.template get<TYPE_DECIMAL64>()));
202
189k
        return;
203
7.15k
    case PrimitiveType::TYPE_DECIMALV2:
204
7.15k
        create_concrete<TYPE_DECIMALV2>(std::move(field.template get<TYPE_DECIMALV2>()));
205
7.15k
        return;
206
307k
    case PrimitiveType::TYPE_DECIMAL128I:
207
307k
        create_concrete<TYPE_DECIMAL128I>(std::move(field.template get<TYPE_DECIMAL128I>()));
208
307k
        return;
209
50.1k
    case PrimitiveType::TYPE_DECIMAL256:
210
50.1k
        create_concrete<TYPE_DECIMAL256>(std::move(field.template get<TYPE_DECIMAL256>()));
211
50.1k
        return;
212
366k
    case PrimitiveType::TYPE_VARIANT:
213
366k
        create_concrete<TYPE_VARIANT>(std::move(field.template get<TYPE_VARIANT>()));
214
366k
        return;
215
33
    case PrimitiveType::TYPE_BITMAP:
216
33
        create_concrete<TYPE_BITMAP>(std::move(field.template get<TYPE_BITMAP>()));
217
33
        return;
218
4
    case PrimitiveType::TYPE_HLL:
219
4
        create_concrete<TYPE_HLL>(std::move(field.template get<TYPE_HLL>()));
220
4
        return;
221
2
    case PrimitiveType::TYPE_QUANTILE_STATE:
222
2
        create_concrete<TYPE_QUANTILE_STATE>(std::move(field.template get<TYPE_QUANTILE_STATE>()));
223
2
        return;
224
155
    case PrimitiveType::TYPE_VARBINARY:
225
155
        create_concrete<TYPE_VARBINARY>(std::move(field.template get<TYPE_VARBINARY>()));
226
155
        return;
227
0
    default:
228
0
        throw Exception(Status::FatalError("type not supported, type={}", field.get_type_name()));
229
156M
    }
230
156M
}
231
232
246M
Field::Field(const Field& rhs) {
233
246M
    create(rhs);
234
246M
}
235
236
49.2M
Field::Field(Field&& rhs) {
237
49.2M
    create(std::move(rhs));
238
49.2M
}
239
240
12.1M
Field& Field::operator=(const Field& rhs) {
241
12.1M
    if (this != &rhs) {
242
12.1M
        if (type != rhs.type) {
243
10.0M
            destroy();
244
10.0M
            create(rhs);
245
10.0M
        } else {
246
2.10M
            assign(rhs); /// This assigns string or vector without deallocation of existing buffer.
247
2.10M
        }
248
12.1M
    }
249
12.1M
    return *this;
250
12.1M
}
251
252
256M
void Field::create(const Field& field) {
253
256M
    switch (field.type) {
254
42.4M
    case PrimitiveType::TYPE_NULL:
255
42.4M
        create_concrete<TYPE_NULL>(field.template get<TYPE_NULL>());
256
42.4M
        return;
257
4.06M
    case PrimitiveType::TYPE_DATETIMEV2:
258
4.06M
        create_concrete<TYPE_DATETIMEV2>(field.template get<TYPE_DATETIMEV2>());
259
4.06M
        return;
260
22
    case PrimitiveType::TYPE_DATETIMEV2_NANO:
261
22
        create_concrete<TYPE_DATETIMEV2_NANO>(field.template get<TYPE_DATETIMEV2_NANO>());
262
22
        return;
263
4.54M
    case PrimitiveType::TYPE_DATEV2:
264
4.54M
        create_concrete<TYPE_DATEV2>(field.template get<TYPE_DATEV2>());
265
4.54M
        return;
266
31.4k
    case PrimitiveType::TYPE_TIMESTAMPTZ:
267
31.4k
        create_concrete<TYPE_TIMESTAMPTZ>(field.template get<TYPE_TIMESTAMPTZ>());
268
31.4k
        return;
269
3.32M
    case PrimitiveType::TYPE_DATETIME:
270
3.32M
        create_concrete<TYPE_DATETIME>(field.template get<TYPE_DATETIME>());
271
3.32M
        return;
272
3.41M
    case PrimitiveType::TYPE_DATE:
273
3.41M
        create_concrete<TYPE_DATE>(field.template get<TYPE_DATE>());
274
3.41M
        return;
275
3.98M
    case PrimitiveType::TYPE_BOOLEAN:
276
3.98M
        create_concrete<TYPE_BOOLEAN>(field.template get<TYPE_BOOLEAN>());
277
3.98M
        return;
278
4.84M
    case PrimitiveType::TYPE_TINYINT:
279
4.84M
        create_concrete<TYPE_TINYINT>(field.template get<TYPE_TINYINT>());
280
4.84M
        return;
281
4.00M
    case PrimitiveType::TYPE_SMALLINT:
282
4.00M
        create_concrete<TYPE_SMALLINT>(field.template get<TYPE_SMALLINT>());
283
4.00M
        return;
284
10.9M
    case PrimitiveType::TYPE_INT:
285
10.9M
        create_concrete<TYPE_INT>(field.template get<TYPE_INT>());
286
10.9M
        return;
287
10.2M
    case PrimitiveType::TYPE_BIGINT:
288
10.2M
        create_concrete<TYPE_BIGINT>(field.template get<TYPE_BIGINT>());
289
10.2M
        return;
290
3.22M
    case PrimitiveType::TYPE_LARGEINT:
291
3.22M
        create_concrete<TYPE_LARGEINT>(field.template get<TYPE_LARGEINT>());
292
3.22M
        return;
293
28.0k
    case PrimitiveType::TYPE_IPV4:
294
28.0k
        create_concrete<TYPE_IPV4>(field.template get<TYPE_IPV4>());
295
28.0k
        return;
296
18.6k
    case PrimitiveType::TYPE_IPV6:
297
18.6k
        create_concrete<TYPE_IPV6>(field.template get<TYPE_IPV6>());
298
18.6k
        return;
299
3.48M
    case PrimitiveType::TYPE_FLOAT:
300
3.48M
        create_concrete<TYPE_FLOAT>(field.template get<TYPE_FLOAT>());
301
3.48M
        return;
302
8
    case PrimitiveType::TYPE_TIMEV2:
303
8
        create_concrete<TYPE_TIMEV2>(field.template get<TYPE_TIMEV2>());
304
8
        return;
305
4.15M
    case PrimitiveType::TYPE_DOUBLE:
306
4.15M
        create_concrete<TYPE_DOUBLE>(field.template get<TYPE_DOUBLE>());
307
4.15M
        return;
308
13.1M
    case PrimitiveType::TYPE_STRING:
309
13.1M
        create_concrete<TYPE_STRING>(field.template get<TYPE_STRING>());
310
13.1M
        return;
311
2.49k
    case PrimitiveType::TYPE_CHAR:
312
2.49k
        create_concrete<TYPE_CHAR>(field.template get<TYPE_CHAR>());
313
2.49k
        return;
314
14.5M
    case PrimitiveType::TYPE_VARCHAR:
315
14.5M
        create_concrete<TYPE_VARCHAR>(field.template get<TYPE_VARCHAR>());
316
14.5M
        return;
317
2.28M
    case PrimitiveType::TYPE_JSONB:
318
2.28M
        create_concrete<TYPE_JSONB>(field.template get<TYPE_JSONB>());
319
2.28M
        return;
320
92.9M
    case PrimitiveType::TYPE_ARRAY:
321
92.9M
        create_concrete<TYPE_ARRAY>(field.template get<TYPE_ARRAY>());
322
92.9M
        return;
323
3.04M
    case PrimitiveType::TYPE_STRUCT:
324
3.04M
        create_concrete<TYPE_STRUCT>(field.template get<TYPE_STRUCT>());
325
3.04M
        return;
326
13.2M
    case PrimitiveType::TYPE_MAP:
327
13.2M
        create_concrete<TYPE_MAP>(field.template get<TYPE_MAP>());
328
13.2M
        return;
329
3.59M
    case PrimitiveType::TYPE_DECIMAL32:
330
3.59M
        create_concrete<TYPE_DECIMAL32>(field.template get<TYPE_DECIMAL32>());
331
3.59M
        return;
332
3.60M
    case PrimitiveType::TYPE_DECIMAL64:
333
3.60M
        create_concrete<TYPE_DECIMAL64>(field.template get<TYPE_DECIMAL64>());
334
3.60M
        return;
335
1.16k
    case PrimitiveType::TYPE_DECIMALV2:
336
1.16k
        create_concrete<TYPE_DECIMALV2>(field.template get<TYPE_DECIMALV2>());
337
1.16k
        return;
338
3.50M
    case PrimitiveType::TYPE_DECIMAL128I:
339
3.50M
        create_concrete<TYPE_DECIMAL128I>(field.template get<TYPE_DECIMAL128I>());
340
3.50M
        return;
341
3.67M
    case PrimitiveType::TYPE_DECIMAL256:
342
3.67M
        create_concrete<TYPE_DECIMAL256>(field.template get<TYPE_DECIMAL256>());
343
3.67M
        return;
344
52
    case PrimitiveType::TYPE_VARIANT:
345
52
        create_concrete<TYPE_VARIANT>(field.template get<TYPE_VARIANT>());
346
52
        return;
347
0
    case PrimitiveType::TYPE_BITMAP:
348
0
        create_concrete<TYPE_BITMAP>(field.template get<TYPE_BITMAP>());
349
0
        return;
350
0
    case PrimitiveType::TYPE_HLL:
351
0
        create_concrete<TYPE_HLL>(field.template get<TYPE_HLL>());
352
0
        return;
353
0
    case PrimitiveType::TYPE_QUANTILE_STATE:
354
0
        create_concrete<TYPE_QUANTILE_STATE>(field.template get<TYPE_QUANTILE_STATE>());
355
0
        return;
356
0
    case PrimitiveType::TYPE_UINT32:
357
0
        create_concrete<TYPE_UINT32>(field.template get<TYPE_UINT32>());
358
0
        return;
359
0
    case PrimitiveType::TYPE_UINT64:
360
0
        create_concrete<TYPE_UINT64>(field.template get<TYPE_UINT64>());
361
0
        return;
362
17
    case PrimitiveType::TYPE_VARBINARY:
363
17
        create_concrete<TYPE_VARBINARY>(field.template get<TYPE_VARBINARY>());
364
17
        return;
365
0
    default:
366
0
        throw Exception(Status::FatalError("type not supported, type={}", field.get_type_name()));
367
256M
    }
368
256M
}
369
370
809M
void Field::destroy() {
371
809M
    switch (type) {
372
115M
    case PrimitiveType::TYPE_STRING:
373
115M
        destroy<TYPE_STRING>();
374
115M
        break;
375
148k
    case PrimitiveType::TYPE_CHAR:
376
148k
        destroy<TYPE_CHAR>();
377
148k
        break;
378
18.2M
    case PrimitiveType::TYPE_VARCHAR:
379
18.2M
        destroy<TYPE_VARCHAR>();
380
18.2M
        break;
381
8.13M
    case PrimitiveType::TYPE_JSONB:
382
8.13M
        destroy<TYPE_JSONB>();
383
8.13M
        break;
384
98.2M
    case PrimitiveType::TYPE_ARRAY:
385
98.2M
        destroy<TYPE_ARRAY>();
386
98.2M
        break;
387
3.06M
    case PrimitiveType::TYPE_STRUCT:
388
3.06M
        destroy<TYPE_STRUCT>();
389
3.06M
        break;
390
13.2M
    case PrimitiveType::TYPE_MAP:
391
13.2M
        destroy<TYPE_MAP>();
392
13.2M
        break;
393
739k
    case PrimitiveType::TYPE_VARIANT:
394
739k
        destroy<TYPE_VARIANT>();
395
739k
        break;
396
2.52k
    case PrimitiveType::TYPE_BITMAP:
397
2.52k
        destroy<TYPE_BITMAP>();
398
2.52k
        break;
399
418
    case PrimitiveType::TYPE_HLL:
400
418
        destroy<TYPE_HLL>();
401
418
        break;
402
22.3k
    case PrimitiveType::TYPE_QUANTILE_STATE:
403
22.3k
        destroy<TYPE_QUANTILE_STATE>();
404
22.3k
        break;
405
289
    case PrimitiveType::TYPE_VARBINARY:
406
289
        destroy<TYPE_VARBINARY>();
407
289
        break;
408
554M
    default:
409
554M
        break;
410
809M
    }
411
412
808M
    type = PrimitiveType::
413
808M
            TYPE_NULL; /// for exception safety in subsequent calls to destroy and create, when create fails.
414
808M
}
415
416
36.3M
void Field::assign(Field&& field) {
417
36.3M
    switch (field.type) {
418
33.5M
    case PrimitiveType::TYPE_NULL:
419
33.5M
        assign_concrete<TYPE_NULL>(std::move(field.template get<TYPE_NULL>()));
420
33.5M
        return;
421
71.3k
    case PrimitiveType::TYPE_DATETIMEV2:
422
71.3k
        assign_concrete<TYPE_DATETIMEV2>(std::move(field.template get<TYPE_DATETIMEV2>()));
423
71.3k
        return;
424
60
    case PrimitiveType::TYPE_DATETIMEV2_NANO:
425
60
        assign_concrete<TYPE_DATETIMEV2_NANO>(
426
60
                std::move(field.template get<TYPE_DATETIMEV2_NANO>()));
427
60
        return;
428
904
    case PrimitiveType::TYPE_DATETIME:
429
904
        assign_concrete<TYPE_DATETIME>(std::move(field.template get<TYPE_DATETIME>()));
430
904
        return;
431
468
    case PrimitiveType::TYPE_DATE:
432
468
        assign_concrete<TYPE_DATE>(std::move(field.template get<TYPE_DATE>()));
433
468
        return;
434
61.9k
    case PrimitiveType::TYPE_DATEV2:
435
61.9k
        assign_concrete<TYPE_DATEV2>(std::move(field.template get<TYPE_DATEV2>()));
436
61.9k
        return;
437
6.51k
    case PrimitiveType::TYPE_TIMESTAMPTZ:
438
6.51k
        assign_concrete<TYPE_TIMESTAMPTZ>(std::move(field.template get<TYPE_TIMESTAMPTZ>()));
439
6.51k
        return;
440
17.2k
    case PrimitiveType::TYPE_BOOLEAN:
441
17.2k
        assign_concrete<TYPE_BOOLEAN>(std::move(field.template get<TYPE_BOOLEAN>()));
442
17.2k
        return;
443
119k
    case PrimitiveType::TYPE_TINYINT:
444
119k
        assign_concrete<TYPE_TINYINT>(std::move(field.template get<TYPE_TINYINT>()));
445
119k
        return;
446
23.7k
    case PrimitiveType::TYPE_SMALLINT:
447
23.7k
        assign_concrete<TYPE_SMALLINT>(std::move(field.template get<TYPE_SMALLINT>()));
448
23.7k
        return;
449
1.08M
    case PrimitiveType::TYPE_INT:
450
1.08M
        assign_concrete<TYPE_INT>(std::move(field.template get<TYPE_INT>()));
451
1.08M
        return;
452
471k
    case PrimitiveType::TYPE_BIGINT:
453
471k
        assign_concrete<TYPE_BIGINT>(std::move(field.template get<TYPE_BIGINT>()));
454
471k
        return;
455
33.9k
    case PrimitiveType::TYPE_LARGEINT:
456
33.9k
        assign_concrete<TYPE_LARGEINT>(std::move(field.template get<TYPE_LARGEINT>()));
457
33.9k
        return;
458
1.16k
    case PrimitiveType::TYPE_IPV4:
459
1.16k
        assign_concrete<TYPE_IPV4>(std::move(field.template get<TYPE_IPV4>()));
460
1.16k
        return;
461
981
    case PrimitiveType::TYPE_IPV6:
462
981
        assign_concrete<TYPE_IPV6>(std::move(field.template get<TYPE_IPV6>()));
463
981
        return;
464
14.1k
    case PrimitiveType::TYPE_FLOAT:
465
14.1k
        assign_concrete<TYPE_FLOAT>(std::move(field.template get<TYPE_FLOAT>()));
466
14.1k
        return;
467
0
    case PrimitiveType::TYPE_TIMEV2:
468
0
        assign_concrete<TYPE_TIMEV2>(std::move(field.template get<TYPE_TIMEV2>()));
469
0
        return;
470
21.2k
    case PrimitiveType::TYPE_DOUBLE:
471
21.2k
        assign_concrete<TYPE_DOUBLE>(std::move(field.template get<TYPE_DOUBLE>()));
472
21.2k
        return;
473
170k
    case PrimitiveType::TYPE_STRING:
474
170k
        assign_concrete<TYPE_STRING>(std::move(field.template get<TYPE_STRING>()));
475
170k
        return;
476
35.4k
    case PrimitiveType::TYPE_CHAR:
477
35.4k
        assign_concrete<TYPE_CHAR>(std::move(field.template get<TYPE_CHAR>()));
478
35.4k
        return;
479
361k
    case PrimitiveType::TYPE_VARCHAR:
480
361k
        assign_concrete<TYPE_VARCHAR>(std::move(field.template get<TYPE_VARCHAR>()));
481
361k
        return;
482
207k
    case PrimitiveType::TYPE_JSONB:
483
207k
        assign_concrete<TYPE_JSONB>(std::move(field.template get<TYPE_JSONB>()));
484
207k
        return;
485
28.7k
    case PrimitiveType::TYPE_ARRAY:
486
28.7k
        assign_concrete<TYPE_ARRAY>(std::move(field.template get<TYPE_ARRAY>()));
487
28.7k
        return;
488
0
    case PrimitiveType::TYPE_STRUCT:
489
0
        assign_concrete<TYPE_STRUCT>(std::move(field.template get<TYPE_STRUCT>()));
490
0
        return;
491
1
    case PrimitiveType::TYPE_MAP:
492
1
        assign_concrete<TYPE_MAP>(std::move(field.template get<TYPE_MAP>()));
493
1
        return;
494
6.95k
    case PrimitiveType::TYPE_DECIMAL32:
495
6.95k
        assign_concrete<TYPE_DECIMAL32>(std::move(field.template get<TYPE_DECIMAL32>()));
496
6.95k
        return;
497
32.9k
    case PrimitiveType::TYPE_DECIMAL64:
498
32.9k
        assign_concrete<TYPE_DECIMAL64>(std::move(field.template get<TYPE_DECIMAL64>()));
499
32.9k
        return;
500
140
    case PrimitiveType::TYPE_DECIMALV2:
501
140
        assign_concrete<TYPE_DECIMALV2>(std::move(field.template get<TYPE_DECIMALV2>()));
502
140
        return;
503
20.9k
    case PrimitiveType::TYPE_DECIMAL128I:
504
20.9k
        assign_concrete<TYPE_DECIMAL128I>(std::move(field.template get<TYPE_DECIMAL128I>()));
505
20.9k
        return;
506
1.05k
    case PrimitiveType::TYPE_DECIMAL256:
507
1.05k
        assign_concrete<TYPE_DECIMAL256>(std::move(field.template get<TYPE_DECIMAL256>()));
508
1.05k
        return;
509
67
    case PrimitiveType::TYPE_VARIANT:
510
67
        assign_concrete<TYPE_VARIANT>(std::move(field.template get<TYPE_VARIANT>()));
511
67
        return;
512
29
    case PrimitiveType::TYPE_BITMAP:
513
29
        assign_concrete<TYPE_BITMAP>(std::move(field.template get<TYPE_BITMAP>()));
514
29
        return;
515
1
    case PrimitiveType::TYPE_HLL:
516
1
        assign_concrete<TYPE_HLL>(std::move(field.template get<TYPE_HLL>()));
517
1
        return;
518
1
    case PrimitiveType::TYPE_QUANTILE_STATE:
519
1
        assign_concrete<TYPE_QUANTILE_STATE>(std::move(field.template get<TYPE_QUANTILE_STATE>()));
520
1
        return;
521
0
    case PrimitiveType::TYPE_VARBINARY:
522
0
        assign_concrete<TYPE_VARBINARY>(std::move(field.template get<TYPE_VARBINARY>()));
523
0
        return;
524
0
    default:
525
0
        throw Exception(Status::FatalError("type not supported, type={}", field.get_type_name()));
526
36.3M
    }
527
36.3M
}
528
529
2.10M
void Field::assign(const Field& field) {
530
2.10M
    switch (field.type) {
531
471k
    case PrimitiveType::TYPE_NULL:
532
471k
        assign_concrete<TYPE_NULL>(field.template get<TYPE_NULL>());
533
471k
        return;
534
70.1k
    case PrimitiveType::TYPE_DATETIMEV2:
535
70.1k
        assign_concrete<TYPE_DATETIMEV2>(field.template get<TYPE_DATETIMEV2>());
536
70.1k
        return;
537
60
    case PrimitiveType::TYPE_DATETIMEV2_NANO:
538
60
        assign_concrete<TYPE_DATETIMEV2_NANO>(field.template get<TYPE_DATETIMEV2_NANO>());
539
60
        return;
540
528
    case PrimitiveType::TYPE_DATETIME:
541
528
        assign_concrete<TYPE_DATETIME>(field.template get<TYPE_DATETIME>());
542
528
        return;
543
384
    case PrimitiveType::TYPE_DATE:
544
384
        assign_concrete<TYPE_DATE>(field.template get<TYPE_DATE>());
545
384
        return;
546
57.1k
    case PrimitiveType::TYPE_DATEV2:
547
57.1k
        assign_concrete<TYPE_DATEV2>(field.template get<TYPE_DATEV2>());
548
57.1k
        return;
549
6.51k
    case PrimitiveType::TYPE_TIMESTAMPTZ:
550
6.51k
        assign_concrete<TYPE_TIMESTAMPTZ>(field.template get<TYPE_TIMESTAMPTZ>());
551
6.51k
        return;
552
16.2k
    case PrimitiveType::TYPE_BOOLEAN:
553
16.2k
        assign_concrete<TYPE_BOOLEAN>(field.template get<TYPE_BOOLEAN>());
554
16.2k
        return;
555
119k
    case PrimitiveType::TYPE_TINYINT:
556
119k
        assign_concrete<TYPE_TINYINT>(field.template get<TYPE_TINYINT>());
557
119k
        return;
558
23.5k
    case PrimitiveType::TYPE_SMALLINT:
559
23.5k
        assign_concrete<TYPE_SMALLINT>(field.template get<TYPE_SMALLINT>());
560
23.5k
        return;
561
247k
    case PrimitiveType::TYPE_INT:
562
247k
        assign_concrete<TYPE_INT>(field.template get<TYPE_INT>());
563
247k
        return;
564
457k
    case PrimitiveType::TYPE_BIGINT:
565
457k
        assign_concrete<TYPE_BIGINT>(field.template get<TYPE_BIGINT>());
566
457k
        return;
567
31.6k
    case PrimitiveType::TYPE_LARGEINT:
568
31.6k
        assign_concrete<TYPE_LARGEINT>(field.template get<TYPE_LARGEINT>());
569
31.6k
        return;
570
1.16k
    case PrimitiveType::TYPE_IPV4:
571
1.16k
        assign_concrete<TYPE_IPV4>(field.template get<TYPE_IPV4>());
572
1.16k
        return;
573
977
    case PrimitiveType::TYPE_IPV6:
574
977
        assign_concrete<TYPE_IPV6>(field.template get<TYPE_IPV6>());
575
977
        return;
576
14.0k
    case PrimitiveType::TYPE_FLOAT:
577
14.0k
        assign_concrete<TYPE_FLOAT>(field.template get<TYPE_FLOAT>());
578
14.0k
        return;
579
0
    case PrimitiveType::TYPE_TIMEV2:
580
0
        assign_concrete<TYPE_TIMEV2>(field.template get<TYPE_TIMEV2>());
581
0
        return;
582
18.6k
    case PrimitiveType::TYPE_DOUBLE:
583
18.6k
        assign_concrete<TYPE_DOUBLE>(field.template get<TYPE_DOUBLE>());
584
18.6k
        return;
585
115k
    case PrimitiveType::TYPE_STRING:
586
115k
        assign_concrete<TYPE_STRING>(field.template get<TYPE_STRING>());
587
115k
        return;
588
26.5k
    case PrimitiveType::TYPE_CHAR:
589
26.5k
        assign_concrete<TYPE_CHAR>(field.template get<TYPE_CHAR>());
590
26.5k
        return;
591
345k
    case PrimitiveType::TYPE_VARCHAR:
592
345k
        assign_concrete<TYPE_VARCHAR>(field.template get<TYPE_VARCHAR>());
593
345k
        return;
594
17
    case PrimitiveType::TYPE_JSONB:
595
17
        assign_concrete<TYPE_JSONB>(field.template get<TYPE_JSONB>());
596
17
        return;
597
38.5k
    case PrimitiveType::TYPE_ARRAY:
598
38.5k
        assign_concrete<TYPE_ARRAY>(field.template get<TYPE_ARRAY>());
599
38.5k
        return;
600
0
    case PrimitiveType::TYPE_STRUCT:
601
0
        assign_concrete<TYPE_STRUCT>(field.template get<TYPE_STRUCT>());
602
0
        return;
603
1
    case PrimitiveType::TYPE_MAP:
604
1
        assign_concrete<TYPE_MAP>(field.template get<TYPE_MAP>());
605
1
        return;
606
6.95k
    case PrimitiveType::TYPE_DECIMAL32:
607
6.95k
        assign_concrete<TYPE_DECIMAL32>(field.template get<TYPE_DECIMAL32>());
608
6.95k
        return;
609
18.9k
    case PrimitiveType::TYPE_DECIMAL64:
610
18.9k
        assign_concrete<TYPE_DECIMAL64>(field.template get<TYPE_DECIMAL64>());
611
18.9k
        return;
612
130
    case PrimitiveType::TYPE_DECIMALV2:
613
130
        assign_concrete<TYPE_DECIMALV2>(field.template get<TYPE_DECIMALV2>());
614
130
        return;
615
18.3k
    case PrimitiveType::TYPE_DECIMAL128I:
616
18.3k
        assign_concrete<TYPE_DECIMAL128I>(field.template get<TYPE_DECIMAL128I>());
617
18.3k
        return;
618
1.05k
    case PrimitiveType::TYPE_DECIMAL256:
619
1.05k
        assign_concrete<TYPE_DECIMAL256>(field.template get<TYPE_DECIMAL256>());
620
1.05k
        return;
621
0
    case PrimitiveType::TYPE_VARIANT:
622
0
        assign_concrete<TYPE_VARIANT>(field.template get<TYPE_VARIANT>());
623
0
        return;
624
2
    case PrimitiveType::TYPE_BITMAP:
625
2
        assign_concrete<TYPE_BITMAP>(field.template get<TYPE_BITMAP>());
626
2
        return;
627
1
    case PrimitiveType::TYPE_HLL:
628
1
        assign_concrete<TYPE_HLL>(field.template get<TYPE_HLL>());
629
1
        return;
630
1
    case PrimitiveType::TYPE_QUANTILE_STATE:
631
1
        assign_concrete<TYPE_QUANTILE_STATE>(field.template get<TYPE_QUANTILE_STATE>());
632
1
        return;
633
0
    case PrimitiveType::TYPE_UINT32:
634
0
        assign_concrete<TYPE_UINT32>(field.template get<TYPE_UINT32>());
635
0
        return;
636
0
    case PrimitiveType::TYPE_UINT64:
637
0
        assign_concrete<TYPE_UINT64>(field.template get<TYPE_UINT64>());
638
0
        return;
639
12
    case PrimitiveType::TYPE_VARBINARY:
640
12
        assign_concrete<TYPE_VARBINARY>(field.template get<TYPE_VARBINARY>());
641
12
        return;
642
0
    default:
643
0
        throw Exception(Status::FatalError("type not supported, type={}", field.get_type_name()));
644
2.10M
    }
645
2.10M
}
646
647
/// Assuming same types.
648
template <PrimitiveType Type>
649
36.3M
void Field::assign_concrete(typename PrimitiveTypeTraits<Type>::CppType&& x) {
650
36.3M
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<Type>::CppType*>(&storage);
651
36.3M
    *ptr = std::forward<typename PrimitiveTypeTraits<Type>::CppType>(x);
652
36.3M
}
_ZN5doris5Field15assign_concreteILNS_13PrimitiveTypeE1EEEvONS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
649
33.5M
void Field::assign_concrete(typename PrimitiveTypeTraits<Type>::CppType&& x) {
650
33.5M
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<Type>::CppType*>(&storage);
651
33.5M
    *ptr = std::forward<typename PrimitiveTypeTraits<Type>::CppType>(x);
652
33.5M
}
_ZN5doris5Field15assign_concreteILNS_13PrimitiveTypeE3EEEvONS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
649
119k
void Field::assign_concrete(typename PrimitiveTypeTraits<Type>::CppType&& x) {
650
119k
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<Type>::CppType*>(&storage);
651
119k
    *ptr = std::forward<typename PrimitiveTypeTraits<Type>::CppType>(x);
652
119k
}
_ZN5doris5Field15assign_concreteILNS_13PrimitiveTypeE4EEEvONS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
649
23.7k
void Field::assign_concrete(typename PrimitiveTypeTraits<Type>::CppType&& x) {
650
23.7k
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<Type>::CppType*>(&storage);
651
23.7k
    *ptr = std::forward<typename PrimitiveTypeTraits<Type>::CppType>(x);
652
23.7k
}
_ZN5doris5Field15assign_concreteILNS_13PrimitiveTypeE5EEEvONS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
649
1.08M
void Field::assign_concrete(typename PrimitiveTypeTraits<Type>::CppType&& x) {
650
1.08M
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<Type>::CppType*>(&storage);
651
1.08M
    *ptr = std::forward<typename PrimitiveTypeTraits<Type>::CppType>(x);
652
1.08M
}
_ZN5doris5Field15assign_concreteILNS_13PrimitiveTypeE6EEEvONS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
649
471k
void Field::assign_concrete(typename PrimitiveTypeTraits<Type>::CppType&& x) {
650
471k
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<Type>::CppType*>(&storage);
651
471k
    *ptr = std::forward<typename PrimitiveTypeTraits<Type>::CppType>(x);
652
471k
}
_ZN5doris5Field15assign_concreteILNS_13PrimitiveTypeE7EEEvONS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
649
33.9k
void Field::assign_concrete(typename PrimitiveTypeTraits<Type>::CppType&& x) {
650
33.9k
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<Type>::CppType*>(&storage);
651
33.9k
    *ptr = std::forward<typename PrimitiveTypeTraits<Type>::CppType>(x);
652
33.9k
}
_ZN5doris5Field15assign_concreteILNS_13PrimitiveTypeE11EEEvONS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
649
468
void Field::assign_concrete(typename PrimitiveTypeTraits<Type>::CppType&& x) {
650
468
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<Type>::CppType*>(&storage);
651
468
    *ptr = std::forward<typename PrimitiveTypeTraits<Type>::CppType>(x);
652
468
}
_ZN5doris5Field15assign_concreteILNS_13PrimitiveTypeE12EEEvONS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
649
904
void Field::assign_concrete(typename PrimitiveTypeTraits<Type>::CppType&& x) {
650
904
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<Type>::CppType*>(&storage);
651
904
    *ptr = std::forward<typename PrimitiveTypeTraits<Type>::CppType>(x);
652
904
}
_ZN5doris5Field15assign_concreteILNS_13PrimitiveTypeE25EEEvONS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
649
61.9k
void Field::assign_concrete(typename PrimitiveTypeTraits<Type>::CppType&& x) {
650
61.9k
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<Type>::CppType*>(&storage);
651
61.9k
    *ptr = std::forward<typename PrimitiveTypeTraits<Type>::CppType>(x);
652
61.9k
}
_ZN5doris5Field15assign_concreteILNS_13PrimitiveTypeE26EEEvONS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
649
71.3k
void Field::assign_concrete(typename PrimitiveTypeTraits<Type>::CppType&& x) {
650
71.3k
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<Type>::CppType*>(&storage);
651
71.3k
    *ptr = std::forward<typename PrimitiveTypeTraits<Type>::CppType>(x);
652
71.3k
}
_ZN5doris5Field15assign_concreteILNS_13PrimitiveTypeE43EEEvONS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
649
60
void Field::assign_concrete(typename PrimitiveTypeTraits<Type>::CppType&& x) {
650
60
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<Type>::CppType*>(&storage);
651
60
    *ptr = std::forward<typename PrimitiveTypeTraits<Type>::CppType>(x);
652
60
}
_ZN5doris5Field15assign_concreteILNS_13PrimitiveTypeE28EEEvONS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
649
6.95k
void Field::assign_concrete(typename PrimitiveTypeTraits<Type>::CppType&& x) {
650
6.95k
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<Type>::CppType*>(&storage);
651
6.95k
    *ptr = std::forward<typename PrimitiveTypeTraits<Type>::CppType>(x);
652
6.95k
}
_ZN5doris5Field15assign_concreteILNS_13PrimitiveTypeE29EEEvONS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
649
32.9k
void Field::assign_concrete(typename PrimitiveTypeTraits<Type>::CppType&& x) {
650
32.9k
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<Type>::CppType*>(&storage);
651
32.9k
    *ptr = std::forward<typename PrimitiveTypeTraits<Type>::CppType>(x);
652
32.9k
}
_ZN5doris5Field15assign_concreteILNS_13PrimitiveTypeE20EEEvONS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
649
140
void Field::assign_concrete(typename PrimitiveTypeTraits<Type>::CppType&& x) {
650
140
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<Type>::CppType*>(&storage);
651
140
    *ptr = std::forward<typename PrimitiveTypeTraits<Type>::CppType>(x);
652
140
}
_ZN5doris5Field15assign_concreteILNS_13PrimitiveTypeE30EEEvONS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
649
20.9k
void Field::assign_concrete(typename PrimitiveTypeTraits<Type>::CppType&& x) {
650
20.9k
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<Type>::CppType*>(&storage);
651
20.9k
    *ptr = std::forward<typename PrimitiveTypeTraits<Type>::CppType>(x);
652
20.9k
}
_ZN5doris5Field15assign_concreteILNS_13PrimitiveTypeE35EEEvONS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
649
1.05k
void Field::assign_concrete(typename PrimitiveTypeTraits<Type>::CppType&& x) {
650
1.05k
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<Type>::CppType*>(&storage);
651
1.05k
    *ptr = std::forward<typename PrimitiveTypeTraits<Type>::CppType>(x);
652
1.05k
}
_ZN5doris5Field15assign_concreteILNS_13PrimitiveTypeE15EEEvONS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
649
35.4k
void Field::assign_concrete(typename PrimitiveTypeTraits<Type>::CppType&& x) {
650
35.4k
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<Type>::CppType*>(&storage);
651
35.4k
    *ptr = std::forward<typename PrimitiveTypeTraits<Type>::CppType>(x);
652
35.4k
}
_ZN5doris5Field15assign_concreteILNS_13PrimitiveTypeE10EEEvONS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
649
361k
void Field::assign_concrete(typename PrimitiveTypeTraits<Type>::CppType&& x) {
650
361k
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<Type>::CppType*>(&storage);
651
361k
    *ptr = std::forward<typename PrimitiveTypeTraits<Type>::CppType>(x);
652
361k
}
_ZN5doris5Field15assign_concreteILNS_13PrimitiveTypeE23EEEvONS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
649
170k
void Field::assign_concrete(typename PrimitiveTypeTraits<Type>::CppType&& x) {
650
170k
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<Type>::CppType*>(&storage);
651
170k
    *ptr = std::forward<typename PrimitiveTypeTraits<Type>::CppType>(x);
652
170k
}
Unexecuted instantiation: _ZN5doris5Field15assign_concreteILNS_13PrimitiveTypeE41EEEvONS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
_ZN5doris5Field15assign_concreteILNS_13PrimitiveTypeE19EEEvONS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
649
1
void Field::assign_concrete(typename PrimitiveTypeTraits<Type>::CppType&& x) {
650
1
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<Type>::CppType*>(&storage);
651
1
    *ptr = std::forward<typename PrimitiveTypeTraits<Type>::CppType>(x);
652
1
}
_ZN5doris5Field15assign_concreteILNS_13PrimitiveTypeE32EEEvONS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
649
67
void Field::assign_concrete(typename PrimitiveTypeTraits<Type>::CppType&& x) {
650
67
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<Type>::CppType*>(&storage);
651
67
    *ptr = std::forward<typename PrimitiveTypeTraits<Type>::CppType>(x);
652
67
}
_ZN5doris5Field15assign_concreteILNS_13PrimitiveTypeE24EEEvONS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
649
1
void Field::assign_concrete(typename PrimitiveTypeTraits<Type>::CppType&& x) {
650
1
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<Type>::CppType*>(&storage);
651
1
    *ptr = std::forward<typename PrimitiveTypeTraits<Type>::CppType>(x);
652
1
}
_ZN5doris5Field15assign_concreteILNS_13PrimitiveTypeE17EEEvONS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
649
28.7k
void Field::assign_concrete(typename PrimitiveTypeTraits<Type>::CppType&& x) {
650
28.7k
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<Type>::CppType*>(&storage);
651
28.7k
    *ptr = std::forward<typename PrimitiveTypeTraits<Type>::CppType>(x);
652
28.7k
}
_ZN5doris5Field15assign_concreteILNS_13PrimitiveTypeE42EEEvONS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
649
6.51k
void Field::assign_concrete(typename PrimitiveTypeTraits<Type>::CppType&& x) {
650
6.51k
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<Type>::CppType*>(&storage);
651
6.51k
    *ptr = std::forward<typename PrimitiveTypeTraits<Type>::CppType>(x);
652
6.51k
}
_ZN5doris5Field15assign_concreteILNS_13PrimitiveTypeE36EEEvONS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
649
1.16k
void Field::assign_concrete(typename PrimitiveTypeTraits<Type>::CppType&& x) {
650
1.16k
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<Type>::CppType*>(&storage);
651
1.16k
    *ptr = std::forward<typename PrimitiveTypeTraits<Type>::CppType>(x);
652
1.16k
}
_ZN5doris5Field15assign_concreteILNS_13PrimitiveTypeE37EEEvONS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
649
981
void Field::assign_concrete(typename PrimitiveTypeTraits<Type>::CppType&& x) {
650
981
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<Type>::CppType*>(&storage);
651
981
    *ptr = std::forward<typename PrimitiveTypeTraits<Type>::CppType>(x);
652
981
}
_ZN5doris5Field15assign_concreteILNS_13PrimitiveTypeE2EEEvONS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
649
17.2k
void Field::assign_concrete(typename PrimitiveTypeTraits<Type>::CppType&& x) {
650
17.2k
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<Type>::CppType*>(&storage);
651
17.2k
    *ptr = std::forward<typename PrimitiveTypeTraits<Type>::CppType>(x);
652
17.2k
}
_ZN5doris5Field15assign_concreteILNS_13PrimitiveTypeE8EEEvONS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
649
14.1k
void Field::assign_concrete(typename PrimitiveTypeTraits<Type>::CppType&& x) {
650
14.1k
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<Type>::CppType*>(&storage);
651
14.1k
    *ptr = std::forward<typename PrimitiveTypeTraits<Type>::CppType>(x);
652
14.1k
}
_ZN5doris5Field15assign_concreteILNS_13PrimitiveTypeE9EEEvONS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
649
21.2k
void Field::assign_concrete(typename PrimitiveTypeTraits<Type>::CppType&& x) {
650
21.2k
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<Type>::CppType*>(&storage);
651
21.2k
    *ptr = std::forward<typename PrimitiveTypeTraits<Type>::CppType>(x);
652
21.2k
}
_ZN5doris5Field15assign_concreteILNS_13PrimitiveTypeE31EEEvONS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
649
207k
void Field::assign_concrete(typename PrimitiveTypeTraits<Type>::CppType&& x) {
650
207k
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<Type>::CppType*>(&storage);
651
207k
    *ptr = std::forward<typename PrimitiveTypeTraits<Type>::CppType>(x);
652
207k
}
Unexecuted instantiation: _ZN5doris5Field15assign_concreteILNS_13PrimitiveTypeE16EEEvONS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
_ZN5doris5Field15assign_concreteILNS_13PrimitiveTypeE18EEEvONS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
649
1
void Field::assign_concrete(typename PrimitiveTypeTraits<Type>::CppType&& x) {
650
1
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<Type>::CppType*>(&storage);
651
1
    *ptr = std::forward<typename PrimitiveTypeTraits<Type>::CppType>(x);
652
1
}
_ZN5doris5Field15assign_concreteILNS_13PrimitiveTypeE22EEEvONS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
649
29
void Field::assign_concrete(typename PrimitiveTypeTraits<Type>::CppType&& x) {
650
29
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<Type>::CppType*>(&storage);
651
29
    *ptr = std::forward<typename PrimitiveTypeTraits<Type>::CppType>(x);
652
29
}
Unexecuted instantiation: _ZN5doris5Field15assign_concreteILNS_13PrimitiveTypeE27EEEvONS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Unexecuted instantiation: _ZN5doris5Field15assign_concreteILNS_13PrimitiveTypeE38EEEvONS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Unexecuted instantiation: _ZN5doris5Field15assign_concreteILNS_13PrimitiveTypeE39EEEvONS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
653
654
template <PrimitiveType Type>
655
2.10M
void Field::assign_concrete(const typename PrimitiveTypeTraits<Type>::CppType& x) {
656
2.10M
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<Type>::CppType*>(&storage);
657
2.10M
    *ptr = std::forward<const typename PrimitiveTypeTraits<Type>::CppType>(x);
658
2.10M
}
_ZN5doris5Field15assign_concreteILNS_13PrimitiveTypeE1EEEvRKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
655
471k
void Field::assign_concrete(const typename PrimitiveTypeTraits<Type>::CppType& x) {
656
471k
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<Type>::CppType*>(&storage);
657
471k
    *ptr = std::forward<const typename PrimitiveTypeTraits<Type>::CppType>(x);
658
471k
}
_ZN5doris5Field15assign_concreteILNS_13PrimitiveTypeE3EEEvRKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
655
119k
void Field::assign_concrete(const typename PrimitiveTypeTraits<Type>::CppType& x) {
656
119k
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<Type>::CppType*>(&storage);
657
119k
    *ptr = std::forward<const typename PrimitiveTypeTraits<Type>::CppType>(x);
658
119k
}
_ZN5doris5Field15assign_concreteILNS_13PrimitiveTypeE4EEEvRKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
655
23.5k
void Field::assign_concrete(const typename PrimitiveTypeTraits<Type>::CppType& x) {
656
23.5k
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<Type>::CppType*>(&storage);
657
23.5k
    *ptr = std::forward<const typename PrimitiveTypeTraits<Type>::CppType>(x);
658
23.5k
}
_ZN5doris5Field15assign_concreteILNS_13PrimitiveTypeE5EEEvRKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
655
247k
void Field::assign_concrete(const typename PrimitiveTypeTraits<Type>::CppType& x) {
656
247k
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<Type>::CppType*>(&storage);
657
247k
    *ptr = std::forward<const typename PrimitiveTypeTraits<Type>::CppType>(x);
658
247k
}
_ZN5doris5Field15assign_concreteILNS_13PrimitiveTypeE6EEEvRKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
655
457k
void Field::assign_concrete(const typename PrimitiveTypeTraits<Type>::CppType& x) {
656
457k
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<Type>::CppType*>(&storage);
657
457k
    *ptr = std::forward<const typename PrimitiveTypeTraits<Type>::CppType>(x);
658
457k
}
_ZN5doris5Field15assign_concreteILNS_13PrimitiveTypeE7EEEvRKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
655
31.6k
void Field::assign_concrete(const typename PrimitiveTypeTraits<Type>::CppType& x) {
656
31.6k
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<Type>::CppType*>(&storage);
657
31.6k
    *ptr = std::forward<const typename PrimitiveTypeTraits<Type>::CppType>(x);
658
31.6k
}
_ZN5doris5Field15assign_concreteILNS_13PrimitiveTypeE11EEEvRKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
655
384
void Field::assign_concrete(const typename PrimitiveTypeTraits<Type>::CppType& x) {
656
384
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<Type>::CppType*>(&storage);
657
384
    *ptr = std::forward<const typename PrimitiveTypeTraits<Type>::CppType>(x);
658
384
}
_ZN5doris5Field15assign_concreteILNS_13PrimitiveTypeE12EEEvRKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
655
528
void Field::assign_concrete(const typename PrimitiveTypeTraits<Type>::CppType& x) {
656
528
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<Type>::CppType*>(&storage);
657
528
    *ptr = std::forward<const typename PrimitiveTypeTraits<Type>::CppType>(x);
658
528
}
_ZN5doris5Field15assign_concreteILNS_13PrimitiveTypeE25EEEvRKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
655
57.1k
void Field::assign_concrete(const typename PrimitiveTypeTraits<Type>::CppType& x) {
656
57.1k
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<Type>::CppType*>(&storage);
657
57.1k
    *ptr = std::forward<const typename PrimitiveTypeTraits<Type>::CppType>(x);
658
57.1k
}
_ZN5doris5Field15assign_concreteILNS_13PrimitiveTypeE26EEEvRKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
655
70.1k
void Field::assign_concrete(const typename PrimitiveTypeTraits<Type>::CppType& x) {
656
70.1k
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<Type>::CppType*>(&storage);
657
70.1k
    *ptr = std::forward<const typename PrimitiveTypeTraits<Type>::CppType>(x);
658
70.1k
}
_ZN5doris5Field15assign_concreteILNS_13PrimitiveTypeE43EEEvRKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
655
60
void Field::assign_concrete(const typename PrimitiveTypeTraits<Type>::CppType& x) {
656
60
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<Type>::CppType*>(&storage);
657
60
    *ptr = std::forward<const typename PrimitiveTypeTraits<Type>::CppType>(x);
658
60
}
_ZN5doris5Field15assign_concreteILNS_13PrimitiveTypeE42EEEvRKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
655
6.51k
void Field::assign_concrete(const typename PrimitiveTypeTraits<Type>::CppType& x) {
656
6.51k
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<Type>::CppType*>(&storage);
657
6.51k
    *ptr = std::forward<const typename PrimitiveTypeTraits<Type>::CppType>(x);
658
6.51k
}
_ZN5doris5Field15assign_concreteILNS_13PrimitiveTypeE28EEEvRKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
655
6.95k
void Field::assign_concrete(const typename PrimitiveTypeTraits<Type>::CppType& x) {
656
6.95k
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<Type>::CppType*>(&storage);
657
6.95k
    *ptr = std::forward<const typename PrimitiveTypeTraits<Type>::CppType>(x);
658
6.95k
}
_ZN5doris5Field15assign_concreteILNS_13PrimitiveTypeE29EEEvRKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
655
18.9k
void Field::assign_concrete(const typename PrimitiveTypeTraits<Type>::CppType& x) {
656
18.9k
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<Type>::CppType*>(&storage);
657
18.9k
    *ptr = std::forward<const typename PrimitiveTypeTraits<Type>::CppType>(x);
658
18.9k
}
_ZN5doris5Field15assign_concreteILNS_13PrimitiveTypeE20EEEvRKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
655
130
void Field::assign_concrete(const typename PrimitiveTypeTraits<Type>::CppType& x) {
656
130
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<Type>::CppType*>(&storage);
657
130
    *ptr = std::forward<const typename PrimitiveTypeTraits<Type>::CppType>(x);
658
130
}
_ZN5doris5Field15assign_concreteILNS_13PrimitiveTypeE30EEEvRKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
655
18.3k
void Field::assign_concrete(const typename PrimitiveTypeTraits<Type>::CppType& x) {
656
18.3k
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<Type>::CppType*>(&storage);
657
18.3k
    *ptr = std::forward<const typename PrimitiveTypeTraits<Type>::CppType>(x);
658
18.3k
}
_ZN5doris5Field15assign_concreteILNS_13PrimitiveTypeE35EEEvRKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
655
1.05k
void Field::assign_concrete(const typename PrimitiveTypeTraits<Type>::CppType& x) {
656
1.05k
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<Type>::CppType*>(&storage);
657
1.05k
    *ptr = std::forward<const typename PrimitiveTypeTraits<Type>::CppType>(x);
658
1.05k
}
_ZN5doris5Field15assign_concreteILNS_13PrimitiveTypeE15EEEvRKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
655
26.5k
void Field::assign_concrete(const typename PrimitiveTypeTraits<Type>::CppType& x) {
656
26.5k
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<Type>::CppType*>(&storage);
657
26.5k
    *ptr = std::forward<const typename PrimitiveTypeTraits<Type>::CppType>(x);
658
26.5k
}
_ZN5doris5Field15assign_concreteILNS_13PrimitiveTypeE10EEEvRKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
655
345k
void Field::assign_concrete(const typename PrimitiveTypeTraits<Type>::CppType& x) {
656
345k
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<Type>::CppType*>(&storage);
657
345k
    *ptr = std::forward<const typename PrimitiveTypeTraits<Type>::CppType>(x);
658
345k
}
_ZN5doris5Field15assign_concreteILNS_13PrimitiveTypeE23EEEvRKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
655
115k
void Field::assign_concrete(const typename PrimitiveTypeTraits<Type>::CppType& x) {
656
115k
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<Type>::CppType*>(&storage);
657
115k
    *ptr = std::forward<const typename PrimitiveTypeTraits<Type>::CppType>(x);
658
115k
}
_ZN5doris5Field15assign_concreteILNS_13PrimitiveTypeE41EEEvRKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
655
12
void Field::assign_concrete(const typename PrimitiveTypeTraits<Type>::CppType& x) {
656
12
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<Type>::CppType*>(&storage);
657
12
    *ptr = std::forward<const typename PrimitiveTypeTraits<Type>::CppType>(x);
658
12
}
_ZN5doris5Field15assign_concreteILNS_13PrimitiveTypeE19EEEvRKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
655
1
void Field::assign_concrete(const typename PrimitiveTypeTraits<Type>::CppType& x) {
656
1
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<Type>::CppType*>(&storage);
657
1
    *ptr = std::forward<const typename PrimitiveTypeTraits<Type>::CppType>(x);
658
1
}
Unexecuted instantiation: _ZN5doris5Field15assign_concreteILNS_13PrimitiveTypeE32EEEvRKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
_ZN5doris5Field15assign_concreteILNS_13PrimitiveTypeE24EEEvRKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
655
1
void Field::assign_concrete(const typename PrimitiveTypeTraits<Type>::CppType& x) {
656
1
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<Type>::CppType*>(&storage);
657
1
    *ptr = std::forward<const typename PrimitiveTypeTraits<Type>::CppType>(x);
658
1
}
_ZN5doris5Field15assign_concreteILNS_13PrimitiveTypeE17EEEvRKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
655
38.5k
void Field::assign_concrete(const typename PrimitiveTypeTraits<Type>::CppType& x) {
656
38.5k
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<Type>::CppType*>(&storage);
657
38.5k
    *ptr = std::forward<const typename PrimitiveTypeTraits<Type>::CppType>(x);
658
38.5k
}
_ZN5doris5Field15assign_concreteILNS_13PrimitiveTypeE36EEEvRKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
655
1.16k
void Field::assign_concrete(const typename PrimitiveTypeTraits<Type>::CppType& x) {
656
1.16k
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<Type>::CppType*>(&storage);
657
1.16k
    *ptr = std::forward<const typename PrimitiveTypeTraits<Type>::CppType>(x);
658
1.16k
}
_ZN5doris5Field15assign_concreteILNS_13PrimitiveTypeE37EEEvRKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
655
977
void Field::assign_concrete(const typename PrimitiveTypeTraits<Type>::CppType& x) {
656
977
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<Type>::CppType*>(&storage);
657
977
    *ptr = std::forward<const typename PrimitiveTypeTraits<Type>::CppType>(x);
658
977
}
_ZN5doris5Field15assign_concreteILNS_13PrimitiveTypeE2EEEvRKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
655
16.2k
void Field::assign_concrete(const typename PrimitiveTypeTraits<Type>::CppType& x) {
656
16.2k
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<Type>::CppType*>(&storage);
657
16.2k
    *ptr = std::forward<const typename PrimitiveTypeTraits<Type>::CppType>(x);
658
16.2k
}
_ZN5doris5Field15assign_concreteILNS_13PrimitiveTypeE8EEEvRKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
655
14.0k
void Field::assign_concrete(const typename PrimitiveTypeTraits<Type>::CppType& x) {
656
14.0k
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<Type>::CppType*>(&storage);
657
14.0k
    *ptr = std::forward<const typename PrimitiveTypeTraits<Type>::CppType>(x);
658
14.0k
}
_ZN5doris5Field15assign_concreteILNS_13PrimitiveTypeE9EEEvRKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
655
18.6k
void Field::assign_concrete(const typename PrimitiveTypeTraits<Type>::CppType& x) {
656
18.6k
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<Type>::CppType*>(&storage);
657
18.6k
    *ptr = std::forward<const typename PrimitiveTypeTraits<Type>::CppType>(x);
658
18.6k
}
_ZN5doris5Field15assign_concreteILNS_13PrimitiveTypeE31EEEvRKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
655
17
void Field::assign_concrete(const typename PrimitiveTypeTraits<Type>::CppType& x) {
656
17
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<Type>::CppType*>(&storage);
657
17
    *ptr = std::forward<const typename PrimitiveTypeTraits<Type>::CppType>(x);
658
17
}
Unexecuted instantiation: _ZN5doris5Field15assign_concreteILNS_13PrimitiveTypeE16EEEvRKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
_ZN5doris5Field15assign_concreteILNS_13PrimitiveTypeE18EEEvRKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
655
1
void Field::assign_concrete(const typename PrimitiveTypeTraits<Type>::CppType& x) {
656
1
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<Type>::CppType*>(&storage);
657
1
    *ptr = std::forward<const typename PrimitiveTypeTraits<Type>::CppType>(x);
658
1
}
_ZN5doris5Field15assign_concreteILNS_13PrimitiveTypeE22EEEvRKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Line
Count
Source
655
2
void Field::assign_concrete(const typename PrimitiveTypeTraits<Type>::CppType& x) {
656
2
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<Type>::CppType*>(&storage);
657
2
    *ptr = std::forward<const typename PrimitiveTypeTraits<Type>::CppType>(x);
658
2
}
Unexecuted instantiation: _ZN5doris5Field15assign_concreteILNS_13PrimitiveTypeE27EEEvRKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Unexecuted instantiation: _ZN5doris5Field15assign_concreteILNS_13PrimitiveTypeE38EEEvRKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
Unexecuted instantiation: _ZN5doris5Field15assign_concreteILNS_13PrimitiveTypeE39EEEvRKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeE
659
660
159
std::string Field::get_type_name() const {
661
159
    return type_to_string(type);
662
159
}
663
664
template <PrimitiveType T>
665
263M
typename PrimitiveTypeTraits<T>::CppType& Field::get() {
666
263M
    if (T != type && !(is_string_type(type) && is_string_type(T)) && type != TYPE_NULL) {
667
0
        throw Exception(Status::FatalError("Field::get type mismatch: requested {}, actual {}",
668
0
                                           type_to_string(T), get_type_name()));
669
0
    }
670
263M
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<T>::CppType*>(&storage);
671
263M
    return *ptr;
672
263M
}
_ZN5doris5Field3getILNS_13PrimitiveTypeE1EEERNS_19PrimitiveTypeTraitsIXT_EE7CppTypeEv
Line
Count
Source
665
35.4M
typename PrimitiveTypeTraits<T>::CppType& Field::get() {
666
35.4M
    if (T != type && !(is_string_type(type) && is_string_type(T)) && type != TYPE_NULL) {
667
0
        throw Exception(Status::FatalError("Field::get type mismatch: requested {}, actual {}",
668
0
                                           type_to_string(T), get_type_name()));
669
0
    }
670
35.4M
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<T>::CppType*>(&storage);
671
35.4M
    return *ptr;
672
35.4M
}
_ZN5doris5Field3getILNS_13PrimitiveTypeE3EEERNS_19PrimitiveTypeTraitsIXT_EE7CppTypeEv
Line
Count
Source
665
8.37M
typename PrimitiveTypeTraits<T>::CppType& Field::get() {
666
8.37M
    if (T != type && !(is_string_type(type) && is_string_type(T)) && type != TYPE_NULL) {
667
0
        throw Exception(Status::FatalError("Field::get type mismatch: requested {}, actual {}",
668
0
                                           type_to_string(T), get_type_name()));
669
0
    }
670
8.37M
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<T>::CppType*>(&storage);
671
8.37M
    return *ptr;
672
8.37M
}
_ZN5doris5Field3getILNS_13PrimitiveTypeE4EEERNS_19PrimitiveTypeTraitsIXT_EE7CppTypeEv
Line
Count
Source
665
208k
typename PrimitiveTypeTraits<T>::CppType& Field::get() {
666
208k
    if (T != type && !(is_string_type(type) && is_string_type(T)) && type != TYPE_NULL) {
667
0
        throw Exception(Status::FatalError("Field::get type mismatch: requested {}, actual {}",
668
0
                                           type_to_string(T), get_type_name()));
669
0
    }
670
208k
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<T>::CppType*>(&storage);
671
208k
    return *ptr;
672
208k
}
_ZN5doris5Field3getILNS_13PrimitiveTypeE5EEERNS_19PrimitiveTypeTraitsIXT_EE7CppTypeEv
Line
Count
Source
665
105M
typename PrimitiveTypeTraits<T>::CppType& Field::get() {
666
105M
    if (T != type && !(is_string_type(type) && is_string_type(T)) && type != TYPE_NULL) {
667
0
        throw Exception(Status::FatalError("Field::get type mismatch: requested {}, actual {}",
668
0
                                           type_to_string(T), get_type_name()));
669
0
    }
670
105M
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<T>::CppType*>(&storage);
671
105M
    return *ptr;
672
105M
}
_ZN5doris5Field3getILNS_13PrimitiveTypeE6EEERNS_19PrimitiveTypeTraitsIXT_EE7CppTypeEv
Line
Count
Source
665
36.3M
typename PrimitiveTypeTraits<T>::CppType& Field::get() {
666
36.3M
    if (T != type && !(is_string_type(type) && is_string_type(T)) && type != TYPE_NULL) {
667
0
        throw Exception(Status::FatalError("Field::get type mismatch: requested {}, actual {}",
668
0
                                           type_to_string(T), get_type_name()));
669
0
    }
670
36.3M
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<T>::CppType*>(&storage);
671
36.3M
    return *ptr;
672
36.3M
}
_ZN5doris5Field3getILNS_13PrimitiveTypeE7EEERNS_19PrimitiveTypeTraitsIXT_EE7CppTypeEv
Line
Count
Source
665
240k
typename PrimitiveTypeTraits<T>::CppType& Field::get() {
666
240k
    if (T != type && !(is_string_type(type) && is_string_type(T)) && type != TYPE_NULL) {
667
0
        throw Exception(Status::FatalError("Field::get type mismatch: requested {}, actual {}",
668
0
                                           type_to_string(T), get_type_name()));
669
0
    }
670
240k
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<T>::CppType*>(&storage);
671
240k
    return *ptr;
672
240k
}
_ZN5doris5Field3getILNS_13PrimitiveTypeE11EEERNS_19PrimitiveTypeTraitsIXT_EE7CppTypeEv
Line
Count
Source
665
24.5k
typename PrimitiveTypeTraits<T>::CppType& Field::get() {
666
24.5k
    if (T != type && !(is_string_type(type) && is_string_type(T)) && type != TYPE_NULL) {
667
0
        throw Exception(Status::FatalError("Field::get type mismatch: requested {}, actual {}",
668
0
                                           type_to_string(T), get_type_name()));
669
0
    }
670
24.5k
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<T>::CppType*>(&storage);
671
24.5k
    return *ptr;
672
24.5k
}
_ZN5doris5Field3getILNS_13PrimitiveTypeE12EEERNS_19PrimitiveTypeTraitsIXT_EE7CppTypeEv
Line
Count
Source
665
29.0k
typename PrimitiveTypeTraits<T>::CppType& Field::get() {
666
29.0k
    if (T != type && !(is_string_type(type) && is_string_type(T)) && type != TYPE_NULL) {
667
0
        throw Exception(Status::FatalError("Field::get type mismatch: requested {}, actual {}",
668
0
                                           type_to_string(T), get_type_name()));
669
0
    }
670
29.0k
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<T>::CppType*>(&storage);
671
29.0k
    return *ptr;
672
29.0k
}
_ZN5doris5Field3getILNS_13PrimitiveTypeE25EEERNS_19PrimitiveTypeTraitsIXT_EE7CppTypeEv
Line
Count
Source
665
704k
typename PrimitiveTypeTraits<T>::CppType& Field::get() {
666
704k
    if (T != type && !(is_string_type(type) && is_string_type(T)) && type != TYPE_NULL) {
667
0
        throw Exception(Status::FatalError("Field::get type mismatch: requested {}, actual {}",
668
0
                                           type_to_string(T), get_type_name()));
669
0
    }
670
704k
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<T>::CppType*>(&storage);
671
704k
    return *ptr;
672
704k
}
_ZN5doris5Field3getILNS_13PrimitiveTypeE26EEERNS_19PrimitiveTypeTraitsIXT_EE7CppTypeEv
Line
Count
Source
665
3.84M
typename PrimitiveTypeTraits<T>::CppType& Field::get() {
666
3.84M
    if (T != type && !(is_string_type(type) && is_string_type(T)) && type != TYPE_NULL) {
667
0
        throw Exception(Status::FatalError("Field::get type mismatch: requested {}, actual {}",
668
0
                                           type_to_string(T), get_type_name()));
669
0
    }
670
3.84M
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<T>::CppType*>(&storage);
671
3.84M
    return *ptr;
672
3.84M
}
_ZN5doris5Field3getILNS_13PrimitiveTypeE43EEERNS_19PrimitiveTypeTraitsIXT_EE7CppTypeEv
Line
Count
Source
665
387
typename PrimitiveTypeTraits<T>::CppType& Field::get() {
666
387
    if (T != type && !(is_string_type(type) && is_string_type(T)) && type != TYPE_NULL) {
667
0
        throw Exception(Status::FatalError("Field::get type mismatch: requested {}, actual {}",
668
0
                                           type_to_string(T), get_type_name()));
669
0
    }
670
387
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<T>::CppType*>(&storage);
671
387
    return *ptr;
672
387
}
_ZN5doris5Field3getILNS_13PrimitiveTypeE42EEERNS_19PrimitiveTypeTraitsIXT_EE7CppTypeEv
Line
Count
Source
665
48.6k
typename PrimitiveTypeTraits<T>::CppType& Field::get() {
666
48.6k
    if (T != type && !(is_string_type(type) && is_string_type(T)) && type != TYPE_NULL) {
667
0
        throw Exception(Status::FatalError("Field::get type mismatch: requested {}, actual {}",
668
0
                                           type_to_string(T), get_type_name()));
669
0
    }
670
48.6k
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<T>::CppType*>(&storage);
671
48.6k
    return *ptr;
672
48.6k
}
_ZN5doris5Field3getILNS_13PrimitiveTypeE28EEERNS_19PrimitiveTypeTraitsIXT_EE7CppTypeEv
Line
Count
Source
665
93.2k
typename PrimitiveTypeTraits<T>::CppType& Field::get() {
666
93.2k
    if (T != type && !(is_string_type(type) && is_string_type(T)) && type != TYPE_NULL) {
667
0
        throw Exception(Status::FatalError("Field::get type mismatch: requested {}, actual {}",
668
0
                                           type_to_string(T), get_type_name()));
669
0
    }
670
93.2k
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<T>::CppType*>(&storage);
671
93.2k
    return *ptr;
672
93.2k
}
_ZN5doris5Field3getILNS_13PrimitiveTypeE29EEERNS_19PrimitiveTypeTraitsIXT_EE7CppTypeEv
Line
Count
Source
665
275k
typename PrimitiveTypeTraits<T>::CppType& Field::get() {
666
275k
    if (T != type && !(is_string_type(type) && is_string_type(T)) && type != TYPE_NULL) {
667
0
        throw Exception(Status::FatalError("Field::get type mismatch: requested {}, actual {}",
668
0
                                           type_to_string(T), get_type_name()));
669
0
    }
670
275k
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<T>::CppType*>(&storage);
671
275k
    return *ptr;
672
275k
}
_ZN5doris5Field3getILNS_13PrimitiveTypeE20EEERNS_19PrimitiveTypeTraitsIXT_EE7CppTypeEv
Line
Count
Source
665
10.0k
typename PrimitiveTypeTraits<T>::CppType& Field::get() {
666
10.0k
    if (T != type && !(is_string_type(type) && is_string_type(T)) && type != TYPE_NULL) {
667
0
        throw Exception(Status::FatalError("Field::get type mismatch: requested {}, actual {}",
668
0
                                           type_to_string(T), get_type_name()));
669
0
    }
670
10.0k
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<T>::CppType*>(&storage);
671
10.0k
    return *ptr;
672
10.0k
}
_ZN5doris5Field3getILNS_13PrimitiveTypeE30EEERNS_19PrimitiveTypeTraitsIXT_EE7CppTypeEv
Line
Count
Source
665
341k
typename PrimitiveTypeTraits<T>::CppType& Field::get() {
666
341k
    if (T != type && !(is_string_type(type) && is_string_type(T)) && type != TYPE_NULL) {
667
0
        throw Exception(Status::FatalError("Field::get type mismatch: requested {}, actual {}",
668
0
                                           type_to_string(T), get_type_name()));
669
0
    }
670
341k
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<T>::CppType*>(&storage);
671
341k
    return *ptr;
672
341k
}
_ZN5doris5Field3getILNS_13PrimitiveTypeE35EEERNS_19PrimitiveTypeTraitsIXT_EE7CppTypeEv
Line
Count
Source
665
52.8k
typename PrimitiveTypeTraits<T>::CppType& Field::get() {
666
52.8k
    if (T != type && !(is_string_type(type) && is_string_type(T)) && type != TYPE_NULL) {
667
0
        throw Exception(Status::FatalError("Field::get type mismatch: requested {}, actual {}",
668
0
                                           type_to_string(T), get_type_name()));
669
0
    }
670
52.8k
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<T>::CppType*>(&storage);
671
52.8k
    return *ptr;
672
52.8k
}
_ZN5doris5Field3getILNS_13PrimitiveTypeE15EEERNS_19PrimitiveTypeTraitsIXT_EE7CppTypeEv
Line
Count
Source
665
139k
typename PrimitiveTypeTraits<T>::CppType& Field::get() {
666
139k
    if (T != type && !(is_string_type(type) && is_string_type(T)) && type != TYPE_NULL) {
667
0
        throw Exception(Status::FatalError("Field::get type mismatch: requested {}, actual {}",
668
0
                                           type_to_string(T), get_type_name()));
669
0
    }
670
139k
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<T>::CppType*>(&storage);
671
139k
    return *ptr;
672
139k
}
_ZN5doris5Field3getILNS_13PrimitiveTypeE10EEERNS_19PrimitiveTypeTraitsIXT_EE7CppTypeEv
Line
Count
Source
665
2.39M
typename PrimitiveTypeTraits<T>::CppType& Field::get() {
666
2.39M
    if (T != type && !(is_string_type(type) && is_string_type(T)) && type != TYPE_NULL) {
667
0
        throw Exception(Status::FatalError("Field::get type mismatch: requested {}, actual {}",
668
0
                                           type_to_string(T), get_type_name()));
669
0
    }
670
2.39M
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<T>::CppType*>(&storage);
671
2.39M
    return *ptr;
672
2.39M
}
_ZN5doris5Field3getILNS_13PrimitiveTypeE23EEERNS_19PrimitiveTypeTraitsIXT_EE7CppTypeEv
Line
Count
Source
665
54.5M
typename PrimitiveTypeTraits<T>::CppType& Field::get() {
666
54.5M
    if (T != type && !(is_string_type(type) && is_string_type(T)) && type != TYPE_NULL) {
667
0
        throw Exception(Status::FatalError("Field::get type mismatch: requested {}, actual {}",
668
0
                                           type_to_string(T), get_type_name()));
669
0
    }
670
54.5M
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<T>::CppType*>(&storage);
671
54.5M
    return *ptr;
672
54.5M
}
_ZN5doris5Field3getILNS_13PrimitiveTypeE41EEERNS_19PrimitiveTypeTraitsIXT_EE7CppTypeEv
Line
Count
Source
665
169
typename PrimitiveTypeTraits<T>::CppType& Field::get() {
666
169
    if (T != type && !(is_string_type(type) && is_string_type(T)) && type != TYPE_NULL) {
667
0
        throw Exception(Status::FatalError("Field::get type mismatch: requested {}, actual {}",
668
0
                                           type_to_string(T), get_type_name()));
669
0
    }
670
169
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<T>::CppType*>(&storage);
671
169
    return *ptr;
672
169
}
_ZN5doris5Field3getILNS_13PrimitiveTypeE19EEERNS_19PrimitiveTypeTraitsIXT_EE7CppTypeEv
Line
Count
Source
665
6
typename PrimitiveTypeTraits<T>::CppType& Field::get() {
666
6
    if (T != type && !(is_string_type(type) && is_string_type(T)) && type != TYPE_NULL) {
667
0
        throw Exception(Status::FatalError("Field::get type mismatch: requested {}, actual {}",
668
0
                                           type_to_string(T), get_type_name()));
669
0
    }
670
6
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<T>::CppType*>(&storage);
671
6
    return *ptr;
672
6
}
_ZN5doris5Field3getILNS_13PrimitiveTypeE32EEERNS_19PrimitiveTypeTraitsIXT_EE7CppTypeEv
Line
Count
Source
665
736k
typename PrimitiveTypeTraits<T>::CppType& Field::get() {
666
736k
    if (T != type && !(is_string_type(type) && is_string_type(T)) && type != TYPE_NULL) {
667
0
        throw Exception(Status::FatalError("Field::get type mismatch: requested {}, actual {}",
668
0
                                           type_to_string(T), get_type_name()));
669
0
    }
670
736k
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<T>::CppType*>(&storage);
671
736k
    return *ptr;
672
736k
}
_ZN5doris5Field3getILNS_13PrimitiveTypeE24EEERNS_19PrimitiveTypeTraitsIXT_EE7CppTypeEv
Line
Count
Source
665
4
typename PrimitiveTypeTraits<T>::CppType& Field::get() {
666
4
    if (T != type && !(is_string_type(type) && is_string_type(T)) && type != TYPE_NULL) {
667
0
        throw Exception(Status::FatalError("Field::get type mismatch: requested {}, actual {}",
668
0
                                           type_to_string(T), get_type_name()));
669
0
    }
670
4
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<T>::CppType*>(&storage);
671
4
    return *ptr;
672
4
}
_ZN5doris5Field3getILNS_13PrimitiveTypeE17EEERNS_19PrimitiveTypeTraitsIXT_EE7CppTypeEv
Line
Count
Source
665
4.38M
typename PrimitiveTypeTraits<T>::CppType& Field::get() {
666
4.38M
    if (T != type && !(is_string_type(type) && is_string_type(T)) && type != TYPE_NULL) {
667
0
        throw Exception(Status::FatalError("Field::get type mismatch: requested {}, actual {}",
668
0
                                           type_to_string(T), get_type_name()));
669
0
    }
670
4.38M
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<T>::CppType*>(&storage);
671
4.38M
    return *ptr;
672
4.38M
}
_ZN5doris5Field3getILNS_13PrimitiveTypeE36EEERNS_19PrimitiveTypeTraitsIXT_EE7CppTypeEv
Line
Count
Source
665
46.2k
typename PrimitiveTypeTraits<T>::CppType& Field::get() {
666
46.2k
    if (T != type && !(is_string_type(type) && is_string_type(T)) && type != TYPE_NULL) {
667
0
        throw Exception(Status::FatalError("Field::get type mismatch: requested {}, actual {}",
668
0
                                           type_to_string(T), get_type_name()));
669
0
    }
670
46.2k
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<T>::CppType*>(&storage);
671
46.2k
    return *ptr;
672
46.2k
}
_ZN5doris5Field3getILNS_13PrimitiveTypeE37EEERNS_19PrimitiveTypeTraitsIXT_EE7CppTypeEv
Line
Count
Source
665
33.8k
typename PrimitiveTypeTraits<T>::CppType& Field::get() {
666
33.8k
    if (T != type && !(is_string_type(type) && is_string_type(T)) && type != TYPE_NULL) {
667
0
        throw Exception(Status::FatalError("Field::get type mismatch: requested {}, actual {}",
668
0
                                           type_to_string(T), get_type_name()));
669
0
    }
670
33.8k
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<T>::CppType*>(&storage);
671
33.8k
    return *ptr;
672
33.8k
}
_ZN5doris5Field3getILNS_13PrimitiveTypeE2EEERNS_19PrimitiveTypeTraitsIXT_EE7CppTypeEv
Line
Count
Source
665
1.11M
typename PrimitiveTypeTraits<T>::CppType& Field::get() {
666
1.11M
    if (T != type && !(is_string_type(type) && is_string_type(T)) && type != TYPE_NULL) {
667
0
        throw Exception(Status::FatalError("Field::get type mismatch: requested {}, actual {}",
668
0
                                           type_to_string(T), get_type_name()));
669
0
    }
670
1.11M
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<T>::CppType*>(&storage);
671
1.11M
    return *ptr;
672
1.11M
}
_ZN5doris5Field3getILNS_13PrimitiveTypeE8EEERNS_19PrimitiveTypeTraitsIXT_EE7CppTypeEv
Line
Count
Source
665
122k
typename PrimitiveTypeTraits<T>::CppType& Field::get() {
666
122k
    if (T != type && !(is_string_type(type) && is_string_type(T)) && type != TYPE_NULL) {
667
0
        throw Exception(Status::FatalError("Field::get type mismatch: requested {}, actual {}",
668
0
                                           type_to_string(T), get_type_name()));
669
0
    }
670
122k
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<T>::CppType*>(&storage);
671
122k
    return *ptr;
672
122k
}
_ZN5doris5Field3getILNS_13PrimitiveTypeE9EEERNS_19PrimitiveTypeTraitsIXT_EE7CppTypeEv
Line
Count
Source
665
4.75M
typename PrimitiveTypeTraits<T>::CppType& Field::get() {
666
4.75M
    if (T != type && !(is_string_type(type) && is_string_type(T)) && type != TYPE_NULL) {
667
0
        throw Exception(Status::FatalError("Field::get type mismatch: requested {}, actual {}",
668
0
                                           type_to_string(T), get_type_name()));
669
0
    }
670
4.75M
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<T>::CppType*>(&storage);
671
4.75M
    return *ptr;
672
4.75M
}
_ZN5doris5Field3getILNS_13PrimitiveTypeE31EEERNS_19PrimitiveTypeTraitsIXT_EE7CppTypeEv
Line
Count
Source
665
3.67M
typename PrimitiveTypeTraits<T>::CppType& Field::get() {
666
3.67M
    if (T != type && !(is_string_type(type) && is_string_type(T)) && type != TYPE_NULL) {
667
0
        throw Exception(Status::FatalError("Field::get type mismatch: requested {}, actual {}",
668
0
                                           type_to_string(T), get_type_name()));
669
0
    }
670
3.67M
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<T>::CppType*>(&storage);
671
3.67M
    return *ptr;
672
3.67M
}
_ZN5doris5Field3getILNS_13PrimitiveTypeE16EEERNS_19PrimitiveTypeTraitsIXT_EE7CppTypeEv
Line
Count
Source
665
15.1k
typename PrimitiveTypeTraits<T>::CppType& Field::get() {
666
15.1k
    if (T != type && !(is_string_type(type) && is_string_type(T)) && type != TYPE_NULL) {
667
0
        throw Exception(Status::FatalError("Field::get type mismatch: requested {}, actual {}",
668
0
                                           type_to_string(T), get_type_name()));
669
0
    }
670
15.1k
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<T>::CppType*>(&storage);
671
15.1k
    return *ptr;
672
15.1k
}
_ZN5doris5Field3getILNS_13PrimitiveTypeE18EEERNS_19PrimitiveTypeTraitsIXT_EE7CppTypeEv
Line
Count
Source
665
36.5k
typename PrimitiveTypeTraits<T>::CppType& Field::get() {
666
36.5k
    if (T != type && !(is_string_type(type) && is_string_type(T)) && type != TYPE_NULL) {
667
0
        throw Exception(Status::FatalError("Field::get type mismatch: requested {}, actual {}",
668
0
                                           type_to_string(T), get_type_name()));
669
0
    }
670
36.5k
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<T>::CppType*>(&storage);
671
36.5k
    return *ptr;
672
36.5k
}
_ZN5doris5Field3getILNS_13PrimitiveTypeE22EEERNS_19PrimitiveTypeTraitsIXT_EE7CppTypeEv
Line
Count
Source
665
192
typename PrimitiveTypeTraits<T>::CppType& Field::get() {
666
192
    if (T != type && !(is_string_type(type) && is_string_type(T)) && type != TYPE_NULL) {
667
0
        throw Exception(Status::FatalError("Field::get type mismatch: requested {}, actual {}",
668
0
                                           type_to_string(T), get_type_name()));
669
0
    }
670
192
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<T>::CppType*>(&storage);
671
192
    return *ptr;
672
192
}
_ZN5doris5Field3getILNS_13PrimitiveTypeE27EEERNS_19PrimitiveTypeTraitsIXT_EE7CppTypeEv
Line
Count
Source
665
146
typename PrimitiveTypeTraits<T>::CppType& Field::get() {
666
146
    if (T != type && !(is_string_type(type) && is_string_type(T)) && type != TYPE_NULL) {
667
0
        throw Exception(Status::FatalError("Field::get type mismatch: requested {}, actual {}",
668
0
                                           type_to_string(T), get_type_name()));
669
0
    }
670
146
    auto* MAY_ALIAS ptr = reinterpret_cast<typename PrimitiveTypeTraits<T>::CppType*>(&storage);
671
146
    return *ptr;
672
146
}
Unexecuted instantiation: _ZN5doris5Field3getILNS_13PrimitiveTypeE38EEERNS_19PrimitiveTypeTraitsIXT_EE7CppTypeEv
Unexecuted instantiation: _ZN5doris5Field3getILNS_13PrimitiveTypeE39EEERNS_19PrimitiveTypeTraitsIXT_EE7CppTypeEv
673
674
template <PrimitiveType T>
675
539M
const typename PrimitiveTypeTraits<T>::CppType& Field::get() const {
676
539M
    if (T != type && !(is_string_type(type) && is_string_type(T)) && type != TYPE_NULL) {
677
0
        throw Exception(Status::FatalError("Field::get type mismatch: requested {}, actual {}",
678
0
                                           type_to_string(T), get_type_name()));
679
0
    }
680
539M
    const auto* MAY_ALIAS ptr =
681
539M
            reinterpret_cast<const typename PrimitiveTypeTraits<T>::CppType*>(&storage);
682
539M
    return *ptr;
683
539M
}
_ZNK5doris5Field3getILNS_13PrimitiveTypeE1EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeEv
Line
Count
Source
675
43.1M
const typename PrimitiveTypeTraits<T>::CppType& Field::get() const {
676
43.1M
    if (T != type && !(is_string_type(type) && is_string_type(T)) && type != TYPE_NULL) {
677
0
        throw Exception(Status::FatalError("Field::get type mismatch: requested {}, actual {}",
678
0
                                           type_to_string(T), get_type_name()));
679
0
    }
680
43.1M
    const auto* MAY_ALIAS ptr =
681
43.1M
            reinterpret_cast<const typename PrimitiveTypeTraits<T>::CppType*>(&storage);
682
43.1M
    return *ptr;
683
43.1M
}
_ZNK5doris5Field3getILNS_13PrimitiveTypeE3EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeEv
Line
Count
Source
675
12.7M
const typename PrimitiveTypeTraits<T>::CppType& Field::get() const {
676
12.7M
    if (T != type && !(is_string_type(type) && is_string_type(T)) && type != TYPE_NULL) {
677
0
        throw Exception(Status::FatalError("Field::get type mismatch: requested {}, actual {}",
678
0
                                           type_to_string(T), get_type_name()));
679
0
    }
680
12.7M
    const auto* MAY_ALIAS ptr =
681
12.7M
            reinterpret_cast<const typename PrimitiveTypeTraits<T>::CppType*>(&storage);
682
12.7M
    return *ptr;
683
12.7M
}
_ZNK5doris5Field3getILNS_13PrimitiveTypeE4EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeEv
Line
Count
Source
675
5.21M
const typename PrimitiveTypeTraits<T>::CppType& Field::get() const {
676
5.21M
    if (T != type && !(is_string_type(type) && is_string_type(T)) && type != TYPE_NULL) {
677
0
        throw Exception(Status::FatalError("Field::get type mismatch: requested {}, actual {}",
678
0
                                           type_to_string(T), get_type_name()));
679
0
    }
680
5.21M
    const auto* MAY_ALIAS ptr =
681
5.21M
            reinterpret_cast<const typename PrimitiveTypeTraits<T>::CppType*>(&storage);
682
5.21M
    return *ptr;
683
5.21M
}
_ZNK5doris5Field3getILNS_13PrimitiveTypeE5EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeEv
Line
Count
Source
675
32.8M
const typename PrimitiveTypeTraits<T>::CppType& Field::get() const {
676
32.8M
    if (T != type && !(is_string_type(type) && is_string_type(T)) && type != TYPE_NULL) {
677
0
        throw Exception(Status::FatalError("Field::get type mismatch: requested {}, actual {}",
678
0
                                           type_to_string(T), get_type_name()));
679
0
    }
680
32.8M
    const auto* MAY_ALIAS ptr =
681
32.8M
            reinterpret_cast<const typename PrimitiveTypeTraits<T>::CppType*>(&storage);
682
32.8M
    return *ptr;
683
32.8M
}
_ZNK5doris5Field3getILNS_13PrimitiveTypeE6EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeEv
Line
Count
Source
675
48.1M
const typename PrimitiveTypeTraits<T>::CppType& Field::get() const {
676
48.1M
    if (T != type && !(is_string_type(type) && is_string_type(T)) && type != TYPE_NULL) {
677
0
        throw Exception(Status::FatalError("Field::get type mismatch: requested {}, actual {}",
678
0
                                           type_to_string(T), get_type_name()));
679
0
    }
680
48.1M
    const auto* MAY_ALIAS ptr =
681
48.1M
            reinterpret_cast<const typename PrimitiveTypeTraits<T>::CppType*>(&storage);
682
48.1M
    return *ptr;
683
48.1M
}
_ZNK5doris5Field3getILNS_13PrimitiveTypeE7EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeEv
Line
Count
Source
675
4.58M
const typename PrimitiveTypeTraits<T>::CppType& Field::get() const {
676
4.58M
    if (T != type && !(is_string_type(type) && is_string_type(T)) && type != TYPE_NULL) {
677
0
        throw Exception(Status::FatalError("Field::get type mismatch: requested {}, actual {}",
678
0
                                           type_to_string(T), get_type_name()));
679
0
    }
680
4.58M
    const auto* MAY_ALIAS ptr =
681
4.58M
            reinterpret_cast<const typename PrimitiveTypeTraits<T>::CppType*>(&storage);
682
4.58M
    return *ptr;
683
4.58M
}
_ZNK5doris5Field3getILNS_13PrimitiveTypeE11EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeEv
Line
Count
Source
675
4.48M
const typename PrimitiveTypeTraits<T>::CppType& Field::get() const {
676
4.48M
    if (T != type && !(is_string_type(type) && is_string_type(T)) && type != TYPE_NULL) {
677
0
        throw Exception(Status::FatalError("Field::get type mismatch: requested {}, actual {}",
678
0
                                           type_to_string(T), get_type_name()));
679
0
    }
680
4.48M
    const auto* MAY_ALIAS ptr =
681
4.48M
            reinterpret_cast<const typename PrimitiveTypeTraits<T>::CppType*>(&storage);
682
4.48M
    return *ptr;
683
4.48M
}
_ZNK5doris5Field3getILNS_13PrimitiveTypeE12EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeEv
Line
Count
Source
675
4.33M
const typename PrimitiveTypeTraits<T>::CppType& Field::get() const {
676
4.33M
    if (T != type && !(is_string_type(type) && is_string_type(T)) && type != TYPE_NULL) {
677
0
        throw Exception(Status::FatalError("Field::get type mismatch: requested {}, actual {}",
678
0
                                           type_to_string(T), get_type_name()));
679
0
    }
680
4.33M
    const auto* MAY_ALIAS ptr =
681
4.33M
            reinterpret_cast<const typename PrimitiveTypeTraits<T>::CppType*>(&storage);
682
4.33M
    return *ptr;
683
4.33M
}
_ZNK5doris5Field3getILNS_13PrimitiveTypeE25EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeEv
Line
Count
Source
675
8.18M
const typename PrimitiveTypeTraits<T>::CppType& Field::get() const {
676
8.18M
    if (T != type && !(is_string_type(type) && is_string_type(T)) && type != TYPE_NULL) {
677
0
        throw Exception(Status::FatalError("Field::get type mismatch: requested {}, actual {}",
678
0
                                           type_to_string(T), get_type_name()));
679
0
    }
680
8.18M
    const auto* MAY_ALIAS ptr =
681
8.18M
            reinterpret_cast<const typename PrimitiveTypeTraits<T>::CppType*>(&storage);
682
8.18M
    return *ptr;
683
8.18M
}
_ZNK5doris5Field3getILNS_13PrimitiveTypeE26EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeEv
Line
Count
Source
675
5.45M
const typename PrimitiveTypeTraits<T>::CppType& Field::get() const {
676
5.45M
    if (T != type && !(is_string_type(type) && is_string_type(T)) && type != TYPE_NULL) {
677
0
        throw Exception(Status::FatalError("Field::get type mismatch: requested {}, actual {}",
678
0
                                           type_to_string(T), get_type_name()));
679
0
    }
680
5.45M
    const auto* MAY_ALIAS ptr =
681
5.45M
            reinterpret_cast<const typename PrimitiveTypeTraits<T>::CppType*>(&storage);
682
5.45M
    return *ptr;
683
5.45M
}
_ZNK5doris5Field3getILNS_13PrimitiveTypeE43EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeEv
Line
Count
Source
675
317
const typename PrimitiveTypeTraits<T>::CppType& Field::get() const {
676
317
    if (T != type && !(is_string_type(type) && is_string_type(T)) && type != TYPE_NULL) {
677
0
        throw Exception(Status::FatalError("Field::get type mismatch: requested {}, actual {}",
678
0
                                           type_to_string(T), get_type_name()));
679
0
    }
680
317
    const auto* MAY_ALIAS ptr =
681
317
            reinterpret_cast<const typename PrimitiveTypeTraits<T>::CppType*>(&storage);
682
317
    return *ptr;
683
317
}
_ZNK5doris5Field3getILNS_13PrimitiveTypeE42EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeEv
Line
Count
Source
675
118k
const typename PrimitiveTypeTraits<T>::CppType& Field::get() const {
676
118k
    if (T != type && !(is_string_type(type) && is_string_type(T)) && type != TYPE_NULL) {
677
0
        throw Exception(Status::FatalError("Field::get type mismatch: requested {}, actual {}",
678
0
                                           type_to_string(T), get_type_name()));
679
0
    }
680
118k
    const auto* MAY_ALIAS ptr =
681
118k
            reinterpret_cast<const typename PrimitiveTypeTraits<T>::CppType*>(&storage);
682
118k
    return *ptr;
683
118k
}
_ZNK5doris5Field3getILNS_13PrimitiveTypeE28EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeEv
Line
Count
Source
675
4.64M
const typename PrimitiveTypeTraits<T>::CppType& Field::get() const {
676
4.64M
    if (T != type && !(is_string_type(type) && is_string_type(T)) && type != TYPE_NULL) {
677
0
        throw Exception(Status::FatalError("Field::get type mismatch: requested {}, actual {}",
678
0
                                           type_to_string(T), get_type_name()));
679
0
    }
680
4.64M
    const auto* MAY_ALIAS ptr =
681
4.64M
            reinterpret_cast<const typename PrimitiveTypeTraits<T>::CppType*>(&storage);
682
4.64M
    return *ptr;
683
4.64M
}
_ZNK5doris5Field3getILNS_13PrimitiveTypeE29EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeEv
Line
Count
Source
675
18.2M
const typename PrimitiveTypeTraits<T>::CppType& Field::get() const {
676
18.2M
    if (T != type && !(is_string_type(type) && is_string_type(T)) && type != TYPE_NULL) {
677
0
        throw Exception(Status::FatalError("Field::get type mismatch: requested {}, actual {}",
678
0
                                           type_to_string(T), get_type_name()));
679
0
    }
680
18.2M
    const auto* MAY_ALIAS ptr =
681
18.2M
            reinterpret_cast<const typename PrimitiveTypeTraits<T>::CppType*>(&storage);
682
18.2M
    return *ptr;
683
18.2M
}
_ZNK5doris5Field3getILNS_13PrimitiveTypeE20EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeEv
Line
Count
Source
675
17.9k
const typename PrimitiveTypeTraits<T>::CppType& Field::get() const {
676
17.9k
    if (T != type && !(is_string_type(type) && is_string_type(T)) && type != TYPE_NULL) {
677
0
        throw Exception(Status::FatalError("Field::get type mismatch: requested {}, actual {}",
678
0
                                           type_to_string(T), get_type_name()));
679
0
    }
680
17.9k
    const auto* MAY_ALIAS ptr =
681
17.9k
            reinterpret_cast<const typename PrimitiveTypeTraits<T>::CppType*>(&storage);
682
17.9k
    return *ptr;
683
17.9k
}
_ZNK5doris5Field3getILNS_13PrimitiveTypeE30EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeEv
Line
Count
Source
675
4.81M
const typename PrimitiveTypeTraits<T>::CppType& Field::get() const {
676
4.81M
    if (T != type && !(is_string_type(type) && is_string_type(T)) && type != TYPE_NULL) {
677
0
        throw Exception(Status::FatalError("Field::get type mismatch: requested {}, actual {}",
678
0
                                           type_to_string(T), get_type_name()));
679
0
    }
680
4.81M
    const auto* MAY_ALIAS ptr =
681
4.81M
            reinterpret_cast<const typename PrimitiveTypeTraits<T>::CppType*>(&storage);
682
4.81M
    return *ptr;
683
4.81M
}
_ZNK5doris5Field3getILNS_13PrimitiveTypeE35EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeEv
Line
Count
Source
675
4.69M
const typename PrimitiveTypeTraits<T>::CppType& Field::get() const {
676
4.69M
    if (T != type && !(is_string_type(type) && is_string_type(T)) && type != TYPE_NULL) {
677
0
        throw Exception(Status::FatalError("Field::get type mismatch: requested {}, actual {}",
678
0
                                           type_to_string(T), get_type_name()));
679
0
    }
680
4.69M
    const auto* MAY_ALIAS ptr =
681
4.69M
            reinterpret_cast<const typename PrimitiveTypeTraits<T>::CppType*>(&storage);
682
4.69M
    return *ptr;
683
4.69M
}
_ZNK5doris5Field3getILNS_13PrimitiveTypeE15EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeEv
Line
Count
Source
675
50.8k
const typename PrimitiveTypeTraits<T>::CppType& Field::get() const {
676
50.8k
    if (T != type && !(is_string_type(type) && is_string_type(T)) && type != TYPE_NULL) {
677
0
        throw Exception(Status::FatalError("Field::get type mismatch: requested {}, actual {}",
678
0
                                           type_to_string(T), get_type_name()));
679
0
    }
680
50.8k
    const auto* MAY_ALIAS ptr =
681
50.8k
            reinterpret_cast<const typename PrimitiveTypeTraits<T>::CppType*>(&storage);
682
50.8k
    return *ptr;
683
50.8k
}
_ZNK5doris5Field3getILNS_13PrimitiveTypeE10EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeEv
Line
Count
Source
675
21.5M
const typename PrimitiveTypeTraits<T>::CppType& Field::get() const {
676
21.5M
    if (T != type && !(is_string_type(type) && is_string_type(T)) && type != TYPE_NULL) {
677
0
        throw Exception(Status::FatalError("Field::get type mismatch: requested {}, actual {}",
678
0
                                           type_to_string(T), get_type_name()));
679
0
    }
680
21.5M
    const auto* MAY_ALIAS ptr =
681
21.5M
            reinterpret_cast<const typename PrimitiveTypeTraits<T>::CppType*>(&storage);
682
21.5M
    return *ptr;
683
21.5M
}
_ZNK5doris5Field3getILNS_13PrimitiveTypeE23EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeEv
Line
Count
Source
675
112M
const typename PrimitiveTypeTraits<T>::CppType& Field::get() const {
676
112M
    if (T != type && !(is_string_type(type) && is_string_type(T)) && type != TYPE_NULL) {
677
0
        throw Exception(Status::FatalError("Field::get type mismatch: requested {}, actual {}",
678
0
                                           type_to_string(T), get_type_name()));
679
0
    }
680
112M
    const auto* MAY_ALIAS ptr =
681
112M
            reinterpret_cast<const typename PrimitiveTypeTraits<T>::CppType*>(&storage);
682
112M
    return *ptr;
683
112M
}
_ZNK5doris5Field3getILNS_13PrimitiveTypeE41EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeEv
Line
Count
Source
675
178
const typename PrimitiveTypeTraits<T>::CppType& Field::get() const {
676
178
    if (T != type && !(is_string_type(type) && is_string_type(T)) && type != TYPE_NULL) {
677
0
        throw Exception(Status::FatalError("Field::get type mismatch: requested {}, actual {}",
678
0
                                           type_to_string(T), get_type_name()));
679
0
    }
680
178
    const auto* MAY_ALIAS ptr =
681
178
            reinterpret_cast<const typename PrimitiveTypeTraits<T>::CppType*>(&storage);
682
178
    return *ptr;
683
178
}
_ZNK5doris5Field3getILNS_13PrimitiveTypeE19EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeEv
Line
Count
Source
675
8
const typename PrimitiveTypeTraits<T>::CppType& Field::get() const {
676
8
    if (T != type && !(is_string_type(type) && is_string_type(T)) && type != TYPE_NULL) {
677
0
        throw Exception(Status::FatalError("Field::get type mismatch: requested {}, actual {}",
678
0
                                           type_to_string(T), get_type_name()));
679
0
    }
680
8
    const auto* MAY_ALIAS ptr =
681
8
            reinterpret_cast<const typename PrimitiveTypeTraits<T>::CppType*>(&storage);
682
8
    return *ptr;
683
8
}
_ZNK5doris5Field3getILNS_13PrimitiveTypeE32EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeEv
Line
Count
Source
675
302k
const typename PrimitiveTypeTraits<T>::CppType& Field::get() const {
676
302k
    if (T != type && !(is_string_type(type) && is_string_type(T)) && type != TYPE_NULL) {
677
0
        throw Exception(Status::FatalError("Field::get type mismatch: requested {}, actual {}",
678
0
                                           type_to_string(T), get_type_name()));
679
0
    }
680
302k
    const auto* MAY_ALIAS ptr =
681
302k
            reinterpret_cast<const typename PrimitiveTypeTraits<T>::CppType*>(&storage);
682
302k
    return *ptr;
683
302k
}
_ZNK5doris5Field3getILNS_13PrimitiveTypeE24EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeEv
Line
Count
Source
675
20.0k
const typename PrimitiveTypeTraits<T>::CppType& Field::get() const {
676
20.0k
    if (T != type && !(is_string_type(type) && is_string_type(T)) && type != TYPE_NULL) {
677
0
        throw Exception(Status::FatalError("Field::get type mismatch: requested {}, actual {}",
678
0
                                           type_to_string(T), get_type_name()));
679
0
    }
680
20.0k
    const auto* MAY_ALIAS ptr =
681
20.0k
            reinterpret_cast<const typename PrimitiveTypeTraits<T>::CppType*>(&storage);
682
20.0k
    return *ptr;
683
20.0k
}
_ZNK5doris5Field3getILNS_13PrimitiveTypeE17EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeEv
Line
Count
Source
675
124M
const typename PrimitiveTypeTraits<T>::CppType& Field::get() const {
676
124M
    if (T != type && !(is_string_type(type) && is_string_type(T)) && type != TYPE_NULL) {
677
0
        throw Exception(Status::FatalError("Field::get type mismatch: requested {}, actual {}",
678
0
                                           type_to_string(T), get_type_name()));
679
0
    }
680
124M
    const auto* MAY_ALIAS ptr =
681
124M
            reinterpret_cast<const typename PrimitiveTypeTraits<T>::CppType*>(&storage);
682
124M
    return *ptr;
683
124M
}
_ZNK5doris5Field3getILNS_13PrimitiveTypeE36EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeEv
Line
Count
Source
675
37.1k
const typename PrimitiveTypeTraits<T>::CppType& Field::get() const {
676
37.1k
    if (T != type && !(is_string_type(type) && is_string_type(T)) && type != TYPE_NULL) {
677
0
        throw Exception(Status::FatalError("Field::get type mismatch: requested {}, actual {}",
678
0
                                           type_to_string(T), get_type_name()));
679
0
    }
680
37.1k
    const auto* MAY_ALIAS ptr =
681
37.1k
            reinterpret_cast<const typename PrimitiveTypeTraits<T>::CppType*>(&storage);
682
37.1k
    return *ptr;
683
37.1k
}
_ZNK5doris5Field3getILNS_13PrimitiveTypeE37EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeEv
Line
Count
Source
675
26.8k
const typename PrimitiveTypeTraits<T>::CppType& Field::get() const {
676
26.8k
    if (T != type && !(is_string_type(type) && is_string_type(T)) && type != TYPE_NULL) {
677
0
        throw Exception(Status::FatalError("Field::get type mismatch: requested {}, actual {}",
678
0
                                           type_to_string(T), get_type_name()));
679
0
    }
680
26.8k
    const auto* MAY_ALIAS ptr =
681
26.8k
            reinterpret_cast<const typename PrimitiveTypeTraits<T>::CppType*>(&storage);
682
26.8k
    return *ptr;
683
26.8k
}
_ZNK5doris5Field3getILNS_13PrimitiveTypeE2EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeEv
Line
Count
Source
675
34.5M
const typename PrimitiveTypeTraits<T>::CppType& Field::get() const {
676
34.5M
    if (T != type && !(is_string_type(type) && is_string_type(T)) && type != TYPE_NULL) {
677
0
        throw Exception(Status::FatalError("Field::get type mismatch: requested {}, actual {}",
678
0
                                           type_to_string(T), get_type_name()));
679
0
    }
680
34.5M
    const auto* MAY_ALIAS ptr =
681
34.5M
            reinterpret_cast<const typename PrimitiveTypeTraits<T>::CppType*>(&storage);
682
34.5M
    return *ptr;
683
34.5M
}
_ZNK5doris5Field3getILNS_13PrimitiveTypeE8EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeEv
Line
Count
Source
675
4.55M
const typename PrimitiveTypeTraits<T>::CppType& Field::get() const {
676
4.55M
    if (T != type && !(is_string_type(type) && is_string_type(T)) && type != TYPE_NULL) {
677
0
        throw Exception(Status::FatalError("Field::get type mismatch: requested {}, actual {}",
678
0
                                           type_to_string(T), get_type_name()));
679
0
    }
680
4.55M
    const auto* MAY_ALIAS ptr =
681
4.55M
            reinterpret_cast<const typename PrimitiveTypeTraits<T>::CppType*>(&storage);
682
4.55M
    return *ptr;
683
4.55M
}
_ZNK5doris5Field3getILNS_13PrimitiveTypeE9EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeEv
Line
Count
Source
675
14.5M
const typename PrimitiveTypeTraits<T>::CppType& Field::get() const {
676
14.5M
    if (T != type && !(is_string_type(type) && is_string_type(T)) && type != TYPE_NULL) {
677
0
        throw Exception(Status::FatalError("Field::get type mismatch: requested {}, actual {}",
678
0
                                           type_to_string(T), get_type_name()));
679
0
    }
680
14.5M
    const auto* MAY_ALIAS ptr =
681
14.5M
            reinterpret_cast<const typename PrimitiveTypeTraits<T>::CppType*>(&storage);
682
14.5M
    return *ptr;
683
14.5M
}
_ZNK5doris5Field3getILNS_13PrimitiveTypeE31EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeEv
Line
Count
Source
675
4.07M
const typename PrimitiveTypeTraits<T>::CppType& Field::get() const {
676
4.07M
    if (T != type && !(is_string_type(type) && is_string_type(T)) && type != TYPE_NULL) {
677
0
        throw Exception(Status::FatalError("Field::get type mismatch: requested {}, actual {}",
678
0
                                           type_to_string(T), get_type_name()));
679
0
    }
680
4.07M
    const auto* MAY_ALIAS ptr =
681
4.07M
            reinterpret_cast<const typename PrimitiveTypeTraits<T>::CppType*>(&storage);
682
4.07M
    return *ptr;
683
4.07M
}
_ZNK5doris5Field3getILNS_13PrimitiveTypeE16EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeEv
Line
Count
Source
675
4.05M
const typename PrimitiveTypeTraits<T>::CppType& Field::get() const {
676
4.05M
    if (T != type && !(is_string_type(type) && is_string_type(T)) && type != TYPE_NULL) {
677
0
        throw Exception(Status::FatalError("Field::get type mismatch: requested {}, actual {}",
678
0
                                           type_to_string(T), get_type_name()));
679
0
    }
680
4.05M
    const auto* MAY_ALIAS ptr =
681
4.05M
            reinterpret_cast<const typename PrimitiveTypeTraits<T>::CppType*>(&storage);
682
4.05M
    return *ptr;
683
4.05M
}
_ZNK5doris5Field3getILNS_13PrimitiveTypeE18EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeEv
Line
Count
Source
675
17.2M
const typename PrimitiveTypeTraits<T>::CppType& Field::get() const {
676
17.2M
    if (T != type && !(is_string_type(type) && is_string_type(T)) && type != TYPE_NULL) {
677
0
        throw Exception(Status::FatalError("Field::get type mismatch: requested {}, actual {}",
678
0
                                           type_to_string(T), get_type_name()));
679
0
    }
680
17.2M
    const auto* MAY_ALIAS ptr =
681
17.2M
            reinterpret_cast<const typename PrimitiveTypeTraits<T>::CppType*>(&storage);
682
17.2M
    return *ptr;
683
17.2M
}
_ZNK5doris5Field3getILNS_13PrimitiveTypeE22EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeEv
Line
Count
Source
675
20.0k
const typename PrimitiveTypeTraits<T>::CppType& Field::get() const {
676
20.0k
    if (T != type && !(is_string_type(type) && is_string_type(T)) && type != TYPE_NULL) {
677
0
        throw Exception(Status::FatalError("Field::get type mismatch: requested {}, actual {}",
678
0
                                           type_to_string(T), get_type_name()));
679
0
    }
680
20.0k
    const auto* MAY_ALIAS ptr =
681
20.0k
            reinterpret_cast<const typename PrimitiveTypeTraits<T>::CppType*>(&storage);
682
20.0k
    return *ptr;
683
20.0k
}
_ZNK5doris5Field3getILNS_13PrimitiveTypeE27EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeEv
Line
Count
Source
675
214
const typename PrimitiveTypeTraits<T>::CppType& Field::get() const {
676
214
    if (T != type && !(is_string_type(type) && is_string_type(T)) && type != TYPE_NULL) {
677
0
        throw Exception(Status::FatalError("Field::get type mismatch: requested {}, actual {}",
678
0
                                           type_to_string(T), get_type_name()));
679
0
    }
680
214
    const auto* MAY_ALIAS ptr =
681
214
            reinterpret_cast<const typename PrimitiveTypeTraits<T>::CppType*>(&storage);
682
214
    return *ptr;
683
214
}
Unexecuted instantiation: _ZNK5doris5Field3getILNS_13PrimitiveTypeE38EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeEv
_ZNK5doris5Field3getILNS_13PrimitiveTypeE39EEERKNS_19PrimitiveTypeTraitsIXT_EE7CppTypeEv
Line
Count
Source
675
40
const typename PrimitiveTypeTraits<T>::CppType& Field::get() const {
676
40
    if (T != type && !(is_string_type(type) && is_string_type(T)) && type != TYPE_NULL) {
677
0
        throw Exception(Status::FatalError("Field::get type mismatch: requested {}, actual {}",
678
0
                                           type_to_string(T), get_type_name()));
679
0
    }
680
40
    const auto* MAY_ALIAS ptr =
681
40
            reinterpret_cast<const typename PrimitiveTypeTraits<T>::CppType*>(&storage);
682
40
    return *ptr;
683
40
}
684
685
template <PrimitiveType T>
686
257M
void Field::destroy() {
687
257M
    using TargetType = typename PrimitiveTypeTraits<T>::CppType;
688
257M
    DCHECK(T == type || ((is_string_type(type) && is_string_type(T))))
689
2.22k
            << "Type mismatch: requested " << type_to_string(T) << ", actual " << get_type_name();
690
257M
    auto* MAY_ALIAS ptr = reinterpret_cast<TargetType*>(&storage);
691
257M
    ptr->~TargetType();
692
257M
}
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
686
148k
void Field::destroy() {
687
148k
    using TargetType = typename PrimitiveTypeTraits<T>::CppType;
688
18.4E
    DCHECK(T == type || ((is_string_type(type) && is_string_type(T))))
689
18.4E
            << "Type mismatch: requested " << type_to_string(T) << ", actual " << get_type_name();
690
148k
    auto* MAY_ALIAS ptr = reinterpret_cast<TargetType*>(&storage);
691
148k
    ptr->~TargetType();
692
148k
}
_ZN5doris5Field7destroyILNS_13PrimitiveTypeE10EEEvv
Line
Count
Source
686
18.2M
void Field::destroy() {
687
18.2M
    using TargetType = typename PrimitiveTypeTraits<T>::CppType;
688
18.4E
    DCHECK(T == type || ((is_string_type(type) && is_string_type(T))))
689
18.4E
            << "Type mismatch: requested " << type_to_string(T) << ", actual " << get_type_name();
690
18.2M
    auto* MAY_ALIAS ptr = reinterpret_cast<TargetType*>(&storage);
691
18.2M
    ptr->~TargetType();
692
18.2M
}
_ZN5doris5Field7destroyILNS_13PrimitiveTypeE23EEEvv
Line
Count
Source
686
115M
void Field::destroy() {
687
115M
    using TargetType = typename PrimitiveTypeTraits<T>::CppType;
688
115M
    DCHECK(T == type || ((is_string_type(type) && is_string_type(T))))
689
14.2k
            << "Type mismatch: requested " << type_to_string(T) << ", actual " << get_type_name();
690
115M
    auto* MAY_ALIAS ptr = reinterpret_cast<TargetType*>(&storage);
691
115M
    ptr->~TargetType();
692
115M
}
_ZN5doris5Field7destroyILNS_13PrimitiveTypeE41EEEvv
Line
Count
Source
686
289
void Field::destroy() {
687
289
    using TargetType = typename PrimitiveTypeTraits<T>::CppType;
688
289
    DCHECK(T == type || ((is_string_type(type) && is_string_type(T))))
689
0
            << "Type mismatch: requested " << type_to_string(T) << ", actual " << get_type_name();
690
289
    auto* MAY_ALIAS ptr = reinterpret_cast<TargetType*>(&storage);
691
289
    ptr->~TargetType();
692
289
}
_ZN5doris5Field7destroyILNS_13PrimitiveTypeE19EEEvv
Line
Count
Source
686
418
void Field::destroy() {
687
418
    using TargetType = typename PrimitiveTypeTraits<T>::CppType;
688
418
    DCHECK(T == type || ((is_string_type(type) && is_string_type(T))))
689
0
            << "Type mismatch: requested " << type_to_string(T) << ", actual " << get_type_name();
690
418
    auto* MAY_ALIAS ptr = reinterpret_cast<TargetType*>(&storage);
691
418
    ptr->~TargetType();
692
418
}
_ZN5doris5Field7destroyILNS_13PrimitiveTypeE32EEEvv
Line
Count
Source
686
739k
void Field::destroy() {
687
739k
    using TargetType = typename PrimitiveTypeTraits<T>::CppType;
688
18.4E
    DCHECK(T == type || ((is_string_type(type) && is_string_type(T))))
689
18.4E
            << "Type mismatch: requested " << type_to_string(T) << ", actual " << get_type_name();
690
739k
    auto* MAY_ALIAS ptr = reinterpret_cast<TargetType*>(&storage);
691
739k
    ptr->~TargetType();
692
739k
}
_ZN5doris5Field7destroyILNS_13PrimitiveTypeE24EEEvv
Line
Count
Source
686
22.3k
void Field::destroy() {
687
22.3k
    using TargetType = typename PrimitiveTypeTraits<T>::CppType;
688
22.3k
    DCHECK(T == type || ((is_string_type(type) && is_string_type(T))))
689
0
            << "Type mismatch: requested " << type_to_string(T) << ", actual " << get_type_name();
690
22.3k
    auto* MAY_ALIAS ptr = reinterpret_cast<TargetType*>(&storage);
691
22.3k
    ptr->~TargetType();
692
22.3k
}
_ZN5doris5Field7destroyILNS_13PrimitiveTypeE17EEEvv
Line
Count
Source
686
98.2M
void Field::destroy() {
687
98.2M
    using TargetType = typename PrimitiveTypeTraits<T>::CppType;
688
18.4E
    DCHECK(T == type || ((is_string_type(type) && is_string_type(T))))
689
18.4E
            << "Type mismatch: requested " << type_to_string(T) << ", actual " << get_type_name();
690
98.2M
    auto* MAY_ALIAS ptr = reinterpret_cast<TargetType*>(&storage);
691
98.2M
    ptr->~TargetType();
692
98.2M
}
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
686
8.13M
void Field::destroy() {
687
8.13M
    using TargetType = typename PrimitiveTypeTraits<T>::CppType;
688
18.4E
    DCHECK(T == type || ((is_string_type(type) && is_string_type(T))))
689
18.4E
            << "Type mismatch: requested " << type_to_string(T) << ", actual " << get_type_name();
690
8.13M
    auto* MAY_ALIAS ptr = reinterpret_cast<TargetType*>(&storage);
691
8.13M
    ptr->~TargetType();
692
8.13M
}
_ZN5doris5Field7destroyILNS_13PrimitiveTypeE16EEEvv
Line
Count
Source
686
3.06M
void Field::destroy() {
687
3.06M
    using TargetType = typename PrimitiveTypeTraits<T>::CppType;
688
3.06M
    DCHECK(T == type || ((is_string_type(type) && is_string_type(T))))
689
0
            << "Type mismatch: requested " << type_to_string(T) << ", actual " << get_type_name();
690
3.06M
    auto* MAY_ALIAS ptr = reinterpret_cast<TargetType*>(&storage);
691
3.06M
    ptr->~TargetType();
692
3.06M
}
_ZN5doris5Field7destroyILNS_13PrimitiveTypeE18EEEvv
Line
Count
Source
686
13.2M
void Field::destroy() {
687
13.2M
    using TargetType = typename PrimitiveTypeTraits<T>::CppType;
688
18.4E
    DCHECK(T == type || ((is_string_type(type) && is_string_type(T))))
689
18.4E
            << "Type mismatch: requested " << type_to_string(T) << ", actual " << get_type_name();
690
13.2M
    auto* MAY_ALIAS ptr = reinterpret_cast<TargetType*>(&storage);
691
13.2M
    ptr->~TargetType();
692
13.2M
}
_ZN5doris5Field7destroyILNS_13PrimitiveTypeE22EEEvv
Line
Count
Source
686
2.52k
void Field::destroy() {
687
2.52k
    using TargetType = typename PrimitiveTypeTraits<T>::CppType;
688
2.52k
    DCHECK(T == type || ((is_string_type(type) && is_string_type(T))))
689
0
            << "Type mismatch: requested " << type_to_string(T) << ", actual " << get_type_name();
690
2.52k
    auto* MAY_ALIAS ptr = reinterpret_cast<TargetType*>(&storage);
691
2.52k
    ptr->~TargetType();
692
2.52k
}
Unexecuted instantiation: _ZN5doris5Field7destroyILNS_13PrimitiveTypeE27EEEvv
Unexecuted instantiation: _ZN5doris5Field7destroyILNS_13PrimitiveTypeE38EEEvv
Unexecuted instantiation: _ZN5doris5Field7destroyILNS_13PrimitiveTypeE39EEEvv
693
694
31.0M
std::strong_ordering Field::operator<=>(const Field& rhs) const {
695
31.0M
    if (type == PrimitiveType::TYPE_NULL || rhs == PrimitiveType::TYPE_NULL) {
696
20.7M
        return type <=> rhs.type;
697
20.7M
    }
698
10.2M
    if (type != rhs.type) {
699
        // String-family types (STRING, CHAR, VARCHAR) all store String internally
700
        // and are inter-comparable.  This arises when comparing RowCursor fields
701
        // (which carry the declared column type) against Column::operator[] results
702
        // (which always return TYPE_STRING for ColumnString).
703
15.2k
        if (is_string_type(type) && is_string_type(rhs.type)) {
704
15.2k
            return get<TYPE_STRING>() <=> rhs.get<TYPE_STRING>();
705
15.2k
        }
706
2
        throw Exception(Status::FatalError("lhs type not equal with rhs, lhs={}, rhs={}",
707
2
                                           get_type_name(), rhs.get_type_name()));
708
15.2k
    }
709
710
10.2M
    switch (type) {
711
1.14k
    case PrimitiveType::TYPE_BITMAP:
712
1.34k
    case PrimitiveType::TYPE_HLL:
713
2.53k
    case PrimitiveType::TYPE_QUANTILE_STATE:
714
2.53k
    case PrimitiveType::INVALID_TYPE:
715
2.53k
    case PrimitiveType::TYPE_JSONB:
716
2.53k
    case PrimitiveType::TYPE_NULL:
717
8.67k
    case PrimitiveType::TYPE_ARRAY:
718
9.59k
    case PrimitiveType::TYPE_MAP:
719
10.3k
    case PrimitiveType::TYPE_STRUCT:
720
43.7k
    case PrimitiveType::TYPE_VARIANT:
721
43.7k
        return std::strong_ordering::equal; //TODO: throw Exception?
722
33.6k
    case PrimitiveType::TYPE_DATETIMEV2:
723
33.6k
        return get<PrimitiveType::TYPE_DATETIMEV2>().to_date_int_val() <=>
724
33.6k
               rhs.get<PrimitiveType::TYPE_DATETIMEV2>().to_date_int_val();
725
18
    case PrimitiveType::TYPE_DATETIMEV2_NANO:
726
18
        return get<PrimitiveType::TYPE_DATETIMEV2_NANO>() <=>
727
18
               rhs.get<PrimitiveType::TYPE_DATETIMEV2_NANO>();
728
569k
    case PrimitiveType::TYPE_DATEV2:
729
569k
        return get<PrimitiveType::TYPE_DATEV2>().to_date_int_val() <=>
730
569k
               rhs.get<PrimitiveType::TYPE_DATEV2>().to_date_int_val();
731
7.78k
    case PrimitiveType::TYPE_TIMESTAMPTZ:
732
7.78k
        return get<PrimitiveType::TYPE_TIMESTAMPTZ>().to_date_int_val() <=>
733
7.78k
               rhs.get<PrimitiveType::TYPE_TIMESTAMPTZ>().to_date_int_val();
734
25.0k
    case PrimitiveType::TYPE_DATE:
735
25.0k
        return get<PrimitiveType::TYPE_DATE>() <=> rhs.get<PrimitiveType::TYPE_DATE>();
736
981
    case PrimitiveType::TYPE_DATETIME:
737
981
        return get<PrimitiveType::TYPE_DATETIME>() <=> rhs.get<PrimitiveType::TYPE_DATETIME>();
738
110k
    case PrimitiveType::TYPE_BIGINT:
739
110k
        return get<PrimitiveType::TYPE_BIGINT>() <=> rhs.get<PrimitiveType::TYPE_BIGINT>();
740
18.4k
    case PrimitiveType::TYPE_BOOLEAN:
741
18.4k
        return get<PrimitiveType::TYPE_BOOLEAN>() <=> rhs.get<PrimitiveType::TYPE_BOOLEAN>();
742
439k
    case PrimitiveType::TYPE_TINYINT:
743
439k
        return get<TYPE_TINYINT>() <=> rhs.get<TYPE_TINYINT>();
744
16.7k
    case PrimitiveType::TYPE_SMALLINT:
745
16.7k
        return get<TYPE_SMALLINT>() <=> rhs.get<TYPE_SMALLINT>();
746
5.82M
    case PrimitiveType::TYPE_INT:
747
5.82M
        return get<TYPE_INT>() <=> rhs.get<TYPE_INT>();
748
16.7k
    case PrimitiveType::TYPE_LARGEINT:
749
16.7k
        return get<TYPE_LARGEINT>() <=> rhs.get<TYPE_LARGEINT>();
750
247
    case PrimitiveType::TYPE_IPV6:
751
247
        return get<TYPE_IPV6>() <=> rhs.get<TYPE_IPV6>();
752
303
    case PrimitiveType::TYPE_IPV4:
753
303
        return get<TYPE_IPV4>() <=> rhs.get<TYPE_IPV4>();
754
116
    case PrimitiveType::TYPE_FLOAT:
755
116
        switch (Compare::compare(get<TYPE_FLOAT>(), rhs.get<TYPE_FLOAT>())) {
756
64
        case -1:
757
64
            return std::strong_ordering::less;
758
28
        case 0:
759
28
            return std::strong_ordering::equal;
760
24
        case 1:
761
24
            return std::strong_ordering::greater;
762
0
        default:
763
0
            LOG(FATAL) << "unexpected float compare result";
764
116
        }
765
13
    case PrimitiveType::TYPE_TIMEV2:
766
13
        return get<TYPE_TIMEV2>() < rhs.get<TYPE_TIMEV2>()    ? std::strong_ordering::less
767
13
               : get<TYPE_TIMEV2>() == rhs.get<TYPE_TIMEV2>() ? std::strong_ordering::equal
768
13
                                                              : std::strong_ordering::greater;
769
1.25k
    case PrimitiveType::TYPE_DOUBLE:
770
1.25k
        switch (Compare::compare(get<TYPE_DOUBLE>(), rhs.get<TYPE_DOUBLE>())) {
771
199
        case -1:
772
199
            return std::strong_ordering::less;
773
311
        case 0:
774
311
            return std::strong_ordering::equal;
775
744
        case 1:
776
744
            return std::strong_ordering::greater;
777
0
        default:
778
0
            LOG(FATAL) << "unexpected double compare result";
779
1.25k
        }
780
106k
    case PrimitiveType::TYPE_STRING:
781
106k
        return get<TYPE_STRING>() <=> rhs.get<TYPE_STRING>();
782
357
    case PrimitiveType::TYPE_CHAR:
783
357
        return get<TYPE_CHAR>() <=> rhs.get<TYPE_CHAR>();
784
3.12M
    case PrimitiveType::TYPE_VARCHAR:
785
3.12M
        return get<TYPE_VARCHAR>() <=> rhs.get<TYPE_VARCHAR>();
786
31
    case PrimitiveType::TYPE_VARBINARY:
787
31
        return get<TYPE_VARBINARY>() <=> rhs.get<TYPE_VARBINARY>();
788
1.05k
    case PrimitiveType::TYPE_DECIMAL32:
789
1.05k
        return get<TYPE_DECIMAL32>() <=> rhs.get<TYPE_DECIMAL32>();
790
6.76k
    case PrimitiveType::TYPE_DECIMAL64:
791
6.76k
        return get<TYPE_DECIMAL64>() <=> rhs.get<TYPE_DECIMAL64>();
792
2.83k
    case PrimitiveType::TYPE_DECIMALV2:
793
2.83k
        return get<TYPE_DECIMALV2>() <=> rhs.get<TYPE_DECIMALV2>();
794
5.75k
    case PrimitiveType::TYPE_DECIMAL128I:
795
5.75k
        return get<TYPE_DECIMAL128I>() <=> rhs.get<TYPE_DECIMAL128I>();
796
2.20k
    case PrimitiveType::TYPE_DECIMAL256:
797
2.20k
        return get<TYPE_DECIMAL256>() <=> rhs.get<TYPE_DECIMAL256>();
798
0
    default:
799
0
        throw Exception(Status::FatalError("Unsupported type: {}", get_type_name()));
800
10.2M
    }
801
10.2M
}
802
803
#define MATCH_PRIMITIVE_TYPE(primitive_type)                                   \
804
5.16k
    if (type == primitive_type) {                                              \
805
999
        const auto& v = get<primitive_type>();                                 \
806
999
        return std::string_view(reinterpret_cast<const char*>(&v), sizeof(v)); \
807
999
    }
808
809
11.9k
std::string_view Field::as_string_view() const {
810
11.9k
    if (type == PrimitiveType::TYPE_STRING || type == PrimitiveType::TYPE_VARCHAR ||
811
11.9k
        type == PrimitiveType::TYPE_CHAR) {
812
10.9k
        const auto& s = get<TYPE_STRING>();
813
10.9k
        return {s.data(), s.size()};
814
10.9k
    }
815
1.00k
    if (type == PrimitiveType::TYPE_VARBINARY) {
816
5
        const auto& svf = get<TYPE_VARBINARY>();
817
5
        return {svf.data(), svf.size()};
818
5
    }
819
    // MATCH_PRIMITIVE_TYPE(INVALID_TYPE);
820
    // MATCH_PRIMITIVE_TYPE(TYPE_NULL);
821
999
    MATCH_PRIMITIVE_TYPE(TYPE_BOOLEAN);
822
999
    MATCH_PRIMITIVE_TYPE(TYPE_TINYINT);
823
985
    MATCH_PRIMITIVE_TYPE(TYPE_SMALLINT);
824
985
    MATCH_PRIMITIVE_TYPE(TYPE_INT);
825
174
    MATCH_PRIMITIVE_TYPE(TYPE_BIGINT);
826
117
    MATCH_PRIMITIVE_TYPE(TYPE_LARGEINT);
827
117
    MATCH_PRIMITIVE_TYPE(TYPE_FLOAT)
828
117
    MATCH_PRIMITIVE_TYPE(TYPE_DOUBLE);
829
    // MATCH_PRIMITIVE_TYPE(TYPE_VARCHAR);
830
117
    MATCH_PRIMITIVE_TYPE(TYPE_DATE);
831
117
    MATCH_PRIMITIVE_TYPE(TYPE_DATETIME);
832
117
    MATCH_PRIMITIVE_TYPE(TYPE_TIMESTAMPTZ);
833
    // MATCH_PRIMITIVE_TYPE(TYPE_BINARY);
834
    // MATCH_PRIMITIVE_TYPE(TYPE_DECIMAL);
835
    // MATCH_PRIMITIVE_TYPE(TYPE_CHAR);
836
    // MATCH_PRIMITIVE_TYPE(TYPE_STRUCT);
837
    // MATCH_PRIMITIVE_TYPE(TYPE_ARRAY);
838
    // MATCH_PRIMITIVE_TYPE(TYPE_MAP);
839
    // MATCH_PRIMITIVE_TYPE(TYPE_HLL);
840
97
    MATCH_PRIMITIVE_TYPE(TYPE_DECIMALV2);
841
    // MATCH_PRIMITIVE_TYPE(TYPE_BITMAP);
842
    // MATCH_PRIMITIVE_TYPE(TYPE_STRING);
843
    // MATCH_PRIMITIVE_TYPE(TYPE_QUANTILE_STATE);
844
97
    MATCH_PRIMITIVE_TYPE(TYPE_DATEV2);
845
69
    MATCH_PRIMITIVE_TYPE(TYPE_DATETIMEV2);
846
30
    MATCH_PRIMITIVE_TYPE(TYPE_DATETIMEV2_NANO);
847
30
    MATCH_PRIMITIVE_TYPE(TYPE_TIMEV2);
848
0
    MATCH_PRIMITIVE_TYPE(TYPE_DECIMAL32);
849
0
    MATCH_PRIMITIVE_TYPE(TYPE_DECIMAL64);
850
0
    MATCH_PRIMITIVE_TYPE(TYPE_DECIMAL128I);
851
    // MATCH_PRIMITIVE_TYPE(TYPE_JSONB);
852
    // MATCH_PRIMITIVE_TYPE(TYPE_VARIANT);
853
    // MATCH_PRIMITIVE_TYPE(TYPE_LAMBDA_FUNCTION);
854
    // MATCH_PRIMITIVE_TYPE(TYPE_AGG_STATE);
855
0
    MATCH_PRIMITIVE_TYPE(TYPE_DECIMAL256);
856
0
    MATCH_PRIMITIVE_TYPE(TYPE_IPV4);
857
0
    MATCH_PRIMITIVE_TYPE(TYPE_IPV6);
858
0
    MATCH_PRIMITIVE_TYPE(TYPE_UINT32);
859
0
    MATCH_PRIMITIVE_TYPE(TYPE_UINT64);
860
    // MATCH_PRIMITIVE_TYPE(TYPE_FIXED_LENGTH_OBJECT);
861
0
    throw Exception(
862
0
            Status::FatalError("type not supported for as_string_view, type={}", get_type_name()));
863
0
}
864
865
#undef MATCH_PRIMITIVE_TYPE
866
867
// Important!!! This method is not accurate, for example, decimal to string, it uses scale == 0, because
868
// it do not know the actual scale of the decimal value. It is only used for debug printing, so it is fine.
869
24.3M
std::string Field::to_debug_string(int scale) const {
870
24.3M
    if (is_null()) {
871
0
        return "NULL";
872
0
    }
873
24.3M
    switch (type) {
874
38.7k
    case PrimitiveType::TYPE_BOOLEAN:
875
38.7k
        return get<TYPE_BOOLEAN>() ? "true" : "false";
876
1.30M
    case PrimitiveType::TYPE_TINYINT:
877
1.30M
        return CastToString::from_number(get<TYPE_TINYINT>());
878
59.8k
    case PrimitiveType::TYPE_SMALLINT:
879
59.8k
        return CastToString::from_number(get<TYPE_SMALLINT>());
880
812k
    case PrimitiveType::TYPE_INT:
881
812k
        return CastToString::from_number(get<TYPE_INT>());
882
259k
    case PrimitiveType::TYPE_BIGINT:
883
259k
        return CastToString::from_number(get<TYPE_BIGINT>());
884
54.0k
    case PrimitiveType::TYPE_LARGEINT:
885
54.0k
        return CastToString::from_number(get<TYPE_LARGEINT>());
886
0
    case PrimitiveType::TYPE_FLOAT:
887
0
        return CastToString::from_number(get<TYPE_FLOAT>());
888
0
    case PrimitiveType::TYPE_DOUBLE:
889
0
        return CastToString::from_number(get<TYPE_DOUBLE>());
890
0
    case PrimitiveType::TYPE_STRING:
891
1.57k
    case PrimitiveType::TYPE_CHAR:
892
20.7M
    case PrimitiveType::TYPE_VARCHAR:
893
20.7M
        return get<TYPE_STRING>();
894
0
    case PrimitiveType::TYPE_VARBINARY:
895
0
        return get<TYPE_VARBINARY>();
896
2.41k
    case PrimitiveType::TYPE_DATE:
897
2.41k
        return CastToString::from_date_or_datetime(get<TYPE_DATE>());
898
106
    case PrimitiveType::TYPE_DATETIME:
899
106
        return CastToString::from_date_or_datetime(get<TYPE_DATETIME>());
900
957k
    case PrimitiveType::TYPE_DATEV2:
901
957k
        return CastToString::from_datev2(get<TYPE_DATEV2>());
902
14.1k
    case PrimitiveType::TYPE_DATETIMEV2:
903
14.1k
        return CastToString::from_datetimev2(get<TYPE_DATETIMEV2>(), scale);
904
0
    case PrimitiveType::TYPE_DATETIMEV2_NANO:
905
0
        return get<TYPE_DATETIMEV2_NANO>().to_string(scale);
906
32.6k
    case PrimitiveType::TYPE_TIMESTAMPTZ:
907
32.6k
        return CastToString::from_timestamptz(get<TYPE_TIMESTAMPTZ>(), scale);
908
37
    case PrimitiveType::TYPE_DECIMALV2:
909
37
        return get<TYPE_DECIMALV2>().to_string();
910
2.14k
    case PrimitiveType::TYPE_DECIMAL32:
911
2.14k
        return CastToString::from_decimal(get<TYPE_DECIMAL32>(), scale);
912
2.39k
    case PrimitiveType::TYPE_DECIMAL64:
913
2.39k
        return CastToString::from_decimal(get<TYPE_DECIMAL64>(), scale);
914
5.53k
    case PrimitiveType::TYPE_DECIMAL128I:
915
5.53k
        return CastToString::from_decimal(get<TYPE_DECIMAL128I>(), scale);
916
3.36k
    case PrimitiveType::TYPE_DECIMAL256:
917
3.36k
        return CastToString::from_decimal(get<TYPE_DECIMAL256>(), scale);
918
0
    case PrimitiveType::TYPE_IPV4:
919
0
        return CastToString::from_ip(get<TYPE_IPV4>());
920
21
    case PrimitiveType::TYPE_IPV6:
921
21
        return CastToString::from_ip(get<TYPE_IPV6>());
922
0
    default:
923
0
        throw Exception(Status::FatalError("type not supported for to_debug_string, type={}",
924
0
                                           get_type_name()));
925
0
        __builtin_unreachable();
926
24.3M
    }
927
24.3M
}
928
929
#define DECLARE_FUNCTION(FUNC_NAME)                                                               \
930
    template void Field::FUNC_NAME<TYPE_NULL>(typename PrimitiveTypeTraits<TYPE_NULL>::CppType && \
931
                                              rhs);                                               \
932
    template void Field::FUNC_NAME<TYPE_TINYINT>(                                                 \
933
            typename PrimitiveTypeTraits<TYPE_TINYINT>::CppType && rhs);                          \
934
    template void Field::FUNC_NAME<TYPE_SMALLINT>(                                                \
935
            typename PrimitiveTypeTraits<TYPE_SMALLINT>::CppType && rhs);                         \
936
    template void Field::FUNC_NAME<TYPE_INT>(typename PrimitiveTypeTraits<TYPE_INT>::CppType &&   \
937
                                             rhs);                                                \
938
    template void Field::FUNC_NAME<TYPE_BIGINT>(                                                  \
939
            typename PrimitiveTypeTraits<TYPE_BIGINT>::CppType && rhs);                           \
940
    template void Field::FUNC_NAME<TYPE_LARGEINT>(                                                \
941
            typename PrimitiveTypeTraits<TYPE_LARGEINT>::CppType && rhs);                         \
942
    template void Field::FUNC_NAME<TYPE_DATE>(typename PrimitiveTypeTraits<TYPE_DATE>::CppType && \
943
                                              rhs);                                               \
944
    template void Field::FUNC_NAME<TYPE_DATETIME>(                                                \
945
            typename PrimitiveTypeTraits<TYPE_DATETIME>::CppType && rhs);                         \
946
    template void Field::FUNC_NAME<TYPE_DATEV2>(                                                  \
947
            typename PrimitiveTypeTraits<TYPE_DATEV2>::CppType && rhs);                           \
948
    template void Field::FUNC_NAME<TYPE_DATETIMEV2>(                                              \
949
            typename PrimitiveTypeTraits<TYPE_DATETIMEV2>::CppType && rhs);                       \
950
    template void Field::FUNC_NAME<TYPE_DATETIMEV2_NANO>(                                         \
951
            typename PrimitiveTypeTraits<TYPE_DATETIMEV2_NANO>::CppType && rhs);                  \
952
    template void Field::FUNC_NAME<TYPE_DECIMAL32>(                                               \
953
            typename PrimitiveTypeTraits<TYPE_DECIMAL32>::CppType && rhs);                        \
954
    template void Field::FUNC_NAME<TYPE_DECIMAL64>(                                               \
955
            typename PrimitiveTypeTraits<TYPE_DECIMAL64>::CppType && rhs);                        \
956
    template void Field::FUNC_NAME<TYPE_DECIMALV2>(                                               \
957
            typename PrimitiveTypeTraits<TYPE_DECIMALV2>::CppType && rhs);                        \
958
    template void Field::FUNC_NAME<TYPE_DECIMAL128I>(                                             \
959
            typename PrimitiveTypeTraits<TYPE_DECIMAL128I>::CppType && rhs);                      \
960
    template void Field::FUNC_NAME<TYPE_DECIMAL256>(                                              \
961
            typename PrimitiveTypeTraits<TYPE_DECIMAL256>::CppType && rhs);                       \
962
    template void Field::FUNC_NAME<TYPE_CHAR>(typename PrimitiveTypeTraits<TYPE_CHAR>::CppType && \
963
                                              rhs);                                               \
964
    template void Field::FUNC_NAME<TYPE_VARCHAR>(                                                 \
965
            typename PrimitiveTypeTraits<TYPE_VARCHAR>::CppType && rhs);                          \
966
    template void Field::FUNC_NAME<TYPE_STRING>(                                                  \
967
            typename PrimitiveTypeTraits<TYPE_STRING>::CppType && rhs);                           \
968
    template void Field::FUNC_NAME<TYPE_VARBINARY>(                                               \
969
            typename PrimitiveTypeTraits<TYPE_VARBINARY>::CppType && rhs);                        \
970
    template void Field::FUNC_NAME<TYPE_HLL>(typename PrimitiveTypeTraits<TYPE_HLL>::CppType &&   \
971
                                             rhs);                                                \
972
    template void Field::FUNC_NAME<TYPE_VARIANT>(                                                 \
973
            typename PrimitiveTypeTraits<TYPE_VARIANT>::CppType && rhs);                          \
974
    template void Field::FUNC_NAME<TYPE_QUANTILE_STATE>(                                          \
975
            typename PrimitiveTypeTraits<TYPE_QUANTILE_STATE>::CppType && rhs);                   \
976
    template void Field::FUNC_NAME<TYPE_ARRAY>(                                                   \
977
            typename PrimitiveTypeTraits<TYPE_ARRAY>::CppType && rhs);                            \
978
    template void Field::FUNC_NAME<TYPE_NULL>(                                                    \
979
            const typename PrimitiveTypeTraits<TYPE_NULL>::CppType& rhs);                         \
980
    template void Field::FUNC_NAME<TYPE_TINYINT>(                                                 \
981
            const typename PrimitiveTypeTraits<TYPE_TINYINT>::CppType& rhs);                      \
982
    template void Field::FUNC_NAME<TYPE_SMALLINT>(                                                \
983
            const typename PrimitiveTypeTraits<TYPE_SMALLINT>::CppType& rhs);                     \
984
    template void Field::FUNC_NAME<TYPE_INT>(                                                     \
985
            const typename PrimitiveTypeTraits<TYPE_INT>::CppType& rhs);                          \
986
    template void Field::FUNC_NAME<TYPE_BIGINT>(                                                  \
987
            const typename PrimitiveTypeTraits<TYPE_BIGINT>::CppType& rhs);                       \
988
    template void Field::FUNC_NAME<TYPE_LARGEINT>(                                                \
989
            const typename PrimitiveTypeTraits<TYPE_LARGEINT>::CppType& rhs);                     \
990
    template void Field::FUNC_NAME<TYPE_DATE>(                                                    \
991
            const typename PrimitiveTypeTraits<TYPE_DATE>::CppType& rhs);                         \
992
    template void Field::FUNC_NAME<TYPE_DATETIME>(                                                \
993
            const typename PrimitiveTypeTraits<TYPE_DATETIME>::CppType& rhs);                     \
994
    template void Field::FUNC_NAME<TYPE_DATEV2>(                                                  \
995
            const typename PrimitiveTypeTraits<TYPE_DATEV2>::CppType& rhs);                       \
996
    template void Field::FUNC_NAME<TYPE_DATETIMEV2>(                                              \
997
            const typename PrimitiveTypeTraits<TYPE_DATETIMEV2>::CppType& rhs);                   \
998
    template void Field::FUNC_NAME<TYPE_DATETIMEV2_NANO>(                                         \
999
            const typename PrimitiveTypeTraits<TYPE_DATETIMEV2_NANO>::CppType& rhs);              \
1000
    template void Field::FUNC_NAME<TYPE_TIMESTAMPTZ>(                                             \
1001
            const typename PrimitiveTypeTraits<TYPE_TIMESTAMPTZ>::CppType& rhs);                  \
1002
    template void Field::FUNC_NAME<TYPE_TIMESTAMPTZ>(                                             \
1003
            typename PrimitiveTypeTraits<TYPE_TIMESTAMPTZ>::CppType && rhs);                      \
1004
    template void Field::FUNC_NAME<TYPE_DECIMAL32>(                                               \
1005
            const typename PrimitiveTypeTraits<TYPE_DECIMAL32>::CppType& rhs);                    \
1006
    template void Field::FUNC_NAME<TYPE_DECIMAL64>(                                               \
1007
            const typename PrimitiveTypeTraits<TYPE_DECIMAL64>::CppType& rhs);                    \
1008
    template void Field::FUNC_NAME<TYPE_DECIMALV2>(                                               \
1009
            const typename PrimitiveTypeTraits<TYPE_DECIMALV2>::CppType& rhs);                    \
1010
    template void Field::FUNC_NAME<TYPE_DECIMAL128I>(                                             \
1011
            const typename PrimitiveTypeTraits<TYPE_DECIMAL128I>::CppType& rhs);                  \
1012
    template void Field::FUNC_NAME<TYPE_DECIMAL256>(                                              \
1013
            const typename PrimitiveTypeTraits<TYPE_DECIMAL256>::CppType& rhs);                   \
1014
    template void Field::FUNC_NAME<TYPE_CHAR>(                                                    \
1015
            const typename PrimitiveTypeTraits<TYPE_CHAR>::CppType& rhs);                         \
1016
    template void Field::FUNC_NAME<TYPE_VARCHAR>(                                                 \
1017
            const typename PrimitiveTypeTraits<TYPE_VARCHAR>::CppType& rhs);                      \
1018
    template void Field::FUNC_NAME<TYPE_STRING>(                                                  \
1019
            const typename PrimitiveTypeTraits<TYPE_STRING>::CppType& rhs);                       \
1020
    template void Field::FUNC_NAME<TYPE_VARBINARY>(                                               \
1021
            const typename PrimitiveTypeTraits<TYPE_VARBINARY>::CppType& rhs);                    \
1022
    template void Field::FUNC_NAME<TYPE_HLL>(                                                     \
1023
            const typename PrimitiveTypeTraits<TYPE_HLL>::CppType& rhs);                          \
1024
    template void Field::FUNC_NAME<TYPE_VARIANT>(                                                 \
1025
            const typename PrimitiveTypeTraits<TYPE_VARIANT>::CppType& rhs);                      \
1026
    template void Field::FUNC_NAME<TYPE_QUANTILE_STATE>(                                          \
1027
            const typename PrimitiveTypeTraits<TYPE_QUANTILE_STATE>::CppType& rhs);               \
1028
    template void Field::FUNC_NAME<TYPE_ARRAY>(                                                   \
1029
            const typename PrimitiveTypeTraits<TYPE_ARRAY>::CppType& rhs);                        \
1030
    template void Field::FUNC_NAME<TYPE_IPV4>(typename PrimitiveTypeTraits<TYPE_IPV4>::CppType && \
1031
                                              rhs);                                               \
1032
    template void Field::FUNC_NAME<TYPE_IPV4>(                                                    \
1033
            const typename PrimitiveTypeTraits<TYPE_IPV4>::CppType& rhs);                         \
1034
    template void Field::FUNC_NAME<TYPE_IPV6>(typename PrimitiveTypeTraits<TYPE_IPV6>::CppType && \
1035
                                              rhs);                                               \
1036
    template void Field::FUNC_NAME<TYPE_IPV6>(                                                    \
1037
            const typename PrimitiveTypeTraits<TYPE_IPV6>::CppType& rhs);                         \
1038
    template void Field::FUNC_NAME<TYPE_BOOLEAN>(                                                 \
1039
            typename PrimitiveTypeTraits<TYPE_BOOLEAN>::CppType && rhs);                          \
1040
    template void Field::FUNC_NAME<TYPE_BOOLEAN>(                                                 \
1041
            const typename PrimitiveTypeTraits<TYPE_BOOLEAN>::CppType& rhs);                      \
1042
    template void Field::FUNC_NAME<TYPE_FLOAT>(                                                   \
1043
            typename PrimitiveTypeTraits<TYPE_FLOAT>::CppType && rhs);                            \
1044
    template void Field::FUNC_NAME<TYPE_FLOAT>(                                                   \
1045
            const typename PrimitiveTypeTraits<TYPE_FLOAT>::CppType& rhs);                        \
1046
    template void Field::FUNC_NAME<TYPE_DOUBLE>(                                                  \
1047
            typename PrimitiveTypeTraits<TYPE_DOUBLE>::CppType && rhs);                           \
1048
    template void Field::FUNC_NAME<TYPE_DOUBLE>(                                                  \
1049
            const typename PrimitiveTypeTraits<TYPE_DOUBLE>::CppType& rhs);                       \
1050
    template void Field::FUNC_NAME<TYPE_JSONB>(                                                   \
1051
            typename PrimitiveTypeTraits<TYPE_JSONB>::CppType && rhs);                            \
1052
    template void Field::FUNC_NAME<TYPE_JSONB>(                                                   \
1053
            const typename PrimitiveTypeTraits<TYPE_JSONB>::CppType& rhs);                        \
1054
    template void Field::FUNC_NAME<TYPE_STRUCT>(                                                  \
1055
            typename PrimitiveTypeTraits<TYPE_STRUCT>::CppType && rhs);                           \
1056
    template void Field::FUNC_NAME<TYPE_STRUCT>(                                                  \
1057
            const typename PrimitiveTypeTraits<TYPE_STRUCT>::CppType& rhs);                       \
1058
    template void Field::FUNC_NAME<TYPE_MAP>(typename PrimitiveTypeTraits<TYPE_MAP>::CppType &&   \
1059
                                             rhs);                                                \
1060
    template void Field::FUNC_NAME<TYPE_MAP>(                                                     \
1061
            const typename PrimitiveTypeTraits<TYPE_MAP>::CppType& rhs);                          \
1062
    template void Field::FUNC_NAME<TYPE_BITMAP>(                                                  \
1063
            typename PrimitiveTypeTraits<TYPE_BITMAP>::CppType && rhs);                           \
1064
    template void Field::FUNC_NAME<TYPE_BITMAP>(                                                  \
1065
            const typename PrimitiveTypeTraits<TYPE_BITMAP>::CppType& rhs);                       \
1066
    template void Field::FUNC_NAME<TYPE_TIMEV2>(                                                  \
1067
            const typename PrimitiveTypeTraits<TYPE_TIMEV2>::CppType& rhs);                       \
1068
    template void Field::FUNC_NAME<TYPE_TIMEV2>(                                                  \
1069
            typename PrimitiveTypeTraits<TYPE_TIMEV2>::CppType && rhs);                           \
1070
    template void Field::FUNC_NAME<TYPE_UINT32>(                                                  \
1071
            const typename PrimitiveTypeTraits<TYPE_UINT32>::CppType& rhs);                       \
1072
    template void Field::FUNC_NAME<TYPE_UINT32>(                                                  \
1073
            typename PrimitiveTypeTraits<TYPE_UINT32>::CppType && rhs);                           \
1074
    template void Field::FUNC_NAME<TYPE_UINT64>(                                                  \
1075
            const typename PrimitiveTypeTraits<TYPE_UINT64>::CppType& rhs);                       \
1076
    template void Field::FUNC_NAME<TYPE_UINT64>(                                                  \
1077
            typename PrimitiveTypeTraits<TYPE_UINT64>::CppType && rhs);
1078
DECLARE_FUNCTION(create_concrete)
1079
DECLARE_FUNCTION(assign_concrete)
1080
#undef DECLARE_FUNCTION
1081
1082
#define DECLARE_FUNCTION(TYPE_NAME)                                                          \
1083
    template typename PrimitiveTypeTraits<TYPE_NAME>::CppType& Field::get<TYPE_NAME>();      \
1084
    template const typename PrimitiveTypeTraits<TYPE_NAME>::CppType& Field::get<TYPE_NAME>() \
1085
            const;                                                                           \
1086
    template void Field::destroy<TYPE_NAME>();
1087
DECLARE_FUNCTION(TYPE_NULL)
1088
DECLARE_FUNCTION(TYPE_TINYINT)
1089
DECLARE_FUNCTION(TYPE_SMALLINT)
1090
DECLARE_FUNCTION(TYPE_INT)
1091
DECLARE_FUNCTION(TYPE_BIGINT)
1092
DECLARE_FUNCTION(TYPE_LARGEINT)
1093
DECLARE_FUNCTION(TYPE_DATE)
1094
DECLARE_FUNCTION(TYPE_DATETIME)
1095
DECLARE_FUNCTION(TYPE_DATEV2)
1096
DECLARE_FUNCTION(TYPE_DATETIMEV2)
1097
DECLARE_FUNCTION(TYPE_DATETIMEV2_NANO)
1098
DECLARE_FUNCTION(TYPE_TIMESTAMPTZ)
1099
DECLARE_FUNCTION(TYPE_DECIMAL32)
1100
DECLARE_FUNCTION(TYPE_DECIMAL64)
1101
DECLARE_FUNCTION(TYPE_DECIMALV2)
1102
DECLARE_FUNCTION(TYPE_DECIMAL128I)
1103
DECLARE_FUNCTION(TYPE_DECIMAL256)
1104
DECLARE_FUNCTION(TYPE_CHAR)
1105
DECLARE_FUNCTION(TYPE_VARCHAR)
1106
DECLARE_FUNCTION(TYPE_STRING)
1107
DECLARE_FUNCTION(TYPE_VARBINARY)
1108
DECLARE_FUNCTION(TYPE_HLL)
1109
DECLARE_FUNCTION(TYPE_VARIANT)
1110
DECLARE_FUNCTION(TYPE_QUANTILE_STATE)
1111
DECLARE_FUNCTION(TYPE_ARRAY)
1112
DECLARE_FUNCTION(TYPE_IPV4)
1113
DECLARE_FUNCTION(TYPE_IPV6)
1114
DECLARE_FUNCTION(TYPE_BOOLEAN)
1115
DECLARE_FUNCTION(TYPE_FLOAT)
1116
DECLARE_FUNCTION(TYPE_DOUBLE)
1117
DECLARE_FUNCTION(TYPE_JSONB)
1118
DECLARE_FUNCTION(TYPE_STRUCT)
1119
DECLARE_FUNCTION(TYPE_MAP)
1120
DECLARE_FUNCTION(TYPE_BITMAP)
1121
DECLARE_FUNCTION(TYPE_TIMEV2)
1122
DECLARE_FUNCTION(TYPE_UINT32)
1123
DECLARE_FUNCTION(TYPE_UINT64)
1124
#undef DECLARE_FUNCTION
1125
} // namespace doris