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 | | |
22 | | #include "core/assert_cast.h" |
23 | | #include "core/block/block.h" |
24 | | #include "core/call_on_type_index.h" |
25 | | #include "core/column/column_nullable.h" |
26 | | #include "core/column/column_vector.h" |
27 | | #include "core/data_type/data_type.h" |
28 | | #include "core/data_type/data_type_array.h" |
29 | | #include "core/data_type/data_type_bitmap.h" |
30 | | #include "core/data_type/data_type_date.h" |
31 | | #include "core/data_type/data_type_date_or_datetime_v2.h" |
32 | | #include "core/data_type/data_type_date_time.h" |
33 | | #include "core/data_type/data_type_decimal.h" |
34 | | #include "core/data_type/data_type_hll.h" |
35 | | #include "core/data_type/data_type_ipv4.h" |
36 | | #include "core/data_type/data_type_ipv6.h" |
37 | | #include "core/data_type/data_type_jsonb.h" |
38 | | #include "core/data_type/data_type_map.h" |
39 | | #include "core/data_type/data_type_nullable.h" |
40 | | #include "core/data_type/data_type_number.h" |
41 | | #include "core/data_type/data_type_string.h" |
42 | | #include "core/data_type/data_type_struct.h" |
43 | | #include "core/data_type/data_type_time.h" |
44 | | #include "exprs/function/cast/cast_parameters.h" |
45 | | #include "exprs/function/function.h" |
46 | | #include "exprs/function/function_helpers.h" |
47 | | |
48 | | namespace doris { |
49 | | |
50 | | enum class DatelikeParseMode { |
51 | | NON_STRICT, |
52 | | STRICT, |
53 | | }; |
54 | | |
55 | 0 | constexpr bool is_datelike_parse_strict(DatelikeParseMode parse_mode) { |
56 | 0 | return parse_mode == DatelikeParseMode::STRICT; |
57 | 0 | } |
58 | | |
59 | | enum class DatelikeTargetType { |
60 | | DATE, |
61 | | DATE_TIME, |
62 | | }; |
63 | | |
64 | 0 | constexpr bool is_datelike_target_datetime(DatelikeTargetType target_type) { |
65 | 0 | return target_type == DatelikeTargetType::DATE_TIME; |
66 | 0 | } |
67 | | |
68 | | struct NameCast { |
69 | | static constexpr auto name = "CAST"; |
70 | | }; |
71 | | |
72 | | namespace CastUtil { |
73 | | // `static_cast_set` is introduced to wrap `static_cast` and handle special cases. |
74 | | // Doris uses `uint8` to represent boolean values internally. |
75 | | // Directly `static_cast` to `uint8` can result in non-0/1 values, |
76 | | // To address this, `static_cast_set` performs an additional check: |
77 | | // For `uint8` types, it explicitly uses `static_cast<bool>` to ensure |
78 | | // the result is either 0 or 1. |
79 | | template <typename FromFieldType, typename ToFieldType> |
80 | 50.5k | void static_cast_set(ToFieldType& to, const FromFieldType& from) { |
81 | | // uint8_t now use as boolean in doris |
82 | | if constexpr (std::is_same_v<uint8_t, ToFieldType>) { |
83 | | to = static_cast<bool>(from); |
84 | 50.5k | } else { |
85 | 50.5k | to = static_cast<ToFieldType>(from); |
86 | 50.5k | } |
87 | 50.5k | } _ZN5doris8CastUtil15static_cast_setIlaEEvRT0_RKT_ Line | Count | Source | 80 | 18 | void static_cast_set(ToFieldType& to, const FromFieldType& from) { | 81 | | // uint8_t now use as boolean in doris | 82 | | if constexpr (std::is_same_v<uint8_t, ToFieldType>) { | 83 | | to = static_cast<bool>(from); | 84 | 18 | } else { | 85 | 18 | to = static_cast<ToFieldType>(from); | 86 | 18 | } | 87 | 18 | } |
_ZN5doris8CastUtil15static_cast_setInaEEvRT0_RKT_ Line | Count | Source | 80 | 18 | void static_cast_set(ToFieldType& to, const FromFieldType& from) { | 81 | | // uint8_t now use as boolean in doris | 82 | | if constexpr (std::is_same_v<uint8_t, ToFieldType>) { | 83 | | to = static_cast<bool>(from); | 84 | 18 | } else { | 85 | 18 | to = static_cast<ToFieldType>(from); | 86 | 18 | } | 87 | 18 | } |
_ZN5doris8CastUtil15static_cast_setIdaEEvRT0_RKT_ Line | Count | Source | 80 | 41 | void static_cast_set(ToFieldType& to, const FromFieldType& from) { | 81 | | // uint8_t now use as boolean in doris | 82 | | if constexpr (std::is_same_v<uint8_t, ToFieldType>) { | 83 | | to = static_cast<bool>(from); | 84 | 41 | } else { | 85 | 41 | to = static_cast<ToFieldType>(from); | 86 | 41 | } | 87 | 41 | } |
_ZN5doris8CastUtil15static_cast_setIfaEEvRT0_RKT_ Line | Count | Source | 80 | 36 | void static_cast_set(ToFieldType& to, const FromFieldType& from) { | 81 | | // uint8_t now use as boolean in doris | 82 | | if constexpr (std::is_same_v<uint8_t, ToFieldType>) { | 83 | | to = static_cast<bool>(from); | 84 | 36 | } else { | 85 | 36 | to = static_cast<ToFieldType>(from); | 86 | 36 | } | 87 | 36 | } |
_ZN5doris8CastUtil15static_cast_setIhaEEvRT0_RKT_ Line | Count | Source | 80 | 8 | void static_cast_set(ToFieldType& to, const FromFieldType& from) { | 81 | | // uint8_t now use as boolean in doris | 82 | | if constexpr (std::is_same_v<uint8_t, ToFieldType>) { | 83 | | to = static_cast<bool>(from); | 84 | 8 | } else { | 85 | 8 | to = static_cast<ToFieldType>(from); | 86 | 8 | } | 87 | 8 | } |
_ZN5doris8CastUtil15static_cast_setIaaEEvRT0_RKT_ Line | Count | Source | 80 | 2 | void static_cast_set(ToFieldType& to, const FromFieldType& from) { | 81 | | // uint8_t now use as boolean in doris | 82 | | if constexpr (std::is_same_v<uint8_t, ToFieldType>) { | 83 | | to = static_cast<bool>(from); | 84 | 2 | } else { | 85 | 2 | to = static_cast<ToFieldType>(from); | 86 | 2 | } | 87 | 2 | } |
_ZN5doris8CastUtil15static_cast_setIsaEEvRT0_RKT_ Line | Count | Source | 80 | 18 | void static_cast_set(ToFieldType& to, const FromFieldType& from) { | 81 | | // uint8_t now use as boolean in doris | 82 | | if constexpr (std::is_same_v<uint8_t, ToFieldType>) { | 83 | | to = static_cast<bool>(from); | 84 | 18 | } else { | 85 | 18 | to = static_cast<ToFieldType>(from); | 86 | 18 | } | 87 | 18 | } |
_ZN5doris8CastUtil15static_cast_setIiaEEvRT0_RKT_ Line | Count | Source | 80 | 18 | void static_cast_set(ToFieldType& to, const FromFieldType& from) { | 81 | | // uint8_t now use as boolean in doris | 82 | | if constexpr (std::is_same_v<uint8_t, ToFieldType>) { | 83 | | to = static_cast<bool>(from); | 84 | 18 | } else { | 85 | 18 | to = static_cast<ToFieldType>(from); | 86 | 18 | } | 87 | 18 | } |
_ZN5doris8CastUtil15static_cast_setIlsEEvRT0_RKT_ Line | Count | Source | 80 | 18 | void static_cast_set(ToFieldType& to, const FromFieldType& from) { | 81 | | // uint8_t now use as boolean in doris | 82 | | if constexpr (std::is_same_v<uint8_t, ToFieldType>) { | 83 | | to = static_cast<bool>(from); | 84 | 18 | } else { | 85 | 18 | to = static_cast<ToFieldType>(from); | 86 | 18 | } | 87 | 18 | } |
_ZN5doris8CastUtil15static_cast_setInsEEvRT0_RKT_ Line | Count | Source | 80 | 18 | void static_cast_set(ToFieldType& to, const FromFieldType& from) { | 81 | | // uint8_t now use as boolean in doris | 82 | | if constexpr (std::is_same_v<uint8_t, ToFieldType>) { | 83 | | to = static_cast<bool>(from); | 84 | 18 | } else { | 85 | 18 | to = static_cast<ToFieldType>(from); | 86 | 18 | } | 87 | 18 | } |
_ZN5doris8CastUtil15static_cast_setIdsEEvRT0_RKT_ Line | Count | Source | 80 | 49 | void static_cast_set(ToFieldType& to, const FromFieldType& from) { | 81 | | // uint8_t now use as boolean in doris | 82 | | if constexpr (std::is_same_v<uint8_t, ToFieldType>) { | 83 | | to = static_cast<bool>(from); | 84 | 49 | } else { | 85 | 49 | to = static_cast<ToFieldType>(from); | 86 | 49 | } | 87 | 49 | } |
_ZN5doris8CastUtil15static_cast_setIfsEEvRT0_RKT_ Line | Count | Source | 80 | 44 | void static_cast_set(ToFieldType& to, const FromFieldType& from) { | 81 | | // uint8_t now use as boolean in doris | 82 | | if constexpr (std::is_same_v<uint8_t, ToFieldType>) { | 83 | | to = static_cast<bool>(from); | 84 | 44 | } else { | 85 | 44 | to = static_cast<ToFieldType>(from); | 86 | 44 | } | 87 | 44 | } |
_ZN5doris8CastUtil15static_cast_setIhsEEvRT0_RKT_ Line | Count | Source | 80 | 6 | void static_cast_set(ToFieldType& to, const FromFieldType& from) { | 81 | | // uint8_t now use as boolean in doris | 82 | | if constexpr (std::is_same_v<uint8_t, ToFieldType>) { | 83 | | to = static_cast<bool>(from); | 84 | 6 | } else { | 85 | 6 | to = static_cast<ToFieldType>(from); | 86 | 6 | } | 87 | 6 | } |
_ZN5doris8CastUtil15static_cast_setIasEEvRT0_RKT_ Line | Count | Source | 80 | 23 | void static_cast_set(ToFieldType& to, const FromFieldType& from) { | 81 | | // uint8_t now use as boolean in doris | 82 | | if constexpr (std::is_same_v<uint8_t, ToFieldType>) { | 83 | | to = static_cast<bool>(from); | 84 | 23 | } else { | 85 | 23 | to = static_cast<ToFieldType>(from); | 86 | 23 | } | 87 | 23 | } |
_ZN5doris8CastUtil15static_cast_setIssEEvRT0_RKT_ Line | Count | Source | 80 | 3 | void static_cast_set(ToFieldType& to, const FromFieldType& from) { | 81 | | // uint8_t now use as boolean in doris | 82 | | if constexpr (std::is_same_v<uint8_t, ToFieldType>) { | 83 | | to = static_cast<bool>(from); | 84 | 3 | } else { | 85 | 3 | to = static_cast<ToFieldType>(from); | 86 | 3 | } | 87 | 3 | } |
_ZN5doris8CastUtil15static_cast_setIisEEvRT0_RKT_ Line | Count | Source | 80 | 18 | void static_cast_set(ToFieldType& to, const FromFieldType& from) { | 81 | | // uint8_t now use as boolean in doris | 82 | | if constexpr (std::is_same_v<uint8_t, ToFieldType>) { | 83 | | to = static_cast<bool>(from); | 84 | 18 | } else { | 85 | 18 | to = static_cast<ToFieldType>(from); | 86 | 18 | } | 87 | 18 | } |
_ZN5doris8CastUtil15static_cast_setIliEEvRT0_RKT_ Line | Count | Source | 80 | 90 | void static_cast_set(ToFieldType& to, const FromFieldType& from) { | 81 | | // uint8_t now use as boolean in doris | 82 | | if constexpr (std::is_same_v<uint8_t, ToFieldType>) { | 83 | | to = static_cast<bool>(from); | 84 | 90 | } else { | 85 | 90 | to = static_cast<ToFieldType>(from); | 86 | 90 | } | 87 | 90 | } |
_ZN5doris8CastUtil15static_cast_setIniEEvRT0_RKT_ Line | Count | Source | 80 | 18 | void static_cast_set(ToFieldType& to, const FromFieldType& from) { | 81 | | // uint8_t now use as boolean in doris | 82 | | if constexpr (std::is_same_v<uint8_t, ToFieldType>) { | 83 | | to = static_cast<bool>(from); | 84 | 18 | } else { | 85 | 18 | to = static_cast<ToFieldType>(from); | 86 | 18 | } | 87 | 18 | } |
_ZN5doris8CastUtil15static_cast_setIdiEEvRT0_RKT_ Line | Count | Source | 80 | 109 | void static_cast_set(ToFieldType& to, const FromFieldType& from) { | 81 | | // uint8_t now use as boolean in doris | 82 | | if constexpr (std::is_same_v<uint8_t, ToFieldType>) { | 83 | | to = static_cast<bool>(from); | 84 | 109 | } else { | 85 | 109 | to = static_cast<ToFieldType>(from); | 86 | 109 | } | 87 | 109 | } |
_ZN5doris8CastUtil15static_cast_setIfiEEvRT0_RKT_ Line | Count | Source | 80 | 61 | void static_cast_set(ToFieldType& to, const FromFieldType& from) { | 81 | | // uint8_t now use as boolean in doris | 82 | | if constexpr (std::is_same_v<uint8_t, ToFieldType>) { | 83 | | to = static_cast<bool>(from); | 84 | 61 | } else { | 85 | 61 | to = static_cast<ToFieldType>(from); | 86 | 61 | } | 87 | 61 | } |
_ZN5doris8CastUtil15static_cast_setIhiEEvRT0_RKT_ Line | Count | Source | 80 | 10 | void static_cast_set(ToFieldType& to, const FromFieldType& from) { | 81 | | // uint8_t now use as boolean in doris | 82 | | if constexpr (std::is_same_v<uint8_t, ToFieldType>) { | 83 | | to = static_cast<bool>(from); | 84 | 10 | } else { | 85 | 10 | to = static_cast<ToFieldType>(from); | 86 | 10 | } | 87 | 10 | } |
_ZN5doris8CastUtil15static_cast_setIaiEEvRT0_RKT_ Line | Count | Source | 80 | 24 | void static_cast_set(ToFieldType& to, const FromFieldType& from) { | 81 | | // uint8_t now use as boolean in doris | 82 | | if constexpr (std::is_same_v<uint8_t, ToFieldType>) { | 83 | | to = static_cast<bool>(from); | 84 | 24 | } else { | 85 | 24 | to = static_cast<ToFieldType>(from); | 86 | 24 | } | 87 | 24 | } |
_ZN5doris8CastUtil15static_cast_setIiiEEvRT0_RKT_ Line | Count | Source | 80 | 14 | void static_cast_set(ToFieldType& to, const FromFieldType& from) { | 81 | | // uint8_t now use as boolean in doris | 82 | | if constexpr (std::is_same_v<uint8_t, ToFieldType>) { | 83 | | to = static_cast<bool>(from); | 84 | 14 | } else { | 85 | 14 | to = static_cast<ToFieldType>(from); | 86 | 14 | } | 87 | 14 | } |
_ZN5doris8CastUtil15static_cast_setIsiEEvRT0_RKT_ Line | Count | Source | 80 | 24 | void static_cast_set(ToFieldType& to, const FromFieldType& from) { | 81 | | // uint8_t now use as boolean in doris | 82 | | if constexpr (std::is_same_v<uint8_t, ToFieldType>) { | 83 | | to = static_cast<bool>(from); | 84 | 24 | } else { | 85 | 24 | to = static_cast<ToFieldType>(from); | 86 | 24 | } | 87 | 24 | } |
_ZN5doris8CastUtil15static_cast_setIllEEvRT0_RKT_ Line | Count | Source | 80 | 15.6k | void static_cast_set(ToFieldType& to, const FromFieldType& from) { | 81 | | // uint8_t now use as boolean in doris | 82 | | if constexpr (std::is_same_v<uint8_t, ToFieldType>) { | 83 | | to = static_cast<bool>(from); | 84 | 15.6k | } else { | 85 | 15.6k | to = static_cast<ToFieldType>(from); | 86 | 15.6k | } | 87 | 15.6k | } |
_ZN5doris8CastUtil15static_cast_setInlEEvRT0_RKT_ Line | Count | Source | 80 | 18 | void static_cast_set(ToFieldType& to, const FromFieldType& from) { | 81 | | // uint8_t now use as boolean in doris | 82 | | if constexpr (std::is_same_v<uint8_t, ToFieldType>) { | 83 | | to = static_cast<bool>(from); | 84 | 18 | } else { | 85 | 18 | to = static_cast<ToFieldType>(from); | 86 | 18 | } | 87 | 18 | } |
_ZN5doris8CastUtil15static_cast_setIdlEEvRT0_RKT_ Line | Count | Source | 80 | 394 | void static_cast_set(ToFieldType& to, const FromFieldType& from) { | 81 | | // uint8_t now use as boolean in doris | 82 | | if constexpr (std::is_same_v<uint8_t, ToFieldType>) { | 83 | | to = static_cast<bool>(from); | 84 | 394 | } else { | 85 | 394 | to = static_cast<ToFieldType>(from); | 86 | 394 | } | 87 | 394 | } |
_ZN5doris8CastUtil15static_cast_setIflEEvRT0_RKT_ Line | Count | Source | 80 | 72 | void static_cast_set(ToFieldType& to, const FromFieldType& from) { | 81 | | // uint8_t now use as boolean in doris | 82 | | if constexpr (std::is_same_v<uint8_t, ToFieldType>) { | 83 | | to = static_cast<bool>(from); | 84 | 72 | } else { | 85 | 72 | to = static_cast<ToFieldType>(from); | 86 | 72 | } | 87 | 72 | } |
_ZN5doris8CastUtil15static_cast_setIhlEEvRT0_RKT_ Line | Count | Source | 80 | 191 | void static_cast_set(ToFieldType& to, const FromFieldType& from) { | 81 | | // uint8_t now use as boolean in doris | 82 | | if constexpr (std::is_same_v<uint8_t, ToFieldType>) { | 83 | | to = static_cast<bool>(from); | 84 | 191 | } else { | 85 | 191 | to = static_cast<ToFieldType>(from); | 86 | 191 | } | 87 | 191 | } |
_ZN5doris8CastUtil15static_cast_setIalEEvRT0_RKT_ Line | Count | Source | 80 | 23 | void static_cast_set(ToFieldType& to, const FromFieldType& from) { | 81 | | // uint8_t now use as boolean in doris | 82 | | if constexpr (std::is_same_v<uint8_t, ToFieldType>) { | 83 | | to = static_cast<bool>(from); | 84 | 23 | } else { | 85 | 23 | to = static_cast<ToFieldType>(from); | 86 | 23 | } | 87 | 23 | } |
_ZN5doris8CastUtil15static_cast_setIilEEvRT0_RKT_ Line | Count | Source | 80 | 24 | void static_cast_set(ToFieldType& to, const FromFieldType& from) { | 81 | | // uint8_t now use as boolean in doris | 82 | | if constexpr (std::is_same_v<uint8_t, ToFieldType>) { | 83 | | to = static_cast<bool>(from); | 84 | 24 | } else { | 85 | 24 | to = static_cast<ToFieldType>(from); | 86 | 24 | } | 87 | 24 | } |
_ZN5doris8CastUtil15static_cast_setIslEEvRT0_RKT_ Line | Count | Source | 80 | 23 | void static_cast_set(ToFieldType& to, const FromFieldType& from) { | 81 | | // uint8_t now use as boolean in doris | 82 | | if constexpr (std::is_same_v<uint8_t, ToFieldType>) { | 83 | | to = static_cast<bool>(from); | 84 | 23 | } else { | 85 | 23 | to = static_cast<ToFieldType>(from); | 86 | 23 | } | 87 | 23 | } |
_ZN5doris8CastUtil15static_cast_setIlnEEvRT0_RKT_ Line | Count | Source | 80 | 15.8k | void static_cast_set(ToFieldType& to, const FromFieldType& from) { | 81 | | // uint8_t now use as boolean in doris | 82 | | if constexpr (std::is_same_v<uint8_t, ToFieldType>) { | 83 | | to = static_cast<bool>(from); | 84 | 15.8k | } else { | 85 | 15.8k | to = static_cast<ToFieldType>(from); | 86 | 15.8k | } | 87 | 15.8k | } |
_ZN5doris8CastUtil15static_cast_setInnEEvRT0_RKT_ Line | Count | Source | 80 | 54 | void static_cast_set(ToFieldType& to, const FromFieldType& from) { | 81 | | // uint8_t now use as boolean in doris | 82 | | if constexpr (std::is_same_v<uint8_t, ToFieldType>) { | 83 | | to = static_cast<bool>(from); | 84 | 54 | } else { | 85 | 54 | to = static_cast<ToFieldType>(from); | 86 | 54 | } | 87 | 54 | } |
_ZN5doris8CastUtil15static_cast_setIdnEEvRT0_RKT_ Line | Count | Source | 80 | 400 | void static_cast_set(ToFieldType& to, const FromFieldType& from) { | 81 | | // uint8_t now use as boolean in doris | 82 | | if constexpr (std::is_same_v<uint8_t, ToFieldType>) { | 83 | | to = static_cast<bool>(from); | 84 | 400 | } else { | 85 | 400 | to = static_cast<ToFieldType>(from); | 86 | 400 | } | 87 | 400 | } |
_ZN5doris8CastUtil15static_cast_setIfnEEvRT0_RKT_ Line | Count | Source | 80 | 80 | void static_cast_set(ToFieldType& to, const FromFieldType& from) { | 81 | | // uint8_t now use as boolean in doris | 82 | | if constexpr (std::is_same_v<uint8_t, ToFieldType>) { | 83 | | to = static_cast<bool>(from); | 84 | 80 | } else { | 85 | 80 | to = static_cast<ToFieldType>(from); | 86 | 80 | } | 87 | 80 | } |
_ZN5doris8CastUtil15static_cast_setIhnEEvRT0_RKT_ Line | Count | Source | 80 | 157 | void static_cast_set(ToFieldType& to, const FromFieldType& from) { | 81 | | // uint8_t now use as boolean in doris | 82 | | if constexpr (std::is_same_v<uint8_t, ToFieldType>) { | 83 | | to = static_cast<bool>(from); | 84 | 157 | } else { | 85 | 157 | to = static_cast<ToFieldType>(from); | 86 | 157 | } | 87 | 157 | } |
_ZN5doris8CastUtil15static_cast_setIanEEvRT0_RKT_ Line | Count | Source | 80 | 22 | void static_cast_set(ToFieldType& to, const FromFieldType& from) { | 81 | | // uint8_t now use as boolean in doris | 82 | | if constexpr (std::is_same_v<uint8_t, ToFieldType>) { | 83 | | to = static_cast<bool>(from); | 84 | 22 | } else { | 85 | 22 | to = static_cast<ToFieldType>(from); | 86 | 22 | } | 87 | 22 | } |
_ZN5doris8CastUtil15static_cast_setIsnEEvRT0_RKT_ Line | Count | Source | 80 | 22 | void static_cast_set(ToFieldType& to, const FromFieldType& from) { | 81 | | // uint8_t now use as boolean in doris | 82 | | if constexpr (std::is_same_v<uint8_t, ToFieldType>) { | 83 | | to = static_cast<bool>(from); | 84 | 22 | } else { | 85 | 22 | to = static_cast<ToFieldType>(from); | 86 | 22 | } | 87 | 22 | } |
_ZN5doris8CastUtil15static_cast_setIinEEvRT0_RKT_ Line | Count | Source | 80 | 22 | void static_cast_set(ToFieldType& to, const FromFieldType& from) { | 81 | | // uint8_t now use as boolean in doris | 82 | | if constexpr (std::is_same_v<uint8_t, ToFieldType>) { | 83 | | to = static_cast<bool>(from); | 84 | 22 | } else { | 85 | 22 | to = static_cast<ToFieldType>(from); | 86 | 22 | } | 87 | 22 | } |
_ZN5doris8CastUtil15static_cast_setIlfEEvRT0_RKT_ Line | Count | Source | 80 | 7.86k | void static_cast_set(ToFieldType& to, const FromFieldType& from) { | 81 | | // uint8_t now use as boolean in doris | 82 | | if constexpr (std::is_same_v<uint8_t, ToFieldType>) { | 83 | | to = static_cast<bool>(from); | 84 | 7.86k | } else { | 85 | 7.86k | to = static_cast<ToFieldType>(from); | 86 | 7.86k | } | 87 | 7.86k | } |
_ZN5doris8CastUtil15static_cast_setInfEEvRT0_RKT_ Line | Count | Source | 80 | 51 | void static_cast_set(ToFieldType& to, const FromFieldType& from) { | 81 | | // uint8_t now use as boolean in doris | 82 | | if constexpr (std::is_same_v<uint8_t, ToFieldType>) { | 83 | | to = static_cast<bool>(from); | 84 | 51 | } else { | 85 | 51 | to = static_cast<ToFieldType>(from); | 86 | 51 | } | 87 | 51 | } |
_ZN5doris8CastUtil15static_cast_setIdfEEvRT0_RKT_ Line | Count | Source | 80 | 243 | void static_cast_set(ToFieldType& to, const FromFieldType& from) { | 81 | | // uint8_t now use as boolean in doris | 82 | | if constexpr (std::is_same_v<uint8_t, ToFieldType>) { | 83 | | to = static_cast<bool>(from); | 84 | 243 | } else { | 85 | 243 | to = static_cast<ToFieldType>(from); | 86 | 243 | } | 87 | 243 | } |
_ZN5doris8CastUtil15static_cast_setIffEEvRT0_RKT_ Line | Count | Source | 80 | 2 | void static_cast_set(ToFieldType& to, const FromFieldType& from) { | 81 | | // uint8_t now use as boolean in doris | 82 | | if constexpr (std::is_same_v<uint8_t, ToFieldType>) { | 83 | | to = static_cast<bool>(from); | 84 | 2 | } else { | 85 | 2 | to = static_cast<ToFieldType>(from); | 86 | 2 | } | 87 | 2 | } |
_ZN5doris8CastUtil15static_cast_setIhfEEvRT0_RKT_ Line | Count | Source | 80 | 6 | void static_cast_set(ToFieldType& to, const FromFieldType& from) { | 81 | | // uint8_t now use as boolean in doris | 82 | | if constexpr (std::is_same_v<uint8_t, ToFieldType>) { | 83 | | to = static_cast<bool>(from); | 84 | 6 | } else { | 85 | 6 | to = static_cast<ToFieldType>(from); | 86 | 6 | } | 87 | 6 | } |
_ZN5doris8CastUtil15static_cast_setIafEEvRT0_RKT_ Line | Count | Source | 80 | 51 | void static_cast_set(ToFieldType& to, const FromFieldType& from) { | 81 | | // uint8_t now use as boolean in doris | 82 | | if constexpr (std::is_same_v<uint8_t, ToFieldType>) { | 83 | | to = static_cast<bool>(from); | 84 | 51 | } else { | 85 | 51 | to = static_cast<ToFieldType>(from); | 86 | 51 | } | 87 | 51 | } |
_ZN5doris8CastUtil15static_cast_setIsfEEvRT0_RKT_ Line | Count | Source | 80 | 51 | void static_cast_set(ToFieldType& to, const FromFieldType& from) { | 81 | | // uint8_t now use as boolean in doris | 82 | | if constexpr (std::is_same_v<uint8_t, ToFieldType>) { | 83 | | to = static_cast<bool>(from); | 84 | 51 | } else { | 85 | 51 | to = static_cast<ToFieldType>(from); | 86 | 51 | } | 87 | 51 | } |
_ZN5doris8CastUtil15static_cast_setIifEEvRT0_RKT_ Line | Count | Source | 80 | 51 | void static_cast_set(ToFieldType& to, const FromFieldType& from) { | 81 | | // uint8_t now use as boolean in doris | 82 | | if constexpr (std::is_same_v<uint8_t, ToFieldType>) { | 83 | | to = static_cast<bool>(from); | 84 | 51 | } else { | 85 | 51 | to = static_cast<ToFieldType>(from); | 86 | 51 | } | 87 | 51 | } |
_ZN5doris8CastUtil15static_cast_setIldEEvRT0_RKT_ Line | Count | Source | 80 | 7.86k | void static_cast_set(ToFieldType& to, const FromFieldType& from) { | 81 | | // uint8_t now use as boolean in doris | 82 | | if constexpr (std::is_same_v<uint8_t, ToFieldType>) { | 83 | | to = static_cast<bool>(from); | 84 | 7.86k | } else { | 85 | 7.86k | to = static_cast<ToFieldType>(from); | 86 | 7.86k | } | 87 | 7.86k | } |
_ZN5doris8CastUtil15static_cast_setIndEEvRT0_RKT_ Line | Count | Source | 80 | 50 | void static_cast_set(ToFieldType& to, const FromFieldType& from) { | 81 | | // uint8_t now use as boolean in doris | 82 | | if constexpr (std::is_same_v<uint8_t, ToFieldType>) { | 83 | | to = static_cast<bool>(from); | 84 | 50 | } else { | 85 | 50 | to = static_cast<ToFieldType>(from); | 86 | 50 | } | 87 | 50 | } |
_ZN5doris8CastUtil15static_cast_setIddEEvRT0_RKT_ Line | Count | Source | 80 | 223 | void static_cast_set(ToFieldType& to, const FromFieldType& from) { | 81 | | // uint8_t now use as boolean in doris | 82 | | if constexpr (std::is_same_v<uint8_t, ToFieldType>) { | 83 | | to = static_cast<bool>(from); | 84 | 223 | } else { | 85 | 223 | to = static_cast<ToFieldType>(from); | 86 | 223 | } | 87 | 223 | } |
_ZN5doris8CastUtil15static_cast_setIfdEEvRT0_RKT_ Line | Count | Source | 80 | 80 | void static_cast_set(ToFieldType& to, const FromFieldType& from) { | 81 | | // uint8_t now use as boolean in doris | 82 | | if constexpr (std::is_same_v<uint8_t, ToFieldType>) { | 83 | | to = static_cast<bool>(from); | 84 | 80 | } else { | 85 | 80 | to = static_cast<ToFieldType>(from); | 86 | 80 | } | 87 | 80 | } |
_ZN5doris8CastUtil15static_cast_setIhdEEvRT0_RKT_ Line | Count | Source | 80 | 169 | void static_cast_set(ToFieldType& to, const FromFieldType& from) { | 81 | | // uint8_t now use as boolean in doris | 82 | | if constexpr (std::is_same_v<uint8_t, ToFieldType>) { | 83 | | to = static_cast<bool>(from); | 84 | 169 | } else { | 85 | 169 | to = static_cast<ToFieldType>(from); | 86 | 169 | } | 87 | 169 | } |
_ZN5doris8CastUtil15static_cast_setIadEEvRT0_RKT_ Line | Count | Source | 80 | 51 | void static_cast_set(ToFieldType& to, const FromFieldType& from) { | 81 | | // uint8_t now use as boolean in doris | 82 | | if constexpr (std::is_same_v<uint8_t, ToFieldType>) { | 83 | | to = static_cast<bool>(from); | 84 | 51 | } else { | 85 | 51 | to = static_cast<ToFieldType>(from); | 86 | 51 | } | 87 | 51 | } |
_ZN5doris8CastUtil15static_cast_setIsdEEvRT0_RKT_ Line | Count | Source | 80 | 51 | void static_cast_set(ToFieldType& to, const FromFieldType& from) { | 81 | | // uint8_t now use as boolean in doris | 82 | | if constexpr (std::is_same_v<uint8_t, ToFieldType>) { | 83 | | to = static_cast<bool>(from); | 84 | 51 | } else { | 85 | 51 | to = static_cast<ToFieldType>(from); | 86 | 51 | } | 87 | 51 | } |
_ZN5doris8CastUtil15static_cast_setIidEEvRT0_RKT_ Line | Count | Source | 80 | 51 | void static_cast_set(ToFieldType& to, const FromFieldType& from) { | 81 | | // uint8_t now use as boolean in doris | 82 | | if constexpr (std::is_same_v<uint8_t, ToFieldType>) { | 83 | | to = static_cast<bool>(from); | 84 | 51 | } else { | 85 | 51 | to = static_cast<ToFieldType>(from); | 86 | 51 | } | 87 | 51 | } |
|
88 | | |
89 | | template <typename T> |
90 | | constexpr static bool IsPureDigitType = |
91 | | IsDataTypeInt<T> || IsDataTypeFloat<T> || IsDataTypeDecimal<T>; |
92 | | |
93 | | // IsDataTypeNumber include integer, float and boolean. |
94 | | template <typename T> |
95 | | constexpr static bool IsBaseCastToType = |
96 | | IsDataTypeNumber<T> || IsDataTypeDecimal<T> || IsDatelikeTypes<T> || IsIPType<T>; |
97 | | |
98 | | template <typename T> |
99 | | constexpr static bool IsBaseCastFromType = IsBaseCastToType<T> || IsStringType<T>; |
100 | | |
101 | | } // namespace CastUtil |
102 | | |
103 | 3.05k | inline ColumnNullable::MutablePtr create_empty_nullable_column(const DataTypePtr& nested_type) { |
104 | | // Batch serde paths resize the nested column and null map together. |
105 | 3.05k | return ColumnNullable::create(remove_nullable(nested_type)->create_column(), |
106 | 3.05k | ColumnUInt8::create()); |
107 | 3.05k | } |
108 | | |
109 | | namespace CastWrapper { |
110 | | |
111 | | using WrapperType = std::function<Status(FunctionContext*, Block&, const ColumnNumbers&, uint32_t, |
112 | | size_t, const NullMap::value_type*)>; |
113 | | |
114 | | using ElementWrappers = std::vector<WrapperType>; |
115 | | |
116 | | WrapperType create_unsupport_wrapper(const String error_msg); |
117 | | |
118 | | WrapperType create_unsupport_wrapper(const String from_type_name, const String to_type_name); |
119 | | //// Generic conversion of any type to String. |
120 | | |
121 | | Status cast_from_generic_to_jsonb(FunctionContext* context, Block& block, |
122 | | const ColumnNumbers& arguments, uint32_t result, |
123 | | size_t input_rows_count, |
124 | | const NullMap::value_type* null_map = nullptr); |
125 | | |
126 | | // string to bitmap or hll object |
127 | | Status cast_from_string_to_generic(FunctionContext* context, Block& block, |
128 | | const ColumnNumbers& arguments, uint32_t result, |
129 | | size_t input_rows_count, |
130 | | const NullMap::value_type* null_map = nullptr); |
131 | | |
132 | | Status cast_from_string_to_complex_type(FunctionContext* context, Block& block, |
133 | | const ColumnNumbers& arguments, uint32_t result, |
134 | | size_t input_rows_count, |
135 | | const NullMap::value_type* null_map = nullptr); |
136 | | |
137 | | Status cast_from_string_to_complex_type_strict_mode(FunctionContext* context, Block& block, |
138 | | const ColumnNumbers& arguments, uint32_t result, |
139 | | size_t input_rows_count, |
140 | | const NullMap::value_type* null_map = nullptr); |
141 | | |
142 | | // prepare_unpack_dictionaries -> prepare_remove_nullable -> prepare_impl |
143 | | |
144 | | WrapperType prepare_unpack_dictionaries(FunctionContext* context, const DataTypePtr& from_type, |
145 | | const DataTypePtr& to_type); |
146 | | |
147 | | WrapperType prepare_remove_nullable(FunctionContext* context, const DataTypePtr& from_type, |
148 | | const DataTypePtr& to_type); |
149 | | |
150 | | WrapperType prepare_impl(FunctionContext* context, const DataTypePtr& from_type, |
151 | | const DataTypePtr& to_type); |
152 | | |
153 | | ElementWrappers get_element_wrappers(FunctionContext* context, const DataTypes& from_element_types, |
154 | | const DataTypes& to_element_types); |
155 | | |
156 | | WrapperType create_identity_wrapper(const DataTypePtr&); |
157 | | |
158 | | } // namespace CastWrapper |
159 | | |
160 | | enum class CastModeType { StrictMode, NonStrictMode }; |
161 | | |
162 | 16.1k | inline std::string cast_mode_type_to_string(CastModeType cast_mode) { |
163 | 16.1k | switch (cast_mode) { |
164 | 16.0k | case CastModeType::StrictMode: |
165 | 16.0k | return "StrictMode"; |
166 | 108 | case CastModeType::NonStrictMode: |
167 | 108 | return "NonStrictMode"; |
168 | 0 | default: |
169 | 0 | return "Unknown"; |
170 | 16.1k | } |
171 | 16.1k | } |
172 | | inline std::string cast_mode_type_to_string(CastModeType cast_mode, const DataTypePtr& from_type, |
173 | 16.1k | const DataTypePtr& to_type) { |
174 | 16.1k | return fmt::format("{}: from {} cast to {}", cast_mode_type_to_string(cast_mode), |
175 | 16.1k | from_type->get_name(), to_type->get_name()); |
176 | 16.1k | } |
177 | | |
178 | | class CastToBase { |
179 | | public: |
180 | 35.1k | virtual ~CastToBase() = default; |
181 | | virtual Status execute_impl(FunctionContext* context, Block& block, |
182 | | const ColumnNumbers& arguments, uint32_t result, |
183 | | size_t input_rows_count, |
184 | | const NullMap::value_type* null_map = nullptr) const = 0; |
185 | | }; |
186 | | |
187 | | template <CastModeType CastMode, typename FromDataType, typename ToDataType> |
188 | | class CastToImpl : public CastToBase { |
189 | | public: |
190 | | Status execute_impl(FunctionContext* context, Block& block, const ColumnNumbers& arguments, |
191 | | uint32_t result, size_t input_rows_count, |
192 | 16.1k | const NullMap::value_type* null_map = nullptr) const override { |
193 | 16.1k | return Status::RuntimeError( |
194 | 16.1k | "not support {} ", |
195 | 16.1k | cast_mode_type_to_string(CastMode, block.get_by_position(arguments[0]).type, |
196 | 16.1k | block.get_by_position(result).type)); |
197 | 16.1k | } Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE0ENS_12DataTypeDateENS_14DataTypeNumberILNS_13PrimitiveTypeE2EEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmPKh Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE1ENS_12DataTypeDateENS_14DataTypeNumberILNS_13PrimitiveTypeE2EEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmPKh Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE0ENS_14DataTypeDateV2ENS_14DataTypeNumberILNS_13PrimitiveTypeE2EEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmPKh Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE1ENS_14DataTypeDateV2ENS_14DataTypeNumberILNS_13PrimitiveTypeE2EEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmPKh Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE0ENS_18DataTypeDateTimeV2ENS_14DataTypeNumberILNS_13PrimitiveTypeE2EEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmPKh Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE1ENS_18DataTypeDateTimeV2ENS_14DataTypeNumberILNS_13PrimitiveTypeE2EEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmPKh Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE0ENS_16DataTypeDateTimeENS_14DataTypeNumberILNS_13PrimitiveTypeE2EEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmPKh Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE1ENS_16DataTypeDateTimeENS_14DataTypeNumberILNS_13PrimitiveTypeE2EEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmPKh Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE0ENS_14DataTypeTimeV2ENS_14DataTypeNumberILNS_13PrimitiveTypeE2EEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmPKh Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE1ENS_14DataTypeTimeV2ENS_14DataTypeNumberILNS_13PrimitiveTypeE2EEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmPKh Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE0ENS_12DataTypeIPv4ENS_14DataTypeNumberILNS_13PrimitiveTypeE2EEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmPKh Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE1ENS_12DataTypeIPv4ENS_14DataTypeNumberILNS_13PrimitiveTypeE2EEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmPKh Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE0ENS_12DataTypeIPv6ENS_14DataTypeNumberILNS_13PrimitiveTypeE2EEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmPKh Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE1ENS_12DataTypeIPv6ENS_14DataTypeNumberILNS_13PrimitiveTypeE2EEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmPKh Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE0ENS_19DataTypeTimeStampTzENS_12DataTypeDateEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmPKh Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE1ENS_19DataTypeTimeStampTzENS_12DataTypeDateEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmPKh Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE0ENS_19DataTypeTimeStampTzENS_16DataTypeDateTimeEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmPKh Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE1ENS_19DataTypeTimeStampTzENS_16DataTypeDateTimeEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmPKh Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE0ENS_19DataTypeTimeStampTzENS_14DataTypeDateV2EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmPKh Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE1ENS_19DataTypeTimeStampTzENS_14DataTypeDateV2EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmPKh Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE0ENS_19DataTypeTimeStampTzENS_14DataTypeTimeV2EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmPKh Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE1ENS_19DataTypeTimeStampTzENS_14DataTypeTimeV2EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmPKh Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE0ENS_15DataTypeDecimalILNS_13PrimitiveTypeE28EEENS2_ILS3_20EEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmPKh Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE1ENS_15DataTypeDecimalILNS_13PrimitiveTypeE28EEENS2_ILS3_20EEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmPKh Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE0ENS_15DataTypeDecimalILNS_13PrimitiveTypeE29EEENS2_ILS3_20EEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmPKh Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE1ENS_15DataTypeDecimalILNS_13PrimitiveTypeE29EEENS2_ILS3_20EEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmPKh Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE0ENS_15DataTypeDecimalILNS_13PrimitiveTypeE20EEES4_E12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmPKh Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE1ENS_15DataTypeDecimalILNS_13PrimitiveTypeE20EEES4_E12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmPKh Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE0ENS_15DataTypeDecimalILNS_13PrimitiveTypeE30EEENS2_ILS3_20EEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmPKh Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE1ENS_15DataTypeDecimalILNS_13PrimitiveTypeE30EEENS2_ILS3_20EEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmPKh Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE0ENS_15DataTypeDecimalILNS_13PrimitiveTypeE35EEENS2_ILS3_20EEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmPKh Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE1ENS_15DataTypeDecimalILNS_13PrimitiveTypeE35EEENS2_ILS3_20EEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmPKh Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE0ENS_12DataTypeDateENS_14DataTypeNumberILNS_13PrimitiveTypeE8EEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmPKh _ZNK5doris10CastToImplILNS_12CastModeTypeE0ENS_14DataTypeDateV2ENS_14DataTypeNumberILNS_13PrimitiveTypeE8EEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmPKh Line | Count | Source | 192 | 36 | const NullMap::value_type* null_map = nullptr) const override { | 193 | 36 | return Status::RuntimeError( | 194 | 36 | "not support {} ", | 195 | 36 | cast_mode_type_to_string(CastMode, block.get_by_position(arguments[0]).type, | 196 | 36 | block.get_by_position(result).type)); | 197 | 36 | } |
_ZNK5doris10CastToImplILNS_12CastModeTypeE0ENS_18DataTypeDateTimeV2ENS_14DataTypeNumberILNS_13PrimitiveTypeE8EEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmPKh Line | Count | Source | 192 | 7.77k | const NullMap::value_type* null_map = nullptr) const override { | 193 | 7.77k | return Status::RuntimeError( | 194 | 7.77k | "not support {} ", | 195 | 7.77k | cast_mode_type_to_string(CastMode, block.get_by_position(arguments[0]).type, | 196 | 7.77k | block.get_by_position(result).type)); | 197 | 7.77k | } |
Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE0ENS_16DataTypeDateTimeENS_14DataTypeNumberILNS_13PrimitiveTypeE8EEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmPKh _ZNK5doris10CastToImplILNS_12CastModeTypeE0ENS_14DataTypeTimeV2ENS_14DataTypeNumberILNS_13PrimitiveTypeE8EEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmPKh Line | Count | Source | 192 | 160 | const NullMap::value_type* null_map = nullptr) const override { | 193 | 160 | return Status::RuntimeError( | 194 | 160 | "not support {} ", | 195 | 160 | cast_mode_type_to_string(CastMode, block.get_by_position(arguments[0]).type, | 196 | 160 | block.get_by_position(result).type)); | 197 | 160 | } |
Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE0ENS_12DataTypeDateENS_14DataTypeNumberILNS_13PrimitiveTypeE9EEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmPKh _ZNK5doris10CastToImplILNS_12CastModeTypeE0ENS_14DataTypeDateV2ENS_14DataTypeNumberILNS_13PrimitiveTypeE9EEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmPKh Line | Count | Source | 192 | 36 | const NullMap::value_type* null_map = nullptr) const override { | 193 | 36 | return Status::RuntimeError( | 194 | 36 | "not support {} ", | 195 | 36 | cast_mode_type_to_string(CastMode, block.get_by_position(arguments[0]).type, | 196 | 36 | block.get_by_position(result).type)); | 197 | 36 | } |
_ZNK5doris10CastToImplILNS_12CastModeTypeE0ENS_18DataTypeDateTimeV2ENS_14DataTypeNumberILNS_13PrimitiveTypeE9EEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmPKh Line | Count | Source | 192 | 7.77k | const NullMap::value_type* null_map = nullptr) const override { | 193 | 7.77k | return Status::RuntimeError( | 194 | 7.77k | "not support {} ", | 195 | 7.77k | cast_mode_type_to_string(CastMode, block.get_by_position(arguments[0]).type, | 196 | 7.77k | block.get_by_position(result).type)); | 197 | 7.77k | } |
Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE0ENS_16DataTypeDateTimeENS_14DataTypeNumberILNS_13PrimitiveTypeE9EEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmPKh _ZNK5doris10CastToImplILNS_12CastModeTypeE0ENS_14DataTypeTimeV2ENS_14DataTypeNumberILNS_13PrimitiveTypeE9EEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmPKh Line | Count | Source | 192 | 160 | const NullMap::value_type* null_map = nullptr) const override { | 193 | 160 | return Status::RuntimeError( | 194 | 160 | "not support {} ", | 195 | 160 | cast_mode_type_to_string(CastMode, block.get_by_position(arguments[0]).type, | 196 | 160 | block.get_by_position(result).type)); | 197 | 160 | } |
Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE0ENS_12DataTypeDateENS_14DataTypeNumberILNS_13PrimitiveTypeE3EEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmPKh Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE1ENS_12DataTypeDateENS_14DataTypeNumberILNS_13PrimitiveTypeE3EEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmPKh _ZNK5doris10CastToImplILNS_12CastModeTypeE0ENS_14DataTypeDateV2ENS_14DataTypeNumberILNS_13PrimitiveTypeE3EEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmPKh Line | Count | Source | 192 | 36 | const NullMap::value_type* null_map = nullptr) const override { | 193 | 36 | return Status::RuntimeError( | 194 | 36 | "not support {} ", | 195 | 36 | cast_mode_type_to_string(CastMode, block.get_by_position(arguments[0]).type, | 196 | 36 | block.get_by_position(result).type)); | 197 | 36 | } |
_ZNK5doris10CastToImplILNS_12CastModeTypeE1ENS_14DataTypeDateV2ENS_14DataTypeNumberILNS_13PrimitiveTypeE3EEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmPKh Line | Count | Source | 192 | 36 | const NullMap::value_type* null_map = nullptr) const override { | 193 | 36 | return Status::RuntimeError( | 194 | 36 | "not support {} ", | 195 | 36 | cast_mode_type_to_string(CastMode, block.get_by_position(arguments[0]).type, | 196 | 36 | block.get_by_position(result).type)); | 197 | 36 | } |
_ZNK5doris10CastToImplILNS_12CastModeTypeE0ENS_18DataTypeDateTimeV2ENS_14DataTypeNumberILNS_13PrimitiveTypeE3EEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmPKh Line | Count | Source | 192 | 12 | const NullMap::value_type* null_map = nullptr) const override { | 193 | 12 | return Status::RuntimeError( | 194 | 12 | "not support {} ", | 195 | 12 | cast_mode_type_to_string(CastMode, block.get_by_position(arguments[0]).type, | 196 | 12 | block.get_by_position(result).type)); | 197 | 12 | } |
_ZNK5doris10CastToImplILNS_12CastModeTypeE1ENS_18DataTypeDateTimeV2ENS_14DataTypeNumberILNS_13PrimitiveTypeE3EEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmPKh Line | Count | Source | 192 | 12 | const NullMap::value_type* null_map = nullptr) const override { | 193 | 12 | return Status::RuntimeError( | 194 | 12 | "not support {} ", | 195 | 12 | cast_mode_type_to_string(CastMode, block.get_by_position(arguments[0]).type, | 196 | 12 | block.get_by_position(result).type)); | 197 | 12 | } |
Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE0ENS_16DataTypeDateTimeENS_14DataTypeNumberILNS_13PrimitiveTypeE3EEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmPKh Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE1ENS_16DataTypeDateTimeENS_14DataTypeNumberILNS_13PrimitiveTypeE3EEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmPKh Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE0ENS_12DataTypeDateENS_14DataTypeNumberILNS_13PrimitiveTypeE4EEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmPKh Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE1ENS_12DataTypeDateENS_14DataTypeNumberILNS_13PrimitiveTypeE4EEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmPKh _ZNK5doris10CastToImplILNS_12CastModeTypeE0ENS_14DataTypeDateV2ENS_14DataTypeNumberILNS_13PrimitiveTypeE4EEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmPKh Line | Count | Source | 192 | 36 | const NullMap::value_type* null_map = nullptr) const override { | 193 | 36 | return Status::RuntimeError( | 194 | 36 | "not support {} ", | 195 | 36 | cast_mode_type_to_string(CastMode, block.get_by_position(arguments[0]).type, | 196 | 36 | block.get_by_position(result).type)); | 197 | 36 | } |
_ZNK5doris10CastToImplILNS_12CastModeTypeE1ENS_14DataTypeDateV2ENS_14DataTypeNumberILNS_13PrimitiveTypeE4EEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmPKh Line | Count | Source | 192 | 36 | const NullMap::value_type* null_map = nullptr) const override { | 193 | 36 | return Status::RuntimeError( | 194 | 36 | "not support {} ", | 195 | 36 | cast_mode_type_to_string(CastMode, block.get_by_position(arguments[0]).type, | 196 | 36 | block.get_by_position(result).type)); | 197 | 36 | } |
_ZNK5doris10CastToImplILNS_12CastModeTypeE0ENS_18DataTypeDateTimeV2ENS_14DataTypeNumberILNS_13PrimitiveTypeE4EEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmPKh Line | Count | Source | 192 | 12 | const NullMap::value_type* null_map = nullptr) const override { | 193 | 12 | return Status::RuntimeError( | 194 | 12 | "not support {} ", | 195 | 12 | cast_mode_type_to_string(CastMode, block.get_by_position(arguments[0]).type, | 196 | 12 | block.get_by_position(result).type)); | 197 | 12 | } |
_ZNK5doris10CastToImplILNS_12CastModeTypeE1ENS_18DataTypeDateTimeV2ENS_14DataTypeNumberILNS_13PrimitiveTypeE4EEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmPKh Line | Count | Source | 192 | 12 | const NullMap::value_type* null_map = nullptr) const override { | 193 | 12 | return Status::RuntimeError( | 194 | 12 | "not support {} ", | 195 | 12 | cast_mode_type_to_string(CastMode, block.get_by_position(arguments[0]).type, | 196 | 12 | block.get_by_position(result).type)); | 197 | 12 | } |
Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE0ENS_16DataTypeDateTimeENS_14DataTypeNumberILNS_13PrimitiveTypeE4EEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmPKh Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE1ENS_16DataTypeDateTimeENS_14DataTypeNumberILNS_13PrimitiveTypeE4EEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmPKh _ZNK5doris10CastToImplILNS_12CastModeTypeE0ENS_18DataTypeDateTimeV2ENS_14DataTypeNumberILNS_13PrimitiveTypeE5EEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmPKh Line | Count | Source | 192 | 12 | const NullMap::value_type* null_map = nullptr) const override { | 193 | 12 | return Status::RuntimeError( | 194 | 12 | "not support {} ", | 195 | 12 | cast_mode_type_to_string(CastMode, block.get_by_position(arguments[0]).type, | 196 | 12 | block.get_by_position(result).type)); | 197 | 12 | } |
_ZNK5doris10CastToImplILNS_12CastModeTypeE1ENS_18DataTypeDateTimeV2ENS_14DataTypeNumberILNS_13PrimitiveTypeE5EEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmPKh Line | Count | Source | 192 | 12 | const NullMap::value_type* null_map = nullptr) const override { | 193 | 12 | return Status::RuntimeError( | 194 | 12 | "not support {} ", | 195 | 12 | cast_mode_type_to_string(CastMode, block.get_by_position(arguments[0]).type, | 196 | 12 | block.get_by_position(result).type)); | 197 | 12 | } |
Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE0ENS_16DataTypeDateTimeENS_14DataTypeNumberILNS_13PrimitiveTypeE5EEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmPKh Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE1ENS_16DataTypeDateTimeENS_14DataTypeNumberILNS_13PrimitiveTypeE5EEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmPKh Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE0ENS_14DataTypeNumberILNS_13PrimitiveTypeE2EEENS_12DataTypeIPv4EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmPKh Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE1ENS_14DataTypeNumberILNS_13PrimitiveTypeE2EEENS_12DataTypeIPv4EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmPKh Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE0ENS_14DataTypeNumberILNS_13PrimitiveTypeE3EEENS_12DataTypeIPv4EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmPKh Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE1ENS_14DataTypeNumberILNS_13PrimitiveTypeE3EEENS_12DataTypeIPv4EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmPKh Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE0ENS_14DataTypeNumberILNS_13PrimitiveTypeE4EEENS_12DataTypeIPv4EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmPKh Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE1ENS_14DataTypeNumberILNS_13PrimitiveTypeE4EEENS_12DataTypeIPv4EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmPKh Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE0ENS_14DataTypeNumberILNS_13PrimitiveTypeE5EEENS_12DataTypeIPv4EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmPKh Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE1ENS_14DataTypeNumberILNS_13PrimitiveTypeE5EEENS_12DataTypeIPv4EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmPKh Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE0ENS_14DataTypeNumberILNS_13PrimitiveTypeE6EEENS_12DataTypeIPv4EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmPKh Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE1ENS_14DataTypeNumberILNS_13PrimitiveTypeE6EEENS_12DataTypeIPv4EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmPKh Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE0ENS_14DataTypeNumberILNS_13PrimitiveTypeE7EEENS_12DataTypeIPv4EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmPKh Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE1ENS_14DataTypeNumberILNS_13PrimitiveTypeE7EEENS_12DataTypeIPv4EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmPKh Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE0ENS_14DataTypeNumberILNS_13PrimitiveTypeE8EEENS_12DataTypeIPv4EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmPKh Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE1ENS_14DataTypeNumberILNS_13PrimitiveTypeE8EEENS_12DataTypeIPv4EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmPKh Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE0ENS_14DataTypeNumberILNS_13PrimitiveTypeE9EEENS_12DataTypeIPv4EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmPKh Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE1ENS_14DataTypeNumberILNS_13PrimitiveTypeE9EEENS_12DataTypeIPv4EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmPKh Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE0ENS_12DataTypeIPv4ES2_E12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmPKh Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE1ENS_12DataTypeIPv4ES2_E12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmPKh Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE0ENS_12DataTypeIPv6ENS_12DataTypeIPv4EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmPKh Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE1ENS_12DataTypeIPv6ENS_12DataTypeIPv4EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmPKh Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE0ENS_14DataTypeNumberILNS_13PrimitiveTypeE2EEENS_12DataTypeIPv6EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmPKh Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE1ENS_14DataTypeNumberILNS_13PrimitiveTypeE2EEENS_12DataTypeIPv6EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmPKh Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE0ENS_14DataTypeNumberILNS_13PrimitiveTypeE3EEENS_12DataTypeIPv6EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmPKh Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE1ENS_14DataTypeNumberILNS_13PrimitiveTypeE3EEENS_12DataTypeIPv6EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmPKh Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE0ENS_14DataTypeNumberILNS_13PrimitiveTypeE4EEENS_12DataTypeIPv6EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmPKh Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE1ENS_14DataTypeNumberILNS_13PrimitiveTypeE4EEENS_12DataTypeIPv6EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmPKh Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE0ENS_14DataTypeNumberILNS_13PrimitiveTypeE5EEENS_12DataTypeIPv6EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmPKh Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE1ENS_14DataTypeNumberILNS_13PrimitiveTypeE5EEENS_12DataTypeIPv6EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmPKh Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE0ENS_14DataTypeNumberILNS_13PrimitiveTypeE6EEENS_12DataTypeIPv6EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmPKh Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE1ENS_14DataTypeNumberILNS_13PrimitiveTypeE6EEENS_12DataTypeIPv6EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmPKh Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE0ENS_14DataTypeNumberILNS_13PrimitiveTypeE7EEENS_12DataTypeIPv6EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmPKh Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE1ENS_14DataTypeNumberILNS_13PrimitiveTypeE7EEENS_12DataTypeIPv6EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmPKh Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE0ENS_14DataTypeNumberILNS_13PrimitiveTypeE8EEENS_12DataTypeIPv6EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmPKh Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE1ENS_14DataTypeNumberILNS_13PrimitiveTypeE8EEENS_12DataTypeIPv6EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmPKh Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE0ENS_14DataTypeNumberILNS_13PrimitiveTypeE9EEENS_12DataTypeIPv6EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmPKh Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE1ENS_14DataTypeNumberILNS_13PrimitiveTypeE9EEENS_12DataTypeIPv6EE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmPKh Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE0ENS_12DataTypeIPv6ES2_E12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmPKh Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE1ENS_12DataTypeIPv6ES2_E12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmPKh Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE0ENS_14DataTypeNumberILNS_13PrimitiveTypeE2EEENS_19DataTypeTimeStampTzEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmPKh Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE1ENS_14DataTypeNumberILNS_13PrimitiveTypeE2EEENS_19DataTypeTimeStampTzEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmPKh Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE0ENS_14DataTypeNumberILNS_13PrimitiveTypeE3EEENS_19DataTypeTimeStampTzEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmPKh Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE1ENS_14DataTypeNumberILNS_13PrimitiveTypeE3EEENS_19DataTypeTimeStampTzEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmPKh Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE0ENS_14DataTypeNumberILNS_13PrimitiveTypeE4EEENS_19DataTypeTimeStampTzEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmPKh Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE1ENS_14DataTypeNumberILNS_13PrimitiveTypeE4EEENS_19DataTypeTimeStampTzEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmPKh Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE0ENS_14DataTypeNumberILNS_13PrimitiveTypeE5EEENS_19DataTypeTimeStampTzEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmPKh Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE1ENS_14DataTypeNumberILNS_13PrimitiveTypeE5EEENS_19DataTypeTimeStampTzEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmPKh Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE0ENS_14DataTypeNumberILNS_13PrimitiveTypeE6EEENS_19DataTypeTimeStampTzEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmPKh Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE1ENS_14DataTypeNumberILNS_13PrimitiveTypeE6EEENS_19DataTypeTimeStampTzEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmPKh Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE0ENS_14DataTypeNumberILNS_13PrimitiveTypeE7EEENS_19DataTypeTimeStampTzEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmPKh Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE1ENS_14DataTypeNumberILNS_13PrimitiveTypeE7EEENS_19DataTypeTimeStampTzEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmPKh Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE0ENS_14DataTypeNumberILNS_13PrimitiveTypeE8EEENS_19DataTypeTimeStampTzEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmPKh Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE1ENS_14DataTypeNumberILNS_13PrimitiveTypeE8EEENS_19DataTypeTimeStampTzEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmPKh Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE0ENS_14DataTypeNumberILNS_13PrimitiveTypeE9EEENS_19DataTypeTimeStampTzEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmPKh Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE1ENS_14DataTypeNumberILNS_13PrimitiveTypeE9EEENS_19DataTypeTimeStampTzEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmPKh Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE0ENS_15DataTypeDecimalILNS_13PrimitiveTypeE28EEENS_19DataTypeTimeStampTzEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmPKh Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE1ENS_15DataTypeDecimalILNS_13PrimitiveTypeE28EEENS_19DataTypeTimeStampTzEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmPKh Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE0ENS_15DataTypeDecimalILNS_13PrimitiveTypeE29EEENS_19DataTypeTimeStampTzEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmPKh Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE1ENS_15DataTypeDecimalILNS_13PrimitiveTypeE29EEENS_19DataTypeTimeStampTzEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmPKh Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE0ENS_15DataTypeDecimalILNS_13PrimitiveTypeE20EEENS_19DataTypeTimeStampTzEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmPKh Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE1ENS_15DataTypeDecimalILNS_13PrimitiveTypeE20EEENS_19DataTypeTimeStampTzEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmPKh Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE0ENS_15DataTypeDecimalILNS_13PrimitiveTypeE30EEENS_19DataTypeTimeStampTzEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmPKh Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE1ENS_15DataTypeDecimalILNS_13PrimitiveTypeE30EEENS_19DataTypeTimeStampTzEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmPKh Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE0ENS_15DataTypeDecimalILNS_13PrimitiveTypeE35EEENS_19DataTypeTimeStampTzEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmPKh Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE1ENS_15DataTypeDecimalILNS_13PrimitiveTypeE35EEENS_19DataTypeTimeStampTzEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmPKh Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE0ENS_12DataTypeDateENS_19DataTypeTimeStampTzEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmPKh Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE1ENS_12DataTypeDateENS_19DataTypeTimeStampTzEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmPKh Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE0ENS_14DataTypeDateV2ENS_19DataTypeTimeStampTzEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmPKh Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE1ENS_14DataTypeDateV2ENS_19DataTypeTimeStampTzEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmPKh Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE0ENS_16DataTypeDateTimeENS_19DataTypeTimeStampTzEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmPKh Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE1ENS_16DataTypeDateTimeENS_19DataTypeTimeStampTzEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmPKh Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE0ENS_14DataTypeTimeV2ENS_19DataTypeTimeStampTzEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmPKh Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE1ENS_14DataTypeTimeV2ENS_19DataTypeTimeStampTzEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmPKh Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE0ENS_12DataTypeIPv4ENS_19DataTypeTimeStampTzEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmPKh Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE1ENS_12DataTypeIPv4ENS_19DataTypeTimeStampTzEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmPKh Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE0ENS_12DataTypeIPv6ENS_19DataTypeTimeStampTzEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmPKh Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE1ENS_12DataTypeIPv6ENS_19DataTypeTimeStampTzEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmPKh |
198 | | }; |
199 | | |
200 | | #ifdef BE_TEST |
201 | | inline CastWrapper::WrapperType get_cast_wrapper(FunctionContext* context, |
202 | | const DataTypePtr& from_type, |
203 | 9 | const DataTypePtr& to_type) { |
204 | 9 | return CastWrapper::prepare_unpack_dictionaries(context, from_type, to_type); |
205 | 9 | } |
206 | | #endif |
207 | | } // namespace doris |