Coverage Report

Created: 2026-09-15 20:38

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/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
29.3M
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
29.3M
    } else {
85
29.3M
        to = static_cast<ToFieldType>(from);
86
29.3M
    }
87
29.3M
}
_ZN5doris8CastUtil15static_cast_setIhaEEvRT0_RKT_
Line
Count
Source
80
584k
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
584k
    } else {
85
584k
        to = static_cast<ToFieldType>(from);
86
584k
    }
87
584k
}
_ZN5doris8CastUtil15static_cast_setIaaEEvRT0_RKT_
Line
Count
Source
80
4
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
4
    } else {
85
4
        to = static_cast<ToFieldType>(from);
86
4
    }
87
4
}
_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
13.3k
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
13.3k
    } else {
85
13.3k
        to = static_cast<ToFieldType>(from);
86
13.3k
    }
87
13.3k
}
_ZN5doris8CastUtil15static_cast_setIlaEEvRT0_RKT_
Line
Count
Source
80
11.7k
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
11.7k
    } else {
85
11.7k
        to = static_cast<ToFieldType>(from);
86
11.7k
    }
87
11.7k
}
_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
46
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
46
    } else {
85
46
        to = static_cast<ToFieldType>(from);
86
46
    }
87
46
}
_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_setIhsEEvRT0_RKT_
Line
Count
Source
80
978
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
978
    } else {
85
978
        to = static_cast<ToFieldType>(from);
86
978
    }
87
978
}
_ZN5doris8CastUtil15static_cast_setIasEEvRT0_RKT_
Line
Count
Source
80
5.11k
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
5.11k
    } else {
85
5.11k
        to = static_cast<ToFieldType>(from);
86
5.11k
    }
87
5.11k
}
_ZN5doris8CastUtil15static_cast_setIssEEvRT0_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_setIisEEvRT0_RKT_
Line
Count
Source
80
13.3k
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
13.3k
    } else {
85
13.3k
        to = static_cast<ToFieldType>(from);
86
13.3k
    }
87
13.3k
}
_ZN5doris8CastUtil15static_cast_setIlsEEvRT0_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_setInsEEvRT0_RKT_
Line
Count
Source
80
42
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
42
    } else {
85
42
        to = static_cast<ToFieldType>(from);
86
42
    }
87
42
}
_ZN5doris8CastUtil15static_cast_setIdsEEvRT0_RKT_
Line
Count
Source
80
59
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
59
    } else {
85
59
        to = static_cast<ToFieldType>(from);
86
59
    }
87
59
}
_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_setIhiEEvRT0_RKT_
Line
Count
Source
80
902
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
902
    } else {
85
902
        to = static_cast<ToFieldType>(from);
86
902
    }
87
902
}
_ZN5doris8CastUtil15static_cast_setIaiEEvRT0_RKT_
Line
Count
Source
80
106k
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
106k
    } else {
85
106k
        to = static_cast<ToFieldType>(from);
86
106k
    }
87
106k
}
_ZN5doris8CastUtil15static_cast_setIsiEEvRT0_RKT_
Line
Count
Source
80
5.73k
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
5.73k
    } else {
85
5.73k
        to = static_cast<ToFieldType>(from);
86
5.73k
    }
87
5.73k
}
_ZN5doris8CastUtil15static_cast_setIiiEEvRT0_RKT_
Line
Count
Source
80
71
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
71
    } else {
85
71
        to = static_cast<ToFieldType>(from);
86
71
    }
87
71
}
_ZN5doris8CastUtil15static_cast_setIliEEvRT0_RKT_
Line
Count
Source
80
16.8M
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
16.8M
    } else {
85
16.8M
        to = static_cast<ToFieldType>(from);
86
16.8M
    }
87
16.8M
}
_ZN5doris8CastUtil15static_cast_setIniEEvRT0_RKT_
Line
Count
Source
80
26
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
26
    } else {
85
26
        to = static_cast<ToFieldType>(from);
86
26
    }
87
26
}
_ZN5doris8CastUtil15static_cast_setIdiEEvRT0_RKT_
Line
Count
Source
80
1.08M
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
1.08M
    } else {
85
1.08M
        to = static_cast<ToFieldType>(from);
86
1.08M
    }
87
1.08M
}
_ZN5doris8CastUtil15static_cast_setIfiEEvRT0_RKT_
Line
Count
Source
80
64
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
64
    } else {
85
64
        to = static_cast<ToFieldType>(from);
86
64
    }
