Coverage Report

Created: 2026-10-22 01:20

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
be/src/exprs/function/geo/functions_geo.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
20
#include <stddef.h>
21
22
#include <memory>
23
#include <string>
24
#include <vector>
25
26
#include "common/status.h"
27
#include "core/block/column_numbers.h"
28
#include "core/data_type/data_type.h"
29
#include "core/types.h"
30
#include "exprs/function/function.h"
31
#include "exprs/function_context.h"
32
33
namespace doris {
34
class GeoShape;
35
36
class Block;
37
} // namespace doris
38
39
namespace doris {
40
41
struct StConstructState {
42
0
    StConstructState() : is_null(false) {}
43
0
    ~StConstructState() {}
44
45
    bool is_null;
46
    std::string encoded_buf;
47
};
48
49
struct StContainsState {
50
0
    StContainsState() : is_null(false), shapes {nullptr, nullptr} {}
51
0
    ~StContainsState() {}
52
    bool is_null;
53
    std::vector<std::shared_ptr<GeoShape>> shapes;
54
};
55
56
Status validate_spatial_wkb_inputs(const Block& block, const ColumnNumbers& arguments);
57
58
// Decode physical binary storage using the spatial identity supplied by the table schema.
59
Status append_spatial_wkb(const ColumnPtr& source, IColumn& destination,
60
                          const DataTypePtr& spatial_type,
61
                          const NullMap::value_type* null_map = nullptr);
62
63
template <typename Impl>
64
class GeoFunction : public IFunction {
65
public:
66
    static constexpr auto name = Impl::NAME;
67
    using ReturnType = typename Impl::Type;
68
71
    static FunctionPtr create() { return std::make_shared<GeoFunction<Impl>>(); }
_ZN5doris11GeoFunctionINS_7StPointEE6createEv
Line
Count
Source
68
9
    static FunctionPtr create() { return std::make_shared<GeoFunction<Impl>>(); }
_ZN5doris11GeoFunctionINS_16StDistanceSphereEE6createEv
Line
Count
Source
68
3
    static FunctionPtr create() { return std::make_shared<GeoFunction<Impl>>(); }
_ZN5doris11GeoFunctionINS_13StAngleSphereEE6createEv
Line
Count
Source
68
3
    static FunctionPtr create() { return std::make_shared<GeoFunction<Impl>>(); }
_ZN5doris11GeoFunctionINS_8StCircleEE6createEv
Line
Count
Source
68
3
    static FunctionPtr create() { return std::make_shared<GeoFunction<Impl>>(); }
_ZN5doris11GeoFunctionINS_13StGeoFromTextINS_18StGeometryFromTextEEEE6createEv
Line
Count
Source
68
3
    static FunctionPtr create() { return std::make_shared<GeoFunction<Impl>>(); }
_ZN5doris11GeoFunctionINS_13StGeoFromTextINS_14StGeomFromTextEEEE6createEv
Line
Count
Source
68
3
    static FunctionPtr create() { return std::make_shared<GeoFunction<Impl>>(); }
_ZN5doris11GeoFunctionINS_13StGeoFromTextINS_14StLineFromTextEEEE6createEv
Line
Count
Source
68
3
    static FunctionPtr create() { return std::make_shared<GeoFunction<Impl>>(); }
_ZN5doris11GeoFunctionINS_13StGeoFromTextINS_20StLineStringFromTextEEEE6createEv
Line
Count
Source
68
2
    static FunctionPtr create() { return std::make_shared<GeoFunction<Impl>>(); }
_ZN5doris11GeoFunctionINS_13StGeoFromTextINS_9StPolygonEEEE6createEv
Line
Count
Source
68
3
    static FunctionPtr create() { return std::make_shared<GeoFunction<Impl>>(); }
_ZN5doris11GeoFunctionINS_13StGeoFromTextINS_17StPolygonFromTextEEEE6createEv
Line
Count
Source
68
3
    static FunctionPtr create() { return std::make_shared<GeoFunction<Impl>>(); }
_ZN5doris11GeoFunctionINS_13StGeoFromTextINS_14StPolyFromTextEEEE6createEv
Line
Count
Source
68
2
    static FunctionPtr create() { return std::make_shared<GeoFunction<Impl>>(); }
_ZN5doris11GeoFunctionINS_18StAreaSquareMetersEE6createEv
Line
Count
Source
68
8
    static FunctionPtr create() { return std::make_shared<GeoFunction<Impl>>(); }
_ZN5doris11GeoFunctionINS_14StAreaSquareKmEE6createEv
Line
Count
Source
68
3
    static FunctionPtr create() { return std::make_shared<GeoFunction<Impl>>(); }
_ZN5doris11GeoFunctionINS_10StIsClosedEE6createEv
Line
Count
Source
68
9
    static FunctionPtr create() { return std::make_shared<GeoFunction<Impl>>(); }
_ZN5doris11GeoFunctionINS_15StNumGeometriesEE6createEv
Line
Count
Source
68
7
    static FunctionPtr create() { return std::make_shared<GeoFunction<Impl>>(); }
_ZN5doris11GeoFunctionINS_11StNumPointsEE6createEv
Line
Count
Source
68
7
    static FunctionPtr create() { return std::make_shared<GeoFunction<Impl>>(); }
69
31
    String get_name() const override { return name; }
_ZNK5doris11GeoFunctionINS_7StPointEE8get_nameB5cxx11Ev
Line
Count
Source
69
1
    String get_name() const override { return name; }
_ZNK5doris11GeoFunctionINS_8StAsTextINS_11StAsWktNameEEEE8get_nameB5cxx11Ev
Line
Count
Source
69
1
    String get_name() const override { return name; }
_ZNK5doris11GeoFunctionINS_8StAsTextINS_12StAsTextNameEEEE8get_nameB5cxx11Ev
Line
Count
Source
69
1
    String get_name() const override { return name; }
_ZNK5doris11GeoFunctionINS_3StXEE8get_nameB5cxx11Ev
Line
Count
Source
69
1
    String get_name() const override { return name; }
_ZNK5doris11GeoFunctionINS_3StYEE8get_nameB5cxx11Ev
Line
Count
Source
69
1
    String get_name() const override { return name; }
_ZNK5doris11GeoFunctionINS_16StDistanceSphereEE8get_nameB5cxx11Ev
Line
Count
Source
69
1
    String get_name() const override { return name; }
_ZNK5doris11GeoFunctionINS_13StAngleSphereEE8get_nameB5cxx11Ev
Line
Count
Source
69
1
    String get_name() const override { return name; }
_ZNK5doris11GeoFunctionINS_7StAngleEE8get_nameB5cxx11Ev
Line
Count
Source
69
1
    String get_name() const override { return name; }
_ZNK5doris11GeoFunctionINS_9StAzimuthEE8get_nameB5cxx11Ev
Line
Count
Source
69
1
    String get_name() const override { return name; }
_ZNK5doris11GeoFunctionINS_18StRelationFunctionINS_14StContainsFuncEEEE8get_nameB5cxx11Ev
Line
Count
Source
69
1
    String get_name() const override { return name; }
_ZNK5doris11GeoFunctionINS_18StRelationFunctionINS_16StIntersectsFuncEEEE8get_nameB5cxx11Ev
Line
Count
Source
69
1
    String get_name() const override { return name; }
_ZNK5doris11GeoFunctionINS_18StRelationFunctionINS_14StDisjointFuncEEEE8get_nameB5cxx11Ev
Line
Count
Source
69
1
    String get_name() const override { return name; }
_ZNK5doris11GeoFunctionINS_18StRelationFunctionINS_13StTouchesFuncEEEE8get_nameB5cxx11Ev
Line
Count
Source
69
1
    String get_name() const override { return name; }
_ZNK5doris11GeoFunctionINS_18StRelationFunctionINS_12StWithinFuncEEEE8get_nameB5cxx11Ev
Line
Count
Source
69
1
    String get_name() const override { return name; }
_ZNK5doris11GeoFunctionINS_8StCircleEE8get_nameB5cxx11Ev
Line
Count
Source
69
1
    String get_name() const override { return name; }
_ZNK5doris11GeoFunctionINS_13StGeoFromTextINS_18StGeometryFromTextEEEE8get_nameB5cxx11Ev
Line
Count
Source
69
1
    String get_name() const override { return name; }
_ZNK5doris11GeoFunctionINS_13StGeoFromTextINS_14StGeomFromTextEEEE8get_nameB5cxx11Ev
Line
Count
Source
69
1
    String get_name() const override { return name; }
_ZNK5doris11GeoFunctionINS_13StGeoFromTextINS_14StLineFromTextEEEE8get_nameB5cxx11Ev
Line
Count
Source
69
1
    String get_name() const override { return name; }
_ZNK5doris11GeoFunctionINS_13StGeoFromTextINS_20StLineStringFromTextEEEE8get_nameB5cxx11Ev
Line
Count
Source
69
1
    String get_name() const override { return name; }
_ZNK5doris11GeoFunctionINS_13StGeoFromTextINS_9StPolygonEEEE8get_nameB5cxx11Ev
Line
Count
Source
69
1
    String get_name() const override { return name; }
_ZNK5doris11GeoFunctionINS_13StGeoFromTextINS_17StPolygonFromTextEEEE8get_nameB5cxx11Ev
Line
Count
Source
69
1
    String get_name() const override { return name; }
_ZNK5doris11GeoFunctionINS_13StGeoFromTextINS_14StPolyFromTextEEEE8get_nameB5cxx11Ev
Line
Count
Source
69
1
    String get_name() const override { return name; }
_ZNK5doris11GeoFunctionINS_18StAreaSquareMetersEE8get_nameB5cxx11Ev
Line
Count
Source
69
1
    String get_name() const override { return name; }
_ZNK5doris11GeoFunctionINS_14StAreaSquareKmEE8get_nameB5cxx11Ev
Line
Count
Source
69
1
    String get_name() const override { return name; }
_ZNK5doris11GeoFunctionINS_10StAsBinaryEE8get_nameB5cxx11Ev
Line
Count
Source
69
1
    String get_name() const override { return name; }
_ZNK5doris11GeoFunctionINS_8StLengthEE8get_nameB5cxx11Ev
Line
Count
Source
69
1
    String get_name() const override { return name; }
_ZNK5doris11GeoFunctionINS_14StGeometryTypeEE8get_nameB5cxx11Ev
Line
Count
Source
69
1
    String get_name() const override { return name; }
_ZNK5doris11GeoFunctionINS_10StDistanceEE8get_nameB5cxx11Ev
Line
Count
Source
69
1
    String get_name() const override { return name; }
_ZNK5doris11GeoFunctionINS_10StIsClosedEE8get_nameB5cxx11Ev
Line
Count
Source
69
1
    String get_name() const override { return name; }
_ZNK5doris11GeoFunctionINS_15StNumGeometriesEE8get_nameB5cxx11Ev
Line
Count
Source
69
1
    String get_name() const override { return name; }
_ZNK5doris11GeoFunctionINS_11StNumPointsEE8get_nameB5cxx11Ev
Line
Count
Source
69
1
    String get_name() const override { return name; }
70
309
    size_t get_number_of_arguments() const override { return Impl::NUM_ARGS; }
_ZNK5doris11GeoFunctionINS_7StPointEE23get_number_of_argumentsEv
Line
Count
Source
70
7
    size_t get_number_of_arguments() const override { return Impl::NUM_ARGS; }
_ZNK5doris11GeoFunctionINS_8StAsTextINS_11StAsWktNameEEEE23get_number_of_argumentsEv
Line
Count
Source
70
1
    size_t get_number_of_arguments() const override { return Impl::NUM_ARGS; }
_ZNK5doris11GeoFunctionINS_8StAsTextINS_12StAsTextNameEEEE23get_number_of_argumentsEv
Line
Count
Source
70
13
    size_t get_number_of_arguments() const override { return Impl::NUM_ARGS; }
_ZNK5doris11GeoFunctionINS_3StXEE23get_number_of_argumentsEv
Line
Count
Source
70
5
    size_t get_number_of_arguments() const override { return Impl::NUM_ARGS; }
_ZNK5doris11GeoFunctionINS_3StYEE23get_number_of_argumentsEv
Line
Count
Source
70
5
    size_t get_number_of_arguments() const override { return Impl::NUM_ARGS; }
_ZNK5doris11GeoFunctionINS_16StDistanceSphereEE23get_number_of_argumentsEv
Line
Count
Source
70
1
    size_t get_number_of_arguments() const override { return Impl::NUM_ARGS; }
_ZNK5doris11GeoFunctionINS_13StAngleSphereEE23get_number_of_argumentsEv
Line
Count
Source
70
1
    size_t get_number_of_arguments() const override { return Impl::NUM_ARGS; }
_ZNK5doris11GeoFunctionINS_7StAngleEE23get_number_of_argumentsEv
Line
Count
Source
70
19
    size_t get_number_of_arguments() const override { return Impl::NUM_ARGS; }
_ZNK5doris11GeoFunctionINS_9StAzimuthEE23get_number_of_argumentsEv
Line
Count
Source
70
32
    size_t get_number_of_arguments() const override { return Impl::NUM_ARGS; }
_ZNK5doris11GeoFunctionINS_18StRelationFunctionINS_14StContainsFuncEEEE23get_number_of_argumentsEv
Line
Count
Source
70
27
    size_t get_number_of_arguments() const override { return Impl::NUM_ARGS; }
_ZNK5doris11GeoFunctionINS_18StRelationFunctionINS_16StIntersectsFuncEEEE23get_number_of_argumentsEv
Line
Count
Source
70
54
    size_t get_number_of_arguments() const override { return Impl::NUM_ARGS; }
_ZNK5doris11GeoFunctionINS_18StRelationFunctionINS_14StDisjointFuncEEEE23get_number_of_argumentsEv
Line
Count
Source
70
50
    size_t get_number_of_arguments() const override { return Impl::NUM_ARGS; }
_ZNK5doris11GeoFunctionINS_18StRelationFunctionINS_13StTouchesFuncEEEE23get_number_of_argumentsEv
Line
Count
Source
70
18
    size_t get_number_of_arguments() const override { return Impl::NUM_ARGS; }
_ZNK5doris11GeoFunctionINS_18StRelationFunctionINS_12StWithinFuncEEEE23get_number_of_argumentsEv
Line
Count
Source
70
12
    size_t get_number_of_arguments() const override { return Impl::NUM_ARGS; }
_ZNK5doris11GeoFunctionINS_8StCircleEE23get_number_of_argumentsEv
Line
Count
Source
70
1
    size_t get_number_of_arguments() const override { return Impl::NUM_ARGS; }
_ZNK5doris11GeoFunctionINS_13StGeoFromTextINS_18StGeometryFromTextEEEE23get_number_of_argumentsEv
Line
Count
Source
70
1
    size_t get_number_of_arguments() const override { return Impl::NUM_ARGS; }
_ZNK5doris11GeoFunctionINS_13StGeoFromTextINS_14StGeomFromTextEEEE23get_number_of_argumentsEv
Line
Count
Source
70
1
    size_t get_number_of_arguments() const override { return Impl::NUM_ARGS; }
_ZNK5doris11GeoFunctionINS_13StGeoFromTextINS_14StLineFromTextEEEE23get_number_of_argumentsEv
Line
Count
Source
70
1
    size_t get_number_of_arguments() const override { return Impl::NUM_ARGS; }
Unexecuted instantiation: _ZNK5doris11GeoFunctionINS_13StGeoFromTextINS_20StLineStringFromTextEEEE23get_number_of_argumentsEv
_ZNK5doris11GeoFunctionINS_13StGeoFromTextINS_9StPolygonEEEE23get_number_of_argumentsEv
Line
Count
Source
70
1
    size_t get_number_of_arguments() const override { return Impl::NUM_ARGS; }
_ZNK5doris11GeoFunctionINS_13StGeoFromTextINS_17StPolygonFromTextEEEE23get_number_of_argumentsEv
Line
Count
Source
70
1
    size_t get_number_of_arguments() const override { return Impl::NUM_ARGS; }
Unexecuted instantiation: _ZNK5doris11GeoFunctionINS_13StGeoFromTextINS_14StPolyFromTextEEEE23get_number_of_argumentsEv
_ZNK5doris11GeoFunctionINS_18StAreaSquareMetersEE23get_number_of_argumentsEv
Line
Count
Source
70
6
    size_t get_number_of_arguments() const override { return Impl::NUM_ARGS; }
_ZNK5doris11GeoFunctionINS_14StAreaSquareKmEE23get_number_of_argumentsEv
Line
Count
Source
70
1
    size_t get_number_of_arguments() const override { return Impl::NUM_ARGS; }
_ZNK5doris11GeoFunctionINS_10StAsBinaryEE23get_number_of_argumentsEv
Line
Count
Source
70
12
    size_t get_number_of_arguments() const override { return Impl::NUM_ARGS; }
_ZNK5doris11GeoFunctionINS_8StLengthEE23get_number_of_argumentsEv
Line
Count
Source
70
4
    size_t get_number_of_arguments() const override { return Impl::NUM_ARGS; }
_ZNK5doris11GeoFunctionINS_14StGeometryTypeEE23get_number_of_argumentsEv
Line
Count
Source
70
3
    size_t get_number_of_arguments() const override { return Impl::NUM_ARGS; }
_ZNK5doris11GeoFunctionINS_10StDistanceEE23get_number_of_argumentsEv
Line
Count
Source
70
15
    size_t get_number_of_arguments() const override { return Impl::NUM_ARGS; }
_ZNK5doris11GeoFunctionINS_10StIsClosedEE23get_number_of_argumentsEv
Line
Count
Source
70
7
    size_t get_number_of_arguments() const override { return Impl::NUM_ARGS; }
_ZNK5doris11GeoFunctionINS_15StNumGeometriesEE23get_number_of_argumentsEv
Line
Count
Source
70
5
    size_t get_number_of_arguments() const override { return Impl::NUM_ARGS; }
_ZNK5doris11GeoFunctionINS_11StNumPointsEE23get_number_of_argumentsEv
Line
Count
Source
70
5
    size_t get_number_of_arguments() const override { return Impl::NUM_ARGS; }
71
340
    bool is_variadic() const override { return false; }
_ZNK5doris11GeoFunctionINS_7StPointEE11is_variadicEv
Line
Count
Source
71
8
    bool is_variadic() const override { return false; }
_ZNK5doris11GeoFunctionINS_8StAsTextINS_11StAsWktNameEEEE11is_variadicEv
Line
Count
Source
71
2
    bool is_variadic() const override { return false; }
_ZNK5doris11GeoFunctionINS_8StAsTextINS_12StAsTextNameEEEE11is_variadicEv
Line
Count
Source
71
14
    bool is_variadic() const override { return false; }
_ZNK5doris11GeoFunctionINS_3StXEE11is_variadicEv
Line
Count
Source
71
6
    bool is_variadic() const override { return false; }
_ZNK5doris11GeoFunctionINS_3StYEE11is_variadicEv
Line
Count
Source
71
6
    bool is_variadic() const override { return false; }
_ZNK5doris11GeoFunctionINS_16StDistanceSphereEE11is_variadicEv
Line
Count
Source
71
2
    bool is_variadic() const override { return false; }
_ZNK5doris11GeoFunctionINS_13StAngleSphereEE11is_variadicEv
Line
Count
Source
71
2
    bool is_variadic() const override { return false; }
_ZNK5doris11GeoFunctionINS_7StAngleEE11is_variadicEv
Line
Count
Source
71
20
    bool is_variadic() const override { return false; }
_ZNK5doris11GeoFunctionINS_9StAzimuthEE11is_variadicEv
Line
Count
Source
71
33
    bool is_variadic() const override { return false; }
_ZNK5doris11GeoFunctionINS_18StRelationFunctionINS_14StContainsFuncEEEE11is_variadicEv
Line
Count
Source
71
28
    bool is_variadic() const override { return false; }
_ZNK5doris11GeoFunctionINS_18StRelationFunctionINS_16StIntersectsFuncEEEE11is_variadicEv
Line
Count
Source
71
55
    bool is_variadic() const override { return false; }
_ZNK5doris11GeoFunctionINS_18StRelationFunctionINS_14StDisjointFuncEEEE11is_variadicEv
Line
Count
Source
71
51
    bool is_variadic() const override { return false; }
_ZNK5doris11GeoFunctionINS_18StRelationFunctionINS_13StTouchesFuncEEEE11is_variadicEv
Line
Count
Source
71
19
    bool is_variadic() const override { return false; }
_ZNK5doris11GeoFunctionINS_18StRelationFunctionINS_12StWithinFuncEEEE11is_variadicEv
Line
Count
Source
71
13
    bool is_variadic() const override { return false; }
_ZNK5doris11GeoFunctionINS_8StCircleEE11is_variadicEv
Line
Count
Source
71
2
    bool is_variadic() const override { return false; }
_ZNK5doris11GeoFunctionINS_13StGeoFromTextINS_18StGeometryFromTextEEEE11is_variadicEv
Line
Count
Source
71
2
    bool is_variadic() const override { return false; }
_ZNK5doris11GeoFunctionINS_13StGeoFromTextINS_14StGeomFromTextEEEE11is_variadicEv
Line
Count
Source
71
2
    bool is_variadic() const override { return false; }
_ZNK5doris11GeoFunctionINS_13StGeoFromTextINS_14StLineFromTextEEEE11is_variadicEv
Line
Count
Source
71
2
    bool is_variadic() const override { return false; }
_ZNK5doris11GeoFunctionINS_13StGeoFromTextINS_20StLineStringFromTextEEEE11is_variadicEv
Line
Count
Source
71
1
    bool is_variadic() const override { return false; }
_ZNK5doris11GeoFunctionINS_13StGeoFromTextINS_9StPolygonEEEE11is_variadicEv
Line
Count
Source
71
2
    bool is_variadic() const override { return false; }
_ZNK5doris11GeoFunctionINS_13StGeoFromTextINS_17StPolygonFromTextEEEE11is_variadicEv
Line
Count
Source
71
2
    bool is_variadic() const override { return false; }
_ZNK5doris11GeoFunctionINS_13StGeoFromTextINS_14StPolyFromTextEEEE11is_variadicEv
Line
Count
Source
71
1
    bool is_variadic() const override { return false; }
_ZNK5doris11GeoFunctionINS_18StAreaSquareMetersEE11is_variadicEv
Line
Count
Source
71
7
    bool is_variadic() const override { return false; }
_ZNK5doris11GeoFunctionINS_14StAreaSquareKmEE11is_variadicEv
Line
Count
Source
71
2
    bool is_variadic() const override { return false; }
_ZNK5doris11GeoFunctionINS_10StAsBinaryEE11is_variadicEv
Line
Count
Source
71
13
    bool is_variadic() const override { return false; }
_ZNK5doris11GeoFunctionINS_8StLengthEE11is_variadicEv
Line
Count
Source
71
5
    bool is_variadic() const override { return false; }
_ZNK5doris11GeoFunctionINS_14StGeometryTypeEE11is_variadicEv
Line
Count
Source
71
4
    bool is_variadic() const override { return false; }
_ZNK5doris11GeoFunctionINS_10StDistanceEE11is_variadicEv
Line
Count
Source
71
16
    bool is_variadic() const override { return false; }
_ZNK5doris11GeoFunctionINS_10StIsClosedEE11is_variadicEv
Line
Count
Source
71
8
    bool is_variadic() const override { return false; }
_ZNK5doris11GeoFunctionINS_15StNumGeometriesEE11is_variadicEv
Line
Count
Source
71
6
    bool is_variadic() const override { return false; }
_ZNK5doris11GeoFunctionINS_11StNumPointsEE11is_variadicEv
Line
Count
Source
71
6
    bool is_variadic() const override { return false; }
72
297
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
73
297
        return make_nullable(std::make_shared<ReturnType>());
74
297
    }
_ZNK5doris11GeoFunctionINS_7StPointEE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS7_EE
Line
Count
Source
72
7
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
73
7
        return make_nullable(std::make_shared<ReturnType>());
74
7
    }
