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 |