87
64
}
_ZN5doris8CastUtil15static_cast_setIhlEEvRT0_RKT_
Line
Count
Source
80
3.27k
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.27k
    } else {
85
3.27k
        to = static_cast<ToFieldType>(from);
86
3.27k
    }
87
3.27k
}
_ZN5doris8CastUtil15static_cast_setIalEEvRT0_RKT_
Line
Count
Source
80
108k
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
108k
    } else {
85
108k
        to = static_cast<ToFieldType>(from);
86
108k
    }
87
108k
}
_ZN5doris8CastUtil15static_cast_setIslEEvRT0_RKT_
Line
Count
Source
80
8.70k
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.70k
    } else {
85
8.70k
        to = static_cast<ToFieldType>(from);
86
8.70k
    }
87
8.70k
}
_ZN5doris8CastUtil15static_cast_setIilEEvRT0_RKT_
Line
Count
Source
80
8.47M
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.47M
    } else {
85
8.47M
        to = static_cast<ToFieldType>(from);
86
8.47M
    }
87
8.47M
}
_ZN5doris8CastUtil15static_cast_setIllEEvRT0_RKT_
Line
Count
Source
80
47.7k
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
47.7k
    } else {
85
47.7k
        to = static_cast<ToFieldType>(from);
86
47.7k
    }
87
47.7k
}
_ZN5doris8CastUtil15static_cast_setInlEEvRT0_RKT_
Line
Count
Source
80
1.58k
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
1.58k
    } else {
85
1.58k
        to = static_cast<ToFieldType>(from);
86
1.58k
    }
87
1.58k
}
_ZN5doris8CastUtil15static_cast_setIdlEEvRT0_RKT_
Line
Count
Source
80
9.13k
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
9.13k
    } else {
85
9.13k
        to = static_cast<ToFieldType>(from);
86
9.13k
    }
87
9.13k
}
_ZN5doris8CastUtil15static_cast_setIflEEvRT0_RKT_
Line
Count
Source
80
3.74k
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.74k
    } else {
85
3.74k
        to = static_cast<ToFieldType>(from);
86
3.74k
    }
87
3.74k
}
_ZN5doris8CastUtil15static_cast_setIhnEEvRT0_RKT_
Line
Count
Source
80
662
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
662
    } else {
85
662
        to = static_cast<ToFieldType>(from);
86
662
    }
87
662
}
_ZN5doris8CastUtil15static_cast_setIanEEvRT0_RKT_
Line
Count
Source
80
2.14k
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.14k
    } else {
85
2.14k
        to = static_cast<ToFieldType>(from);
86
2.14k
    }
87
2.14k
}
_ZN5doris8CastUtil15static_cast_setIsnEEvRT0_RKT_
Line
Count
Source
80
577
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
577
    } else {
85
577
        to = static_cast<ToFieldType>(from);
86
577
    }
87
577
}
_ZN5doris8CastUtil15static_cast_setIinEEvRT0_RKT_
Line
Count
Source
80
882
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
882
    } else {
85
882
        to = static_cast<ToFieldType>(from);
86
882
    }
87
882
}
_ZN5doris8CastUtil15static_cast_setIlnEEvRT0_RKT_
Line
Count
Source
80
38.4k
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
38.4k
    } else {
85
38.4k
        to = static_cast<ToFieldType>(from);
86
38.4k
    }
87
38.4k
}
_ZN5doris8CastUtil15static_cast_setInnEEvRT0_RKT_
Line
Count
Source
80
19
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
19
    } else {
85
19
        to = static_cast<ToFieldType>(from);
86
19
    }
87
19
}
_ZN5doris8CastUtil15static_cast_setIdnEEvRT0_RKT_
Line
Count
Source
80
432
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
432
    } else {
85
432
        to = static_cast<ToFieldType>(from);
86
432
    }
87
432
}
_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_setIhfEEvRT0_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_setIafEEvRT0_RKT_
Line
Count
Source
80
154
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
154
    } else {
85
154
        to = static_cast<ToFieldType>(from);
86
154
    }
87
154
}
_ZN5doris8CastUtil15static_cast_setIsfEEvRT0_RKT_
Line
Count
Source
80
102
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
102
    } else {
85
102
        to = static_cast<ToFieldType>(from);
86
102
    }
