Coverage Report

Created: 2026-10-28 17:47

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
be/src/exprs/function/cast/cast_base.h
Line
Count
Source
1
// Licensed to the Apache Software Foundation (ASF) under one
2
// or more contributor license agreements.  See the NOTICE file
3
// distributed with this work for additional information
4
// regarding copyright ownership.  The ASF licenses this file
5
// to you under the Apache License, Version 2.0 (the
6
// "License"); you may not use this file except in compliance
7
// with the License.  You may obtain a copy of the License at
8
//
9
//   http://www.apache.org/licenses/LICENSE-2.0
10
//
11
// Unless required by applicable law or agreed to in writing,
12
// software distributed under the License is distributed on an
13
// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
14
// KIND, either express or implied.  See the License for the
15
// specific language governing permissions and limitations
16
// under the License.
17
18
#pragma once
19
#include <cstddef>
20
#include <cstdint>
21
#include <functional>
22
#include <type_traits>
23
#include <utility>
24
25
#include "core/assert_cast.h"
26
#include "core/block/column_with_type_and_name.h"
27
#include "core/call_on_type_index.h"
28
#include "core/column/column_nullable.h"
29
#include "core/column/column_vector.h"
30
#include "core/data_type/data_type.h"
31
#include "core/data_type/data_type_array.h"
32
#include "core/data_type/data_type_bitmap.h"
33
#include "core/data_type/data_type_date.h"
34
#include "core/data_type/data_type_date_or_datetime_v2.h"
35
#include "core/data_type/data_type_date_time.h"
36
#include "core/data_type/data_type_decimal.h"
37
#include "core/data_type/data_type_hll.h"
38
#include "core/data_type/data_type_ipv4.h"
39
#include "core/data_type/data_type_ipv6.h"
40
#include "core/data_type/data_type_jsonb.h"
41
#include "core/data_type/data_type_map.h"
42
#include "core/data_type/data_type_nullable.h"
43
#include "core/data_type/data_type_number.h"
44
#include "core/data_type/data_type_string.h"
45
#include "core/data_type/data_type_struct.h"
46
#include "core/data_type/data_type_time.h"
47
#include "exprs/function/cast/cast_parameters.h"
48
#include "exprs/function/function.h"
49
#include "exprs/function/function_helpers.h"
50
51
namespace doris {
52
53
class RuntimeState;
54
55
struct CastOptions {
56
    bool strict_mode = false;
57
    bool check_overflow_for_decimal = false;
58
    bool string_as_jsonb_string = false;
59
    bool jsonb_string_as_string = false;
60
};
61
62
enum class DatelikeParseMode {
63
    NON_STRICT,
64
    STRICT,
65
};
66
67
0
constexpr bool is_datelike_parse_strict(DatelikeParseMode parse_mode) {
68
0
    return parse_mode == DatelikeParseMode::STRICT;
69
0
}
70
71
enum class DatelikeTargetType {
72
    DATE,
73
    DATE_TIME,
74
};
75
76
0
constexpr bool is_datelike_target_datetime(DatelikeTargetType target_type) {
77
0
    return target_type == DatelikeTargetType::DATE_TIME;
78
0
}
79
80
struct NameCast {
81
    static constexpr auto name = "CAST";
82
};
83
84
namespace CastUtil {
85
// `static_cast_set` is introduced to wrap `static_cast` and handle special cases.
86
// Doris uses `uint8` to represent boolean values internally.
87
// Directly `static_cast` to `uint8` can result in non-0/1 values,
88
// To address this, `static_cast_set` performs an additional check:
89
//  For `uint8` types, it explicitly uses `static_cast<bool>` to ensure
90
//  the result is either 0 or 1.
91
template <typename FromFieldType, typename ToFieldType>
92
62.2k
void static_cast_set(ToFieldType& to, const FromFieldType& from) {
93
    // uint8_t now use as boolean in doris
94
    if constexpr (std::is_same_v<uint8_t, ToFieldType>) {
95
        to = static_cast<bool>(from);
96
62.2k
    } else {
97
62.2k
        to = static_cast<ToFieldType>(from);
98
62.2k
    }
99
62.2k
}
_ZN5doris8CastUtil15static_cast_setIlaEEvRT0_RKT_
Line
Count
Source
92
18
void static_cast_set(ToFieldType& to, const FromFieldType& from) {
93
    // uint8_t now use as boolean in doris
94
    if constexpr (std::is_same_v<uint8_t, ToFieldType>) {
95
        to = static_cast<bool>(from);
96
18
    } else {
97
18
        to = static_cast<ToFieldType>(from);
98
18
    }
99
18
}
_ZN5doris8CastUtil15static_cast_setInaEEvRT0_RKT_
Line
Count
Source
92
18
void static_cast_set(ToFieldType& to, const FromFieldType& from) {
93
    // uint8_t now use as boolean in doris
94
    if constexpr (std::is_same_v<uint8_t, ToFieldType>) {
95
        to = static_cast<bool>(from);
96
18
    } else {
97
18
        to = static_cast<ToFieldType>(from);
98
18
    }
99
18
}
_ZN5doris8CastUtil15static_cast_setIdaEEvRT0_RKT_
Line
Count
Source
92
42
void static_cast_set(ToFieldType& to, const FromFieldType& from) {
93
    // uint8_t now use as boolean in doris
94
    if constexpr (std::is_same_v<uint8_t, ToFieldType>) {
95
        to = static_cast<bool>(from);
96
42
    } else {
97
42
        to = static_cast<ToFieldType>(from);
98
42
    }
99
42
}
_ZN5doris8CastUtil15static_cast_setIfaEEvRT0_RKT_
Line
Count
Source
92
36
void static_cast_set(ToFieldType& to, const FromFieldType& from) {
93
    // uint8_t now use as boolean in doris
94
    if constexpr (std::is_same_v<uint8_t, ToFieldType>) {
95
        to = static_cast<bool>(from);
96
36
    } else {
97
36
        to = static_cast<ToFieldType>(from);
98
36
    }
99
36
}
_ZN5doris8CastUtil15static_cast_setIhaEEvRT0_RKT_
Line
Count
Source
92
8
void static_cast_set(ToFieldType& to, const FromFieldType& from) {
93
    // uint8_t now use as boolean in doris
94
    if constexpr (std::is_same_v<uint8_t, ToFieldType>) {
95
        to = static_cast<bool>(from);
96
8
    } else {
97
8
        to = static_cast<ToFieldType>(from);
98
8
    }
99
8
}
_ZN5doris8CastUtil15static_cast_setIaaEEvRT0_RKT_
Line
Count
Source
92
16
void static_cast_set(ToFieldType& to, const FromFieldType& from) {
93
    // uint8_t now use as boolean in doris
94
    if constexpr (std::is_same_v<uint8_t, ToFieldType>) {
95
        to = static_cast<bool>(from);
96
16
    } else {
97
16
        to = static_cast<ToFieldType>(from);
98
16
    }
99
16
}
_ZN5doris8CastUtil15static_cast_setIsaEEvRT0_RKT_
Line
Count
Source
92
18
void static_cast_set(ToFieldType& to, const FromFieldType& from) {
93
    // uint8_t now use as boolean in doris
94
    if constexpr (std::is_same_v<uint8_t, ToFieldType>) {
95
        to = static_cast<bool>(from);
96
18
    } else {
97
18
        to = static_cast<ToFieldType>(from);
98
18
    }
99
18
}
_ZN5doris8CastUtil15static_cast_setIiaEEvRT0_RKT_
Line
Count
Source
92
47
void static_cast_set(ToFieldType& to, const FromFieldType& from) {
93
    // uint8_t now use as boolean in doris
94
    if constexpr (std::is_same_v<uint8_t, ToFieldType>) {
95
        to = static_cast<bool>(from);
96
47
    } else {
97
47
        to = static_cast<ToFieldType>(from);
98
47
    }
99
47
}
_ZN5doris8CastUtil15static_cast_setIlsEEvRT0_RKT_
Line
Count
Source
92
18
void static_cast_set(ToFieldType& to, const FromFieldType& from) {
93
    // uint8_t now use as boolean in doris
94
    if constexpr (std::is_same_v<uint8_t, ToFieldType>) {
95
        to = static_cast<bool>(from);
96
18
    } else {
97
18
        to = static_cast<ToFieldType>(from);
98
18
    }
99
18
}
_ZN5doris8CastUtil15static_cast_setInsEEvRT0_RKT_
Line
Count
Source
92
18
void static_cast_set(ToFieldType& to, const FromFieldType& from) {
93
    // uint8_t now use as boolean in doris
94
    if constexpr (std::is_same_v<uint8_t, ToFieldType>) {
95
        to = static_cast<bool>(from);
96
18
    } else {
97
18
        to = static_cast<ToFieldType>(from);
98
18
    }
99
18
}
_ZN5doris8CastUtil15static_cast_setIdsEEvRT0_RKT_
Line
Count
Source
92
49
void static_cast_set(ToFieldType& to, const FromFieldType& from) {
93
    // uint8_t now use as boolean in doris
94
    if constexpr (std::is_same_v<uint8_t, ToFieldType>) {
95
        to = static_cast<bool>(from);
96
49
    } else {
97
49
        to = static_cast<ToFieldType>(from);
98
49
    }
99
49
}
_ZN5doris8CastUtil15static_cast_setIfsEEvRT0_RKT_
Line
Count
Source
92
44
void static_cast_set(ToFieldType& to, const FromFieldType& from) {
93
    // uint8_t now use as boolean in doris
94
    if constexpr (std::is_same_v<uint8_t, ToFieldType>) {
95
        to = static_cast<bool>(from);
96
44
    } else {
97
44
        to = static_cast<ToFieldType>(from);
98
44
    }
99
44
}
_ZN5doris8CastUtil15static_cast_setIhsEEvRT0_RKT_
Line
Count
Source
92
6
void static_cast_set(ToFieldType& to, const FromFieldType& from) {
93
    // uint8_t now use as boolean in doris
94
    if constexpr (std::is_same_v<uint8_t, ToFieldType>) {
95
        to = static_cast<bool>(from);
96
6
    } else {
97
6
        to = static_cast<ToFieldType>(from);
98
6
    }
99
6
}
_ZN5doris8CastUtil15static_cast_setIasEEvRT0_RKT_
Line
Count
Source
92
23
void static_cast_set(ToFieldType& to, const FromFieldType& from) {
93
    // uint8_t now use as boolean in doris
94
    if constexpr (std::is_same_v<uint8_t, ToFieldType>) {
95
        to = static_cast<bool>(from);
96
23
    } else {
97
23
        to = static_cast<ToFieldType>(from);
98
23
    }
99
23
}
_ZN5doris8CastUtil15static_cast_setIssEEvRT0_RKT_
Line
Count
Source
92
2
void static_cast_set(ToFieldType& to, const FromFieldType& from) {
93
    // uint8_t now use as boolean in doris
94
    if constexpr (std::is_same_v<uint8_t, ToFieldType>) {
95
        to = static_cast<bool>(from);
96
2
    } else {
97
2
        to = static_cast<ToFieldType>(from);
98
2
    }
99
2
}
_ZN5doris8CastUtil15static_cast_setIisEEvRT0_RKT_
Line
Count
Source
92
18
void static_cast_set(ToFieldType& to, const FromFieldType& from) {
93
    // uint8_t now use as boolean in doris
94
    if constexpr (std::is_same_v<uint8_t, ToFieldType>) {
95
        to = static_cast<bool>(from);
96
18
    } else {
97
18
        to = static_cast<ToFieldType>(from);
98
18
    }
99
18
}
_ZN5doris8CastUtil15static_cast_setIliEEvRT0_RKT_
Line
Count
Source
92
12.4k
void static_cast_set(ToFieldType& to, const FromFieldType& from) {
93
    // uint8_t now use as boolean in doris
94
    if constexpr (std::is_same_v<uint8_t, ToFieldType>) {
95
        to = static_cast<bool>(from);
96
12.4k
    } else {
97
12.4k
        to = static_cast<ToFieldType>(from);
98
12.4k
    }
99
12.4k
}
_ZN5doris8CastUtil15static_cast_setIniEEvRT0_RKT_
Line
Count
Source
92
18
void static_cast_set(ToFieldType& to, const FromFieldType& from) {
93
    // uint8_t now use as boolean in doris
94
    if constexpr (std::is_same_v<uint8_t, ToFieldType>) {
95
        to = static_cast<bool>(from);
96
18
    } else {
97
18
        to = static_cast<ToFieldType>(from);
98
18
    }
99
18
}
_ZN5doris8CastUtil15static_cast_setIdiEEvRT0_RKT_
Line
Count
Source
92
112
void static_cast_set(ToFieldType& to, const FromFieldType& from) {
93
    // uint8_t now use as boolean in doris
94
    if constexpr (std::is_same_v<uint8_t, ToFieldType>) {
95
        to = static_cast<bool>(from);
96
112
    } else {
97
112
        to = static_cast<ToFieldType>(from);
98
112
    }
99
112
}
_ZN5doris8CastUtil15static_cast_setIfiEEvRT0_RKT_
Line
Count
Source
92
61
void static_cast_set(ToFieldType& to, const FromFieldType& from) {
93
    // uint8_t now use as boolean in doris
94
    if constexpr (std::is_same_v<uint8_t, ToFieldType>) {
95
        to = static_cast<bool>(from);
96
61
    } else {
97
61
        to = static_cast<ToFieldType>(from);
98
61
    }
99
61
}
_ZN5doris8CastUtil15static_cast_setIhiEEvRT0_RKT_
Line
Count
Source
92
10
void static_cast_set(ToFieldType& to, const FromFieldType& from) {
93
    // uint8_t now use as boolean in doris
94
    if constexpr (std::is_same_v<uint8_t, ToFieldType>) {
95
        to = static_cast<bool>(from);
96
10
    } else {
97
10
        to = static_cast<ToFieldType>(from);
98
10
    }
99
10
}
_ZN5doris8CastUtil15static_cast_setIaiEEvRT0_RKT_
Line
Count
Source
92
23
void static_cast_set(ToFieldType& to, const FromFieldType& from) {
93
    // uint8_t now use as boolean in doris
94
    if constexpr (std::is_same_v<uint8_t, ToFieldType>) {
95
        to = static_cast<bool>(from);
96
23
    } else {
97
23
        to = static_cast<ToFieldType>(from);
98
23
    }
99
23
}
_ZN5doris8CastUtil15static_cast_setIiiEEvRT0_RKT_
Line
Count
Source
92
56
void static_cast_set(ToFieldType& to, const FromFieldType& from) {
93
    // uint8_t now use as boolean in doris
94
    if constexpr (std::is_same_v<uint8_t, ToFieldType>) {
95
        to = static_cast<bool>(from);
96
56
    } else {
97
56
        to = static_cast<ToFieldType>(from);
98
56
    }
99
56
}
_ZN5doris8CastUtil15static_cast_setIsiEEvRT0_RKT_
Line
Count
Source
92
23
void static_cast_set(ToFieldType& to, const FromFieldType& from) {
93
    // uint8_t now use as boolean in doris
94
    if constexpr (std::is_same_v<uint8_t, ToFieldType>) {
95
        to = static_cast<bool>(from);
96
23
    } else {
97
23
        to = static_cast<ToFieldType>(from);
98
23
    }
99
23
}
_ZN5doris8CastUtil15static_cast_setIllEEvRT0_RKT_
Line
Count
Source
92
15.6k
void static_cast_set(ToFieldType& to, const FromFieldType& from) {
93
    // uint8_t now use as boolean in doris
94
    if constexpr (std::is_same_v<uint8_t, ToFieldType>) {
95
        to = static_cast<bool>(from);
96
15.6k
    } else {
97
15.6k
        to = static_cast<ToFieldType>(from);
98
15.6k
    }
99
15.6k
}
_ZN5doris8CastUtil15static_cast_setInlEEvRT0_RKT_
Line
Count
Source
92
18
void static_cast_set(ToFieldType& to, const FromFieldType& from) {
93
    // uint8_t now use as boolean in doris
94
    if constexpr (std::is_same_v<uint8_t, ToFieldType>) {
95
        to = static_cast<bool>(from);
96
18
    } else {
97
18
        to = static_cast<ToFieldType>(from);
98
18
    }
99
18
}
_ZN5doris8CastUtil15static_cast_setIdlEEvRT0_RKT_
Line
Count
Source
92
396
void static_cast_set(ToFieldType& to, const FromFieldType& from) {
93
    // uint8_t now use as boolean in doris
94
    if constexpr (std::is_same_v<uint8_t, ToFieldType>) {
95
        to = static_cast<bool>(from);
96
396
    } else {
97
396
        to = static_cast<ToFieldType>(from);
98
396
    }
99
396
}
_ZN5doris8CastUtil15static_cast_setIflEEvRT0_RKT_
Line
Count
Source
92
72
void static_cast_set(ToFieldType& to, const FromFieldType& from) {
93
    // uint8_t now use as boolean in doris
94
    if constexpr (std::is_same_v<uint8_t, ToFieldType>) {
95
        to = static_cast<bool>(from);
96
72
    } else {
97
72
        to = static_cast<ToFieldType>(from);
98
72
    }
99
72
}
_ZN5doris8CastUtil15static_cast_setIhlEEvRT0_RKT_
Line
Count
Source
92
10
void static_cast_set(ToFieldType& to, const FromFieldType& from) {
93
    // uint8_t now use as boolean in doris
94
    if constexpr (std::is_same_v<uint8_t, ToFieldType>) {
95
        to = static_cast<bool>(from);
96
10
    } else {
97
10
        to = static_cast<ToFieldType>(from);
98
10
    }
99
10
}
_ZN5doris8CastUtil15static_cast_setIalEEvRT0_RKT_
Line
Count
Source
92
23
void static_cast_set(ToFieldType& to, const FromFieldType& from) {
93
    // uint8_t now use as boolean in doris
94
    if constexpr (std::is_same_v<uint8_t, ToFieldType>) {
95
        to = static_cast<bool>(from);
96
23
    } else {
97
23
        to = static_cast<ToFieldType>(from);
98
23
    }
99
23
}
_ZN5doris8CastUtil15static_cast_setIilEEvRT0_RKT_
Line
Count
Source
92
75
void static_cast_set(ToFieldType& to, const FromFieldType& from) {
93
    // uint8_t now use as boolean in doris
94
    if constexpr (std::is_same_v<uint8_t, ToFieldType>) {
95
        to = static_cast<bool>(from);
96
75
    } else {
97
75
        to = static_cast<ToFieldType>(from);
98
75
    }
99
75
}
_ZN5doris8CastUtil15static_cast_setIslEEvRT0_RKT_
Line
Count
Source
92
23
void static_cast_set(ToFieldType& to, const FromFieldType& from) {
93
    // uint8_t now use as boolean in doris
94
    if constexpr (std::is_same_v<uint8_t, ToFieldType>) {
95
        to = static_cast<bool>(from);
96
23
    } else {
97
23
        to = static_cast<ToFieldType>(from);
98
23
    }
99
23
}
_ZN5doris8CastUtil15static_cast_setIlnEEvRT0_RKT_
Line
Count
Source
92
15.6k
void static_cast_set(ToFieldType& to, const FromFieldType& from) {
93
    // uint8_t now use as boolean in doris
94
    if constexpr (std::is_same_v<uint8_t, ToFieldType>) {
95
        to = static_cast<bool>(from);
96
15.6k
    } else {
97
15.6k
        to = static_cast<ToFieldType>(from);
98
15.6k
    }
99
15.6k
}
_ZN5doris8CastUtil15static_cast_setInnEEvRT0_RKT_
Line
Count
Source
92
1
void static_cast_set(ToFieldType& to, const FromFieldType& from) {
93
    // uint8_t now use as boolean in doris
94
    if constexpr (std::is_same_v<uint8_t, ToFieldType>) {
95
        to = static_cast<bool>(from);
96
1
    } else {
97
1
        to = static_cast<ToFieldType>(from);
98
1
    }
99
1
}
_ZN5doris8CastUtil15static_cast_setIdnEEvRT0_RKT_
Line
Count
Source
92
400
void static_cast_set(ToFieldType& to, const FromFieldType& from) {
93
    // uint8_t now use as boolean in doris
94
    if constexpr (std::is_same_v<uint8_t, ToFieldType>) {
95
        to = static_cast<bool>(from);
96
400
    } else {
97
400
        to = static_cast<ToFieldType>(from);
98
400
    }
99
400
}
_ZN5doris8CastUtil15static_cast_setIfnEEvRT0_RKT_
Line
Count
Source
92
80
void static_cast_set(ToFieldType& to, const FromFieldType& from) {
93
    // uint8_t now use as boolean in doris
94
    if constexpr (std::is_same_v<uint8_t, ToFieldType>) {
95
        to = static_cast<bool>(from);
96
80
    } else {
97
80
        to = static_cast<ToFieldType>(from);
98
80
    }
99
80
}
_ZN5doris8CastUtil15static_cast_setIhnEEvRT0_RKT_
Line
Count
Source
92
4
void static_cast_set(ToFieldType& to, const FromFieldType& from) {
93
    // uint8_t now use as boolean in doris
94
    if constexpr (std::is_same_v<uint8_t, ToFieldType>) {
95
        to = static_cast<bool>(from);
96
4
    } else {
97
4
        to = static_cast<ToFieldType>(from);
98
4
    }
99
4
}
_ZN5doris8CastUtil15static_cast_setIanEEvRT0_RKT_
Line
Count
Source
92
22
void static_cast_set(ToFieldType& to, const FromFieldType& from) {
93
    // uint8_t now use as boolean in doris
94
    if constexpr (std::is_same_v<uint8_t, ToFieldType>) {
95
        to = static_cast<bool>(from);
96
22
    } else {
97
22
        to = static_cast<ToFieldType>(from);
98
22
    }
99
22
}
_ZN5doris8CastUtil15static_cast_setIsnEEvRT0_RKT_
Line
Count
Source
92
22
void static_cast_set(ToFieldType& to, const FromFieldType& from) {
93
    // uint8_t now use as boolean in doris
94
    if constexpr (std::is_same_v<uint8_t, ToFieldType>) {
95
        to = static_cast<bool>(from);
96
22
    } else {
97
22
        to = static_cast<ToFieldType>(from);
98
22
    }
99
22
}
_ZN5doris8CastUtil15static_cast_setIinEEvRT0_RKT_
Line
Count
Source
92
22
void static_cast_set(ToFieldType& to, const FromFieldType& from) {
93
    // uint8_t now use as boolean in doris
94
    if constexpr (std::is_same_v<uint8_t, ToFieldType>) {
95
        to = static_cast<bool>(from);
96
22
    } else {
97
22
        to = static_cast<ToFieldType>(from);
98
22
    }
99
22
}
_ZN5doris8CastUtil15static_cast_setIlfEEvRT0_RKT_
Line
Count
Source
92
7.86k
void static_cast_set(ToFieldType& to, const FromFieldType& from) {
93
    // uint8_t now use as boolean in doris
94
    if constexpr (std::is_same_v<uint8_t, ToFieldType>) {
95
        to = static_cast<bool>(from);
96
7.86k
    } else {
97
7.86k
        to = static_cast<ToFieldType>(from);
98
7.86k
    }
99
7.86k
}
_ZN5doris8CastUtil15static_cast_setInfEEvRT0_RKT_
Line
Count
Source
92
51
void static_cast_set(ToFieldType& to, const FromFieldType& from) {
93
    // uint8_t now use as boolean in doris
94
    if constexpr (std::is_same_v<uint8_t, ToFieldType>) {
95
        to = static_cast<bool>(from);
96
51
    } else {
97
51
        to = static_cast<ToFieldType>(from);
98
51
    }
99
51
}
_ZN5doris8CastUtil15static_cast_setIdfEEvRT0_RKT_
Line
Count
Source
92
243
void static_cast_set(ToFieldType& to, const FromFieldType& from) {
93
    // uint8_t now use as boolean in doris
94
    if constexpr (std::is_same_v<uint8_t, ToFieldType>) {
95
        to = static_cast<bool>(from);
96
243
    } else {
97
243
        to = static_cast<ToFieldType>(from);
98
243
    }
99
243
}
_ZN5doris8CastUtil15static_cast_setIffEEvRT0_RKT_
Line
Count
Source
92
2
void static_cast_set(ToFieldType& to, const FromFieldType& from) {
93
    // uint8_t now use as boolean in doris
94
    if constexpr (std::is_same_v<uint8_t, ToFieldType>) {
95
        to = static_cast<bool>(from);
96
2
    } else {
97
2
        to = static_cast<ToFieldType>(from);
98
2
    }
99
2
}
_ZN5doris8CastUtil15static_cast_setIhfEEvRT0_RKT_
Line
Count
Source
92
6
void static_cast_set(ToFieldType& to, const FromFieldType& from) {
93
    // uint8_t now use as boolean in doris
94
    if constexpr (std::is_same_v<uint8_t, ToFieldType>) {
95
        to = static_cast<bool>(from);
96
6
    } else {
97
6
        to = static_cast<ToFieldType>(from);
98
6
    }
99
6
}
_ZN5doris8CastUtil15static_cast_setIafEEvRT0_RKT_
Line
Count
Source
92
51
void static_cast_set(ToFieldType& to, const FromFieldType& from) {
93
    // uint8_t now use as boolean in doris
94
    if constexpr (std::is_same_v<uint8_t, ToFieldType>) {
95
        to = static_cast<bool>(from);
96
51
    } else {
97
51
        to = static_cast<ToFieldType>(from);
98
51
    }
99
51
}
_ZN5doris8CastUtil15static_cast_setIsfEEvRT0_RKT_
Line
Count
Source
92
51
void static_cast_set(ToFieldType& to, const FromFieldType& from) {
93
    // uint8_t now use as boolean in doris
94
    if constexpr (std::is_same_v<uint8_t, ToFieldType>) {
95
        to = static_cast<bool>(from);
96
51
    } else {
97
51
        to = static_cast<ToFieldType>(from);
98
51
    }
99
51
}
_ZN5doris8CastUtil15static_cast_setIifEEvRT0_RKT_
Line
Count
Source
92
51
void static_cast_set(ToFieldType& to, const FromFieldType& from) {
93
    // uint8_t now use as boolean in doris
94
    if constexpr (std::is_same_v<uint8_t, ToFieldType>) {
95
        to = static_cast<bool>(from);
96
51
    } else {
97
51
        to = static_cast<ToFieldType>(from);
98
51
    }
99
51
}
_ZN5doris8CastUtil15static_cast_setIldEEvRT0_RKT_
Line
Count
Source
92
7.86k
void static_cast_set(ToFieldType& to, const FromFieldType& from) {
93
    // uint8_t now use as boolean in doris
94
    if constexpr (std::is_same_v<uint8_t, ToFieldType>) {
95
        to = static_cast<bool>(from);
96
7.86k
    } else {
97
7.86k
        to = static_cast<ToFieldType>(from);
98
7.86k
    }
99
7.86k
}
_ZN5doris8CastUtil15static_cast_setIndEEvRT0_RKT_
Line
Count
Source
92
50
void static_cast_set(ToFieldType& to, const FromFieldType& from) {
93
    // uint8_t now use as boolean in doris
94
    if constexpr (std::is_same_v<uint8_t, ToFieldType>) {
95
        to = static_cast<bool>(from);
96
50
    } else {
97
50
        to = static_cast<ToFieldType>(from);
98
50
    }
99
50
}
_ZN5doris8CastUtil15static_cast_setIddEEvRT0_RKT_
Line
Count
Source
92
161
void static_cast_set(ToFieldType& to, const FromFieldType& from) {
93
    // uint8_t now use as boolean in doris
94
    if constexpr (std::is_same_v<uint8_t, ToFieldType>) {
95
        to = static_cast<bool>(from);
96
161
    } else {
97
161
        to = static_cast<ToFieldType>(from);
98
161
    }
99
161
}
_ZN5doris8CastUtil15static_cast_setIfdEEvRT0_RKT_
Line
Count
Source
92
85
void static_cast_set(ToFieldType& to, const FromFieldType& from) {
93
    // uint8_t now use as boolean in doris
94
    if constexpr (std::is_same_v<uint8_t, ToFieldType>) {
95
        to = static_cast<bool>(from);
96
85
    } else {
97
85
        to = static_cast<ToFieldType>(from);
98
85
    }
99
85
}
_ZN5doris8CastUtil15static_cast_setIhdEEvRT0_RKT_
Line
Count
Source
92
6
void static_cast_set(ToFieldType& to, const FromFieldType& from) {
93
    // uint8_t now use as boolean in doris
94
    if constexpr (std::is_same_v<uint8_t, ToFieldType>) {
95
        to = static_cast<bool>(from);
96
6
    } else {
97
6
        to = static_cast<ToFieldType>(from);
98
6
    }
99
6
}
_ZN5doris8CastUtil15static_cast_setIadEEvRT0_RKT_
Line
Count
Source
92
51
void static_cast_set(ToFieldType& to, const FromFieldType& from) {
93
    // uint8_t now use as boolean in doris
94
    if constexpr (std::is_same_v<uint8_t, ToFieldType>) {
95
        to = static_cast<bool>(from);
96
51
    } else {
97
51
        to = static_cast<ToFieldType>(from);
98
51
    }
99
51
}
_ZN5doris8CastUtil15static_cast_setIsdEEvRT0_RKT_
Line
Count
Source
92
51
void static_cast_set(ToFieldType& to, const FromFieldType& from) {
93
    // uint8_t now use as boolean in doris
94
    if constexpr (std::is_same_v<uint8_t, ToFieldType>) {
95
        to = static_cast<bool>(from);
96
51
    } else {
97
51
        to = static_cast<ToFieldType>(from);
98
51
    }
99
51
}
_ZN5doris8CastUtil15static_cast_setIidEEvRT0_RKT_
Line
Count
Source
92
54
void static_cast_set(ToFieldType& to, const FromFieldType& from) {
93
    // uint8_t now use as boolean in doris
94
    if constexpr (std::is_same_v<uint8_t, ToFieldType>) {
95
        to = static_cast<bool>(from);
96
54
    } else {
97
54
        to = static_cast<ToFieldType>(from);
98
54
    }
99
54
}
100
101
template <typename T>
102
constexpr static bool IsPureDigitType =
103
        IsDataTypeInt<T> || IsDataTypeFloat<T> || IsDataTypeDecimal<T>;
104
105
// IsDataTypeNumber include integer, float and boolean.
106
template <typename T>
107
constexpr static bool IsBaseCastToType =
108
        IsDataTypeNumber<T> || IsDataTypeDecimal<T> || IsDatelikeTypes<T> || IsIPType<T>;
109
110
template <typename T>
111
constexpr static bool IsBaseCastFromType = IsBaseCastToType<T> || IsStringType<T>;
112
113
} // namespace CastUtil
114
115
3.07k
inline ColumnNullable::MutablePtr create_empty_nullable_column(const DataTypePtr& nested_type) {
116
    // Batch serde paths resize the nested column and null map together.
117
3.07k
    return ColumnNullable::create(remove_nullable(nested_type)->create_column(),
118
3.07k
                                  ColumnUInt8::create());
119
3.07k
}
120
121
namespace CastWrapper {
122
123
using WrapperType =
124
        std::function<Status(RuntimeState*, const ColumnWithTypeAndName&, ColumnWithTypeAndName&,
125
                             size_t, const NullMap::value_type*)>;
126
using FunctionContextWrapperType =
127
        std::function<Status(FunctionContext*, const ColumnWithTypeAndName&, ColumnWithTypeAndName&,
128
                             size_t, const NullMap::value_type*)>;
129
130
using ElementWrappers = std::vector<WrapperType>;
131
132
WrapperType create_unsupport_wrapper(const String error_msg);
133
134
WrapperType create_unsupport_wrapper(const String from_type_name, const String to_type_name);
135
//// Generic conversion of any type to String.
136
137
Status cast_from_generic_to_jsonb(RuntimeState* state, const ColumnWithTypeAndName& source_column,
138
                                  ColumnWithTypeAndName& target_column, size_t input_rows_count,
139
                                  const NullMap::value_type* null_map = nullptr);
140
141
// string to bitmap or hll object
142
Status cast_from_string_to_generic(RuntimeState* state, const ColumnWithTypeAndName& source_column,
143
                                   ColumnWithTypeAndName& target_column, size_t input_rows_count,
144
                                   const NullMap::value_type* null_map = nullptr);
145
146
Status cast_from_string_to_complex_type(RuntimeState* state,
147
                                        const ColumnWithTypeAndName& source_column,
148
                                        ColumnWithTypeAndName& target_column,
149
                                        size_t input_rows_count,
150
                                        const NullMap::value_type* null_map = nullptr);
151
152
Status cast_from_string_to_complex_type_strict_mode(RuntimeState* state,
153
                                                    const ColumnWithTypeAndName& source_column,
154
                                                    ColumnWithTypeAndName& target_column,
155
                                                    size_t input_rows_count,
156
                                                    const NullMap::value_type* null_map = nullptr);
157
158
// bind_cast_executor -> prepare_remove_nullable -> prepare_impl
159
160
WrapperType bind_cast_executor(const CastOptions& options, const DataTypePtr& from_type,
161
                               const DataTypePtr& to_type);
162
163
FunctionContextWrapperType bind_cast_executor(FunctionContext* context,
164
                                              const DataTypePtr& from_type,
165
                                              const DataTypePtr& to_type);
166
167
WrapperType prepare_remove_nullable(const CastOptions& options, const DataTypePtr& from_type,
168
                                    const DataTypePtr& to_type);
169
170
WrapperType prepare_impl(const CastOptions& options, const DataTypePtr& from_type,
171
                         const DataTypePtr& to_type);
172
173
Status execute_wrapper(RuntimeState* state, const WrapperType& wrapper,
174
                       const ColumnWithTypeAndName& source_column,
175
                       ColumnWithTypeAndName& target_column, size_t rows);
176
177
Status execute_wrapper(FunctionContext* context, const FunctionContextWrapperType& wrapper,
178
                       const ColumnWithTypeAndName& source_column,
179
                       ColumnWithTypeAndName& target_column, size_t rows);
180
181
ElementWrappers get_element_wrappers(const CastOptions& options,
182
                                     const DataTypes& from_element_types,
183
                                     const DataTypes& to_element_types);
184
185
/// A child of an ARRAY/MAP/STRUCT column inherits the NULL state of the row it belongs to: when a
186
/// row is NULL, its children are hidden payloads without SQL semantics (IF/NULLIF keep an arbitrary
187
/// value there) and a strict cast must not validate them.
188
struct ChildNullMask {
189
    /// Column to hand to the child cast. A nullable child column carries the merged NULL mask
190
    /// itself, because a child cast reads the NULL state of a nullable source from its column.
191
    ColumnPtr column;
192
    /// Mask to hand to the child cast when the child column cannot carry it (not nullable child),
193
    /// so the child cast skips the masked children itself.
194
    const NullMap::value_type* null_map = nullptr;
195
    /// Owns `null_map`, so it has to outlive the child cast.
196
    ColumnPtr mask_holder;
197
};
198
199
/// Merge the NULL mask of the rows of a complex column into the mask of one of its children.
200
/// `offsets` expands the row aligned `parent_null_map` to a flattened child (ARRAY, MAP), pass
201
/// nullptr for a child that shares the rows of its parent (STRUCT).
202
ChildNullMask build_child_null_mask(const NullMap::value_type* parent_null_map,
203
                                    const IColumn::Offsets64* offsets, const ColumnPtr& child);
204
205
/// Whether the mask of `rows` rows marks at least one of them as NULL. A nullable column keeps an
206
/// all zero mask when it has no NULL row, and there is nothing to inherit from such a column. Callers
207
/// that build masks for several children of the same parent can check this once and pass nullptr to
208
/// build_child_null_mask when it is false.
209
bool has_masked_row(const NullMap::value_type* null_map, size_t rows);
210
211
WrapperType create_identity_wrapper(const DataTypePtr&);
212
213
} // namespace CastWrapper
214
215
enum class CastModeType { StrictMode, NonStrictMode };
216
217
16.1k
inline std::string cast_mode_type_to_string(CastModeType cast_mode) {
218
16.1k
    switch (cast_mode) {
219
16.0k
    case CastModeType::StrictMode:
220
16.0k
        return "StrictMode";
221
109
    case CastModeType::NonStrictMode:
222
109
        return "NonStrictMode";
223
0
    default:
224
0
        return "Unknown";
225
16.1k
    }
226
16.1k
}
227
inline std::string cast_mode_type_to_string(CastModeType cast_mode, const DataTypePtr& from_type,
228
16.1k
                                            const DataTypePtr& to_type) {
229
16.1k
    return fmt::format("{}: from {} cast to {}", cast_mode_type_to_string(cast_mode),
230
16.1k
                       from_type->get_name(), to_type->get_name());
231
16.1k
}
232
233
class CastToBase {
234
public:
235
35.0k
    virtual ~CastToBase() = default;
236
    virtual Status execute_impl(RuntimeState* state, const ColumnWithTypeAndName& source_column,
237
                                ColumnWithTypeAndName& target_column, size_t input_rows_count,
238
                                const NullMap::value_type* parent_null_map = nullptr) const = 0;
239
};
240
241
template <CastModeType CastMode, typename FromDataType, typename ToDataType>
242
class CastToImpl : public CastToBase {
243
public:
244
    Status execute_impl(RuntimeState* /*state*/, const ColumnWithTypeAndName& source_column,
245
                        ColumnWithTypeAndName& target_column, size_t /*input_rows_count*/,
246
16.1k
                        const NullMap::value_type* /*parent_null_map*/ = nullptr) const override {
247
16.1k
        return Status::RuntimeError(
248
16.1k
                "not support  {} ",
249
16.1k
                cast_mode_type_to_string(CastMode, source_column.type, target_column.type));
250
16.1k
    }
Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE0ENS_12DataTypeDateENS_14DataTypeNumberILNS_13PrimitiveTypeE2EEEE12execute_implEPNS_12RuntimeStateERKNS_21ColumnWithTypeAndNameERS9_mPKh
Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE1ENS_12DataTypeDateENS_14DataTypeNumberILNS_13PrimitiveTypeE2EEEE12execute_implEPNS_12RuntimeStateERKNS_21ColumnWithTypeAndNameERS9_mPKh
Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE0ENS_14DataTypeDateV2ENS_14DataTypeNumberILNS_13PrimitiveTypeE2EEEE12execute_implEPNS_12RuntimeStateERKNS_21ColumnWithTypeAndNameERS9_mPKh
Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE1ENS_14DataTypeDateV2ENS_14DataTypeNumberILNS_13PrimitiveTypeE2EEEE12execute_implEPNS_12RuntimeStateERKNS_21ColumnWithTypeAndNameERS9_mPKh
Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE0ENS_18DataTypeDateTimeV2ENS_14DataTypeNumberILNS_13PrimitiveTypeE2EEEE12execute_implEPNS_12RuntimeStateERKNS_21ColumnWithTypeAndNameERS9_mPKh
Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE1ENS_18DataTypeDateTimeV2ENS_14DataTypeNumberILNS_13PrimitiveTypeE2EEEE12execute_implEPNS_12RuntimeStateERKNS_21ColumnWithTypeAndNameERS9_mPKh
Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE0ENS_16DataTypeDateTimeENS_14DataTypeNumberILNS_13PrimitiveTypeE2EEEE12execute_implEPNS_12RuntimeStateERKNS_21ColumnWithTypeAndNameERS9_mPKh
Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE1ENS_16DataTypeDateTimeENS_14DataTypeNumberILNS_13PrimitiveTypeE2EEEE12execute_implEPNS_12RuntimeStateERKNS_21ColumnWithTypeAndNameERS9_mPKh
Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE0ENS_14DataTypeTimeV2ENS_14DataTypeNumberILNS_13PrimitiveTypeE2EEEE12execute_implEPNS_12RuntimeStateERKNS_21ColumnWithTypeAndNameERS9_mPKh
Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE1ENS_14DataTypeTimeV2ENS_14DataTypeNumberILNS_13PrimitiveTypeE2EEEE12execute_implEPNS_12RuntimeStateERKNS_21ColumnWithTypeAndNameERS9_mPKh
Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE0ENS_12DataTypeIPv4ENS_14DataTypeNumberILNS_13PrimitiveTypeE2EEEE12execute_implEPNS_12RuntimeStateERKNS_21ColumnWithTypeAndNameERS9_mPKh
Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE1ENS_12DataTypeIPv4ENS_14DataTypeNumberILNS_13PrimitiveTypeE2EEEE12execute_implEPNS_12RuntimeStateERKNS_21ColumnWithTypeAndNameERS9_mPKh
Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE0ENS_12DataTypeIPv6ENS_14DataTypeNumberILNS_13PrimitiveTypeE2EEEE12execute_implEPNS_12RuntimeStateERKNS_21ColumnWithTypeAndNameERS9_mPKh
Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE1ENS_12DataTypeIPv6ENS_14DataTypeNumberILNS_13PrimitiveTypeE2EEEE12execute_implEPNS_12RuntimeStateERKNS_21ColumnWithTypeAndNameERS9_mPKh
Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE0ENS_19DataTypeTimeStampTzENS_12DataTypeDateEE12execute_implEPNS_12RuntimeStateERKNS_21ColumnWithTypeAndNameERS7_mPKh
Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE1ENS_19DataTypeTimeStampTzENS_12DataTypeDateEE12execute_implEPNS_12RuntimeStateERKNS_21ColumnWithTypeAndNameERS7_mPKh
Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE0ENS_19DataTypeTimeStampTzENS_16DataTypeDateTimeEE12execute_implEPNS_12RuntimeStateERKNS_21ColumnWithTypeAndNameERS7_mPKh
Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE1ENS_19DataTypeTimeStampTzENS_16DataTypeDateTimeEE12execute_implEPNS_12RuntimeStateERKNS_21ColumnWithTypeAndNameERS7_mPKh
Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE0ENS_19DataTypeTimeStampTzENS_14DataTypeDateV2EE12execute_implEPNS_12RuntimeStateERKNS_21ColumnWithTypeAndNameERS7_mPKh
Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE1ENS_19DataTypeTimeStampTzENS_14DataTypeDateV2EE12execute_implEPNS_12RuntimeStateERKNS_21ColumnWithTypeAndNameERS7_mPKh
Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE0ENS_19DataTypeTimeStampTzENS_14DataTypeTimeV2EE12execute_implEPNS_12RuntimeStateERKNS_21ColumnWithTypeAndNameERS7_mPKh
Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE1ENS_19DataTypeTimeStampTzENS_14DataTypeTimeV2EE12execute_implEPNS_12RuntimeStateERKNS_21ColumnWithTypeAndNameERS7_mPKh
Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE0ENS_12DataTypeDateENS_14DataTypeNumberILNS_13PrimitiveTypeE8EEEE12execute_implEPNS_12RuntimeStateERKNS_21ColumnWithTypeAndNameERS9_mPKh
_ZNK5doris10CastToImplILNS_12CastModeTypeE0ENS_14DataTypeDateV2ENS_14DataTypeNumberILNS_13PrimitiveTypeE8EEEE12execute_implEPNS_12RuntimeStateERKNS_21ColumnWithTypeAndNameERS9_mPKh
Line
Count
Source
246
36
                        const NullMap::value_type* /*parent_null_map*/ = nullptr) const override {
247
36
        return Status::RuntimeError(
248
36
                "not support  {} ",
249
36
                cast_mode_type_to_string(CastMode, source_column.type, target_column.type));
250
36
    }
_ZNK5doris10CastToImplILNS_12CastModeTypeE0ENS_18DataTypeDateTimeV2ENS_14DataTypeNumberILNS_13PrimitiveTypeE8EEEE12execute_implEPNS_12RuntimeStateERKNS_21ColumnWithTypeAndNameERS9_mPKh
Line
Count
Source
246
7.77k
                        const NullMap::value_type* /*parent_null_map*/ = nullptr) const override {
247
7.77k
        return Status::RuntimeError(
248
7.77k
                "not support  {} ",
249
7.77k
                cast_mode_type_to_string(CastMode, source_column.type, target_column.type));
250
7.77k
    }
Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE0ENS_19DataTypeTimeStampNsENS_14DataTypeNumberILNS_13PrimitiveTypeE8EEEE12execute_implEPNS_12RuntimeStateERKNS_21ColumnWithTypeAndNameERS9_mPKh
Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE0ENS_16DataTypeDateTimeENS_14DataTypeNumberILNS_13PrimitiveTypeE8EEEE12execute_implEPNS_12RuntimeStateERKNS_21ColumnWithTypeAndNameERS9_mPKh
_ZNK5doris10CastToImplILNS_12CastModeTypeE0ENS_14DataTypeTimeV2ENS_14DataTypeNumberILNS_13PrimitiveTypeE8EEEE12execute_implEPNS_12RuntimeStateERKNS_21ColumnWithTypeAndNameERS9_mPKh
Line
Count
Source
246
160
                        const NullMap::value_type* /*parent_null_map*/ = nullptr) const override {
247
160
        return Status::RuntimeError(
248
160
                "not support  {} ",
249
160
                cast_mode_type_to_string(CastMode, source_column.type, target_column.type));
250
160
    }
Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE0ENS_12DataTypeDateENS_14DataTypeNumberILNS_13PrimitiveTypeE9EEEE12execute_implEPNS_12RuntimeStateERKNS_21ColumnWithTypeAndNameERS9_mPKh
_ZNK5doris10CastToImplILNS_12CastModeTypeE0ENS_14DataTypeDateV2ENS_14DataTypeNumberILNS_13PrimitiveTypeE9EEEE12execute_implEPNS_12RuntimeStateERKNS_21ColumnWithTypeAndNameERS9_mPKh
Line
Count
Source
246
36
                        const NullMap::value_type* /*parent_null_map*/ = nullptr) const override {
247
36
        return Status::RuntimeError(
248
36
                "not support  {} ",
249
36
                cast_mode_type_to_string(CastMode, source_column.type, target_column.type));
250
36
    }
