Coverage Report

Created: 2026-04-01 07:21

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
be/src/exprs/function/cast/cast_base.h
Line
Count
Source
1
// Licensed to the Apache Software Foundation (ASF) under one
2
// or more contributor license agreements.  See the NOTICE file
3
// distributed with this work for additional information
4
// regarding copyright ownership.  The ASF licenses this file
5
// to you under the Apache License, Version 2.0 (the
6
// "License"); you may not use this file except in compliance
7
// with the License.  You may obtain a copy of the License at
8
//
9
//   http://www.apache.org/licenses/LICENSE-2.0
10
//
11
// Unless required by applicable law or agreed to in writing,
12
// software distributed under the License is distributed on an
13
// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
14
// KIND, either express or implied.  See the License for the
15
// specific language governing permissions and limitations
16
// under the License.
17
18
#pragma once
19
#include <cstddef>
20
#include <cstdint>
21
22
#include "core/block/block.h"
23
#include "core/call_on_type_index.h"
24
#include "core/data_type/data_type.h"
25
#include "core/data_type/data_type_array.h"
26
#include "core/data_type/data_type_bitmap.h"
27
#include "core/data_type/data_type_date.h"
28
#include "core/data_type/data_type_date_or_datetime_v2.h"
29
#include "core/data_type/data_type_date_time.h"
30
#include "core/data_type/data_type_decimal.h"
31
#include "core/data_type/data_type_hll.h"
32
#include "core/data_type/data_type_ipv4.h"
33
#include "core/data_type/data_type_ipv6.h"
34
#include "core/data_type/data_type_jsonb.h"
35
#include "core/data_type/data_type_map.h"
36
#include "core/data_type/data_type_nullable.h"
37
#include "core/data_type/data_type_number.h"
38
#include "core/data_type/data_type_string.h"
39
#include "core/data_type/data_type_struct.h"
40
#include "core/data_type/data_type_time.h"
41
#include "exprs/function/cast/cast_parameters.h"
42
#include "exprs/function/function.h"
43
#include "exprs/function/function_helpers.h"
44
#include "util/io_helper.h"
45
46
namespace doris {
47
48
enum class DatelikeParseMode {
49
    NON_STRICT,
50
    STRICT,
51
};
52
53
0
constexpr bool is_datelike_parse_strict(DatelikeParseMode parse_mode) {
54
0
    return parse_mode == DatelikeParseMode::STRICT;
55
0
}
56
57
enum class DatelikeTargetType {
58
    DATE,
59
    DATE_TIME,
60
};
61
62
0
constexpr bool is_datelike_target_datetime(DatelikeTargetType target_type) {
63
0
    return target_type == DatelikeTargetType::DATE_TIME;
64
0
}
65
66
struct NameCast {
67
    static constexpr auto name = "CAST";
68
};
69
70
namespace CastUtil {
71
// `static_cast_set` is introduced to wrap `static_cast` and handle special cases.
72
// Doris uses `uint8` to represent boolean values internally.
73
// Directly `static_cast` to `uint8` can result in non-0/1 values,
74
// To address this, `static_cast_set` performs an additional check:
75
//  For `uint8` types, it explicitly uses `static_cast<bool>` to ensure
76
//  the result is either 0 or 1.
77
template <typename FromFieldType, typename ToFieldType>
78
29.3M
void static_cast_set(ToFieldType& to, const FromFieldType& from) {
79
    // uint8_t now use as boolean in doris
80
    if constexpr (std::is_same_v<uint8_t, ToFieldType>) {
81
        to = static_cast<bool>(from);
82
29.3M
    } else {
83
29.3M
        to = static_cast<ToFieldType>(from);
84
29.3M
    }
85
29.3M
}
_ZN5doris8CastUtil15static_cast_setIhaEEvRT0_RKT_
Line
Count
Source
78
730k
void static_cast_set(ToFieldType& to, const FromFieldType& from) {
79
    // uint8_t now use as boolean in doris
80
    if constexpr (std::is_same_v<uint8_t, ToFieldType>) {
81
        to = static_cast<bool>(from);
82
730k
    } else {
83
730k
        to = static_cast<ToFieldType>(from);
84
730k
    }
85
730k
}
_ZN5doris8CastUtil15static_cast_setIaaEEvRT0_RKT_
Line
Count
Source
78
4
void static_cast_set(ToFieldType& to, const FromFieldType& from) {
79
    // uint8_t now use as boolean in doris
80
    if constexpr (std::is_same_v<uint8_t, ToFieldType>) {
81
        to = static_cast<bool>(from);
82
4
    } else {
83
4
        to = static_cast<ToFieldType>(from);
84
4
    }
85
4
}
_ZN5doris8CastUtil15static_cast_setIsaEEvRT0_RKT_
Line
Count
Source
78
18
void static_cast_set(ToFieldType& to, const FromFieldType& from) {
79
    // uint8_t now use as boolean in doris
80
    if constexpr (std::is_same_v<uint8_t, ToFieldType>) {
81
        to = static_cast<bool>(from);
82
18
    } else {
83
18
        to = static_cast<ToFieldType>(from);
84
18
    }
85
18
}
_ZN5doris8CastUtil15static_cast_setIiaEEvRT0_RKT_
Line
Count
Source
78
19.8k
void static_cast_set(ToFieldType& to, const FromFieldType& from) {
79
    // uint8_t now use as boolean in doris
80
    if constexpr (std::is_same_v<uint8_t, ToFieldType>) {
81
        to = static_cast<bool>(from);
82
19.8k
    } else {
83
19.8k
        to = static_cast<ToFieldType>(from);
84
19.8k
    }
85
19.8k
}
_ZN5doris8CastUtil15static_cast_setIlaEEvRT0_RKT_
Line
Count
Source
78
21.8k
void static_cast_set(ToFieldType& to, const FromFieldType& from) {
79
    // uint8_t now use as boolean in doris
80
    if constexpr (std::is_same_v<uint8_t, ToFieldType>) {
81
        to = static_cast<bool>(from);
82
21.8k
    } else {
83
21.8k
        to = static_cast<ToFieldType>(from);
84
21.8k
    }
85
21.8k
}
_ZN5doris8CastUtil15static_cast_setInaEEvRT0_RKT_
Line
Count
Source
78
18
void static_cast_set(ToFieldType& to, const FromFieldType& from) {
79
    // uint8_t now use as boolean in doris
80
    if constexpr (std::is_same_v<uint8_t, ToFieldType>) {
81
        to = static_cast<bool>(from);
82
18
    } else {
83
18
        to = static_cast<ToFieldType>(from);
84
18
    }
85
18
}
_ZN5doris8CastUtil15static_cast_setIdaEEvRT0_RKT_
Line
Count
Source
78
45
void static_cast_set(ToFieldType& to, const FromFieldType& from) {
79
    // uint8_t now use as boolean in doris
80
    if constexpr (std::is_same_v<uint8_t, ToFieldType>) {
81
        to = static_cast<bool>(from);
82
45
    } else {
83
45
        to = static_cast<ToFieldType>(from);
84
45
    }
85
45
}
_ZN5doris8CastUtil15static_cast_setIfaEEvRT0_RKT_
Line
Count
Source
78
36
void static_cast_set(ToFieldType& to, const FromFieldType& from) {
79
    // uint8_t now use as boolean in doris
80
    if constexpr (std::is_same_v<uint8_t, ToFieldType>) {
81
        to = static_cast<bool>(from);
82
36
    } else {
83
36
        to = static_cast<ToFieldType>(from);
84
36
    }
85
36
}
_ZN5doris8CastUtil15static_cast_setIhsEEvRT0_RKT_
Line
Count
Source
78
9.17k
void static_cast_set(ToFieldType& to, const FromFieldType& from) {
79
    // uint8_t now use as boolean in doris
80
    if constexpr (std::is_same_v<uint8_t, ToFieldType>) {
81
        to = static_cast<bool>(from);
82
9.17k
    } else {
83
9.17k
        to = static_cast<ToFieldType>(from);
84
9.17k
    }
85
9.17k
}
_ZN5doris8CastUtil15static_cast_setIasEEvRT0_RKT_
Line
Count
Source
78
6.50k
void static_cast_set(ToFieldType& to, const FromFieldType& from) {
79
    // uint8_t now use as boolean in doris
80
    if constexpr (std::is_same_v<uint8_t, ToFieldType>) {
81
        to = static_cast<bool>(from);
82
6.50k
    } else {
83
6.50k
        to = static_cast<ToFieldType>(from);
84
6.50k
    }
85
6.50k
}
_ZN5doris8CastUtil15static_cast_setIssEEvRT0_RKT_
Line
Count
Source
78
15
void static_cast_set(ToFieldType& to, const FromFieldType& from) {
79
    // uint8_t now use as boolean in doris
80
    if constexpr (std::is_same_v<uint8_t, ToFieldType>) {
81
        to = static_cast<bool>(from);
82
15
    } else {
83
15
        to = static_cast<ToFieldType>(from);
84
15
    }
85
15
}
_ZN5doris8CastUtil15static_cast_setIisEEvRT0_RKT_
Line
Count
Source
78
13.4k
void static_cast_set(ToFieldType& to, const FromFieldType& from) {
79
    // uint8_t now use as boolean in doris
80
    if constexpr (std::is_same_v<uint8_t, ToFieldType>) {
81
        to = static_cast<bool>(from);
82
13.4k
    } else {
83
13.4k
        to = static_cast<ToFieldType>(from);
84
13.4k
    }
85
13.4k
}
_ZN5doris8CastUtil15static_cast_setIlsEEvRT0_RKT_
Line
Count
Source
78
873
void static_cast_set(ToFieldType& to, const FromFieldType& from) {
79
    // uint8_t now use as boolean in doris
80
    if constexpr (std::is_same_v<uint8_t, ToFieldType>) {
81
        to = static_cast<bool>(from);
82
873
    } else {
83
873
        to = static_cast<ToFieldType>(from);
84
873
    }
85
873
}
_ZN5doris8CastUtil15static_cast_setInsEEvRT0_RKT_
Line
Count
Source
78
43
void static_cast_set(ToFieldType& to, const FromFieldType& from) {
79
    // uint8_t now use as boolean in doris
80
    if constexpr (std::is_same_v<uint8_t, ToFieldType>) {
81
        to = static_cast<bool>(from);
82
43
    } else {
83
43
        to = static_cast<ToFieldType>(from);
84
43
    }
85
43
}
_ZN5doris8CastUtil15static_cast_setIdsEEvRT0_RKT_
Line
Count
Source
78
59
void static_cast_set(ToFieldType& to, const FromFieldType& from) {
79
    // uint8_t now use as boolean in doris
80
    if constexpr (std::is_same_v<uint8_t, ToFieldType>) {
81
        to = static_cast<bool>(from);
82
59
    } else {
83
59
        to = static_cast<ToFieldType>(from);
84
59
    }
85
59
}
_ZN5doris8CastUtil15static_cast_setIfsEEvRT0_RKT_
Line
Count
Source
78
44
void static_cast_set(ToFieldType& to, const FromFieldType& from) {
79
    // uint8_t now use as boolean in doris
80
    if constexpr (std::is_same_v<uint8_t, ToFieldType>) {
81
        to = static_cast<bool>(from);
82
44
    } else {
83
44
        to = static_cast<ToFieldType>(from);
84
44
    }
85
44
}
_ZN5doris8CastUtil15static_cast_setIhiEEvRT0_RKT_
Line
Count
Source
78
5.47k
void static_cast_set(ToFieldType& to, const FromFieldType& from) {
79
    // uint8_t now use as boolean in doris
80
    if constexpr (std::is_same_v<uint8_t, ToFieldType>) {
81
        to = static_cast<bool>(from);
82
5.47k
    } else {
83
5.47k
        to = static_cast<ToFieldType>(from);
84
5.47k
    }
85
5.47k
}
_ZN5doris8CastUtil15static_cast_setIaiEEvRT0_RKT_
Line
Count
Source
78
9.93k
void static_cast_set(ToFieldType& to, const FromFieldType& from) {
79
    // uint8_t now use as boolean in doris
80
    if constexpr (std::is_same_v<uint8_t, ToFieldType>) {
81
        to = static_cast<bool>(from);
82
9.93k
    } else {
83
9.93k
        to = static_cast<ToFieldType>(from);
84
9.93k
    }
85
9.93k
}
_ZN5doris8CastUtil15static_cast_setIsiEEvRT0_RKT_
Line
Count
Source
78
5.96k
void static_cast_set(ToFieldType& to, const FromFieldType& from) {
79
    // uint8_t now use as boolean in doris
80
    if constexpr (std::is_same_v<uint8_t, ToFieldType>) {
81
        to = static_cast<bool>(from);
82
5.96k
    } else {
83
5.96k
        to = static_cast<ToFieldType>(from);
84
5.96k
    }
85
5.96k
}
_ZN5doris8CastUtil15static_cast_setIiiEEvRT0_RKT_
Line
Count
Source
78
40
void static_cast_set(ToFieldType& to, const FromFieldType& from) {
79
    // uint8_t now use as boolean in doris
80
    if constexpr (std::is_same_v<uint8_t, ToFieldType>) {
81
        to = static_cast<bool>(from);
82
40
    } else {
83
40
        to = static_cast<ToFieldType>(from);
84
40
    }
85
40
}
_ZN5doris8CastUtil15static_cast_setIliEEvRT0_RKT_
Line
Count
Source
78
23.3M
void static_cast_set(ToFieldType& to, const FromFieldType& from) {
79
    // uint8_t now use as boolean in doris
80
    if constexpr (std::is_same_v<uint8_t, ToFieldType>) {
81
        to = static_cast<bool>(from);
82
23.3M
    } else {
83
23.3M
        to = static_cast<ToFieldType>(from);
84
23.3M
    }
85
23.3M
}
_ZN5doris8CastUtil15static_cast_setIniEEvRT0_RKT_
Line
Count
Source
78
26
void static_cast_set(ToFieldType& to, const FromFieldType& from) {
79
    // uint8_t now use as boolean in doris
80
    if constexpr (std::is_same_v<uint8_t, ToFieldType>) {
81
        to = static_cast<bool>(from);
82
26
    } else {
83
26
        to = static_cast<ToFieldType>(from);
84
26
    }
85
26
}
_ZN5doris8CastUtil15static_cast_setIdiEEvRT0_RKT_
Line
Count
Source
78
1.08M
void static_cast_set(ToFieldType& to, const FromFieldType& from) {
79
    // uint8_t now use as boolean in doris
80
    if constexpr (std::is_same_v<uint8_t, ToFieldType>) {
81
        to = static_cast<bool>(from);
82
1.08M
    } else {
83
1.08M
        to = static_cast<ToFieldType>(from);
84
1.08M
    }
85
1.08M
}
_ZN5doris8CastUtil15static_cast_setIfiEEvRT0_RKT_
Line
Count
Source
78
64
void static_cast_set(ToFieldType& to, const FromFieldType& from) {
79
    // uint8_t now use as boolean in doris
80
    if constexpr (std::is_same_v<uint8_t, ToFieldType>) {
81
        to = static_cast<bool>(from);
82
64
    } else {
83
64
        to = static_cast<ToFieldType>(from);
84
64
    }
85
64
}
_ZN5doris8CastUtil15static_cast_setIhlEEvRT0_RKT_
Line
Count
Source
78
8.67k
void static_cast_set(ToFieldType& to, const FromFieldType& from) {
79
    // uint8_t now use as boolean in doris
80
    if constexpr (std::is_same_v<uint8_t, ToFieldType>) {
81
        to = static_cast<bool>(from);
82
8.67k
    } else {
83
8.67k
        to = static_cast<ToFieldType>(from);
84
8.67k
    }
85
8.67k
}
_ZN5doris8CastUtil15static_cast_setIalEEvRT0_RKT_
Line
Count
Source
78
85.2k
void static_cast_set(ToFieldType& to, const FromFieldType& from) {
79
    // uint8_t now use as boolean in doris
80
    if constexpr (std::is_same_v<uint8_t, ToFieldType>) {
81
        to = static_cast<bool>(from);
82
85.2k
    } else {
83
85.2k
        to = static_cast<ToFieldType>(from);
84
85.2k
    }
85
85.2k
}
_ZN5doris8CastUtil15static_cast_setIslEEvRT0_RKT_
Line
Count
Source
78
8.66k
void static_cast_set(ToFieldType& to, const FromFieldType& from) {
79
    // uint8_t now use as boolean in doris
80
    if constexpr (std::is_same_v<uint8_t, ToFieldType>) {
81
        to = static_cast<bool>(from);
82
8.66k
    } else {
83
8.66k
        to = static_cast<ToFieldType>(from);
84
8.66k
    }
85
8.66k
}
_ZN5doris8CastUtil15static_cast_setIilEEvRT0_RKT_
Line
Count
Source
78
2.12M
void static_cast_set(ToFieldType& to, const FromFieldType& from) {
79
    // uint8_t now use as boolean in doris
80
    if constexpr (std::is_same_v<uint8_t, ToFieldType>) {
81
        to = static_cast<bool>(from);
82
2.12M
    } else {
83
2.12M
        to = static_cast<ToFieldType>(from);
84
2.12M
    }
85
2.12M
}
_ZN5doris8CastUtil15static_cast_setIllEEvRT0_RKT_
Line
Count
Source
78
48.7k
void static_cast_set(ToFieldType& to, const FromFieldType& from) {
79
    // uint8_t now use as boolean in doris
80
    if constexpr (std::is_same_v<uint8_t, ToFieldType>) {
81
        to = static_cast<bool>(from);
82
48.7k
    } else {
83
48.7k
        to = static_cast<ToFieldType>(from);
84
48.7k
    }
85
48.7k
}
_ZN5doris8CastUtil15static_cast_setInlEEvRT0_RKT_
Line
Count
Source
78
1.61k
void static_cast_set(ToFieldType& to, const FromFieldType& from) {
79
    // uint8_t now use as boolean in doris
80
    if constexpr (std::is_same_v<uint8_t, ToFieldType>) {
81
        to = static_cast<bool>(from);
82
1.61k
    } else {
83
1.61k
        to = static_cast<ToFieldType>(from);
84
1.61k
    }
85
1.61k
}
_ZN5doris8CastUtil15static_cast_setIdlEEvRT0_RKT_
Line
Count
Source
78
14.3k
void static_cast_set(ToFieldType& to, const FromFieldType& from) {
79
    // uint8_t now use as boolean in doris
80
    if constexpr (std::is_same_v<uint8_t, ToFieldType>) {
81
        to = static_cast<bool>(from);
82
14.3k
    } else {
83
14.3k
        to = static_cast<ToFieldType>(from);
84
14.3k
    }
85
14.3k
}
_ZN5doris8CastUtil15static_cast_setIflEEvRT0_RKT_
Line
Count
Source
78
3.82k
void static_cast_set(ToFieldType& to, const FromFieldType& from) {
79
    // uint8_t now use as boolean in doris
80
    if constexpr (std::is_same_v<uint8_t, ToFieldType>) {
81
        to = static_cast<bool>(from);
82
3.82k
    } else {
83
3.82k
        to = static_cast<ToFieldType>(from);
84
3.82k
    }
85
3.82k
}
_ZN5doris8CastUtil15static_cast_setIhnEEvRT0_RKT_
Line
Count
Source
78
816
void static_cast_set(ToFieldType& to, const FromFieldType& from) {
79
    // uint8_t now use as boolean in doris
80
    if constexpr (std::is_same_v<uint8_t, ToFieldType>) {
81
        to = static_cast<bool>(from);
82
816
    } else {
83
816
        to = static_cast<ToFieldType>(from);
84
816
    }
85
816
}
_ZN5doris8CastUtil15static_cast_setIanEEvRT0_RKT_
Line
Count
Source
78
2.14k
void static_cast_set(ToFieldType& to, const FromFieldType& from) {
79
    // uint8_t now use as boolean in doris
80
    if constexpr (std::is_same_v<uint8_t, ToFieldType>) {
81
        to = static_cast<bool>(from);
82
2.14k
    } else {
83
2.14k
        to = static_cast<ToFieldType>(from);
84
2.14k
    }
85
2.14k
}
_ZN5doris8CastUtil15static_cast_setIsnEEvRT0_RKT_
Line
Count
Source
78
577
void static_cast_set(ToFieldType& to, const FromFieldType& from) {
79
    // uint8_t now use as boolean in doris
80
    if constexpr (std::is_same_v<uint8_t, ToFieldType>) {
81
        to = static_cast<bool>(from);
82
577
    } else {
83
577
        to = static_cast<ToFieldType>(from);
84
577
    }
85
577
}
_ZN5doris8CastUtil15static_cast_setIinEEvRT0_RKT_
Line
Count
Source
78
864
void static_cast_set(ToFieldType& to, const FromFieldType& from) {
79
    // uint8_t now use as boolean in doris
80
    if constexpr (std::is_same_v<uint8_t, ToFieldType>) {
81
        to = static_cast<bool>(from);
82
864
    } else {
83
864
        to = static_cast<ToFieldType>(from);
84
864
    }
85
864
}
_ZN5doris8CastUtil15static_cast_setIlnEEvRT0_RKT_
Line
Count
Source
78
39.4k
void static_cast_set(ToFieldType& to, const FromFieldType& from) {
79
    // uint8_t now use as boolean in doris
80
    if constexpr (std::is_same_v<uint8_t, ToFieldType>) {
81
        to = static_cast<bool>(from);
82
39.4k
    } else {
83
39.4k
        to = static_cast<ToFieldType>(from);
84
39.4k
    }
85
39.4k
}
_ZN5doris8CastUtil15static_cast_setInnEEvRT0_RKT_
Line
Count
Source
78
75
void static_cast_set(ToFieldType& to, const FromFieldType& from) {
79
    // uint8_t now use as boolean in doris
80
    if constexpr (std::is_same_v<uint8_t, ToFieldType>) {
81
        to = static_cast<bool>(from);
82
75
    } else {
83
75
        to = static_cast<ToFieldType>(from);
84
75
    }
85
75
}
_ZN5doris8CastUtil15static_cast_setIdnEEvRT0_RKT_
Line
Count
Source
78
432
void static_cast_set(ToFieldType& to, const FromFieldType& from) {
79
    // uint8_t now use as boolean in doris
80
    if constexpr (std::is_same_v<uint8_t, ToFieldType>) {
81
        to = static_cast<bool>(from);
82
432
    } else {
83
432
        to = static_cast<ToFieldType>(from);
84
432
    }
85
432
}
_ZN5doris8CastUtil15static_cast_setIfnEEvRT0_RKT_
Line
Count
Source
78
80
void static_cast_set(ToFieldType& to, const FromFieldType& from) {
79
    // uint8_t now use as boolean in doris
80
    if constexpr (std::is_same_v<uint8_t, ToFieldType>) {
81
        to = static_cast<bool>(from);
82
80
    } else {
83
80
        to = static_cast<ToFieldType>(from);
84
80
    }
85
80
}
_ZN5doris8CastUtil15static_cast_setIhfEEvRT0_RKT_
Line
Count
Source
78
10
void static_cast_set(ToFieldType& to, const FromFieldType& from) {
79
    // uint8_t now use as boolean in doris
80
    if constexpr (std::is_same_v<uint8_t, ToFieldType>) {
81
        to = static_cast<bool>(from);
82
10
    } else {
83
10
        to = static_cast<ToFieldType>(from);
84
10
    }
85
10
}
_ZN5doris8CastUtil15static_cast_setIafEEvRT0_RKT_
Line
Count
Source
78
153
void static_cast_set(ToFieldType& to, const FromFieldType& from) {
79
    // uint8_t now use as boolean in doris
80
    if constexpr (std::is_same_v<uint8_t, ToFieldType>) {
81
        to = static_cast<bool>(from);
82
153
    } else {
83
153
        to = static_cast<ToFieldType>(from);
84
153
    }
85
153
}
_ZN5doris8CastUtil15static_cast_setIsfEEvRT0_RKT_
Line
Count
Source
78
88
void static_cast_set(ToFieldType& to, const FromFieldType& from) {
79
    // uint8_t now use as boolean in doris
80
    if constexpr (std::is_same_v<uint8_t, ToFieldType>) {
81
        to = static_cast<bool>(from);
82
88
    } else {
83
88
        to = static_cast<ToFieldType>(from);
84
88
    }
85
88
}
_ZN5doris8CastUtil15static_cast_setIifEEvRT0_RKT_
Line
Count
Source
78
102
void static_cast_set(ToFieldType& to, const FromFieldType& from) {
79
    // uint8_t now use as boolean in doris
80
    if constexpr (std::is_same_v<uint8_t, ToFieldType>) {
81
        to = static_cast<bool>(from);
82
102
    } else {
83
102
        to = static_cast<ToFieldType>(from);
84
102
    }
85
102
}
_ZN5doris8CastUtil15static_cast_setIlfEEvRT0_RKT_
Line
Count
Source
78
9.63k
void static_cast_set(ToFieldType& to, const FromFieldType& from) {
79
    // uint8_t now use as boolean in doris
80
    if constexpr (std::is_same_v<uint8_t, ToFieldType>) {
81
        to = static_cast<bool>(from);
82
9.63k
    } else {
83
9.63k
        to = static_cast<ToFieldType>(from);
84
9.63k
    }
85
9.63k
}
_ZN5doris8CastUtil15static_cast_setInfEEvRT0_RKT_
Line
Count
Source
78
357
void static_cast_set(ToFieldType& to, const FromFieldType& from) {
79
    // uint8_t now use as boolean in doris
80
    if constexpr (std::is_same_v<uint8_t, ToFieldType>) {
81
        to = static_cast<bool>(from);
82
357
    } else {
83
357
        to = static_cast<ToFieldType>(from);
84
357
    }
85
357
}
_ZN5doris8CastUtil15static_cast_setIdfEEvRT0_RKT_
Line
Count
Source
78
1.08k
void static_cast_set(ToFieldType& to, const FromFieldType& from) {
79
    // uint8_t now use as boolean in doris
80
    if constexpr (std::is_same_v<uint8_t, ToFieldType>) {
81
        to = static_cast<bool>(from);
82
1.08k
    } else {
83
1.08k
        to = static_cast<ToFieldType>(from);
84
1.08k
    }
85
1.08k
}
_ZN5doris8CastUtil15static_cast_setIffEEvRT0_RKT_
Line
Count
Source
78
2
void static_cast_set(ToFieldType& to, const FromFieldType& from) {
79
    // uint8_t now use as boolean in doris
80
    if constexpr (std::is_same_v<uint8_t, ToFieldType>) {
81
        to = static_cast<bool>(from);
82
2
    } else {
83
2
        to = static_cast<ToFieldType>(from);
84
2
    }
85
2
}
_ZN5doris8CastUtil15static_cast_setIhdEEvRT0_RKT_
Line
Count
Source
78
44.4k
void static_cast_set(ToFieldType& to, const FromFieldType& from) {
79
    // uint8_t now use as boolean in doris
80
    if constexpr (std::is_same_v<uint8_t, ToFieldType>) {
81
        to = static_cast<bool>(from);
82
44.4k
    } else {
83
44.4k
        to = static_cast<ToFieldType>(from);
84
44.4k
    }
85
44.4k
}
_ZN5doris8CastUtil15static_cast_setIadEEvRT0_RKT_
Line
Count
Source
78
3.84k
void static_cast_set(ToFieldType& to, const FromFieldType& from) {
79
    // uint8_t now use as boolean in doris
80
    if constexpr (std::is_same_v<uint8_t, ToFieldType>) {
81
        to = static_cast<bool>(from);
82
3.84k
    } else {
83
3.84k
        to = static_cast<ToFieldType>(from);
84
3.84k
    }
85
3.84k
}
_ZN5doris8CastUtil15static_cast_setIsdEEvRT0_RKT_
Line
Count
Source
78
6.02k
void static_cast_set(ToFieldType& to, const FromFieldType& from) {
79
    // uint8_t now use as boolean in doris
80
    if constexpr (std::is_same_v<uint8_t, ToFieldType>) {
81
        to = static_cast<bool>(from);
82
6.02k
    } else {
83
6.02k
        to = static_cast<ToFieldType>(from);
84
6.02k
    }
85
6.02k
}
_ZN5doris8CastUtil15static_cast_setIidEEvRT0_RKT_
Line
Count
Source
78
38.3k
void static_cast_set(ToFieldType& to, const FromFieldType& from) {
79
    // uint8_t now use as boolean in doris
80
    if constexpr (std::is_same_v<uint8_t, ToFieldType>) {
81
        to = static_cast<bool>(from);
82
38.3k
    } else {
83
38.3k
        to = static_cast<ToFieldType>(from);
84
38.3k
    }
85
38.3k
}
_ZN5doris8CastUtil15static_cast_setIldEEvRT0_RKT_
Line
Count
Source
78
1.04M
void static_cast_set(ToFieldType& to, const FromFieldType& from) {
79
    // uint8_t now use as boolean in doris
80
    if constexpr (std::is_same_v<uint8_t, ToFieldType>) {
81
        to = static_cast<bool>(from);
82
1.04M
    } else {
83
1.04M
        to = static_cast<ToFieldType>(from);
84
1.04M
    }
85
1.04M
}
_ZN5doris8CastUtil15static_cast_setIndEEvRT0_RKT_
Line
Count
Source
78
2.04k
void static_cast_set(ToFieldType& to, const FromFieldType& from) {
79
    // uint8_t now use as boolean in doris
80
    if constexpr (std::is_same_v<uint8_t, ToFieldType>) {
81
        to = static_cast<bool>(from);
82
2.04k
    } else {
83
2.04k
        to = static_cast<ToFieldType>(from);
84
2.04k
    }
85
2.04k
}
_ZN5doris8CastUtil15static_cast_setIddEEvRT0_RKT_
Line
Count
Source
78
560
void static_cast_set(ToFieldType& to, const FromFieldType& from) {
79
    // uint8_t now use as boolean in doris
80
    if constexpr (std::is_same_v<uint8_t, ToFieldType>) {
81
        to = static_cast<bool>(from);
82
560
    } else {
83
560
        to = static_cast<ToFieldType>(from);
84
560
    }
85
560
}
_ZN5doris8CastUtil15static_cast_setIfdEEvRT0_RKT_
Line
Count
Source
78
603k
void static_cast_set(ToFieldType& to, const FromFieldType& from) {
79
    // uint8_t now use as boolean in doris
80
    if constexpr (std::is_same_v<uint8_t, ToFieldType>) {
81
        to = static_cast<bool>(from);
82
603k
    } else {
83
603k
        to = static_cast<ToFieldType>(from);
84
603k
    }
85
603k
}
86
87
template <typename T>
88
constexpr static bool IsPureDigitType =
89
        IsDataTypeInt<T> || IsDataTypeFloat<T> || IsDataTypeDecimal<T>;
90
91
// IsDataTypeNumber include integer, float and boolean.
92
template <typename T>
93
constexpr static bool IsBaseCastToType =
94
        IsDataTypeNumber<T> || IsDataTypeDecimal<T> || IsDatelikeTypes<T> || IsIPType<T>;
95
96
template <typename T>
97
constexpr static bool IsBaseCastFromType = IsBaseCastToType<T> || IsStringType<T>;
98
99
} // namespace CastUtil
100
101
namespace CastWrapper {
102
103
using WrapperType = std::function<Status(FunctionContext*, Block&, const ColumnNumbers&, uint32_t,
104
                                         size_t, const NullMap::value_type*)>;
105
106
using ElementWrappers = std::vector<WrapperType>;
107
108
WrapperType create_unsupport_wrapper(const String error_msg);
109
110
WrapperType create_unsupport_wrapper(const String from_type_name, const String to_type_name);
111
//// Generic conversion of any type to String.
112
113
Status cast_from_generic_to_jsonb(FunctionContext* context, Block& block,
114
                                  const ColumnNumbers& arguments, uint32_t result,
115
                                  size_t input_rows_count,
116
                                  const NullMap::value_type* null_map = nullptr);
117
118
// string to bitmap or hll object
119
Status cast_from_string_to_generic(FunctionContext* context, Block& block,
120
                                   const ColumnNumbers& arguments, uint32_t result,
121
                                   size_t input_rows_count,
122
                                   const NullMap::value_type* null_map = nullptr);
123
124
Status cast_from_string_to_complex_type(FunctionContext* context, Block& block,
125
                                        const ColumnNumbers& arguments, uint32_t result,
126
                                        size_t input_rows_count,
127
                                        const NullMap::value_type* null_map = nullptr);
128
129
Status cast_from_string_to_complex_type_strict_mode(FunctionContext* context, Block& block,
130
                                                    const ColumnNumbers& arguments, uint32_t result,
131
                                                    size_t input_rows_count,
132
                                                    const NullMap::value_type* null_map = nullptr);
133
134
// prepare_unpack_dictionaries -> prepare_remove_nullable -> prepare_impl
135
136
WrapperType prepare_unpack_dictionaries(FunctionContext* context, const DataTypePtr& from_type,
137
                                        const DataTypePtr& to_type);
138
139
WrapperType prepare_remove_nullable(FunctionContext* context, const DataTypePtr& from_type,
140
                                    const DataTypePtr& to_type);
141
142
WrapperType prepare_impl(FunctionContext* context, const DataTypePtr& from_type,
143
                         const DataTypePtr& to_type);
144
145
ElementWrappers get_element_wrappers(FunctionContext* context, const DataTypes& from_element_types,
146
                                     const DataTypes& to_element_types);
147
148
WrapperType create_identity_wrapper(const DataTypePtr&);
149
150
} // namespace CastWrapper
151
152
enum class CastModeType { StrictMode, NonStrictMode };
153
154
16.1k
inline std::string cast_mode_type_to_string(CastModeType cast_mode) {
155
16.1k
    switch (cast_mode) {
156
16.0k
    case CastModeType::StrictMode:
157
16.0k
        return "StrictMode";
158
108
    case CastModeType::NonStrictMode:
159
108
        return "NonStrictMode";
160
0
    default:
161
0
        return "Unknown";
162
16.1k
    }
163
16.1k
}
164
inline std::string cast_mode_type_to_string(CastModeType cast_mode, const DataTypePtr& from_type,
165
16.1k
                                            const DataTypePtr& to_type) {
166
16.1k
    return fmt::format("{}: from {} cast to {}", cast_mode_type_to_string(cast_mode),
167
16.1k
                       from_type->get_name(), to_type->get_name());
168
16.1k
}
169
170
class CastToBase {
171
public:
172
206k
    virtual ~CastToBase() = default;
173
    virtual Status execute_impl(FunctionContext* context, Block& block,
174
                                const ColumnNumbers& arguments, uint32_t result,
175
                                size_t input_rows_count,
176
                                const NullMap::value_type* null_map = nullptr) const = 0;
177
};
178
179
template <CastModeType CastMode, typename FromDataType, typename ToDataType>
180
class CastToImpl : public CastToBase {
181
public:
182
    Status execute_impl(FunctionContext* context, Block& block, const ColumnNumbers& arguments,
183
                        uint32_t result, size_t input_rows_count,
184
16.1k
                        const NullMap::value_type* null_map = nullptr) const override {
185
16.1k
        return Status::RuntimeError(
186
16.1k
                "not support  {} ",
187
16.1k
                cast_mode_type_to_string(CastMode, block.get_by_position(arguments[0]).type,
188
16.1k
                                         block.get_by_position(result).type));
189
16.1k
    }
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
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_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
184
36
                        const NullMap::value_type* null_map = nullptr) const override {
185
36
        return Status::RuntimeError(
186
36
                "not support  {} ",
187
36
                cast_mode_type_to_string(CastMode, block.get_by_position(arguments[0]).type,
188
36
                                         block.get_by_position(result).type));
189
36
    }
_ZNK5doris10CastToImplILNS_12CastModeTypeE1ENS_14DataTypeDateV2ENS_14DataTypeNumberILNS_13PrimitiveTypeE3EEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmPKh
Line
Count
Source
184
36
                        const NullMap::value_type* null_map = nullptr) const override {
185
36
        return Status::RuntimeError(
186
36
                "not support  {} ",
187
36
                cast_mode_type_to_string(CastMode, block.get_by_position(arguments[0]).type,
188
36
                                         block.get_by_position(result).type));
189
36
    }