87
102
}
_ZN5doris8CastUtil15static_cast_setIifEEvRT0_RKT_
Line
Count
Source
80
117
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
117
    } else {
85
117
        to = static_cast<ToFieldType>(from);
86
117
    }
87
117
}
_ZN5doris8CastUtil15static_cast_setIlfEEvRT0_RKT_
Line
Count
Source
80
9.65k
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
9.65k
    } else {
85
9.65k
        to = static_cast<ToFieldType>(from);
86
9.65k
    }
87
9.65k
}
_ZN5doris8CastUtil15static_cast_setInfEEvRT0_RKT_
Line
Count
Source
80
352
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
352
    } else {
85
352
        to = static_cast<ToFieldType>(from);
86
352
    }
87
352
}
_ZN5doris8CastUtil15static_cast_setIdfEEvRT0_RKT_
Line
Count
Source
80
4.37k
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
4.37k
    } else {
85
4.37k
        to = static_cast<ToFieldType>(from);
86
4.37k
    }
87
4.37k
}
_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_setIhdEEvRT0_RKT_
Line
Count
Source
80
2.02k
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.02k
    } else {
85
2.02k
        to = static_cast<ToFieldType>(from);
86
2.02k
    }
87
2.02k
}
_ZN5doris8CastUtil15static_cast_setIadEEvRT0_RKT_
Line
Count
Source
80
3.76k
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.76k
    } else {
85
3.76k
        to = static_cast<ToFieldType>(from);
86
3.76k
    }
87
3.76k
}
_ZN5doris8CastUtil15static_cast_setIsdEEvRT0_RKT_
Line
Count
Source
80
5.57k
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
5.57k
    } else {
85
5.57k
        to = static_cast<ToFieldType>(from);
86
5.57k
    }
87
5.57k
}
_ZN5doris8CastUtil15static_cast_setIidEEvRT0_RKT_
Line
Count
Source
80
57.4k
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
57.4k
    } else {
85
57.4k
        to = static_cast<ToFieldType>(from);
86
57.4k
    }
87
57.4k
}
_ZN5doris8CastUtil15static_cast_setIldEEvRT0_RKT_
Line
Count
Source
80
1.25M
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
1.25M
    } else {
85
1.25M
        to = static_cast<ToFieldType>(from);
86
1.25M
    }
87
1.25M
}
_ZN5doris8CastUtil15static_cast_setIndEEvRT0_RKT_
Line
Count
Source
80
2.04k
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.04k
    } else {
85
2.04k
        to = static_cast<ToFieldType>(from);
86
2.04k
    }
87
2.04k
}
_ZN5doris8CastUtil15static_cast_setIddEEvRT0_RKT_
Line
Count
Source
80
450
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
450
    } else {
85
450
        to = static_cast<ToFieldType>(from);
86
450
    }
87
450
}
_ZN5doris8CastUtil15static_cast_setIfdEEvRT0_RKT_
Line
Count
Source
80
601k
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
601k
    } else {
85
601k
        to = static_cast<ToFieldType>(from);
86
601k
    }
87
601k
}
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
76.7k
inline ColumnNullable::MutablePtr create_empty_nullable_column(const DataTypePtr& nested_type) {
104
    // Batch serde paths resize the nested column and null map together.
105
76.7k
    return ColumnNullable::create(remove_nullable(nested_type)->create_column(),
106
76.7k
                                  ColumnUInt8::create());
107
76.7k
}
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
/// A child of an ARRAY/MAP/STRUCT column inherits the NULL state of the row it belongs to: when a
157
/// row is NULL, its children are hidden payloads without SQL semantics (IF/NULLIF keep an arbitrary
158
/// value there) and a strict cast must not validate them.
159
struct ChildNullMask {
160
    /// Column to hand to the child cast. A nullable child column carries the merged NULL mask
161
    /// itself, because a child cast reads the NULL state of a nullable source from its column.
162
    ColumnPtr column;
163
    /// Mask to hand to the child cast when the child column cannot carry it (not nullable child),
164
    /// so the child cast skips the masked children itself.
165
    const NullMap::value_type* null_map = nullptr;
166
    /// Owns `null_map`, so it has to outlive the child cast.
167
    ColumnPtr mask_holder;
168
};
169
170
/// Merge the NULL mask of the rows of a complex column into the mask of one of its children.
171
/// `offsets` expands the row aligned `parent_null_map` to a flattened child (ARRAY, MAP), pass
172
/// nullptr for a child that shares the rows of its parent (STRUCT).
173
ChildNullMask build_child_null_mask(const NullMap::value_type* parent_null_map,
174
                                    const IColumn::Offsets64* offsets, const ColumnPtr& child);