_ZNK5doris10CastToImplILNS_12CastModeTypeE0ENS_18DataTypeDateTimeV2ENS_14DataTypeNumberILNS_13PrimitiveTypeE9EEEE12execute_implEPNS_12RuntimeStateERKNS_21ColumnWithTypeAndNameERS9_mPKh
Line
Count
Source
246
7.77k
                        const NullMap::value_type* /*parent_null_map*/ = nullptr) const override {
247
7.77k
        return Status::RuntimeError(
248
7.77k
                "not support  {} ",
249
7.77k
                cast_mode_type_to_string(CastMode, source_column.type, target_column.type));
250
7.77k
    }
Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE0ENS_19DataTypeTimeStampNsENS_14DataTypeNumberILNS_13PrimitiveTypeE9EEEE12execute_implEPNS_12RuntimeStateERKNS_21ColumnWithTypeAndNameERS9_mPKh
Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE0ENS_16DataTypeDateTimeENS_14DataTypeNumberILNS_13PrimitiveTypeE9EEEE12execute_implEPNS_12RuntimeStateERKNS_21ColumnWithTypeAndNameERS9_mPKh
_ZNK5doris10CastToImplILNS_12CastModeTypeE0ENS_14DataTypeTimeV2ENS_14DataTypeNumberILNS_13PrimitiveTypeE9EEEE12execute_implEPNS_12RuntimeStateERKNS_21ColumnWithTypeAndNameERS9_mPKh
Line
Count
Source
246
160
                        const NullMap::value_type* /*parent_null_map*/ = nullptr) const override {
247
160
        return Status::RuntimeError(
248
160
                "not support  {} ",
249
160
                cast_mode_type_to_string(CastMode, source_column.type, target_column.type));
250
160
    }
Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE0ENS_12DataTypeDateENS_14DataTypeNumberILNS_13PrimitiveTypeE3EEEE12execute_implEPNS_12RuntimeStateERKNS_21ColumnWithTypeAndNameERS9_mPKh
Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE1ENS_12DataTypeDateENS_14DataTypeNumberILNS_13PrimitiveTypeE3EEEE12execute_implEPNS_12RuntimeStateERKNS_21ColumnWithTypeAndNameERS9_mPKh
_ZNK5doris10CastToImplILNS_12CastModeTypeE0ENS_14DataTypeDateV2ENS_14DataTypeNumberILNS_13PrimitiveTypeE3EEEE12execute_implEPNS_12RuntimeStateERKNS_21ColumnWithTypeAndNameERS9_mPKh
Line
Count
Source
246
36
                        const NullMap::value_type* /*parent_null_map*/ = nullptr) const override {
247
36
        return Status::RuntimeError(
248
36
                "not support  {} ",
249
36
                cast_mode_type_to_string(CastMode, source_column.type, target_column.type));
250
36
    }