_ZNK5doris11GeoFunctionINS_8StAsTextINS_11StAsWktNameEEEE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS9_EE
Line
Count
Source
72
1
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
73
1
        return make_nullable(std::make_shared<ReturnType>());
74
1
    }
_ZNK5doris11GeoFunctionINS_8StAsTextINS_12StAsTextNameEEEE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS9_EE
Line
Count
Source
72
13
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
73
13
        return make_nullable(std::make_shared<ReturnType>());
74
13
    }
_ZNK5doris11GeoFunctionINS_3StXEE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS7_EE
Line
Count
Source
72
5
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
73
5
        return make_nullable(std::make_shared<ReturnType>());
74
5
    }
_ZNK5doris11GeoFunctionINS_3StYEE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS7_EE
Line
Count
Source
72
5
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
73
5
        return make_nullable(std::make_shared<ReturnType>());
74
5
    }
_ZNK5doris11GeoFunctionINS_16StDistanceSphereEE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS7_EE
Line
Count
Source
72
1
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
73
1
        return make_nullable(std::make_shared<ReturnType>());
74
1
    }
_ZNK5doris11GeoFunctionINS_13StAngleSphereEE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS7_EE
Line
Count
Source
72
1
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
73
1
        return make_nullable(std::make_shared<ReturnType>());
