Coverage Report

Created: 2026-03-13 19:41

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
struct NameCast {
49
    static constexpr auto name = "CAST";
50
};
51
namespace CastUtil {
52
// `static_cast_set` is introduced to wrap `static_cast` and handle special cases.
53
// Doris uses `uint8` to represent boolean values internally.
54
// Directly `static_cast` to `uint8` can result in non-0/1 values,
55
// To address this, `static_cast_set` performs an additional check:
56
//  For `uint8` types, it explicitly uses `static_cast<bool>` to ensure
57
//  the result is either 0 or 1.
58
template <typename FromFieldType, typename ToFieldType>
59
50.5k
void static_cast_set(ToFieldType& to, const FromFieldType& from) {
60
    // uint8_t now use as boolean in doris
61
    if constexpr (std::is_same_v<uint8_t, ToFieldType>) {
62
        to = static_cast<bool>(from);
63
50.5k
    } else {
64
50.5k
        to = static_cast<ToFieldType>(from);
65
50.5k
    }
66
50.5k
}
_ZN5doris8CastUtil15static_cast_setIlaEEvRT0_RKT_
Line
Count
Source
59
18
void static_cast_set(ToFieldType& to, const FromFieldType& from) {
60
    // uint8_t now use as boolean in doris
61
    if constexpr (std::is_same_v<uint8_t, ToFieldType>) {
62
        to = static_cast<bool>(from);
63
18
    } else {
64
18
        to = static_cast<ToFieldType>(from);
65
18
    }
66
18
}
_ZN5doris8CastUtil15static_cast_setInaEEvRT0_RKT_
Line
Count
Source
59
18
void static_cast_set(ToFieldType& to, const FromFieldType& from) {
60
    // uint8_t now use as boolean in doris
61
    if constexpr (std::is_same_v<uint8_t, ToFieldType>) {
62
        to = static_cast<bool>(from);
63
18
    } else {
64
18
        to = static_cast<ToFieldType>(from);
65
18
    }
66
18
}
_ZN5doris8CastUtil15static_cast_setIdaEEvRT0_RKT_
Line
Count
Source
59
41
void static_cast_set(ToFieldType& to, const FromFieldType& from) {
60
    // uint8_t now use as boolean in doris
61
    if constexpr (std::is_same_v<uint8_t, ToFieldType>) {
62
        to = static_cast<bool>(from);
63
41
    } else {
64
41
        to = static_cast<ToFieldType>(from);
65
41
    }
66
41
}
_ZN5doris8CastUtil15static_cast_setIfaEEvRT0_RKT_
Line
Count
Source
59
36
void static_cast_set(ToFieldType& to, const FromFieldType& from) {
60
    // uint8_t now use as boolean in doris
61
    if constexpr (std::is_same_v<uint8_t, ToFieldType>) {
62
        to = static_cast<bool>(from);
63
36
    } else {
64
36
        to = static_cast<ToFieldType>(from);
65
36
    }
66
36
}
_ZN5doris8CastUtil15static_cast_setIhaEEvRT0_RKT_
Line
Count
Source
59
8
void static_cast_set(ToFieldType& to, const FromFieldType& from) {
60
    // uint8_t now use as boolean in doris
61
    if constexpr (std::is_same_v<uint8_t, ToFieldType>) {
62
        to = static_cast<bool>(from);
63
8
    } else {
64
8
        to = static_cast<ToFieldType>(from);
65
8
    }
66
8
}
_ZN5doris8CastUtil15static_cast_setIaaEEvRT0_RKT_
Line
Count
Source
59
2
void static_cast_set(ToFieldType& to, const FromFieldType& from) {
60
    // uint8_t now use as boolean in doris
61
    if constexpr (std::is_same_v<uint8_t, ToFieldType>) {
62
        to = static_cast<bool>(from);
63
2
    } else {
64
2
        to = static_cast<ToFieldType>(from);
65
2
    }
66
2
}
_ZN5doris8CastUtil15static_cast_setIsaEEvRT0_RKT_
Line
Count
Source
59
18
void static_cast_set(ToFieldType& to, const FromFieldType& from) {
60
    // uint8_t now use as boolean in doris
61
    if constexpr (std::is_same_v<uint8_t, ToFieldType>) {
62
        to = static_cast<bool>(from);
63
18
    } else {
64
18
        to = static_cast<ToFieldType>(from);
65
18
    }
66
18
}
_ZN5doris8CastUtil15static_cast_setIiaEEvRT0_RKT_
Line
Count
Source
59
18
void static_cast_set(ToFieldType& to, const FromFieldType& from) {
60
    // uint8_t now use as boolean in doris
61
    if constexpr (std::is_same_v<uint8_t, ToFieldType>) {
62
        to = static_cast<bool>(from);
63
18
    } else {
64
18
        to = static_cast<ToFieldType>(from);
65
18
    }
66
18
}
_ZN5doris8CastUtil15static_cast_setIlsEEvRT0_RKT_
Line
Count
Source
59
18
void static_cast_set(ToFieldType& to, const FromFieldType& from) {
60
    // uint8_t now use as boolean in doris
61
    if constexpr (std::is_same_v<uint8_t, ToFieldType>) {
62
        to = static_cast<bool>(from);
63
18
    } else {
64
18
        to = static_cast<ToFieldType>(from);
65
18
    }
66
18
}
_ZN5doris8CastUtil15static_cast_setInsEEvRT0_RKT_
Line
Count
Source
59
18
void static_cast_set(ToFieldType& to, const FromFieldType& from) {
60
    // uint8_t now use as boolean in doris
61
    if constexpr (std::is_same_v<uint8_t, ToFieldType>) {
62
        to = static_cast<bool>(from);
63
18
    } else {
64
18
        to = static_cast<ToFieldType>(from);
65
18
    }
66
18
}
_ZN5doris8CastUtil15static_cast_setIdsEEvRT0_RKT_
Line
Count
Source
59
49
void static_cast_set(ToFieldType& to, const FromFieldType& from) {
60
    // uint8_t now use as boolean in doris
61
    if constexpr (std::is_same_v<uint8_t, ToFieldType>) {
62
        to = static_cast<bool>(from);
63
49
    } else {
64
49
        to = static_cast<ToFieldType>(from);
65
49
    }
66
49
}
_ZN5doris8CastUtil15static_cast_setIfsEEvRT0_RKT_
Line
Count
Source
59
44
void static_cast_set(ToFieldType& to, const FromFieldType& from) {
60
    // uint8_t now use as boolean in doris
61
    if constexpr (std::is_same_v<uint8_t, ToFieldType>) {
62
        to = static_cast<bool>(from);
63
44
    } else {
64
44
        to = static_cast<ToFieldType>(from);
65
44
    }
66
44
}
_ZN5doris8CastUtil15static_cast_setIhsEEvRT0_RKT_
Line
Count
Source
59
6
void static_cast_set(ToFieldType& to, const FromFieldType& from) {
60
    // uint8_t now use as boolean in doris
61
    if constexpr (std::is_same_v<uint8_t, ToFieldType>) {
62
        to = static_cast<bool>(from);
63
6
    } else {
64
6
        to = static_cast<ToFieldType>(from);
65
6
    }
66
6
}
_ZN5doris8CastUtil15static_cast_setIasEEvRT0_RKT_
Line
Count
Source
59
23
void static_cast_set(ToFieldType& to, const FromFieldType& from) {
60
    // uint8_t now use as boolean in doris
61
    if constexpr (std::is_same_v<uint8_t, ToFieldType>) {
62
        to = static_cast<bool>(from);
63
23
    } else {
64
23
        to = static_cast<ToFieldType>(from);
65
23
    }
66
23
}
_ZN5doris8CastUtil15static_cast_setIssEEvRT0_RKT_
Line
Count
Source
59
3
void static_cast_set(ToFieldType& to, const FromFieldType& from) {
60
    // uint8_t now use as boolean in doris
61
    if constexpr (std::is_same_v<uint8_t, ToFieldType>) {
62
        to = static_cast<bool>(from);
63
3
    } else {
64
3
        to = static_cast<ToFieldType>(from);
65
3
    }
66
3
}
_ZN5doris8CastUtil15static_cast_setIisEEvRT0_RKT_
Line
Count
Source
59
18
void static_cast_set(ToFieldType& to, const FromFieldType& from) {
60
    // uint8_t now use as boolean in doris
61
    if constexpr (std::is_same_v<uint8_t, ToFieldType>) {
62
        to = static_cast<bool>(from);
63
18
    } else {
64
18
        to = static_cast<ToFieldType>(from);
65
18
    }
66
18
}
_ZN5doris8CastUtil15static_cast_setIliEEvRT0_RKT_
Line
Count
Source
59
90
void static_cast_set(ToFieldType& to, const FromFieldType& from) {
60
    // uint8_t now use as boolean in doris
61
    if constexpr (std::is_same_v<uint8_t, ToFieldType>) {
62
        to = static_cast<bool>(from);
63
90
    } else {
64
90
        to = static_cast<ToFieldType>(from);
65
90
    }
66
90
}
_ZN5doris8CastUtil15static_cast_setIniEEvRT0_RKT_
Line
Count
Source
59
18
void static_cast_set(ToFieldType& to, const FromFieldType& from) {
60
    // uint8_t now use as boolean in doris
61
    if constexpr (std::is_same_v<uint8_t, ToFieldType>) {
62
        to = static_cast<bool>(from);
63
18
    } else {
64
18
        to = static_cast<ToFieldType>(from);
65
18
    }
66
18
}
_ZN5doris8CastUtil15static_cast_setIdiEEvRT0_RKT_
Line
Count
Source
59
109
void static_cast_set(ToFieldType& to, const FromFieldType& from) {
60
    // uint8_t now use as boolean in doris
61
    if constexpr (std::is_same_v<uint8_t, ToFieldType>) {
62
        to = static_cast<bool>(from);
63
109
    } else {
64
109
        to = static_cast<ToFieldType>(from);
65
109
    }
66
109
}
_ZN5doris8CastUtil15static_cast_setIfiEEvRT0_RKT_
Line
Count
Source
59
61
void static_cast_set(ToFieldType& to, const FromFieldType& from) {
60
    // uint8_t now use as boolean in doris
61
    if constexpr (std::is_same_v<uint8_t, ToFieldType>) {
62
        to = static_cast<bool>(from);
63
61
    } else {
64
61
        to = static_cast<ToFieldType>(from);
65
61
    }
66
61
}
_ZN5doris8CastUtil15static_cast_setIhiEEvRT0_RKT_
Line
Count
Source
59
10
void static_cast_set(ToFieldType& to, const FromFieldType& from) {
60
    // uint8_t now use as boolean in doris
61
    if constexpr (std::is_same_v<uint8_t, ToFieldType>) {
62
        to = static_cast<bool>(from);
63
10
    } else {
64
10
        to = static_cast<ToFieldType>(from);
65
10
    }
66
10
}
_ZN5doris8CastUtil15static_cast_setIaiEEvRT0_RKT_
Line
Count
Source
59
24
void static_cast_set(ToFieldType& to, const FromFieldType& from) {
60
    // uint8_t now use as boolean in doris
61
    if constexpr (std::is_same_v<uint8_t, ToFieldType>) {
62
        to = static_cast<bool>(from);
63
24
    } else {
64
24
        to = static_cast<ToFieldType>(from);
65
24
    }
66
24
}
_ZN5doris8CastUtil15static_cast_setIiiEEvRT0_RKT_
Line
Count
Source
59
14
void static_cast_set(ToFieldType& to, const FromFieldType& from) {
60
    // uint8_t now use as boolean in doris
61
    if constexpr (std::is_same_v<uint8_t, ToFieldType>) {
62
        to = static_cast<bool>(from);
63
14
    } else {
64
14
        to = static_cast<ToFieldType>(from);
65
14
    }
66
14
}
_ZN5doris8CastUtil15static_cast_setIsiEEvRT0_RKT_
Line
Count
Source
59
24
void static_cast_set(ToFieldType& to, const FromFieldType& from) {
60
    // uint8_t now use as boolean in doris
61
    if constexpr (std::is_same_v<uint8_t, ToFieldType>) {
62
        to = static_cast<bool>(from);
63
24
    } else {
64
24
        to = static_cast<ToFieldType>(from);
65
24
    }
66
24
}
_ZN5doris8CastUtil15static_cast_setIllEEvRT0_RKT_
Line
Count
Source
59
15.6k
void static_cast_set(ToFieldType& to, const FromFieldType& from) {
60
    // uint8_t now use as boolean in doris
61
    if constexpr (std::is_same_v<uint8_t, ToFieldType>) {
62
        to = static_cast<bool>(from);
63
15.6k
    } else {
64
15.6k
        to = static_cast<ToFieldType>(from);
65
15.6k
    }
66
15.6k
}
_ZN5doris8CastUtil15static_cast_setInlEEvRT0_RKT_
Line
Count
Source
59
18
void static_cast_set(ToFieldType& to, const FromFieldType& from) {
60
    // uint8_t now use as boolean in doris
61
    if constexpr (std::is_same_v<uint8_t, ToFieldType>) {
62
        to = static_cast<bool>(from);
63
18
    } else {
64
18
        to = static_cast<ToFieldType>(from);
65
18
    }
66
18
}
_ZN5doris8CastUtil15static_cast_setIdlEEvRT0_RKT_
Line
Count
Source
59
394
void static_cast_set(ToFieldType& to, const FromFieldType& from) {
60
    // uint8_t now use as boolean in doris
61
    if constexpr (std::is_same_v<uint8_t, ToFieldType>) {
62
        to = static_cast<bool>(from);
63
394
    } else {
64
394
        to = static_cast<ToFieldType>(from);
65
394
    }
66
394
}
_ZN5doris8CastUtil15static_cast_setIflEEvRT0_RKT_
Line
Count
Source
59
72
void static_cast_set(ToFieldType& to, const FromFieldType& from) {
60
    // uint8_t now use as boolean in doris
61
    if constexpr (std::is_same_v<uint8_t, ToFieldType>) {
62
        to = static_cast<bool>(from);
63
72
    } else {
64
72
        to = static_cast<ToFieldType>(from);
65
72
    }
66
72
}
_ZN5doris8CastUtil15static_cast_setIhlEEvRT0_RKT_
Line
Count
Source
59
167
void static_cast_set(ToFieldType& to, const FromFieldType& from) {
60
    // uint8_t now use as boolean in doris
61
    if constexpr (std::is_same_v<uint8_t, ToFieldType>) {
62
        to = static_cast<bool>(from);
63
167
    } else {
64
167
        to = static_cast<ToFieldType>(from);
65
167
    }
66
167
}
_ZN5doris8CastUtil15static_cast_setIalEEvRT0_RKT_
Line
Count
Source
59
23
void static_cast_set(ToFieldType& to, const FromFieldType& from) {
60
    // uint8_t now use as boolean in doris
61
    if constexpr (std::is_same_v<uint8_t, ToFieldType>) {
62
        to = static_cast<bool>(from);
63
23
    } else {
64
23
        to = static_cast<ToFieldType>(from);
65
23
    }
66
23
}
_ZN5doris8CastUtil15static_cast_setIilEEvRT0_RKT_
Line
Count
Source
59
24
void static_cast_set(ToFieldType& to, const FromFieldType& from) {
60
    // uint8_t now use as boolean in doris
61
    if constexpr (std::is_same_v<uint8_t, ToFieldType>) {
62
        to = static_cast<bool>(from);
63
24
    } else {
64
24
        to = static_cast<ToFieldType>(from);
65
24
    }
66
24
}
_ZN5doris8CastUtil15static_cast_setIslEEvRT0_RKT_
Line
Count
Source
59
23
void static_cast_set(ToFieldType& to, const FromFieldType& from) {
60
    // uint8_t now use as boolean in doris
61
    if constexpr (std::is_same_v<uint8_t, ToFieldType>) {
62
        to = static_cast<bool>(from);
63
23
    } else {
64
23
        to = static_cast<ToFieldType>(from);
65
23
    }
66
23
}
_ZN5doris8CastUtil15static_cast_setIlnEEvRT0_RKT_
Line
Count
Source
59
15.8k
void static_cast_set(ToFieldType& to, const FromFieldType& from) {
60
    // uint8_t now use as boolean in doris
61
    if constexpr (std::is_same_v<uint8_t, ToFieldType>) {
62
        to = static_cast<bool>(from);
63
15.8k
    } else {
64
15.8k
        to = static_cast<ToFieldType>(from);
65
15.8k
    }
66
15.8k
}
_ZN5doris8CastUtil15static_cast_setInnEEvRT0_RKT_
Line
Count
Source
59
52
void static_cast_set(ToFieldType& to, const FromFieldType& from) {
60
    // uint8_t now use as boolean in doris
61
    if constexpr (std::is_same_v<uint8_t, ToFieldType>) {
62
        to = static_cast<bool>(from);
63
52
    } else {
64
52
        to = static_cast<ToFieldType>(from);
65
52
    }
66
52
}
_ZN5doris8CastUtil15static_cast_setIdnEEvRT0_RKT_
Line
Count
Source
59
400
void static_cast_set(ToFieldType& to, const FromFieldType& from) {
60
    // uint8_t now use as boolean in doris
61
    if constexpr (std::is_same_v<uint8_t, ToFieldType>) {
62
        to = static_cast<bool>(from);
63
400
    } else {
64
400
        to = static_cast<ToFieldType>(from);
65
400
    }
66
400
}
_ZN5doris8CastUtil15static_cast_setIfnEEvRT0_RKT_
Line
Count
Source
59
80
void static_cast_set(ToFieldType& to, const FromFieldType& from) {
60
    // uint8_t now use as boolean in doris
61
    if constexpr (std::is_same_v<uint8_t, ToFieldType>) {
62
        to = static_cast<bool>(from);
63
80
    } else {
64
80
        to = static_cast<ToFieldType>(from);
65
80
    }
66
80
}
_ZN5doris8CastUtil15static_cast_setIhnEEvRT0_RKT_
Line
Count
Source
59
167
void static_cast_set(ToFieldType& to, const FromFieldType& from) {
60
    // uint8_t now use as boolean in doris
61
    if constexpr (std::is_same_v<uint8_t, ToFieldType>) {
62
        to = static_cast<bool>(from);
63
167
    } else {
64
167
        to = static_cast<ToFieldType>(from);
65
167
    }
66
167
}
_ZN5doris8CastUtil15static_cast_setIanEEvRT0_RKT_
Line
Count
Source
59
22
void static_cast_set(ToFieldType& to, const FromFieldType& from) {
60
    // uint8_t now use as boolean in doris
61
    if constexpr (std::is_same_v<uint8_t, ToFieldType>) {
62
        to = static_cast<bool>(from);
63
22
    } else {
64
22
        to = static_cast<ToFieldType>(from);
65
22
    }
66
22
}
_ZN5doris8CastUtil15static_cast_setIsnEEvRT0_RKT_
Line
Count
Source
59
22
void static_cast_set(ToFieldType& to, const FromFieldType& from) {
60
    // uint8_t now use as boolean in doris
61
    if constexpr (std::is_same_v<uint8_t, ToFieldType>) {
62
        to = static_cast<bool>(from);
63
22
    } else {
64
22
        to = static_cast<ToFieldType>(from);
65
22
    }
66
22
}
_ZN5doris8CastUtil15static_cast_setIinEEvRT0_RKT_
Line
Count
Source
59
22
void static_cast_set(ToFieldType& to, const FromFieldType& from) {
60
    // uint8_t now use as boolean in doris
61
    if constexpr (std::is_same_v<uint8_t, ToFieldType>) {
62
        to = static_cast<bool>(from);
63
22
    } else {
64
22
        to = static_cast<ToFieldType>(from);
65
22
    }
66
22
}
_ZN5doris8CastUtil15static_cast_setIlfEEvRT0_RKT_
Line
Count
Source
59
7.86k
void static_cast_set(ToFieldType& to, const FromFieldType& from) {
60
    // uint8_t now use as boolean in doris
61
    if constexpr (std::is_same_v<uint8_t, ToFieldType>) {
62
        to = static_cast<bool>(from);
63
7.86k
    } else {
64
7.86k
        to = static_cast<ToFieldType>(from);
65
7.86k
    }
66
7.86k
}
_ZN5doris8CastUtil15static_cast_setInfEEvRT0_RKT_
Line
Count
Source
59
51
void static_cast_set(ToFieldType& to, const FromFieldType& from) {
60
    // uint8_t now use as boolean in doris
61
    if constexpr (std::is_same_v<uint8_t, ToFieldType>) {
62
        to = static_cast<bool>(from);
63
51
    } else {
64
51
        to = static_cast<ToFieldType>(from);
65
51
    }
66
51
}
_ZN5doris8CastUtil15static_cast_setIdfEEvRT0_RKT_
Line
Count
Source
59
243
void static_cast_set(ToFieldType& to, const FromFieldType& from) {
60
    // uint8_t now use as boolean in doris
61
    if constexpr (std::is_same_v<uint8_t, ToFieldType>) {
62
        to = static_cast<bool>(from);
63
243
    } else {
64
243
        to = static_cast<ToFieldType>(from);
65
243
    }
66
243
}
_ZN5doris8CastUtil15static_cast_setIffEEvRT0_RKT_
Line
Count
Source
59
2
void static_cast_set(ToFieldType& to, const FromFieldType& from) {
60
    // uint8_t now use as boolean in doris
61
    if constexpr (std::is_same_v<uint8_t, ToFieldType>) {
62
        to = static_cast<bool>(from);
63
2
    } else {
64
2
        to = static_cast<ToFieldType>(from);
65
2
    }
66
2
}
_ZN5doris8CastUtil15static_cast_setIhfEEvRT0_RKT_
Line
Count
Source
59
6
void static_cast_set(ToFieldType& to, const FromFieldType& from) {
60
    // uint8_t now use as boolean in doris
61
    if constexpr (std::is_same_v<uint8_t, ToFieldType>) {
62
        to = static_cast<bool>(from);
63
6
    } else {
64
6
        to = static_cast<ToFieldType>(from);
65
6
    }
66
6
}
_ZN5doris8CastUtil15static_cast_setIafEEvRT0_RKT_
Line
Count
Source
59
51
void static_cast_set(ToFieldType& to, const FromFieldType& from) {
60
    // uint8_t now use as boolean in doris
61
    if constexpr (std::is_same_v<uint8_t, ToFieldType>) {
62
        to = static_cast<bool>(from);
63
51
    } else {
64
51
        to = static_cast<ToFieldType>(from);
65
51
    }
66
51
}
_ZN5doris8CastUtil15static_cast_setIsfEEvRT0_RKT_
Line
Count
Source
59
51
void static_cast_set(ToFieldType& to, const FromFieldType& from) {
60
    // uint8_t now use as boolean in doris
61
    if constexpr (std::is_same_v<uint8_t, ToFieldType>) {
62
        to = static_cast<bool>(from);
63
51
    } else {
64
51
        to = static_cast<ToFieldType>(from);
65
51
    }
66
51
}
_ZN5doris8CastUtil15static_cast_setIifEEvRT0_RKT_
Line
Count
Source
59
51
void static_cast_set(ToFieldType& to, const FromFieldType& from) {
60
    // uint8_t now use as boolean in doris
61
    if constexpr (std::is_same_v<uint8_t, ToFieldType>) {
62
        to = static_cast<bool>(from);
63
51
    } else {
64
51
        to = static_cast<ToFieldType>(from);
65
51
    }
66
51
}
_ZN5doris8CastUtil15static_cast_setIldEEvRT0_RKT_
Line
Count
Source
59
7.86k
void static_cast_set(ToFieldType& to, const FromFieldType& from) {
60
    // uint8_t now use as boolean in doris
61
    if constexpr (std::is_same_v<uint8_t, ToFieldType>) {
62
        to = static_cast<bool>(from);
63
7.86k
    } else {
64
7.86k
        to = static_cast<ToFieldType>(from);
65
7.86k
    }
66
7.86k
}
_ZN5doris8CastUtil15static_cast_setIndEEvRT0_RKT_
Line
Count
Source
59
50
void static_cast_set(ToFieldType& to, const FromFieldType& from) {
60
    // uint8_t now use as boolean in doris
61
    if constexpr (std::is_same_v<uint8_t, ToFieldType>) {
62
        to = static_cast<bool>(from);
63
50
    } else {
64
50
        to = static_cast<ToFieldType>(from);
65
50
    }
66
50
}
_ZN5doris8CastUtil15static_cast_setIddEEvRT0_RKT_
Line
Count
Source
59
237
void static_cast_set(ToFieldType& to, const FromFieldType& from) {
60
    // uint8_t now use as boolean in doris
61
    if constexpr (std::is_same_v<uint8_t, ToFieldType>) {
62
        to = static_cast<bool>(from);
63
237
    } else {
64
237
        to = static_cast<ToFieldType>(from);
65
237
    }
66
237
}
_ZN5doris8CastUtil15static_cast_setIfdEEvRT0_RKT_
Line
Count
Source
59
80
void static_cast_set(ToFieldType& to, const FromFieldType& from) {
60
    // uint8_t now use as boolean in doris
61
    if constexpr (std::is_same_v<uint8_t, ToFieldType>) {
62
        to = static_cast<bool>(from);
63
80
    } else {
64
80
        to = static_cast<ToFieldType>(from);
65
80
    }
66
80
}
_ZN5doris8CastUtil15static_cast_setIhdEEvRT0_RKT_
Line
Count
Source
59
196
void static_cast_set(ToFieldType& to, const FromFieldType& from) {
60
    // uint8_t now use as boolean in doris
61
    if constexpr (std::is_same_v<uint8_t, ToFieldType>) {
62
        to = static_cast<bool>(from);
63
196
    } else {
64
196
        to = static_cast<ToFieldType>(from);
65
196
    }
66
196
}
_ZN5doris8CastUtil15static_cast_setIadEEvRT0_RKT_
Line
Count
Source
59
51
void static_cast_set(ToFieldType& to, const FromFieldType& from) {
60
    // uint8_t now use as boolean in doris
61
    if constexpr (std::is_same_v<uint8_t, ToFieldType>) {
62
        to = static_cast<bool>(from);
63
51
    } else {
64
51
        to = static_cast<ToFieldType>(from);
65
51
    }
66
51
}
_ZN5doris8CastUtil15static_cast_setIsdEEvRT0_RKT_
Line
Count
Source
59
51
void static_cast_set(ToFieldType& to, const FromFieldType& from) {
60
    // uint8_t now use as boolean in doris
61
    if constexpr (std::is_same_v<uint8_t, ToFieldType>) {
62
        to = static_cast<bool>(from);
63
51
    } else {
64
51
        to = static_cast<ToFieldType>(from);
65
51
    }
66
51
}
_ZN5doris8CastUtil15static_cast_setIidEEvRT0_RKT_
Line
Count
Source
59
51
void static_cast_set(ToFieldType& to, const FromFieldType& from) {
60
    // uint8_t now use as boolean in doris
61
    if constexpr (std::is_same_v<uint8_t, ToFieldType>) {
62
        to = static_cast<bool>(from);
63
51
    } else {
64
51
        to = static_cast<ToFieldType>(from);
65
51
    }
66
51
}
67
68
template <typename T>
69
constexpr static bool IsPureDigitType =
70
        IsDataTypeInt<T> || IsDataTypeFloat<T> || IsDataTypeDecimal<T>;
71
72
// IsDataTypeNumber include integer, float and boolean.
73
template <typename T>
74
constexpr static bool IsBaseCastToType =
75
        IsDataTypeNumber<T> || IsDataTypeDecimal<T> || IsDatelikeTypes<T> || IsIPType<T>;
76
77
template <typename T>
78
constexpr static bool IsBaseCastFromType = IsBaseCastToType<T> || IsStringType<T>;
79
80
} // namespace CastUtil
81
82
namespace CastWrapper {
83
84
using WrapperType = std::function<Status(FunctionContext*, Block&, const ColumnNumbers&, uint32_t,
85
                                         size_t, const NullMap::value_type*)>;
86
87
using ElementWrappers = std::vector<WrapperType>;
88
89
WrapperType create_unsupport_wrapper(const String error_msg);
90
91
WrapperType create_unsupport_wrapper(const String from_type_name, const String to_type_name);
92
//// Generic conversion of any type to String.
93
94
Status cast_from_generic_to_jsonb(FunctionContext* context, Block& block,
95
                                  const ColumnNumbers& arguments, uint32_t result,
96
                                  size_t input_rows_count,
97
                                  const NullMap::value_type* null_map = nullptr);
98
99
// string to bitmap or hll object
100
Status cast_from_string_to_generic(FunctionContext* context, Block& block,
101
                                   const ColumnNumbers& arguments, uint32_t result,
102
                                   size_t input_rows_count,
103
                                   const NullMap::value_type* null_map = nullptr);
104
105
Status cast_from_string_to_complex_type(FunctionContext* context, Block& block,
106
                                        const ColumnNumbers& arguments, uint32_t result,
107
                                        size_t input_rows_count,
108
                                        const NullMap::value_type* null_map = nullptr);
109
110
Status cast_from_string_to_complex_type_strict_mode(FunctionContext* context, Block& block,
111
                                                    const ColumnNumbers& arguments, uint32_t result,
112
                                                    size_t input_rows_count,
113
                                                    const NullMap::value_type* null_map = nullptr);
114
115
// prepare_unpack_dictionaries -> prepare_remove_nullable -> prepare_impl
116
117
WrapperType prepare_unpack_dictionaries(FunctionContext* context, const DataTypePtr& from_type,
118
                                        const DataTypePtr& to_type);
119
120
WrapperType prepare_remove_nullable(FunctionContext* context, const DataTypePtr& from_type,
121
                                    const DataTypePtr& to_type);
122
123
WrapperType prepare_impl(FunctionContext* context, const DataTypePtr& from_type,
124
                         const DataTypePtr& to_type);
125
126
ElementWrappers get_element_wrappers(FunctionContext* context, const DataTypes& from_element_types,
127
                                     const DataTypes& to_element_types);
128
129
WrapperType create_identity_wrapper(const DataTypePtr&);
130
131
} // namespace CastWrapper
132
133
enum class CastModeType { StrictMode, NonStrictMode };
134
135
16.1k
inline std::string cast_mode_type_to_string(CastModeType cast_mode) {
136
16.1k
    switch (cast_mode) {
137
16.0k
    case CastModeType::StrictMode:
138
16.0k
        return "StrictMode";
139
108
    case CastModeType::NonStrictMode:
140
108
        return "NonStrictMode";
141
0
    default:
142
0
        return "Unknown";
143
16.1k
    }
144
16.1k
}
145
inline std::string cast_mode_type_to_string(CastModeType cast_mode, const DataTypePtr& from_type,
146
16.1k
                                            const DataTypePtr& to_type) {
147
16.1k
    return fmt::format("{}: from {} cast to {}", cast_mode_type_to_string(cast_mode),
148
16.1k
                       from_type->get_name(), to_type->get_name());
149
16.1k
}
150
151
class CastToBase {
152
public:
153
35.1k
    virtual ~CastToBase() = default;
154
    virtual Status execute_impl(FunctionContext* context, Block& block,
155
                                const ColumnNumbers& arguments, uint32_t result,
156
                                size_t input_rows_count,
157
                                const NullMap::value_type* null_map = nullptr) const = 0;
158
};
159
160
template <CastModeType CastMode, typename FromDataType, typename ToDataType>
161
class CastToImpl : public CastToBase {
162
public:
163
    Status execute_impl(FunctionContext* context, Block& block, const ColumnNumbers& arguments,
164
                        uint32_t result, size_t input_rows_count,
165
16.1k
                        const NullMap::value_type* null_map = nullptr) const override {
166
16.1k
        return Status::RuntimeError(
167
16.1k
                "not support  {} ",
168
16.1k
                cast_mode_type_to_string(CastMode, block.get_by_position(arguments[0]).type,
169
16.1k
                                         block.get_by_position(result).type));
170
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
165
36
                        const NullMap::value_type* null_map = nullptr) const override {
166
36
        return Status::RuntimeError(
167
36
                "not support  {} ",
168
36
                cast_mode_type_to_string(CastMode, block.get_by_position(arguments[0]).type,
169
36
                                         block.get_by_position(result).type));
170
36
    }
_ZNK5doris10CastToImplILNS_12CastModeTypeE1ENS_14DataTypeDateV2ENS_14DataTypeNumberILNS_13PrimitiveTypeE3EEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmPKh
Line
Count
Source
165
36
                        const NullMap::value_type* null_map = nullptr) const override {
166
36
        return Status::RuntimeError(
167
36
                "not support  {} ",
168
36
                cast_mode_type_to_string(CastMode, block.get_by_position(arguments[0]).type,
169
36
                                         block.get_by_position(result).type));
170
36
    }