175
176
/// Whether the mask of `rows` rows marks at least one of them as NULL. A nullable column keeps an
177
/// all zero mask when it has no NULL row, and there is nothing to inherit from such a column. Callers
178
/// that build masks for several children of the same parent can check this once and pass nullptr to
179
/// build_child_null_mask when it is false.
180
bool has_masked_row(const NullMap::value_type* null_map, size_t rows);
181
182
WrapperType create_identity_wrapper(const DataTypePtr&);
183
184
} // namespace CastWrapper
185
186
enum class CastModeType { StrictMode, NonStrictMode };
187
188
16.1k
inline std::string cast_mode_type_to_string(CastModeType cast_mode) {
189
16.1k
    switch (cast_mode) {
190
16.0k
    case CastModeType::StrictMode:
191
16.0k
        return "StrictMode";
192
109
    case CastModeType::NonStrictMode:
193
109
        return "NonStrictMode";
194
0
    default:
195
0
        return "Unknown";
196
16.1k
    }
197
16.1k
}
198
inline std::string cast_mode_type_to_string(CastModeType cast_mode, const DataTypePtr& from_type,
199
16.1k
                                            const DataTypePtr& to_type) {
200
16.1k
    return fmt::format("{}: from {} cast to {}", cast_mode_type_to_string(cast_mode),
201
16.1k
                       from_type->get_name(), to_type->get_name());
202
16.1k
}
203
204
class CastToBase {
205
public:
206
197k
    virtual ~CastToBase() = default;
207
    virtual Status execute_impl(FunctionContext* context, Block& block,
208
                                const ColumnNumbers& arguments, uint32_t result,
209
                                size_t input_rows_count,
210
                                const NullMap::value_type* null_map = nullptr) const = 0;
211
};
212
213
template <CastModeType CastMode, typename FromDataType, typename ToDataType>
214
class CastToImpl : public CastToBase {
215
public:
216
    Status execute_impl(FunctionContext* context, Block& block, const ColumnNumbers& arguments,
217
                        uint32_t result, size_t input_rows_count,
218
16.1k
                        const NullMap::value_type* null_map = nullptr) const override {
219
16.1k
        return Status::RuntimeError(
220
16.1k
                "not support  {} ",
221
16.1k
                cast_mode_type_to_string(CastMode, block.get_by_position(arguments[0]).type,
222
16.1k
                                         block.get_by_position(result).type));
223
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_12DataTypeDateENS_14DataTypeNumberILNS_13PrimitiveTypeE8EEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmPKh
_ZNK5doris10CastToImplILNS_12CastModeTypeE0ENS_14DataTypeDateV2ENS_14DataTypeNumberILNS_13PrimitiveTypeE8EEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmPKh
Line
Count
Source
218
36
                        const NullMap::value_type* null_map = nullptr) const override {
219
36
        return Status::RuntimeError(
220
36
                "not support  {} ",
221
36
                cast_mode_type_to_string(CastMode, block.get_by_position(arguments[0]).type,
222
36
                                         block.get_by_position(result).type));
223
36
    }
_ZNK5doris10CastToImplILNS_12CastModeTypeE0ENS_18DataTypeDateTimeV2ENS_14DataTypeNumberILNS_13PrimitiveTypeE8EEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmPKh
Line
Count
Source
218
7.77k
                        const NullMap::value_type* null_map = nullptr) const override {
219
7.77k
        return Status::RuntimeError(
220
7.77k
                "not support  {} ",
221
7.77k
                cast_mode_type_to_string(CastMode, block.get_by_position(arguments[0]).type,
222
7.77k
                                         block.get_by_position(result).type));
223
7.77k
    }
Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE0ENS_19DataTypeTimeStampNsENS_14DataTypeNumberILNS_13PrimitiveTypeE8EEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmPKh
Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE0ENS_16DataTypeDateTimeENS_14DataTypeNumberILNS_13PrimitiveTypeE8EEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmPKh
_ZNK5doris10CastToImplILNS_12CastModeTypeE0ENS_14DataTypeTimeV2ENS_14DataTypeNumberILNS_13PrimitiveTypeE8EEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmPKh
Line
Count
Source
218
160
                        const NullMap::value_type* null_map = nullptr) const override {
219
160
        return Status::RuntimeError(
220
160
                "not support  {} ",
221
160
                cast_mode_type_to_string(CastMode, block.get_by_position(arguments[0]).type,
222
160
                                         block.get_by_position(result).type));
223
160
    }
Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE0ENS_12DataTypeDateENS_14DataTypeNumberILNS_13PrimitiveTypeE9EEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmPKh
_ZNK5doris10CastToImplILNS_12CastModeTypeE0ENS_14DataTypeDateV2ENS_14DataTypeNumberILNS_13PrimitiveTypeE9EEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmPKh
Line
Count
Source
218
36
                        const NullMap::value_type* null_map = nullptr) const override {
219
36
        return Status::RuntimeError(
220
36
                "not support  {} ",
221
36
                cast_mode_type_to_string(CastMode, block.get_by_position(arguments[0]).type,
222
36
                                         block.get_by_position(result).type));
223
36
    }