74
1
    }
_ZNK5doris11GeoFunctionINS_7StAngleEE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS7_EE
Line
Count
Source
72
19
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
73
19
        return make_nullable(std::make_shared<ReturnType>());
74
19
    }
_ZNK5doris11GeoFunctionINS_9StAzimuthEE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS7_EE
Line
Count
Source
72
32
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
73
32
        return make_nullable(std::make_shared<ReturnType>());
74
32
    }
_ZNK5doris11GeoFunctionINS_18StRelationFunctionINS_14StContainsFuncEEEE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS9_EE
Line
Count
Source
72
27
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
73
27
        return make_nullable(std::make_shared<ReturnType>());
74
27
    }
_ZNK5doris11GeoFunctionINS_18StRelationFunctionINS_16StIntersectsFuncEEEE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS9_EE
Line
Count
Source
72
54
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
73
54
        return make_nullable(std::make_shared<ReturnType>());
74
54
    }
_ZNK5doris11GeoFunctionINS_18StRelationFunctionINS_14StDisjointFuncEEEE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS9_EE
Line
Count
Source
72
50
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
73
50
        return make_nullable(std::make_shared<ReturnType>());
74
50
    }
_ZNK5doris11GeoFunctionINS_18StRelationFunctionINS_13StTouchesFuncEEEE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS9_EE
Line
Count
Source
72
18
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
73
18
        return make_nullable(std::make_shared<ReturnType>());