_ZNK5doris10CastToImplILNS_12CastModeTypeE0ENS_18DataTypeDateTimeV2ENS_14DataTypeNumberILNS_13PrimitiveTypeE3EEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmPKh
Line
Count
Source
165
12
                        const NullMap::value_type* null_map = nullptr) const override {
166
12
        return Status::RuntimeError(
167
12
                "not support  {} ",
168
12
                cast_mode_type_to_string(CastMode, block.get_by_position(arguments[0]).type,
169
12
                                         block.get_by_position(result).type));
170
12
    }
_ZNK5doris10CastToImplILNS_12CastModeTypeE1ENS_18DataTypeDateTimeV2ENS_14DataTypeNumberILNS_13PrimitiveTypeE3EEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmPKh
Line
Count
Source
165
12
                        const NullMap::value_type* null_map = nullptr) const override {
166
12
        return Status::RuntimeError(
167
12
                "not support  {} ",
168
12
                cast_mode_type_to_string(CastMode, block.get_by_position(arguments[0]).type,
169
12
                                         block.get_by_position(result).type));
170
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
165
36
                        const NullMap::value_type* null_map = nullptr) const override {
166
36
        return Status::RuntimeError(
167
36
                "not support  {} ",
168
36
                cast_mode_type_to_string(CastMode, block.get_by_position(arguments[0]).type,
169
36
                                         block.get_by_position(result).type));
170
36
    }