_ZNK5doris10CastToImplILNS_12CastModeTypeE0ENS_18DataTypeDateTimeV2ENS_14DataTypeNumberILNS_13PrimitiveTypeE3EEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmPKh
Line
Count
Source
184
12
                        const NullMap::value_type* null_map = nullptr) const override {
185
12
        return Status::RuntimeError(
186
12
                "not support  {} ",
187
12
                cast_mode_type_to_string(CastMode, block.get_by_position(arguments[0]).type,
188
12
                                         block.get_by_position(result).type));
189
12
    }
_ZNK5doris10CastToImplILNS_12CastModeTypeE1ENS_18DataTypeDateTimeV2ENS_14DataTypeNumberILNS_13PrimitiveTypeE3EEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmPKh
Line
Count
Source
184
12
                        const NullMap::value_type* null_map = nullptr) const override {
185
12
        return Status::RuntimeError(
186
12
                "not support  {} ",
187
12
                cast_mode_type_to_string(CastMode, block.get_by_position(arguments[0]).type,
188
12
                                         block.get_by_position(result).type));
189
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
184
36
                        const NullMap::value_type* null_map = nullptr) const override {
185
36
        return Status::RuntimeError(
186
36
                "not support  {} ",
187
36
                cast_mode_type_to_string(CastMode, block.get_by_position(arguments[0]).type,
188
36
                                         block.get_by_position(result).type));
189
36
    }