_ZNK5doris10CastToImplILNS_12CastModeTypeE1ENS_14DataTypeDateV2ENS_14DataTypeNumberILNS_13PrimitiveTypeE3EEEE12execute_implEPNS_12RuntimeStateERKNS_21ColumnWithTypeAndNameERS9_mPKh
Line
Count
Source
246
36
                        const NullMap::value_type* /*parent_null_map*/ = nullptr) const override {
247
36
        return Status::RuntimeError(
248
36
                "not support  {} ",
249
36
                cast_mode_type_to_string(CastMode, source_column.type, target_column.type));
250
36
    }
_ZNK5doris10CastToImplILNS_12CastModeTypeE0ENS_18DataTypeDateTimeV2ENS_14DataTypeNumberILNS_13PrimitiveTypeE3EEEE12execute_implEPNS_12RuntimeStateERKNS_21ColumnWithTypeAndNameERS9_mPKh
Line
Count
Source
246
12
                        const NullMap::value_type* /*parent_null_map*/ = nullptr) const override {
247
12
        return Status::RuntimeError(
248
12
                "not support  {} ",
249
12
                cast_mode_type_to_string(CastMode, source_column.type, target_column.type));
250
12
    }
_ZNK5doris10CastToImplILNS_12CastModeTypeE1ENS_18DataTypeDateTimeV2ENS_14DataTypeNumberILNS_13PrimitiveTypeE3EEEE12execute_implEPNS_12RuntimeStateERKNS_21ColumnWithTypeAndNameERS9_mPKh
Line
Count
Source
246
12
                        const NullMap::value_type* /*parent_null_map*/ = nullptr) const override {
247
12
        return Status::RuntimeError(
248
12
                "not support  {} ",
249
12
                cast_mode_type_to_string(CastMode, source_column.type, target_column.type));
250
12
    }
Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE0ENS_19DataTypeTimeStampNsENS_14DataTypeNumberILNS_13PrimitiveTypeE3EEEE12execute_implEPNS_12RuntimeStateERKNS_21ColumnWithTypeAndNameERS9_mPKh
Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE1ENS_19DataTypeTimeStampNsENS_14DataTypeNumberILNS_13PrimitiveTypeE3EEEE12execute_implEPNS_12RuntimeStateERKNS_21ColumnWithTypeAndNameERS9_mPKh
Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE0ENS_16DataTypeDateTimeENS_14DataTypeNumberILNS_13PrimitiveTypeE3EEEE12execute_implEPNS_12RuntimeStateERKNS_21ColumnWithTypeAndNameERS9_mPKh
Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE1ENS_16DataTypeDateTimeENS_14DataTypeNumberILNS_13PrimitiveTypeE3EEEE12execute_implEPNS_12RuntimeStateERKNS_21ColumnWithTypeAndNameERS9_mPKh
Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE0ENS_12DataTypeDateENS_14DataTypeNumberILNS_13PrimitiveTypeE4EEEE12execute_implEPNS_12RuntimeStateERKNS_21ColumnWithTypeAndNameERS9_mPKh
Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE1ENS_12DataTypeDateENS_14DataTypeNumberILNS_13PrimitiveTypeE4EEEE12execute_implEPNS_12RuntimeStateERKNS_21ColumnWithTypeAndNameERS9_mPKh
_ZNK5doris10CastToImplILNS_12CastModeTypeE0ENS_14DataTypeDateV2ENS_14DataTypeNumberILNS_13PrimitiveTypeE4EEEE12execute_implEPNS_12RuntimeStateERKNS_21ColumnWithTypeAndNameERS9_mPKh
Line
Count
Source
246
36
                        const NullMap::value_type* /*parent_null_map*/ = nullptr) const override {
247
36
        return Status::RuntimeError(
248
36
                "not support  {} ",
249
36
                cast_mode_type_to_string(CastMode, source_column.type, target_column.type));
250
36
    }