74
18
    }
_ZNK5doris11GeoFunctionINS_18StRelationFunctionINS_12StWithinFuncEEEE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS9_EE
Line
Count
Source
72
12
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
73
12
        return make_nullable(std::make_shared<ReturnType>());
74
12
    }
_ZNK5doris11GeoFunctionINS_8StCircleEE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS7_EE
Line
Count
Source
72
1
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
73
1
        return make_nullable(std::make_shared<ReturnType>());
74
1
    }
_ZNK5doris11GeoFunctionINS_13StGeoFromTextINS_18StGeometryFromTextEEEE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS9_EE
Line
Count
Source
72
1
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
73
1
        return make_nullable(std::make_shared<ReturnType>());
74
1
    }
_ZNK5doris11GeoFunctionINS_13StGeoFromTextINS_14StGeomFromTextEEEE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS9_EE
Line
Count
Source
72
1
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
73
1
        return make_nullable(std::make_shared<ReturnType>());
74
1
    }
_ZNK5doris11GeoFunctionINS_13StGeoFromTextINS_14StLineFromTextEEEE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS9_EE
Line
Count
Source
72
1
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
73
1
        return make_nullable(std::make_shared<ReturnType>());
74
1
    }
Unexecuted instantiation: _ZNK5doris11GeoFunctionINS_13StGeoFromTextINS_20StLineStringFromTextEEEE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS9_EE
_ZNK5doris11GeoFunctionINS_13StGeoFromTextINS_9StPolygonEEEE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS9_EE
Line
Count
Source
72
1
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
73
1
        return make_nullable(std::make_shared<ReturnType>());