_ZNK5doris10CastToImplILNS_12CastModeTypeE1ENS_14DataTypeDateV2ENS_14DataTypeNumberILNS_13PrimitiveTypeE4EEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmPKh
Line
Count
Source
184
36
                        const NullMap::value_type* null_map = nullptr) const override {
185
36
        return Status::RuntimeError(
186
36
                "not support  {} ",
187
36
                cast_mode_type_to_string(CastMode, block.get_by_position(arguments[0]).type,
188
36
                                         block.get_by_position(result).type));
189
36
    }
_ZNK5doris10CastToImplILNS_12CastModeTypeE0ENS_18DataTypeDateTimeV2ENS_14DataTypeNumberILNS_13PrimitiveTypeE4EEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmPKh
Line
Count
Source
184
12
                        const NullMap::value_type* null_map = nullptr) const override {
185
12
        return Status::RuntimeError(
186
12
                "not support  {} ",
187
12
                cast_mode_type_to_string(CastMode, block.get_by_position(arguments[0]).type,
188
12
                                         block.get_by_position(result).type));
189
12
    }
_ZNK5doris10CastToImplILNS_12CastModeTypeE1ENS_18DataTypeDateTimeV2ENS_14DataTypeNumberILNS_13PrimitiveTypeE4EEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmPKh
Line
Count
Source
184
12
                        const NullMap::value_type* null_map = nullptr) const override {
185
12
        return Status::RuntimeError(
186
12
                "not support  {} ",
187
12
                cast_mode_type_to_string(CastMode, block.get_by_position(arguments[0]).type,
188
12
                                         block.get_by_position(result).type));
189
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
184
12
                        const NullMap::value_type* null_map = nullptr) const override {
185
12
        return Status::RuntimeError(
186
12
                "not support  {} ",
187
12
                cast_mode_type_to_string(CastMode, block.get_by_position(arguments[0]).type,
188
12
                                         block.get_by_position(result).type));
189
12
    }