_ZNK5doris10CastToImplILNS_12CastModeTypeE0ENS_18DataTypeDateTimeV2ENS_14DataTypeNumberILNS_13PrimitiveTypeE9EEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmPKh
Line
Count
Source
218
7.77k
                        const NullMap::value_type* null_map = nullptr) const override {
219
7.77k
        return Status::RuntimeError(
220
7.77k
                "not support  {} ",
221
7.77k
                cast_mode_type_to_string(CastMode, block.get_by_position(arguments[0]).type,
222
7.77k
                                         block.get_by_position(result).type));
223
7.77k
    }
Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE0ENS_19DataTypeTimeStampNsENS_14DataTypeNumberILNS_13PrimitiveTypeE9EEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmPKh
Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE0ENS_16DataTypeDateTimeENS_14DataTypeNumberILNS_13PrimitiveTypeE9EEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmPKh
_ZNK5doris10CastToImplILNS_12CastModeTypeE0ENS_14DataTypeTimeV2ENS_14DataTypeNumberILNS_13PrimitiveTypeE9EEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmPKh
Line
Count
Source
218
160
                        const NullMap::value_type* null_map = nullptr) const override {
219
160
        return Status::RuntimeError(
220
160
                "not support  {} ",
221
160
                cast_mode_type_to_string(CastMode, block.get_by_position(arguments[0]).type,
222
160
                                         block.get_by_position(result).type));
223
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
218
36
                        const NullMap::value_type* null_map = nullptr) const override {
219
36
        return Status::RuntimeError(
220
36
                "not support  {} ",
221
36
                cast_mode_type_to_string(CastMode, block.get_by_position(arguments[0]).type,
222
36
                                         block.get_by_position(result).type));
223
36
    }
_ZNK5doris10CastToImplILNS_12CastModeTypeE1ENS_14DataTypeDateV2ENS_14DataTypeNumberILNS_13PrimitiveTypeE3EEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmPKh
Line
Count
Source
218
36
                        const NullMap::value_type* null_map = nullptr) const override {
219
36
        return Status::RuntimeError(
220
36
                "not support  {} ",
221
36
                cast_mode_type_to_string(CastMode, block.get_by_position(arguments[0]).type,
222
36
                                         block.get_by_position(result).type));
223
36
    }
_ZNK5doris10CastToImplILNS_12CastModeTypeE0ENS_18DataTypeDateTimeV2ENS_14DataTypeNumberILNS_13PrimitiveTypeE3EEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmPKh
Line
Count
Source
218
12
                        const NullMap::value_type* null_map = nullptr) const override {
219
12
        return Status::RuntimeError(
220
12
                "not support  {} ",
221
12
                cast_mode_type_to_string(CastMode, block.get_by_position(arguments[0]).type,
222
12
                                         block.get_by_position(result).type));
223
12
    }
_ZNK5doris10CastToImplILNS_12CastModeTypeE1ENS_18DataTypeDateTimeV2ENS_14DataTypeNumberILNS_13PrimitiveTypeE3EEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmPKh
Line
Count
Source
218
12
                        const NullMap::value_type* null_map = nullptr) const override {
219
12
        return Status::RuntimeError(
220
12
                "not support  {} ",
221
12
                cast_mode_type_to_string(CastMode, block.get_by_position(arguments[0]).type,
222
12
                                         block.get_by_position(result).type));
223
12
    }
Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE0ENS_19DataTypeTimeStampNsENS_14DataTypeNumberILNS_13PrimitiveTypeE3EEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmPKh
Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE1ENS_19DataTypeTimeStampNsENS_14DataTypeNumberILNS_13PrimitiveTypeE3EEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmPKh
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
218
36
                        const NullMap::value_type* null_map = nullptr) const override {
219
36
        return Status::RuntimeError(
220
36
                "not support  {} ",
221
36
                cast_mode_type_to_string(CastMode, block.get_by_position(arguments[0]).type,
222
36
                                         block.get_by_position(result).type));
223
36
    }