74
1
    }
_ZNK5doris11GeoFunctionINS_13StGeoFromTextINS_17StPolygonFromTextEEEE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS9_EE
Line
Count
Source
72
1
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
73
1
        return make_nullable(std::make_shared<ReturnType>());
74
1
    }
Unexecuted instantiation: _ZNK5doris11GeoFunctionINS_13StGeoFromTextINS_14StPolyFromTextEEEE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS9_EE
_ZNK5doris11GeoFunctionINS_18StAreaSquareMetersEE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS7_EE
Line
Count
Source
72
6
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
73
6
        return make_nullable(std::make_shared<ReturnType>());
74
6
    }
_ZNK5doris11GeoFunctionINS_14StAreaSquareKmEE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS7_EE
Line
Count
Source
72
1
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
73
1
        return make_nullable(std::make_shared<ReturnType>());
74
1
    }
Unexecuted instantiation: _ZNK5doris11GeoFunctionINS_10StAsBinaryEE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS7_EE
_ZNK5doris11GeoFunctionINS_8StLengthEE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS7_EE
Line
Count
Source
72
4
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
73
4
        return make_nullable(std::make_shared<ReturnType>());
74
4
    }
_ZNK5doris11GeoFunctionINS_14StGeometryTypeEE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS7_EE
Line
Count
Source
72
3
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
73
3
        return make_nullable(std::make_shared<ReturnType>());
74
3
    }
_ZNK5doris11GeoFunctionINS_10StDistanceEE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS7_EE
Line
Count
Source
72
15
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
73
15
        return make_nullable(std::make_shared<ReturnType>());
74
15
    }
_ZNK5doris11GeoFunctionINS_10StIsClosedEE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS7_EE
Line
Count
Source
72
7
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
73
7
        return make_nullable(std::make_shared<ReturnType>());
74
7
    }
_ZNK5doris11GeoFunctionINS_15StNumGeometriesEE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS7_EE
Line
Count
Source
72
5
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
73
5
        return make_nullable(std::make_shared<ReturnType>());
74
5
    }
_ZNK5doris11GeoFunctionINS_11StNumPointsEE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS7_EE
Line
Count
Source
72
5
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
73
5
        return make_nullable(std::make_shared<ReturnType>());
74
5
    }
75
76
    Status execute_impl(FunctionContext* context, Block& block, const ColumnNumbers& arguments,
77
298
                        uint32_t result, size_t input_rows_count) const override {
78
298
        return Impl::execute(block, arguments, result);
79
298
    }
_ZNK5doris11GeoFunctionINS_7StPointEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
77
3
                        uint32_t result, size_t input_rows_count) const override {
78
3
        return Impl::execute(block, arguments, result);
79
3
    }
_ZNK5doris11GeoFunctionINS_8StAsTextINS_11StAsWktNameEEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
77
1
                        uint32_t result, size_t input_rows_count) const override {
78
1
        return Impl::execute(block, arguments, result);
79
1
    }
_ZNK5doris11GeoFunctionINS_8StAsTextINS_12StAsTextNameEEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
77
7
                        uint32_t result, size_t input_rows_count) const override {
78
7
        return Impl::execute(block, arguments, result);
79
7
    }
_ZNK5doris11GeoFunctionINS_3StXEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
77
5
                        uint32_t result, size_t input_rows_count) const override {
78
5
        return Impl::execute(block, arguments, result);
79
5
    }
_ZNK5doris11GeoFunctionINS_3StYEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
77
5
                        uint32_t result, size_t input_rows_count) const override {
78
5
        return Impl::execute(block, arguments, result);
79
5
    }
_ZNK5doris11GeoFunctionINS_16StDistanceSphereEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
77
1
                        uint32_t result, size_t input_rows_count) const override {
78
1
        return Impl::execute(block, arguments, result);
79
1
    }