_ZNK5doris10CastToImplILNS_12CastModeTypeE1ENS_14DataTypeDateV2ENS_14DataTypeNumberILNS_13PrimitiveTypeE4EEEE12execute_implEPNS_12RuntimeStateERKNS_21ColumnWithTypeAndNameERS9_mPKh
Line
Count
Source
246
36
                        const NullMap::value_type* /*parent_null_map*/ = nullptr) const override {
247
36
        return Status::RuntimeError(
248
36
                "not support  {} ",
249
36
                cast_mode_type_to_string(CastMode, source_column.type, target_column.type));
250
36
    }
_ZNK5doris10CastToImplILNS_12CastModeTypeE0ENS_18DataTypeDateTimeV2ENS_14DataTypeNumberILNS_13PrimitiveTypeE4EEEE12execute_implEPNS_12RuntimeStateERKNS_21ColumnWithTypeAndNameERS9_mPKh
Line
Count
Source
246
12
                        const NullMap::value_type* /*parent_null_map*/ = nullptr) const override {
247
12
        return Status::RuntimeError(
248
12
                "not support  {} ",
249
12
                cast_mode_type_to_string(CastMode, source_column.type, target_column.type));
250
12
    }
_ZNK5doris10CastToImplILNS_12CastModeTypeE1ENS_18DataTypeDateTimeV2ENS_14DataTypeNumberILNS_13PrimitiveTypeE4EEEE12execute_implEPNS_12RuntimeStateERKNS_21ColumnWithTypeAndNameERS9_mPKh
Line
Count
Source
246
12
                        const NullMap::value_type* /*parent_null_map*/ = nullptr) const override {
247
12
        return Status::RuntimeError(
248
12
                "not support  {} ",
249
12
                cast_mode_type_to_string(CastMode, source_column.type, target_column.type));
250
12
    }
Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE0ENS_19DataTypeTimeStampNsENS_14DataTypeNumberILNS_13PrimitiveTypeE4EEEE12execute_implEPNS_12RuntimeStateERKNS_21ColumnWithTypeAndNameERS9_mPKh
Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE1ENS_19DataTypeTimeStampNsENS_14DataTypeNumberILNS_13PrimitiveTypeE4EEEE12execute_implEPNS_12RuntimeStateERKNS_21ColumnWithTypeAndNameERS9_mPKh
Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE0ENS_16DataTypeDateTimeENS_14DataTypeNumberILNS_13PrimitiveTypeE4EEEE12execute_implEPNS_12RuntimeStateERKNS_21ColumnWithTypeAndNameERS9_mPKh
Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE1ENS_16DataTypeDateTimeENS_14DataTypeNumberILNS_13PrimitiveTypeE4EEEE12execute_implEPNS_12RuntimeStateERKNS_21ColumnWithTypeAndNameERS9_mPKh
_ZNK5doris10CastToImplILNS_12CastModeTypeE0ENS_18DataTypeDateTimeV2ENS_14DataTypeNumberILNS_13PrimitiveTypeE5EEEE12execute_implEPNS_12RuntimeStateERKNS_21ColumnWithTypeAndNameERS9_mPKh
Line
Count
Source
246
12
                        const NullMap::value_type* /*parent_null_map*/ = nullptr) const override {
247
12
        return Status::RuntimeError(
248
12
                "not support  {} ",
249
12
                cast_mode_type_to_string(CastMode, source_column.type, target_column.type));
250
12
    }