_ZNK5doris10CastToImplILNS_12CastModeTypeE1ENS_14DataTypeDateV2ENS_14DataTypeNumberILNS_13PrimitiveTypeE4EEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmPKh
Line
Count
Source
165
36
                        const NullMap::value_type* null_map = nullptr) const override {
166
36
        return Status::RuntimeError(
167
36
                "not support  {} ",
168
36
                cast_mode_type_to_string(CastMode, block.get_by_position(arguments[0]).type,
169
36
                                         block.get_by_position(result).type));
170
36
    }
_ZNK5doris10CastToImplILNS_12CastModeTypeE0ENS_18DataTypeDateTimeV2ENS_14DataTypeNumberILNS_13PrimitiveTypeE4EEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmPKh
Line
Count
Source
165
12
                        const NullMap::value_type* null_map = nullptr) const override {
166
12
        return Status::RuntimeError(
167
12
                "not support  {} ",
168
12
                cast_mode_type_to_string(CastMode, block.get_by_position(arguments[0]).type,
169
12
                                         block.get_by_position(result).type));
170
12
    }
_ZNK5doris10CastToImplILNS_12CastModeTypeE1ENS_18DataTypeDateTimeV2ENS_14DataTypeNumberILNS_13PrimitiveTypeE4EEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmPKh
Line
Count
Source
165
12
                        const NullMap::value_type* null_map = nullptr) const override {
166
12
        return Status::RuntimeError(
167
12
                "not support  {} ",
168
12
                cast_mode_type_to_string(CastMode, block.get_by_position(arguments[0]).type,
169
12
                                         block.get_by_position(result).type));
170
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
165
12
                        const NullMap::value_type* null_map = nullptr) const override {
166
12
        return Status::RuntimeError(
167
12
                "not support  {} ",
168
12
                cast_mode_type_to_string(CastMode, block.get_by_position(arguments[0]).type,
169
12
                                         block.get_by_position(result).type));
170
12
    }