_ZNK5doris11GeoFunctionINS_13StAngleSphereEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
77
1
                        uint32_t result, size_t input_rows_count) const override {
78
1
        return Impl::execute(block, arguments, result);
79
1
    }
_ZNK5doris11GeoFunctionINS_7StAngleEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
77
19
                        uint32_t result, size_t input_rows_count) const override {
78
19
        return Impl::execute(block, arguments, result);
79
19
    }
_ZNK5doris11GeoFunctionINS_9StAzimuthEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
77
32
                        uint32_t result, size_t input_rows_count) const override {
78
32
        return Impl::execute(block, arguments, result);
79
32
    }
_ZNK5doris11GeoFunctionINS_18StRelationFunctionINS_14StContainsFuncEEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
77
27
                        uint32_t result, size_t input_rows_count) const override {
78
27
        return Impl::execute(block, arguments, result);
79
27
    }
_ZNK5doris11GeoFunctionINS_18StRelationFunctionINS_16StIntersectsFuncEEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
77
54
                        uint32_t result, size_t input_rows_count) const override {
78
54
        return Impl::execute(block, arguments, result);
79
54
    }
_ZNK5doris11GeoFunctionINS_18StRelationFunctionINS_14StDisjointFuncEEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
77
50
                        uint32_t result, size_t input_rows_count) const override {
78
50
        return Impl::execute(block, arguments, result);
79
50
    }
_ZNK5doris11GeoFunctionINS_18StRelationFunctionINS_13StTouchesFuncEEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
77
18
                        uint32_t result, size_t input_rows_count) const override {
78
18
        return Impl::execute(block, arguments, result);
79
18
    }
_ZNK5doris11GeoFunctionINS_18StRelationFunctionINS_12StWithinFuncEEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
77
12
                        uint32_t result, size_t input_rows_count) const override {
78
12
        return Impl::execute(block, arguments, result);
79
12
    }
_ZNK5doris11GeoFunctionINS_8StCircleEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
77
1
                        uint32_t result, size_t input_rows_count) const override {
78
1
        return Impl::execute(block, arguments, result);
79
1
    }
_ZNK5doris11GeoFunctionINS_13StGeoFromTextINS_18StGeometryFromTextEEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
77
1
                        uint32_t result, size_t input_rows_count) const override {
78
1
        return Impl::execute(block, arguments, result);
79
1
    }
_ZNK5doris11GeoFunctionINS_13StGeoFromTextINS_14StGeomFromTextEEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
77
1
                        uint32_t result, size_t input_rows_count) const override {
78
1
        return Impl::execute(block, arguments, result);
79
1
    }
_ZNK5doris11GeoFunctionINS_13StGeoFromTextINS_14StLineFromTextEEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
77
1
                        uint32_t result, size_t input_rows_count) const override {
78
1
        return Impl::execute(block, arguments, result);
79
1
    }
Unexecuted instantiation: _ZNK5doris11GeoFunctionINS_13StGeoFromTextINS_20StLineStringFromTextEEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
_ZNK5doris11GeoFunctionINS_13StGeoFromTextINS_9StPolygonEEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
77
1
                        uint32_t result, size_t input_rows_count) const override {
78
1
        return Impl::execute(block, arguments, result);
79
1
    }
_ZNK5doris11GeoFunctionINS_13StGeoFromTextINS_17StPolygonFromTextEEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
77
1
                        uint32_t result, size_t input_rows_count) const override {
78
1
        return Impl::execute(block, arguments, result);
79
1
    }
Unexecuted instantiation: _ZNK5doris11GeoFunctionINS_13StGeoFromTextINS_14StPolyFromTextEEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
_ZNK5doris11GeoFunctionINS_18StAreaSquareMetersEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
77
6
                        uint32_t result, size_t input_rows_count) const override {
78
6
        return Impl::execute(block, arguments, result);
79
6
    }
_ZNK5doris11GeoFunctionINS_14StAreaSquareKmEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
77
1
                        uint32_t result, size_t input_rows_count) const override {
78
1
        return Impl::execute(block, arguments, result);
79
1
    }
_ZNK5doris11GeoFunctionINS_10StAsBinaryEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
77
12
                        uint32_t result, size_t input_rows_count) const override {
78
12
        return Impl::execute(block, arguments, result);
79
12
    }
_ZNK5doris11GeoFunctionINS_8StLengthEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
77
4
                        uint32_t result, size_t input_rows_count) const override {
78
4
        return Impl::execute(block, arguments, result);
79
4
    }
_ZNK5doris11GeoFunctionINS_14StGeometryTypeEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
77
3
                        uint32_t result, size_t input_rows_count) const override {
78
3
        return Impl::execute(block, arguments, result);
79
3
    }
_ZNK5doris11GeoFunctionINS_10StDistanceEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
77
15
                        uint32_t result, size_t input_rows_count) const override {
78
15
        return Impl::execute(block, arguments, result);
79
15
    }
_ZNK5doris11GeoFunctionINS_10StIsClosedEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
77
6
                        uint32_t result, size_t input_rows_count) const override {
78
6
        return Impl::execute(block, arguments, result);
79
6
    }
_ZNK5doris11GeoFunctionINS_15StNumGeometriesEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
77
5
                        uint32_t result, size_t input_rows_count) const override {
78
5
        return Impl::execute(block, arguments, result);
79
5
    }
_ZNK5doris11GeoFunctionINS_11StNumPointsEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
77
5
                        uint32_t result, size_t input_rows_count) const override {
78
5
        return Impl::execute(block, arguments, result);
79
5
    }