_ZNK5doris10CastToImplILNS_12CastModeTypeE1ENS_18DataTypeDateTimeV2ENS_14DataTypeNumberILNS_13PrimitiveTypeE5EEEE12execute_implEPNS_12RuntimeStateERKNS_21ColumnWithTypeAndNameERS9_mPKh
Line
Count
Source
246
12
                        const NullMap::value_type* /*parent_null_map*/ = nullptr) const override {
247
12
        return Status::RuntimeError(
248
12
                "not support  {} ",
249
12
                cast_mode_type_to_string(CastMode, source_column.type, target_column.type));
250
12
    }
Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE0ENS_19DataTypeTimeStampNsENS_14DataTypeNumberILNS_13PrimitiveTypeE5EEEE12execute_implEPNS_12RuntimeStateERKNS_21ColumnWithTypeAndNameERS9_mPKh
_ZNK5doris10CastToImplILNS_12CastModeTypeE1ENS_19DataTypeTimeStampNsENS_14DataTypeNumberILNS_13PrimitiveTypeE5EEEE12execute_implEPNS_12RuntimeStateERKNS_21ColumnWithTypeAndNameERS9_mPKh
Line
Count
Source
246
1
                        const NullMap::value_type* /*parent_null_map*/ = nullptr) const override {
247
1
        return Status::RuntimeError(
248
1
                "not support  {} ",
249
1
                cast_mode_type_to_string(CastMode, source_column.type, target_column.type));
250
1
    }
Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE0ENS_16DataTypeDateTimeENS_14DataTypeNumberILNS_13PrimitiveTypeE5EEEE12execute_implEPNS_12RuntimeStateERKNS_21ColumnWithTypeAndNameERS9_mPKh
Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE1ENS_16DataTypeDateTimeENS_14DataTypeNumberILNS_13PrimitiveTypeE5EEEE12execute_implEPNS_12RuntimeStateERKNS_21ColumnWithTypeAndNameERS9_mPKh
Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE0ENS_14DataTypeNumberILNS_13PrimitiveTypeE2EEENS_12DataTypeIPv4EE12execute_implEPNS_12RuntimeStateERKNS_21ColumnWithTypeAndNameERS9_mPKh
Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE1ENS_14DataTypeNumberILNS_13PrimitiveTypeE2EEENS_12DataTypeIPv4EE12execute_implEPNS_12RuntimeStateERKNS_21ColumnWithTypeAndNameERS9_mPKh
Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE0ENS_14DataTypeNumberILNS_13PrimitiveTypeE3EEENS_12DataTypeIPv4EE12execute_implEPNS_12RuntimeStateERKNS_21ColumnWithTypeAndNameERS9_mPKh
Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE1ENS_14DataTypeNumberILNS_13PrimitiveTypeE3EEENS_12DataTypeIPv4EE12execute_implEPNS_12RuntimeStateERKNS_21ColumnWithTypeAndNameERS9_mPKh
Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE0ENS_14DataTypeNumberILNS_13PrimitiveTypeE4EEENS_12DataTypeIPv4EE12execute_implEPNS_12RuntimeStateERKNS_21ColumnWithTypeAndNameERS9_mPKh
Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE1ENS_14DataTypeNumberILNS_13PrimitiveTypeE4EEENS_12DataTypeIPv4EE12execute_implEPNS_12RuntimeStateERKNS_21ColumnWithTypeAndNameERS9_mPKh
Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE0ENS_14DataTypeNumberILNS_13PrimitiveTypeE5EEENS_12DataTypeIPv4EE12execute_implEPNS_12RuntimeStateERKNS_21ColumnWithTypeAndNameERS9_mPKh
Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE1ENS_14DataTypeNumberILNS_13PrimitiveTypeE5EEENS_12DataTypeIPv4EE12execute_implEPNS_12RuntimeStateERKNS_21ColumnWithTypeAndNameERS9_mPKh
Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE0ENS_14DataTypeNumberILNS_13PrimitiveTypeE6EEENS_12DataTypeIPv4EE12execute_implEPNS_12RuntimeStateERKNS_21ColumnWithTypeAndNameERS9_mPKh
Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE1ENS_14DataTypeNumberILNS_13PrimitiveTypeE6EEENS_12DataTypeIPv4EE12execute_implEPNS_12RuntimeStateERKNS_21ColumnWithTypeAndNameERS9_mPKh
Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE0ENS_14DataTypeNumberILNS_13PrimitiveTypeE7EEENS_12DataTypeIPv4EE12execute_implEPNS_12RuntimeStateERKNS_21ColumnWithTypeAndNameERS9_mPKh
Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE1ENS_14DataTypeNumberILNS_13PrimitiveTypeE7EEENS_12DataTypeIPv4EE12execute_implEPNS_12RuntimeStateERKNS_21ColumnWithTypeAndNameERS9_mPKh
Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE0ENS_14DataTypeNumberILNS_13PrimitiveTypeE8EEENS_12DataTypeIPv4EE12execute_implEPNS_12RuntimeStateERKNS_21ColumnWithTypeAndNameERS9_mPKh
Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE1ENS_14DataTypeNumberILNS_13PrimitiveTypeE8EEENS_12DataTypeIPv4EE12execute_implEPNS_12RuntimeStateERKNS_21ColumnWithTypeAndNameERS9_mPKh
Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE0ENS_14DataTypeNumberILNS_13PrimitiveTypeE9EEENS_12DataTypeIPv4EE12execute_implEPNS_12RuntimeStateERKNS_21ColumnWithTypeAndNameERS9_mPKh
Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE1ENS_14DataTypeNumberILNS_13PrimitiveTypeE9EEENS_12DataTypeIPv4EE12execute_implEPNS_12RuntimeStateERKNS_21ColumnWithTypeAndNameERS9_mPKh
Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE0ENS_12DataTypeIPv4ES2_E12execute_implEPNS_12RuntimeStateERKNS_21ColumnWithTypeAndNameERS6_mPKh
Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE1ENS_12DataTypeIPv4ES2_E12execute_implEPNS_12RuntimeStateERKNS_21ColumnWithTypeAndNameERS6_mPKh
Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE0ENS_12DataTypeIPv6ENS_12DataTypeIPv4EE12execute_implEPNS_12RuntimeStateERKNS_21ColumnWithTypeAndNameERS7_mPKh
Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE1ENS_12DataTypeIPv6ENS_12DataTypeIPv4EE12execute_implEPNS_12RuntimeStateERKNS_21ColumnWithTypeAndNameERS7_mPKh
Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE0ENS_14DataTypeNumberILNS_13PrimitiveTypeE2EEENS_12DataTypeIPv6EE12execute_implEPNS_12RuntimeStateERKNS_21ColumnWithTypeAndNameERS9_mPKh
Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE1ENS_14DataTypeNumberILNS_13PrimitiveTypeE2EEENS_12DataTypeIPv6EE12execute_implEPNS_12RuntimeStateERKNS_21ColumnWithTypeAndNameERS9_mPKh
Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE0ENS_14DataTypeNumberILNS_13PrimitiveTypeE3EEENS_12DataTypeIPv6EE12execute_implEPNS_12RuntimeStateERKNS_21ColumnWithTypeAndNameERS9_mPKh
Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE1ENS_14DataTypeNumberILNS_13PrimitiveTypeE3EEENS_12DataTypeIPv6EE12execute_implEPNS_12RuntimeStateERKNS_21ColumnWithTypeAndNameERS9_mPKh
Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE0ENS_14DataTypeNumberILNS_13PrimitiveTypeE4EEENS_12DataTypeIPv6EE12execute_implEPNS_12RuntimeStateERKNS_21ColumnWithTypeAndNameERS9_mPKh
Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE1ENS_14DataTypeNumberILNS_13PrimitiveTypeE4EEENS_12DataTypeIPv6EE12execute_implEPNS_12RuntimeStateERKNS_21ColumnWithTypeAndNameERS9_mPKh
Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE0ENS_14DataTypeNumberILNS_13PrimitiveTypeE5EEENS_12DataTypeIPv6EE12execute_implEPNS_12RuntimeStateERKNS_21ColumnWithTypeAndNameERS9_mPKh
Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE1ENS_14DataTypeNumberILNS_13PrimitiveTypeE5EEENS_12DataTypeIPv6EE12execute_implEPNS_12RuntimeStateERKNS_21ColumnWithTypeAndNameERS9_mPKh
Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE0ENS_14DataTypeNumberILNS_13PrimitiveTypeE6EEENS_12DataTypeIPv6EE12execute_implEPNS_12RuntimeStateERKNS_21ColumnWithTypeAndNameERS9_mPKh
Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE1ENS_14DataTypeNumberILNS_13PrimitiveTypeE6EEENS_12DataTypeIPv6EE12execute_implEPNS_12RuntimeStateERKNS_21ColumnWithTypeAndNameERS9_mPKh
Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE0ENS_14DataTypeNumberILNS_13PrimitiveTypeE7EEENS_12DataTypeIPv6EE12execute_implEPNS_12RuntimeStateERKNS_21ColumnWithTypeAndNameERS9_mPKh
Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE1ENS_14DataTypeNumberILNS_13PrimitiveTypeE7EEENS_12DataTypeIPv6EE12execute_implEPNS_12RuntimeStateERKNS_21ColumnWithTypeAndNameERS9_mPKh
Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE0ENS_14DataTypeNumberILNS_13PrimitiveTypeE8EEENS_12DataTypeIPv6EE12execute_implEPNS_12RuntimeStateERKNS_21ColumnWithTypeAndNameERS9_mPKh
Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE1ENS_14DataTypeNumberILNS_13PrimitiveTypeE8EEENS_12DataTypeIPv6EE12execute_implEPNS_12RuntimeStateERKNS_21ColumnWithTypeAndNameERS9_mPKh
Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE0ENS_14DataTypeNumberILNS_13PrimitiveTypeE9EEENS_12DataTypeIPv6EE12execute_implEPNS_12RuntimeStateERKNS_21ColumnWithTypeAndNameERS9_mPKh
Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE1ENS_14DataTypeNumberILNS_13PrimitiveTypeE9EEENS_12DataTypeIPv6EE12execute_implEPNS_12RuntimeStateERKNS_21ColumnWithTypeAndNameERS9_mPKh
Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE0ENS_12DataTypeIPv6ES2_E12execute_implEPNS_12RuntimeStateERKNS_21ColumnWithTypeAndNameERS6_mPKh
Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE1ENS_12DataTypeIPv6ES2_E12execute_implEPNS_12RuntimeStateERKNS_21ColumnWithTypeAndNameERS6_mPKh
Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE0ENS_14DataTypeNumberILNS_13PrimitiveTypeE2EEENS_19DataTypeTimeStampTzEE12execute_implEPNS_12RuntimeStateERKNS_21ColumnWithTypeAndNameERS9_mPKh
Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE1ENS_14DataTypeNumberILNS_13PrimitiveTypeE2EEENS_19DataTypeTimeStampTzEE12execute_implEPNS_12RuntimeStateERKNS_21ColumnWithTypeAndNameERS9_mPKh
Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE0ENS_14DataTypeNumberILNS_13PrimitiveTypeE3EEENS_19DataTypeTimeStampTzEE12execute_implEPNS_12RuntimeStateERKNS_21ColumnWithTypeAndNameERS9_mPKh
Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE1ENS_14DataTypeNumberILNS_13PrimitiveTypeE3EEENS_19DataTypeTimeStampTzEE12execute_implEPNS_12RuntimeStateERKNS_21ColumnWithTypeAndNameERS9_mPKh
Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE0ENS_14DataTypeNumberILNS_13PrimitiveTypeE4EEENS_19DataTypeTimeStampTzEE12execute_implEPNS_12RuntimeStateERKNS_21ColumnWithTypeAndNameERS9_mPKh
Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE1ENS_14DataTypeNumberILNS_13PrimitiveTypeE4EEENS_19DataTypeTimeStampTzEE12execute_implEPNS_12RuntimeStateERKNS_21ColumnWithTypeAndNameERS9_mPKh
Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE0ENS_14DataTypeNumberILNS_13PrimitiveTypeE5EEENS_19DataTypeTimeStampTzEE12execute_implEPNS_12RuntimeStateERKNS_21ColumnWithTypeAndNameERS9_mPKh
Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE1ENS_14DataTypeNumberILNS_13PrimitiveTypeE5EEENS_19DataTypeTimeStampTzEE12execute_implEPNS_12RuntimeStateERKNS_21ColumnWithTypeAndNameERS9_mPKh
Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE0ENS_14DataTypeNumberILNS_13PrimitiveTypeE6EEENS_19DataTypeTimeStampTzEE12execute_implEPNS_12RuntimeStateERKNS_21ColumnWithTypeAndNameERS9_mPKh
Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE1ENS_14DataTypeNumberILNS_13PrimitiveTypeE6EEENS_19DataTypeTimeStampTzEE12execute_implEPNS_12RuntimeStateERKNS_21ColumnWithTypeAndNameERS9_mPKh
Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE0ENS_14DataTypeNumberILNS_13PrimitiveTypeE7EEENS_19DataTypeTimeStampTzEE12execute_implEPNS_12RuntimeStateERKNS_21ColumnWithTypeAndNameERS9_mPKh
Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE1ENS_14DataTypeNumberILNS_13PrimitiveTypeE7EEENS_19DataTypeTimeStampTzEE12execute_implEPNS_12RuntimeStateERKNS_21ColumnWithTypeAndNameERS9_mPKh
Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE0ENS_14DataTypeNumberILNS_13PrimitiveTypeE8EEENS_19DataTypeTimeStampTzEE12execute_implEPNS_12RuntimeStateERKNS_21ColumnWithTypeAndNameERS9_mPKh
Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE1ENS_14DataTypeNumberILNS_13PrimitiveTypeE8EEENS_19DataTypeTimeStampTzEE12execute_implEPNS_12RuntimeStateERKNS_21ColumnWithTypeAndNameERS9_mPKh
Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE0ENS_14DataTypeNumberILNS_13PrimitiveTypeE9EEENS_19DataTypeTimeStampTzEE12execute_implEPNS_12RuntimeStateERKNS_21ColumnWithTypeAndNameERS9_mPKh
Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE1ENS_14DataTypeNumberILNS_13PrimitiveTypeE9EEENS_19DataTypeTimeStampTzEE12execute_implEPNS_12RuntimeStateERKNS_21ColumnWithTypeAndNameERS9_mPKh
Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE0ENS_15DataTypeDecimalILNS_13PrimitiveTypeE28EEENS_19DataTypeTimeStampTzEE12execute_implEPNS_12RuntimeStateERKNS_21ColumnWithTypeAndNameERS9_mPKh
Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE1ENS_15DataTypeDecimalILNS_13PrimitiveTypeE28EEENS_19DataTypeTimeStampTzEE12execute_implEPNS_12RuntimeStateERKNS_21ColumnWithTypeAndNameERS9_mPKh
Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE0ENS_15DataTypeDecimalILNS_13PrimitiveTypeE29EEENS_19DataTypeTimeStampTzEE12execute_implEPNS_12RuntimeStateERKNS_21ColumnWithTypeAndNameERS9_mPKh
Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE1ENS_15DataTypeDecimalILNS_13PrimitiveTypeE29EEENS_19DataTypeTimeStampTzEE12execute_implEPNS_12RuntimeStateERKNS_21ColumnWithTypeAndNameERS9_mPKh
Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE0ENS_15DataTypeDecimalILNS_13PrimitiveTypeE20EEENS_19DataTypeTimeStampTzEE12execute_implEPNS_12RuntimeStateERKNS_21ColumnWithTypeAndNameERS9_mPKh
Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE1ENS_15DataTypeDecimalILNS_13PrimitiveTypeE20EEENS_19DataTypeTimeStampTzEE12execute_implEPNS_12RuntimeStateERKNS_21ColumnWithTypeAndNameERS9_mPKh
Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE0ENS_15DataTypeDecimalILNS_13PrimitiveTypeE30EEENS_19DataTypeTimeStampTzEE12execute_implEPNS_12RuntimeStateERKNS_21ColumnWithTypeAndNameERS9_mPKh
Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE1ENS_15DataTypeDecimalILNS_13PrimitiveTypeE30EEENS_19DataTypeTimeStampTzEE12execute_implEPNS_12RuntimeStateERKNS_21ColumnWithTypeAndNameERS9_mPKh
Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE0ENS_15DataTypeDecimalILNS_13PrimitiveTypeE35EEENS_19DataTypeTimeStampTzEE12execute_implEPNS_12RuntimeStateERKNS_21ColumnWithTypeAndNameERS9_mPKh
Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE1ENS_15DataTypeDecimalILNS_13PrimitiveTypeE35EEENS_19DataTypeTimeStampTzEE12execute_implEPNS_12RuntimeStateERKNS_21ColumnWithTypeAndNameERS9_mPKh
Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE0ENS_12DataTypeDateENS_19DataTypeTimeStampTzEE12execute_implEPNS_12RuntimeStateERKNS_21ColumnWithTypeAndNameERS7_mPKh
Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE1ENS_12DataTypeDateENS_19DataTypeTimeStampTzEE12execute_implEPNS_12RuntimeStateERKNS_21ColumnWithTypeAndNameERS7_mPKh
Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE0ENS_14DataTypeDateV2ENS_19DataTypeTimeStampTzEE12execute_implEPNS_12RuntimeStateERKNS_21ColumnWithTypeAndNameERS7_mPKh
Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE1ENS_14DataTypeDateV2ENS_19DataTypeTimeStampTzEE12execute_implEPNS_12RuntimeStateERKNS_21ColumnWithTypeAndNameERS7_mPKh
Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE0ENS_16DataTypeDateTimeENS_19DataTypeTimeStampTzEE12execute_implEPNS_12RuntimeStateERKNS_21ColumnWithTypeAndNameERS7_mPKh
Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE1ENS_16DataTypeDateTimeENS_19DataTypeTimeStampTzEE12execute_implEPNS_12RuntimeStateERKNS_21ColumnWithTypeAndNameERS7_mPKh
Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE0ENS_14DataTypeTimeV2ENS_19DataTypeTimeStampTzEE12execute_implEPNS_12RuntimeStateERKNS_21ColumnWithTypeAndNameERS7_mPKh
Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE1ENS_14DataTypeTimeV2ENS_19DataTypeTimeStampTzEE12execute_implEPNS_12RuntimeStateERKNS_21ColumnWithTypeAndNameERS7_mPKh
Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE0ENS_12DataTypeIPv4ENS_19DataTypeTimeStampTzEE12execute_implEPNS_12RuntimeStateERKNS_21ColumnWithTypeAndNameERS7_mPKh
Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE1ENS_12DataTypeIPv4ENS_19DataTypeTimeStampTzEE12execute_implEPNS_12RuntimeStateERKNS_21ColumnWithTypeAndNameERS7_mPKh
Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE0ENS_12DataTypeIPv6ENS_19DataTypeTimeStampTzEE12execute_implEPNS_12RuntimeStateERKNS_21ColumnWithTypeAndNameERS7_mPKh
Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE1ENS_12DataTypeIPv6ENS_19DataTypeTimeStampTzEE12execute_implEPNS_12RuntimeStateERKNS_21ColumnWithTypeAndNameERS7_mPKh
Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE0ENS_15DataTypeDecimalILNS_13PrimitiveTypeE28EEENS2_ILS3_20EEEE12execute_implEPNS_12RuntimeStateERKNS_21ColumnWithTypeAndNameERS9_mPKh
Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE1ENS_15DataTypeDecimalILNS_13PrimitiveTypeE28EEENS2_ILS3_20EEEE12execute_implEPNS_12RuntimeStateERKNS_21ColumnWithTypeAndNameERS9_mPKh
Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE0ENS_15DataTypeDecimalILNS_13PrimitiveTypeE29EEENS2_ILS3_20EEEE12execute_implEPNS_12RuntimeStateERKNS_21ColumnWithTypeAndNameERS9_mPKh
Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE1ENS_15DataTypeDecimalILNS_13PrimitiveTypeE29EEENS2_ILS3_20EEEE12execute_implEPNS_12RuntimeStateERKNS_21ColumnWithTypeAndNameERS9_mPKh
Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE0ENS_15DataTypeDecimalILNS_13PrimitiveTypeE20EEES4_E12execute_implEPNS_12RuntimeStateERKNS_21ColumnWithTypeAndNameERS8_mPKh
Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE1ENS_15DataTypeDecimalILNS_13PrimitiveTypeE20EEES4_E12execute_implEPNS_12RuntimeStateERKNS_21ColumnWithTypeAndNameERS8_mPKh
Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE0ENS_15DataTypeDecimalILNS_13PrimitiveTypeE30EEENS2_ILS3_20EEEE12execute_implEPNS_12RuntimeStateERKNS_21ColumnWithTypeAndNameERS9_mPKh
Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE1ENS_15DataTypeDecimalILNS_13PrimitiveTypeE30EEENS2_ILS3_20EEEE12execute_implEPNS_12RuntimeStateERKNS_21ColumnWithTypeAndNameERS9_mPKh
Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE0ENS_15DataTypeDecimalILNS_13PrimitiveTypeE35EEENS2_ILS3_20EEEE12execute_implEPNS_12RuntimeStateERKNS_21ColumnWithTypeAndNameERS9_mPKh
Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE1ENS_15DataTypeDecimalILNS_13PrimitiveTypeE35EEENS2_ILS3_20EEEE12execute_implEPNS_12RuntimeStateERKNS_21ColumnWithTypeAndNameERS9_mPKh
251
};
252
253
#ifdef BE_TEST
254
inline CastWrapper::FunctionContextWrapperType get_cast_wrapper(FunctionContext* context,
255
                                                                const DataTypePtr& from_type,
256
57
                                                                const DataTypePtr& to_type) {
257
57
    return CastWrapper::bind_cast_executor(context, from_type, to_type);
258
57
}
259
#endif
260
} // namespace doris