_ZNK5doris10CastToImplILNS_12CastModeTypeE1ENS_18DataTypeDateTimeV2ENS_14DataTypeNumberILNS_13PrimitiveTypeE5EEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmPKh
Line
Count
Source
165
12
                        const NullMap::value_type* null_map = nullptr) const override {
166
12
        return Status::RuntimeError(
167
12
                "not support  {} ",
168
12
                cast_mode_type_to_string(CastMode, block.get_by_position(arguments[0]).type,
169
12
                                         block.get_by_position(result).type));
170
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
165
36
                        const NullMap::value_type* null_map = nullptr) const override {
166
36
        return Status::RuntimeError(
167
36
                "not support  {} ",
168
36
                cast_mode_type_to_string(CastMode, block.get_by_position(arguments[0]).type,
169
36
                                         block.get_by_position(result).type));
170
36
    }
_ZNK5doris10CastToImplILNS_12CastModeTypeE0ENS_18DataTypeDateTimeV2ENS_14DataTypeNumberILNS_13PrimitiveTypeE8EEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmPKh
Line
Count
Source
165
7.77k
                        const NullMap::value_type* null_map = nullptr) const override {
166
7.77k
        return Status::RuntimeError(
167
7.77k
                "not support  {} ",
168
7.77k
                cast_mode_type_to_string(CastMode, block.get_by_position(arguments[0]).type,
169
7.77k
                                         block.get_by_position(result).type));
170
7.77k
    }
Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE0ENS_16DataTypeDateTimeENS_14DataTypeNumberILNS_13PrimitiveTypeE8EEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmPKh
_ZNK5doris10CastToImplILNS_12CastModeTypeE0ENS_14DataTypeTimeV2ENS_14DataTypeNumberILNS_13PrimitiveTypeE8EEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmPKh
Line
Count
Source
165
160
                        const NullMap::value_type* null_map = nullptr) const override {
166
160
        return Status::RuntimeError(
167
160
                "not support  {} ",
168
160
                cast_mode_type_to_string(CastMode, block.get_by_position(arguments[0]).type,
169
160
                                         block.get_by_position(result).type));
170
160
    }
Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE0ENS_12DataTypeDateENS_14DataTypeNumberILNS_13PrimitiveTypeE9EEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmPKh
_ZNK5doris10CastToImplILNS_12CastModeTypeE0ENS_14DataTypeDateV2ENS_14DataTypeNumberILNS_13PrimitiveTypeE9EEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmPKh
Line
Count
Source
165
36
                        const NullMap::value_type* null_map = nullptr) const override {
166
36
        return Status::RuntimeError(
167
36
                "not support  {} ",
168
36
                cast_mode_type_to_string(CastMode, block.get_by_position(arguments[0]).type,
169
36
                                         block.get_by_position(result).type));
170
36
    }