80
};
81
82
// Spatial WKB columns must remain visible to the implementation so it can validate the
83
// serialized value before any file data is consumed.  Do not use this wrapper for legacy
84
// geo functions or numeric constructors: their nullable arguments rely on the default
85
// null propagation supplied by IFunction.
86
template <typename Impl>
87
class SpatialWkbGeoFunction : public GeoFunction<Impl> {
88
public:
89
286
    static FunctionPtr create() { return std::make_shared<SpatialWkbGeoFunction<Impl>>(); }
_ZN5doris21SpatialWkbGeoFunctionINS_8StAsTextINS_11StAsWktNameEEEE6createEv
Line
Count
Source
89
3
    static FunctionPtr create() { return std::make_shared<SpatialWkbGeoFunction<Impl>>(); }
_ZN5doris21SpatialWkbGeoFunctionINS_8StAsTextINS_12StAsTextNameEEEE6createEv
Line
Count
Source
89
15
    static FunctionPtr create() { return std::make_shared<SpatialWkbGeoFunction<Impl>>(); }
_ZN5doris21SpatialWkbGeoFunctionINS_3StXEE6createEv
Line
Count
Source
89
7
    static FunctionPtr create() { return std::make_shared<SpatialWkbGeoFunction<Impl>>(); }
_ZN5doris21SpatialWkbGeoFunctionINS_3StYEE6createEv
Line
Count
Source
89
7
    static FunctionPtr create() { return std::make_shared<SpatialWkbGeoFunction<Impl>>(); }
_ZN5doris21SpatialWkbGeoFunctionINS_7StAngleEE6createEv
Line
Count
Source
89
21
    static FunctionPtr create() { return std::make_shared<SpatialWkbGeoFunction<Impl>>(); }
_ZN5doris21SpatialWkbGeoFunctionINS_9StAzimuthEE6createEv
Line
Count
Source
89
34
    static FunctionPtr create() { return std::make_shared<SpatialWkbGeoFunction<Impl>>(); }
_ZN5doris21SpatialWkbGeoFunctionINS_18StRelationFunctionINS_14StContainsFuncEEEE6createEv
Line
Count
Source
89
29
    static FunctionPtr create() { return std::make_shared<SpatialWkbGeoFunction<Impl>>(); }
_ZN5doris21SpatialWkbGeoFunctionINS_18StRelationFunctionINS_16StIntersectsFuncEEEE6createEv
Line
Count
Source
89
56
    static FunctionPtr create() { return std::make_shared<SpatialWkbGeoFunction<Impl>>(); }
_ZN5doris21SpatialWkbGeoFunctionINS_18StRelationFunctionINS_14StDisjointFuncEEEE6createEv
Line
Count
Source
89
52
    static FunctionPtr create() { return std::make_shared<SpatialWkbGeoFunction<Impl>>(); }
_ZN5doris21SpatialWkbGeoFunctionINS_18StRelationFunctionINS_13StTouchesFuncEEEE6createEv
Line
Count
Source
89
20
    static FunctionPtr create() { return std::make_shared<SpatialWkbGeoFunction<Impl>>(); }
_ZN5doris21SpatialWkbGeoFunctionINS_18StRelationFunctionINS_12StWithinFuncEEEE6createEv
Line
Count
Source
89
14
    static FunctionPtr create() { return std::make_shared<SpatialWkbGeoFunction<Impl>>(); }
_ZN5doris21SpatialWkbGeoFunctionINS_8StLengthEE6createEv
Line
Count
Source
89
6
    static FunctionPtr create() { return std::make_shared<SpatialWkbGeoFunction<Impl>>(); }
_ZN5doris21SpatialWkbGeoFunctionINS_14StGeometryTypeEE6createEv
Line
Count
Source
89
5
    static FunctionPtr create() { return std::make_shared<SpatialWkbGeoFunction<Impl>>(); }
_ZN5doris21SpatialWkbGeoFunctionINS_10StDistanceEE6createEv
Line
Count
Source
89
17
    static FunctionPtr create() { return std::make_shared<SpatialWkbGeoFunction<Impl>>(); }
90
540
    bool use_default_implementation_for_nulls() const override { return false; }
_ZNK5doris21SpatialWkbGeoFunctionINS_8StAsTextINS_11StAsWktNameEEEE36use_default_implementation_for_nullsEv
Line
Count
Source
90
2
    bool use_default_implementation_for_nulls() const override { return false; }
_ZNK5doris21SpatialWkbGeoFunctionINS_8StAsTextINS_12StAsTextNameEEEE36use_default_implementation_for_nullsEv
Line
Count
Source
90
26
    bool use_default_implementation_for_nulls() const override { return false; }
_ZNK5doris21SpatialWkbGeoFunctionINS_3StXEE36use_default_implementation_for_nullsEv
Line
Count
Source
90
10
    bool use_default_implementation_for_nulls() const override { return false; }
_ZNK5doris21SpatialWkbGeoFunctionINS_3StYEE36use_default_implementation_for_nullsEv
Line
Count
Source
90
10
    bool use_default_implementation_for_nulls() const override { return false; }
_ZNK5doris21SpatialWkbGeoFunctionINS_7StAngleEE36use_default_implementation_for_nullsEv
Line
Count
Source
90
38
    bool use_default_implementation_for_nulls() const override { return false; }
_ZNK5doris21SpatialWkbGeoFunctionINS_9StAzimuthEE36use_default_implementation_for_nullsEv
Line
Count
Source
90
64
    bool use_default_implementation_for_nulls() const override { return false; }
_ZNK5doris21SpatialWkbGeoFunctionINS_18StRelationFunctionINS_14StContainsFuncEEEE36use_default_implementation_for_nullsEv
Line
Count
Source
90
54
    bool use_default_implementation_for_nulls() const override { return false; }
_ZNK5doris21SpatialWkbGeoFunctionINS_18StRelationFunctionINS_16StIntersectsFuncEEEE36use_default_implementation_for_nullsEv
Line
Count
Source
90
108
    bool use_default_implementation_for_nulls() const override { return false; }
_ZNK5doris21SpatialWkbGeoFunctionINS_18StRelationFunctionINS_14StDisjointFuncEEEE36use_default_implementation_for_nullsEv
Line
Count
Source
90
100
    bool use_default_implementation_for_nulls() const override { return false; }
_ZNK5doris21SpatialWkbGeoFunctionINS_18StRelationFunctionINS_13StTouchesFuncEEEE36use_default_implementation_for_nullsEv
Line
Count
Source
90
36
    bool use_default_implementation_for_nulls() const override { return false; }
_ZNK5doris21SpatialWkbGeoFunctionINS_18StRelationFunctionINS_12StWithinFuncEEEE36use_default_implementation_for_nullsEv
Line
Count
Source
90
24
    bool use_default_implementation_for_nulls() const override { return false; }
_ZNK5doris21SpatialWkbGeoFunctionINS_10StAsBinaryEE36use_default_implementation_for_nullsEv
Line
Count
Source
90
24
    bool use_default_implementation_for_nulls() const override { return false; }
_ZNK5doris21SpatialWkbGeoFunctionINS_8StLengthEE36use_default_implementation_for_nullsEv
Line
Count
Source
90
8
    bool use_default_implementation_for_nulls() const override { return false; }
_ZNK5doris21SpatialWkbGeoFunctionINS_14StGeometryTypeEE36use_default_implementation_for_nullsEv
Line
Count
Source
90
6
    bool use_default_implementation_for_nulls() const override { return false; }
_ZNK5doris21SpatialWkbGeoFunctionINS_10StDistanceEE36use_default_implementation_for_nullsEv
Line
Count
Source
90
30
    bool use_default_implementation_for_nulls() const override { return false; }
91
92
    Status execute_impl(FunctionContext* context, Block& block, const ColumnNumbers& arguments,
93
270
                        uint32_t result, size_t input_rows_count) const override {
94
270
        RETURN_IF_ERROR(validate_spatial_wkb_inputs(block, arguments));
95
264
        return GeoFunction<Impl>::execute_impl(context, block, arguments, result, input_rows_count);
96
270
    }
_ZNK5doris21SpatialWkbGeoFunctionINS_8StAsTextINS_11StAsWktNameEEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
93
1
                        uint32_t result, size_t input_rows_count) const override {
94
1
        RETURN_IF_ERROR(validate_spatial_wkb_inputs(block, arguments));
95
1
        return GeoFunction<Impl>::execute_impl(context, block, arguments, result, input_rows_count);
96
1
    }