_ZNK5doris10CastToImplILNS_12CastModeTypeE1ENS_18DataTypeDateTimeV2ENS_14DataTypeNumberILNS_13PrimitiveTypeE5EEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmPKh
Line
Count
Source
184
12
                        const NullMap::value_type* null_map = nullptr) const override {
185
12
        return Status::RuntimeError(
186
12
                "not support  {} ",
187
12
                cast_mode_type_to_string(CastMode, block.get_by_position(arguments[0]).type,
188
12
                                         block.get_by_position(result).type));
189
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_12DataTypeDateENS_14DataTypeNumberILNS_13PrimitiveTypeE8EEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmPKh
_ZNK5doris10CastToImplILNS_12CastModeTypeE0ENS_14DataTypeDateV2ENS_14DataTypeNumberILNS_13PrimitiveTypeE8EEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmPKh
Line
Count
Source
184
36
                        const NullMap::value_type* null_map = nullptr) const override {
185
36
        return Status::RuntimeError(
186
36
                "not support  {} ",
187
36
                cast_mode_type_to_string(CastMode, block.get_by_position(arguments[0]).type,
188
36
                                         block.get_by_position(result).type));
189
36
    }
_ZNK5doris10CastToImplILNS_12CastModeTypeE0ENS_18DataTypeDateTimeV2ENS_14DataTypeNumberILNS_13PrimitiveTypeE8EEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmPKh
Line
Count
Source
184
7.77k
                        const NullMap::value_type* null_map = nullptr) const override {
185
7.77k
        return Status::RuntimeError(
186
7.77k
                "not support  {} ",
187
7.77k
                cast_mode_type_to_string(CastMode, block.get_by_position(arguments[0]).type,
188
7.77k
                                         block.get_by_position(result).type));
189
7.77k
    }
Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE0ENS_16DataTypeDateTimeENS_14DataTypeNumberILNS_13PrimitiveTypeE8EEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmPKh
_ZNK5doris10CastToImplILNS_12CastModeTypeE0ENS_14DataTypeTimeV2ENS_14DataTypeNumberILNS_13PrimitiveTypeE8EEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmPKh
Line
Count
Source
184
160
                        const NullMap::value_type* null_map = nullptr) const override {
185
160
        return Status::RuntimeError(
186
160
                "not support  {} ",
187
160
                cast_mode_type_to_string(CastMode, block.get_by_position(arguments[0]).type,
188
160
                                         block.get_by_position(result).type));
189
160
    }
Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE0ENS_12DataTypeDateENS_14DataTypeNumberILNS_13PrimitiveTypeE9EEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmPKh
_ZNK5doris10CastToImplILNS_12CastModeTypeE0ENS_14DataTypeDateV2ENS_14DataTypeNumberILNS_13PrimitiveTypeE9EEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmPKh
Line
Count
Source
184
36
                        const NullMap::value_type* null_map = nullptr) const override {
185
36
        return Status::RuntimeError(
186
36
                "not support  {} ",
187
36
                cast_mode_type_to_string(CastMode, block.get_by_position(arguments[0]).type,
188
36
                                         block.get_by_position(result).type));
189
36
    }