_ZNK5doris10CastToImplILNS_12CastModeTypeE0ENS_18DataTypeDateTimeV2ENS_14DataTypeNumberILNS_13PrimitiveTypeE9EEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmPKh
Line
Count
Source
165
7.77k
                        const NullMap::value_type* null_map = nullptr) const override {
166
7.77k
        return Status::RuntimeError(
167
7.77k
                "not support  {} ",
168
7.77k
                cast_mode_type_to_string(CastMode, block.get_by_position(arguments[0]).type,
169
7.77k
                                         block.get_by_position(result).type));
170
7.77k
    }
Unexecuted instantiation: _ZNK5doris10CastToImplILNS_12CastModeTypeE0ENS_16DataTypeDateTimeENS_14DataTypeNumberILNS_13PrimitiveTypeE9EEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmPKh
_ZNK5doris10CastToImplILNS_12CastModeTypeE0ENS_14DataTypeTimeV2ENS_14DataTypeNumberILNS_13PrimitiveTypeE9EEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjmPKh
Line
Count
Source
165
160
                        const NullMap::value_type* null_map = nullptr) const override {
166
160
        return Status::RuntimeError(
167
160
                "not support  {} ",
168
160
                cast_mode_type_to_string(CastMode, block.get_by_position(arguments[0]).type,
169
160
                                         block.get_by_position(result).type));
170
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
171
};
172
173
#ifdef BE_TEST
174
inline CastWrapper::WrapperType get_cast_wrapper(FunctionContext* context,
175
                                                 const DataTypePtr& from_type,
176
9
                                                 const DataTypePtr& to_type) {
177
9
    return CastWrapper::prepare_unpack_dictionaries(context, from_type, to_type);
178
9
}
179
#endif
180
} // namespace doris