_ZNK5doris21SpatialWkbGeoFunctionINS_8StAsTextINS_12StAsTextNameEEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
93
13
                        uint32_t result, size_t input_rows_count) const override {
94
13
        RETURN_IF_ERROR(validate_spatial_wkb_inputs(block, arguments));
95
7
        return GeoFunction<Impl>::execute_impl(context, block, arguments, result, input_rows_count);
96
13
    }
_ZNK5doris21SpatialWkbGeoFunctionINS_3StXEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
93
5
                        uint32_t result, size_t input_rows_count) const override {
94
5
        RETURN_IF_ERROR(validate_spatial_wkb_inputs(block, arguments));
95
5
        return GeoFunction<Impl>::execute_impl(context, block, arguments, result, input_rows_count);
96
5
    }
_ZNK5doris21SpatialWkbGeoFunctionINS_3StYEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
93
5
                        uint32_t result, size_t input_rows_count) const override {
94
5
        RETURN_IF_ERROR(validate_spatial_wkb_inputs(block, arguments));
95
5
        return GeoFunction<Impl>::execute_impl(context, block, arguments, result, input_rows_count);
96
5
    }
_ZNK5doris21SpatialWkbGeoFunctionINS_7StAngleEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
93
19
                        uint32_t result, size_t input_rows_count) const override {
94
19
        RETURN_IF_ERROR(validate_spatial_wkb_inputs(block, arguments));
95
19
        return GeoFunction<Impl>::execute_impl(context, block, arguments, result, input_rows_count);
96
19
    }
_ZNK5doris21SpatialWkbGeoFunctionINS_9StAzimuthEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
93
32
                        uint32_t result, size_t input_rows_count) const override {
94
32
        RETURN_IF_ERROR(validate_spatial_wkb_inputs(block, arguments));
95
32
        return GeoFunction<Impl>::execute_impl(context, block, arguments, result, input_rows_count);
96
32
    }
_ZNK5doris21SpatialWkbGeoFunctionINS_18StRelationFunctionINS_14StContainsFuncEEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
93
27
                        uint32_t result, size_t input_rows_count) const override {
94
27
        RETURN_IF_ERROR(validate_spatial_wkb_inputs(block, arguments));
95
27
        return GeoFunction<Impl>::execute_impl(context, block, arguments, result, input_rows_count);
96
27
    }
_ZNK5doris21SpatialWkbGeoFunctionINS_18StRelationFunctionINS_16StIntersectsFuncEEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
93
54
                        uint32_t result, size_t input_rows_count) const override {
94
54
        RETURN_IF_ERROR(validate_spatial_wkb_inputs(block, arguments));
95
54
        return GeoFunction<Impl>::execute_impl(context, block, arguments, result, input_rows_count);
96
54
    }
_ZNK5doris21SpatialWkbGeoFunctionINS_18StRelationFunctionINS_14StDisjointFuncEEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
93
50
                        uint32_t result, size_t input_rows_count) const override {
94
50
        RETURN_IF_ERROR(validate_spatial_wkb_inputs(block, arguments));
95
50
        return GeoFunction<Impl>::execute_impl(context, block, arguments, result, input_rows_count);
96
50
    }
_ZNK5doris21SpatialWkbGeoFunctionINS_18StRelationFunctionINS_13StTouchesFuncEEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
93
18
                        uint32_t result, size_t input_rows_count) const override {
94
18
        RETURN_IF_ERROR(validate_spatial_wkb_inputs(block, arguments));
95
18
        return GeoFunction<Impl>::execute_impl(context, block, arguments, result, input_rows_count);
96
18
    }
_ZNK5doris21SpatialWkbGeoFunctionINS_18StRelationFunctionINS_12StWithinFuncEEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
93
12
                        uint32_t result, size_t input_rows_count) const override {
94
12
        RETURN_IF_ERROR(validate_spatial_wkb_inputs(block, arguments));
95
12
        return GeoFunction<Impl>::execute_impl(context, block, arguments, result, input_rows_count);
96
12
    }
_ZNK5doris21SpatialWkbGeoFunctionINS_10StAsBinaryEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
93
12
                        uint32_t result, size_t input_rows_count) const override {
94
12
        RETURN_IF_ERROR(validate_spatial_wkb_inputs(block, arguments));
95
12
        return GeoFunction<Impl>::execute_impl(context, block, arguments, result, input_rows_count);
96
12
    }
_ZNK5doris21SpatialWkbGeoFunctionINS_8StLengthEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
93
4
                        uint32_t result, size_t input_rows_count) const override {
94
4
        RETURN_IF_ERROR(validate_spatial_wkb_inputs(block, arguments));
95
4
        return GeoFunction<Impl>::execute_impl(context, block, arguments, result, input_rows_count);
96
4
    }
_ZNK5doris21SpatialWkbGeoFunctionINS_14StGeometryTypeEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
93
3
                        uint32_t result, size_t input_rows_count) const override {
94
3
        RETURN_IF_ERROR(validate_spatial_wkb_inputs(block, arguments));
95
3
        return GeoFunction<Impl>::execute_impl(context, block, arguments, result, input_rows_count);
96
3
    }
_ZNK5doris21SpatialWkbGeoFunctionINS_10StDistanceEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
93
15
                        uint32_t result, size_t input_rows_count) const override {
94
15
        RETURN_IF_ERROR(validate_spatial_wkb_inputs(block, arguments));
95
15
        return GeoFunction<Impl>::execute_impl(context, block, arguments, result, input_rows_count);
96
15
    }
97
};
98
99
} // namespace doris