_ZNK5doris10CastToImplILNS_12CastModeTypeE0ENS_18DataTypeDateTimeV2ENS_14DataTypeNumberILNS_13PrimitiveTypeE9EEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmPKh
Line
Count
Source
184
7.77k
                        const NullMap::value_type* null_map = nullptr) const override {
185
7.77k
        return Status::RuntimeError(
186
7.77k
                "not support  {} ",
187
7.77k
                cast_mode_type_to_string(CastMode, block.get_by_position(arguments[0]).type,
188
7.77k
                                         block.get_by_position(result).type));
189
7.77k
    }
Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE0ENS_16DataTypeDateTimeENS_14DataTypeNumberILNS_13PrimitiveTypeE9EEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmPKh
_ZNK5doris10CastToImplILNS_12CastModeTypeE0ENS_14DataTypeTimeV2ENS_14DataTypeNumberILNS_13PrimitiveTypeE9EEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmPKh
Line
Count
Source
184
160
                        const NullMap::value_type* null_map = nullptr) const override {
185
160
        return Status::RuntimeError(
186
160
                "not support  {} ",
187
160
                cast_mode_type_to_string(CastMode, block.get_by_position(arguments[0]).type,
188
160
                                         block.get_by_position(result).type));
189
160
    }
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_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_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
190
};
191
192
#ifdef BE_TEST
193
inline CastWrapper::WrapperType get_cast_wrapper(FunctionContext* context,
194
                                                 const DataTypePtr& from_type,
195
                                                 const DataTypePtr& to_type) {
196
    return CastWrapper::prepare_unpack_dictionaries(context, from_type, to_type);
197
}
198
#endif
199
} // namespace doris