_ZNK5doris10CastToImplILNS_12CastModeTypeE1ENS_14DataTypeDateV2ENS_14DataTypeNumberILNS_13PrimitiveTypeE4EEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmPKh
Line
Count
Source
218
36
                        const NullMap::value_type* null_map = nullptr) const override {
219
36
        return Status::RuntimeError(
220
36
                "not support  {} ",
221
36
                cast_mode_type_to_string(CastMode, block.get_by_position(arguments[0]).type,
222
36
                                         block.get_by_position(result).type));
223
36
    }
_ZNK5doris10CastToImplILNS_12CastModeTypeE0ENS_18DataTypeDateTimeV2ENS_14DataTypeNumberILNS_13PrimitiveTypeE4EEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmPKh
Line
Count
Source
218
12
                        const NullMap::value_type* null_map = nullptr) const override {
219
12
        return Status::RuntimeError(
220
12
                "not support  {} ",
221
12
                cast_mode_type_to_string(CastMode, block.get_by_position(arguments[0]).type,
222
12
                                         block.get_by_position(result).type));
223
12
    }
_ZNK5doris10CastToImplILNS_12CastModeTypeE1ENS_18DataTypeDateTimeV2ENS_14DataTypeNumberILNS_13PrimitiveTypeE4EEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmPKh
Line
Count
Source
218
12
                        const NullMap::value_type* null_map = nullptr) const override {
219
12
        return Status::RuntimeError(
220
12
                "not support  {} ",
221
12
                cast_mode_type_to_string(CastMode, block.get_by_position(arguments[0]).type,
222
12
                                         block.get_by_position(result).type));
223
12
    }
Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE0ENS_19DataTypeTimeStampNsENS_14DataTypeNumberILNS_13PrimitiveTypeE4EEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmPKh
Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE1ENS_19DataTypeTimeStampNsENS_14DataTypeNumberILNS_13PrimitiveTypeE4EEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmPKh
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
218
12
                        const NullMap::value_type* null_map = nullptr) const override {
219
12
        return Status::RuntimeError(
220
12
                "not support  {} ",
221
12
                cast_mode_type_to_string(CastMode, block.get_by_position(arguments[0]).type,
222
12
                                         block.get_by_position(result).type));
223
12
    }
_ZNK5doris10CastToImplILNS_12CastModeTypeE1ENS_18DataTypeDateTimeV2ENS_14DataTypeNumberILNS_13PrimitiveTypeE5EEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmPKh
Line
Count
Source
218
12
                        const NullMap::value_type* null_map = nullptr) const override {
219
12
        return Status::RuntimeError(
220
12
                "not support  {} ",
221
12
                cast_mode_type_to_string(CastMode, block.get_by_position(arguments[0]).type,
222
12
                                         block.get_by_position(result).type));
223
12
    }
Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE0ENS_19DataTypeTimeStampNsENS_14DataTypeNumberILNS_13PrimitiveTypeE5EEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmPKh
_ZNK5doris10CastToImplILNS_12CastModeTypeE1ENS_19DataTypeTimeStampNsENS_14DataTypeNumberILNS_13PrimitiveTypeE5EEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmPKh
Line
Count
Source
218
1
                        const NullMap::value_type* null_map = nullptr) const override {
219
1
        return Status::RuntimeError(
220
1
                "not support  {} ",
221
1
                cast_mode_type_to_string(CastMode, block.get_by_position(arguments[0]).type,
222
1
                                         block.get_by_position(result).type));
223
1
    }
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
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
224
};
225
226
#ifdef BE_TEST
227
inline CastWrapper::WrapperType get_cast_wrapper(FunctionContext* context,
228
                                                 const DataTypePtr& from_type,
229
                                                 const DataTypePtr& to_type) {
230
    return CastWrapper::prepare_unpack_dictionaries(context, from_type, to_type);
231
}
232
#endif
233
} // namespace doris