Coverage Report

Created: 2026-10-29 21:09

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/geo/spatial_wkb_validation.h"
32
#include "exprs/function_context.h"
33
34
namespace doris {
35
class GeoShape;
36
37
class Block;
38
} // namespace doris
39
40
namespace doris {
41
42
struct StConstructState {
43
0
    StConstructState() : is_null(false) {}
44
0
    ~StConstructState() {}
45
46
    bool is_null;
47
    std::string encoded_buf;
48
};
49
50
struct StContainsState {
51
0
    StContainsState() : is_null(false), shapes {nullptr, nullptr} {}
52
0
    ~StContainsState() {}
53
    bool is_null;
54
    std::vector<std::shared_ptr<GeoShape>> shapes;
55
};
56
57
template <typename Impl>
58
class GeoFunction : public IFunction {
59
public:
60
    static constexpr auto name = Impl::NAME;
61
    using ReturnType = typename Impl::Type;
62
1.07k
    static FunctionPtr create() { return std::make_shared<GeoFunction<Impl>>(); }
_ZN5doris11GeoFunctionINS_7StPointEE6createEv
Line
Count
Source
62
167
    static FunctionPtr create() { return std::make_shared<GeoFunction<Impl>>(); }
_ZN5doris11GeoFunctionINS_16StDistanceSphereEE6createEv
Line
Count
Source
62
15
    static FunctionPtr create() { return std::make_shared<GeoFunction<Impl>>(); }
_ZN5doris11GeoFunctionINS_13StAngleSphereEE6createEv
Line
Count
Source
62
16
    static FunctionPtr create() { return std::make_shared<GeoFunction<Impl>>(); }
_ZN5doris11GeoFunctionINS_8StCircleEE6createEv
Line
Count
Source
62
116
    static FunctionPtr create() { return std::make_shared<GeoFunction<Impl>>(); }
_ZN5doris11GeoFunctionINS_13StGeoFromTextINS_18StGeometryFromTextEEEE6createEv
Line
Count
Source
62
174
    static FunctionPtr create() { return std::make_shared<GeoFunction<Impl>>(); }
_ZN5doris11GeoFunctionINS_13StGeoFromTextINS_14StGeomFromTextEEEE6createEv
Line
Count
Source
62
241
    static FunctionPtr create() { return std::make_shared<GeoFunction<Impl>>(); }
_ZN5doris11GeoFunctionINS_13StGeoFromTextINS_14StLineFromTextEEEE6createEv
Line
Count
Source
62
98
    static FunctionPtr create() { return std::make_shared<GeoFunction<Impl>>(); }
_ZN5doris11GeoFunctionINS_13StGeoFromTextINS_20StLineStringFromTextEEEE6createEv
Line
Count
Source
62
12
    static FunctionPtr create() { return std::make_shared<GeoFunction<Impl>>(); }
_ZN5doris11GeoFunctionINS_13StGeoFromTextINS_9StPolygonEEEE6createEv
Line
Count
Source
62
107
    static FunctionPtr create() { return std::make_shared<GeoFunction<Impl>>(); }
_ZN5doris11GeoFunctionINS_13StGeoFromTextINS_17StPolygonFromTextEEEE6createEv
Line
Count
Source
62
13
    static FunctionPtr create() { return std::make_shared<GeoFunction<Impl>>(); }
_ZN5doris11GeoFunctionINS_13StGeoFromTextINS_14StPolyFromTextEEEE6createEv
Line
Count
Source
62
17
    static FunctionPtr create() { return std::make_shared<GeoFunction<Impl>>(); }
_ZN5doris11GeoFunctionINS_10StIsClosedEE6createEv
Line
Count
Source
62
19
    static FunctionPtr create() { return std::make_shared<GeoFunction<Impl>>(); }
_ZN5doris11GeoFunctionINS_15StNumGeometriesEE6createEv
Line
Count
Source
62
33
    static FunctionPtr create() { return std::make_shared<GeoFunction<Impl>>(); }
_ZN5doris11GeoFunctionINS_11StNumPointsEE6createEv
Line
Count
Source
62
44
    static FunctionPtr create() { return std::make_shared<GeoFunction<Impl>>(); }
63
34
    String get_name() const override { return name; }
_ZNK5doris11GeoFunctionINS_7StPointEE8get_nameB5cxx11Ev
Line
Count
Source
63
1
    String get_name() const override { return name; }
_ZNK5doris11GeoFunctionINS_8StAsTextINS_11StAsWktNameEEEE8get_nameB5cxx11Ev
Line
Count
Source
63
1
    String get_name() const override { return name; }
_ZNK5doris11GeoFunctionINS_8StAsTextINS_12StAsTextNameEEEE8get_nameB5cxx11Ev
Line
Count
Source
63
1
    String get_name() const override { return name; }
_ZNK5doris11GeoFunctionINS_12StCoordinateILb1EEEE8get_nameB5cxx11Ev
Line
Count
Source
63
1
    String get_name() const override { return name; }
_ZNK5doris11GeoFunctionINS_12StCoordinateILb0EEEE8get_nameB5cxx11Ev
Line
Count
Source
63
1
    String get_name() const override { return name; }
_ZNK5doris11GeoFunctionINS_16StDistanceSphereEE8get_nameB5cxx11Ev
Line
Count
Source
63
1
    String get_name() const override { return name; }
_ZNK5doris11GeoFunctionINS_13StAngleSphereEE8get_nameB5cxx11Ev
Line
Count
Source
63
1
    String get_name() const override { return name; }
_ZNK5doris11GeoFunctionINS_7StAngleEE8get_nameB5cxx11Ev
Line
Count
Source
63
1
    String get_name() const override { return name; }
_ZNK5doris11GeoFunctionINS_9StAzimuthEE8get_nameB5cxx11Ev
Line
Count
Source
63
1
    String get_name() const override { return name; }
_ZNK5doris11GeoFunctionINS_18StRelationFunctionINS_14StContainsFuncEEEE8get_nameB5cxx11Ev
Line
Count
Source
63
1
    String get_name() const override { return name; }
_ZNK5doris11GeoFunctionINS_18StRelationFunctionINS_16StIntersectsFuncEEEE8get_nameB5cxx11Ev
Line
Count
Source
63
1
    String get_name() const override { return name; }
_ZNK5doris11GeoFunctionINS_18StRelationFunctionINS_14StDisjointFuncEEEE8get_nameB5cxx11Ev
Line
Count
Source
63
1
    String get_name() const override { return name; }
_ZNK5doris11GeoFunctionINS_18StRelationFunctionINS_13StTouchesFuncEEEE8get_nameB5cxx11Ev
Line
Count
Source
63
1
    String get_name() const override { return name; }
_ZNK5doris11GeoFunctionINS_18StRelationFunctionINS_12StWithinFuncEEEE8get_nameB5cxx11Ev
Line
Count
Source
63
1
    String get_name() const override { return name; }
_ZNK5doris11GeoFunctionINS_18StRelationFunctionINS_12StEqualsFuncEEEE8get_nameB5cxx11Ev
Line
Count
Source
63
1
    String get_name() const override { return name; }
_ZNK5doris11GeoFunctionINS_18StRelationFunctionINS_14StOverlapsFuncEEEE8get_nameB5cxx11Ev
Line
Count
Source
63
1
    String get_name() const override { return name; }
_ZNK5doris11GeoFunctionINS_8StCircleEE8get_nameB5cxx11Ev
Line
Count
Source
63
1
    String get_name() const override { return name; }
_ZNK5doris11GeoFunctionINS_13StGeoFromTextINS_18StGeometryFromTextEEEE8get_nameB5cxx11Ev
Line
Count
Source
63
1
    String get_name() const override { return name; }
_ZNK5doris11GeoFunctionINS_13StGeoFromTextINS_14StGeomFromTextEEEE8get_nameB5cxx11Ev
Line
Count
Source
63
1
    String get_name() const override { return name; }
_ZNK5doris11GeoFunctionINS_13StGeoFromTextINS_14StLineFromTextEEEE8get_nameB5cxx11Ev
Line
Count
Source
63
1
    String get_name() const override { return name; }
_ZNK5doris11GeoFunctionINS_13StGeoFromTextINS_20StLineStringFromTextEEEE8get_nameB5cxx11Ev
Line
Count
Source
63
1
    String get_name() const override { return name; }
_ZNK5doris11GeoFunctionINS_13StGeoFromTextINS_9StPolygonEEEE8get_nameB5cxx11Ev
Line
Count
Source
63
1
    String get_name() const override { return name; }
_ZNK5doris11GeoFunctionINS_13StGeoFromTextINS_17StPolygonFromTextEEEE8get_nameB5cxx11Ev
Line
Count
Source
63
1
    String get_name() const override { return name; }
_ZNK5doris11GeoFunctionINS_13StGeoFromTextINS_14StPolyFromTextEEEE8get_nameB5cxx11Ev
Line
Count
Source
63
1
    String get_name() const override { return name; }
_ZNK5doris11GeoFunctionINS_6StAreaILb1EEEE8get_nameB5cxx11Ev
Line
Count
Source
63
1
    String get_name() const override { return name; }
_ZNK5doris11GeoFunctionINS_6StAreaILb0EEEE8get_nameB5cxx11Ev
Line
Count
Source
63
1
    String get_name() const override { return name; }
_ZNK5doris11GeoFunctionINS_10StAsBinaryEE8get_nameB5cxx11Ev
Line
Count
Source
63
1
    String get_name() const override { return name; }
_ZNK5doris11GeoFunctionINS_8StLengthEE8get_nameB5cxx11Ev
Line
Count
Source
63
1
    String get_name() const override { return name; }
_ZNK5doris11GeoFunctionINS_14StGeometryTypeEE8get_nameB5cxx11Ev
Line
Count
Source
63
1
    String get_name() const override { return name; }
_ZNK5doris11GeoFunctionINS_18StDistanceFunctionILb0EEEE8get_nameB5cxx11Ev
Line
Count
Source
63
1
    String get_name() const override { return name; }
_ZNK5doris11GeoFunctionINS_18StDistanceFunctionILb1EEEE8get_nameB5cxx11Ev
Line
Count
Source
63
1
    String get_name() const override { return name; }
_ZNK5doris11GeoFunctionINS_10StIsClosedEE8get_nameB5cxx11Ev
Line
Count
Source
63
1
    String get_name() const override { return name; }
_ZNK5doris11GeoFunctionINS_15StNumGeometriesEE8get_nameB5cxx11Ev
Line
Count
Source
63
1
    String get_name() const override { return name; }
_ZNK5doris11GeoFunctionINS_11StNumPointsEE8get_nameB5cxx11Ev
Line
Count
Source
63
1
    String get_name() const override { return name; }
64
2.87k
    size_t get_number_of_arguments() const override { return Impl::NUM_ARGS; }
_ZNK5doris11GeoFunctionINS_7StPointEE23get_number_of_argumentsEv
Line
Count
Source
64
158
    size_t get_number_of_arguments() const override { return Impl::NUM_ARGS; }
_ZNK5doris11GeoFunctionINS_8StAsTextINS_11StAsWktNameEEEE23get_number_of_argumentsEv
Line
Count
Source
64
4
    size_t get_number_of_arguments() const override { return Impl::NUM_ARGS; }
_ZNK5doris11GeoFunctionINS_8StAsTextINS_12StAsTextNameEEEE23get_number_of_argumentsEv
Line
Count
Source
64
107
    size_t get_number_of_arguments() const override { return Impl::NUM_ARGS; }
_ZNK5doris11GeoFunctionINS_12StCoordinateILb1EEEE23get_number_of_argumentsEv
Line
Count
Source
64
12
    size_t get_number_of_arguments() const override { return Impl::NUM_ARGS; }
_ZNK5doris11GeoFunctionINS_12StCoordinateILb0EEEE23get_number_of_argumentsEv
Line
Count
Source
64
11
    size_t get_number_of_arguments() const override { return Impl::NUM_ARGS; }
_ZNK5doris11GeoFunctionINS_16StDistanceSphereEE23get_number_of_argumentsEv
Line
Count
Source
64
6
    size_t get_number_of_arguments() const override { return Impl::NUM_ARGS; }
_ZNK5doris11GeoFunctionINS_13StAngleSphereEE23get_number_of_argumentsEv
Line
Count
Source
64
7
    size_t get_number_of_arguments() const override { return Impl::NUM_ARGS; }
_ZNK5doris11GeoFunctionINS_7StAngleEE23get_number_of_argumentsEv
Line
Count
Source
64
33
    size_t get_number_of_arguments() const override { return Impl::NUM_ARGS; }
_ZNK5doris11GeoFunctionINS_9StAzimuthEE23get_number_of_argumentsEv
Line
Count
Source
64
47
    size_t get_number_of_arguments() const override { return Impl::NUM_ARGS; }
_ZNK5doris11GeoFunctionINS_18StRelationFunctionINS_14StContainsFuncEEEE23get_number_of_argumentsEv
Line
Count
Source
64
238
    size_t get_number_of_arguments() const override { return Impl::NUM_ARGS; }
_ZNK5doris11GeoFunctionINS_18StRelationFunctionINS_16StIntersectsFuncEEEE23get_number_of_argumentsEv
Line
Count
Source
64
265
    size_t get_number_of_arguments() const override { return Impl::NUM_ARGS; }
_ZNK5doris11GeoFunctionINS_18StRelationFunctionINS_14StDisjointFuncEEEE23get_number_of_argumentsEv
Line
Count
Source
64
210
    size_t get_number_of_arguments() const override { return Impl::NUM_ARGS; }
_ZNK5doris11GeoFunctionINS_18StRelationFunctionINS_13StTouchesFuncEEEE23get_number_of_argumentsEv
Line
Count
Source
64
315
    size_t get_number_of_arguments() const override { return Impl::NUM_ARGS; }
_ZNK5doris11GeoFunctionINS_18StRelationFunctionINS_12StWithinFuncEEEE23get_number_of_argumentsEv
Line
Count
Source
64
159
    size_t get_number_of_arguments() const override { return Impl::NUM_ARGS; }
_ZNK5doris11GeoFunctionINS_18StRelationFunctionINS_12StEqualsFuncEEEE23get_number_of_argumentsEv
Line
Count
Source
64
117
    size_t get_number_of_arguments() const override { return Impl::NUM_ARGS; }
_ZNK5doris11GeoFunctionINS_18StRelationFunctionINS_14StOverlapsFuncEEEE23get_number_of_argumentsEv
Line
Count
Source
64
113
    size_t get_number_of_arguments() const override { return Impl::NUM_ARGS; }
_ZNK5doris11GeoFunctionINS_8StCircleEE23get_number_of_argumentsEv
Line
Count
Source
64
107
    size_t get_number_of_arguments() const override { return Impl::NUM_ARGS; }
_ZNK5doris11GeoFunctionINS_13StGeoFromTextINS_18StGeometryFromTextEEEE23get_number_of_argumentsEv
Line
Count
Source
64
165
    size_t get_number_of_arguments() const override { return Impl::NUM_ARGS; }
_ZNK5doris11GeoFunctionINS_13StGeoFromTextINS_14StGeomFromTextEEEE23get_number_of_argumentsEv
Line
Count
Source
64
232
    size_t get_number_of_arguments() const override { return Impl::NUM_ARGS; }
_ZNK5doris11GeoFunctionINS_13StGeoFromTextINS_14StLineFromTextEEEE23get_number_of_argumentsEv
Line
Count
Source
64
89
    size_t get_number_of_arguments() const override { return Impl::NUM_ARGS; }
_ZNK5doris11GeoFunctionINS_13StGeoFromTextINS_20StLineStringFromTextEEEE23get_number_of_argumentsEv
Line
Count
Source
64
3
    size_t get_number_of_arguments() const override { return Impl::NUM_ARGS; }
_ZNK5doris11GeoFunctionINS_13StGeoFromTextINS_9StPolygonEEEE23get_number_of_argumentsEv
Line
Count
Source
64
98
    size_t get_number_of_arguments() const override { return Impl::NUM_ARGS; }
_ZNK5doris11GeoFunctionINS_13StGeoFromTextINS_17StPolygonFromTextEEEE23get_number_of_argumentsEv
Line
Count
Source
64
4
    size_t get_number_of_arguments() const override { return Impl::NUM_ARGS; }
_ZNK5doris11GeoFunctionINS_13StGeoFromTextINS_14StPolyFromTextEEEE23get_number_of_argumentsEv
Line
Count
Source
64
8
    size_t get_number_of_arguments() const override { return Impl::NUM_ARGS; }
_ZNK5doris11GeoFunctionINS_6StAreaILb1EEEE23get_number_of_argumentsEv
Line
Count
Source
64
39
    size_t get_number_of_arguments() const override { return Impl::NUM_ARGS; }
_ZNK5doris11GeoFunctionINS_6StAreaILb0EEEE23get_number_of_argumentsEv
Line
Count
Source
64
29
    size_t get_number_of_arguments() const override { return Impl::NUM_ARGS; }
_ZNK5doris11GeoFunctionINS_10StAsBinaryEE23get_number_of_argumentsEv
Line
Count
Source
64
37
    size_t get_number_of_arguments() const override { return Impl::NUM_ARGS; }
_ZNK5doris11GeoFunctionINS_8StLengthEE23get_number_of_argumentsEv
Line
Count
Source
64
25
    size_t get_number_of_arguments() const override { return Impl::NUM_ARGS; }
_ZNK5doris11GeoFunctionINS_14StGeometryTypeEE23get_number_of_argumentsEv
Line
Count
Source
64
28
    size_t get_number_of_arguments() const override { return Impl::NUM_ARGS; }
_ZNK5doris11GeoFunctionINS_18StDistanceFunctionILb0EEEE23get_number_of_argumentsEv
Line
Count
Source
64
103
    size_t get_number_of_arguments() const override { return Impl::NUM_ARGS; }
_ZNK5doris11GeoFunctionINS_18StDistanceFunctionILb1EEEE23get_number_of_argumentsEv
Line
Count
Source
64
41
    size_t get_number_of_arguments() const override { return Impl::NUM_ARGS; }
_ZNK5doris11GeoFunctionINS_10StIsClosedEE23get_number_of_argumentsEv
Line
Count
Source
64
10
    size_t get_number_of_arguments() const override { return Impl::NUM_ARGS; }
_ZNK5doris11GeoFunctionINS_15StNumGeometriesEE23get_number_of_argumentsEv
Line
Count
Source
64
24
    size_t get_number_of_arguments() const override { return Impl::NUM_ARGS; }
_ZNK5doris11GeoFunctionINS_11StNumPointsEE23get_number_of_argumentsEv
Line
Count
Source
64
35
    size_t get_number_of_arguments() const override { return Impl::NUM_ARGS; }
65
2.91k
    bool is_variadic() const override { return false; }
_ZNK5doris11GeoFunctionINS_7StPointEE11is_variadicEv
Line
Count
Source
65
159
    bool is_variadic() const override { return false; }
_ZNK5doris11GeoFunctionINS_8StAsTextINS_11StAsWktNameEEEE11is_variadicEv
Line
Count
Source
65
5
    bool is_variadic() const override { return false; }
_ZNK5doris11GeoFunctionINS_8StAsTextINS_12StAsTextNameEEEE11is_variadicEv
Line
Count
Source
65
108
    bool is_variadic() const override { return false; }
_ZNK5doris11GeoFunctionINS_12StCoordinateILb1EEEE11is_variadicEv
Line
Count
Source
65
13
    bool is_variadic() const override { return false; }
_ZNK5doris11GeoFunctionINS_12StCoordinateILb0EEEE11is_variadicEv
Line
Count
Source
65
12
    bool is_variadic() const override { return false; }
_ZNK5doris11GeoFunctionINS_16StDistanceSphereEE11is_variadicEv
Line
Count
Source
65
7
    bool is_variadic() const override { return false; }
_ZNK5doris11GeoFunctionINS_13StAngleSphereEE11is_variadicEv
Line
Count
Source
65
8
    bool is_variadic() const override { return false; }
_ZNK5doris11GeoFunctionINS_7StAngleEE11is_variadicEv
Line
Count
Source
65
34
    bool is_variadic() const override { return false; }
_ZNK5doris11GeoFunctionINS_9StAzimuthEE11is_variadicEv
Line
Count
Source
65
48
    bool is_variadic() const override { return false; }
_ZNK5doris11GeoFunctionINS_18StRelationFunctionINS_14StContainsFuncEEEE11is_variadicEv
Line
Count
Source
65
239
    bool is_variadic() const override { return false; }
_ZNK5doris11GeoFunctionINS_18StRelationFunctionINS_16StIntersectsFuncEEEE11is_variadicEv
Line
Count
Source
65
266
    bool is_variadic() const override { return false; }
_ZNK5doris11GeoFunctionINS_18StRelationFunctionINS_14StDisjointFuncEEEE11is_variadicEv
Line
Count
Source
65
211
    bool is_variadic() const override { return false; }
_ZNK5doris11GeoFunctionINS_18StRelationFunctionINS_13StTouchesFuncEEEE11is_variadicEv
Line
Count
Source
65
316
    bool is_variadic() const override { return false; }
_ZNK5doris11GeoFunctionINS_18StRelationFunctionINS_12StWithinFuncEEEE11is_variadicEv
Line
Count
Source
65
160
    bool is_variadic() const override { return false; }
_ZNK5doris11GeoFunctionINS_18StRelationFunctionINS_12StEqualsFuncEEEE11is_variadicEv
Line
Count
Source
65
118
    bool is_variadic() const override { return false; }
_ZNK5doris11GeoFunctionINS_18StRelationFunctionINS_14StOverlapsFuncEEEE11is_variadicEv
Line
Count
Source
65
114
    bool is_variadic() const override { return false; }
_ZNK5doris11GeoFunctionINS_8StCircleEE11is_variadicEv
Line
Count
Source
65
108
    bool is_variadic() const override { return false; }
_ZNK5doris11GeoFunctionINS_13StGeoFromTextINS_18StGeometryFromTextEEEE11is_variadicEv
Line
Count
Source
65
166
    bool is_variadic() const override { return false; }
_ZNK5doris11GeoFunctionINS_13StGeoFromTextINS_14StGeomFromTextEEEE11is_variadicEv
Line
Count
Source
65
233
    bool is_variadic() const override { return false; }
_ZNK5doris11GeoFunctionINS_13StGeoFromTextINS_14StLineFromTextEEEE11is_variadicEv
Line
Count
Source
65
90
    bool is_variadic() const override { return false; }
_ZNK5doris11GeoFunctionINS_13StGeoFromTextINS_20StLineStringFromTextEEEE11is_variadicEv
Line
Count
Source
65
4
    bool is_variadic() const override { return false; }
_ZNK5doris11GeoFunctionINS_13StGeoFromTextINS_9StPolygonEEEE11is_variadicEv
Line
Count
Source
65
99
    bool is_variadic() const override { return false; }
_ZNK5doris11GeoFunctionINS_13StGeoFromTextINS_17StPolygonFromTextEEEE11is_variadicEv
Line
Count
Source
65
5
    bool is_variadic() const override { return false; }
_ZNK5doris11GeoFunctionINS_13StGeoFromTextINS_14StPolyFromTextEEEE11is_variadicEv
Line
Count
Source
65
9
    bool is_variadic() const override { return false; }
_ZNK5doris11GeoFunctionINS_6StAreaILb1EEEE11is_variadicEv
Line
Count
Source
65
40
    bool is_variadic() const override { return false; }
_ZNK5doris11GeoFunctionINS_6StAreaILb0EEEE11is_variadicEv
Line
Count
Source
65
30
    bool is_variadic() const override { return false; }
_ZNK5doris11GeoFunctionINS_10StAsBinaryEE11is_variadicEv
Line
Count
Source
65
38
    bool is_variadic() const override { return false; }
_ZNK5doris11GeoFunctionINS_8StLengthEE11is_variadicEv
Line
Count
Source
65
26
    bool is_variadic() const override { return false; }
_ZNK5doris11GeoFunctionINS_14StGeometryTypeEE11is_variadicEv
Line
Count
Source
65
29
    bool is_variadic() const override { return false; }
_ZNK5doris11GeoFunctionINS_18StDistanceFunctionILb0EEEE11is_variadicEv
Line
Count
Source
65
104
    bool is_variadic() const override { return false; }
_ZNK5doris11GeoFunctionINS_18StDistanceFunctionILb1EEEE11is_variadicEv
Line
Count
Source
65
42
    bool is_variadic() const override { return false; }
_ZNK5doris11GeoFunctionINS_10StIsClosedEE11is_variadicEv
Line
Count
Source
65
11
    bool is_variadic() const override { return false; }
_ZNK5doris11GeoFunctionINS_15StNumGeometriesEE11is_variadicEv
Line
Count
Source
65
25
    bool is_variadic() const override { return false; }
_ZNK5doris11GeoFunctionINS_11StNumPointsEE11is_variadicEv
Line
Count
Source
65
36
    bool is_variadic() const override { return false; }
66
2.85k
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
67
2.85k
        return make_nullable(std::make_shared<ReturnType>());
68
2.85k
    }
_ZNK5doris11GeoFunctionINS_7StPointEE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS7_EE
Line
Count
Source
66
158
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
67
158
        return make_nullable(std::make_shared<ReturnType>());
68
158
    }
_ZNK5doris11GeoFunctionINS_8StAsTextINS_11StAsWktNameEEEE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS9_EE
Line
Count
Source
66
4
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
67
4
        return make_nullable(std::make_shared<ReturnType>());
68
4
    }
_ZNK5doris11GeoFunctionINS_8StAsTextINS_12StAsTextNameEEEE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS9_EE
Line
Count
Source
66
107
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
67
107
        return make_nullable(std::make_shared<ReturnType>());
68
107
    }
_ZNK5doris11GeoFunctionINS_12StCoordinateILb1EEEE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS8_EE
Line
Count
Source
66
12
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
67
12
        return make_nullable(std::make_shared<ReturnType>());
68
12
    }
_ZNK5doris11GeoFunctionINS_12StCoordinateILb0EEEE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS8_EE
Line
Count
Source
66
11
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
67
11
        return make_nullable(std::make_shared<ReturnType>());
68
11
    }
_ZNK5doris11GeoFunctionINS_16StDistanceSphereEE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS7_EE
Line
Count
Source
66
6
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
67
6
        return make_nullable(std::make_shared<ReturnType>());
68
6
    }
_ZNK5doris11GeoFunctionINS_13StAngleSphereEE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS7_EE
Line
Count
Source
66
7
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
67
7
        return make_nullable(std::make_shared<ReturnType>());
68
7
    }
_ZNK5doris11GeoFunctionINS_7StAngleEE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS7_EE
Line
Count
Source
66
33
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
67
33
        return make_nullable(std::make_shared<ReturnType>());
68
33
    }
_ZNK5doris11GeoFunctionINS_9StAzimuthEE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS7_EE
Line
Count
Source
66
47
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
67
47
        return make_nullable(std::make_shared<ReturnType>());
68
47
    }
_ZNK5doris11GeoFunctionINS_18StRelationFunctionINS_14StContainsFuncEEEE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS9_EE
Line
Count
Source
66
238
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
67
238
        return make_nullable(std::make_shared<ReturnType>());
68
238
    }
_ZNK5doris11GeoFunctionINS_18StRelationFunctionINS_16StIntersectsFuncEEEE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS9_EE
Line
Count
Source
66
265
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
67
265
        return make_nullable(std::make_shared<ReturnType>());
68
265
    }
_ZNK5doris11GeoFunctionINS_18StRelationFunctionINS_14StDisjointFuncEEEE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS9_EE
Line
Count
Source
66
210
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
67
210
        return make_nullable(std::make_shared<ReturnType>());
68
210
    }
_ZNK5doris11GeoFunctionINS_18StRelationFunctionINS_13StTouchesFuncEEEE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS9_EE
Line
Count
Source
66
315
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
67
315
        return make_nullable(std::make_shared<ReturnType>());
68
315
    }
_ZNK5doris11GeoFunctionINS_18StRelationFunctionINS_12StWithinFuncEEEE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS9_EE
Line
Count
Source
66
159
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
67
159
        return make_nullable(std::make_shared<ReturnType>());
68
159
    }
_ZNK5doris11GeoFunctionINS_18StRelationFunctionINS_12StEqualsFuncEEEE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS9_EE
Line
Count
Source
66
117
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
67
117
        return make_nullable(std::make_shared<ReturnType>());
68
117
    }
_ZNK5doris11GeoFunctionINS_18StRelationFunctionINS_14StOverlapsFuncEEEE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS9_EE
Line
Count
Source
66
113
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
67
113
        return make_nullable(std::make_shared<ReturnType>());
68
113
    }
_ZNK5doris11GeoFunctionINS_8StCircleEE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS7_EE
Line
Count
Source
66
107
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
67
107
        return make_nullable(std::make_shared<ReturnType>());
68
107
    }
_ZNK5doris11GeoFunctionINS_13StGeoFromTextINS_18StGeometryFromTextEEEE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS9_EE
Line
Count
Source
66
165
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
67
165
        return make_nullable(std::make_shared<ReturnType>());
68
165
    }
_ZNK5doris11GeoFunctionINS_13StGeoFromTextINS_14StGeomFromTextEEEE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS9_EE
Line
Count
Source
66
232
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
67
232
        return make_nullable(std::make_shared<ReturnType>());
68
232
    }
_ZNK5doris11GeoFunctionINS_13StGeoFromTextINS_14StLineFromTextEEEE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS9_EE
Line
Count
Source
66
89
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
67
89
        return make_nullable(std::make_shared<ReturnType>());
68
89
    }
_ZNK5doris11GeoFunctionINS_13StGeoFromTextINS_20StLineStringFromTextEEEE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS9_EE
Line
Count
Source
66
3
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
67
3
        return make_nullable(std::make_shared<ReturnType>());
68
3
    }
_ZNK5doris11GeoFunctionINS_13StGeoFromTextINS_9StPolygonEEEE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS9_EE
Line
Count
Source
66
98
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
67
98
        return make_nullable(std::make_shared<ReturnType>());
68
98
    }
_ZNK5doris11GeoFunctionINS_13StGeoFromTextINS_17StPolygonFromTextEEEE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS9_EE
Line
Count
Source
66
4
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
67
4
        return make_nullable(std::make_shared<ReturnType>());
68
4
    }
_ZNK5doris11GeoFunctionINS_13StGeoFromTextINS_14StPolyFromTextEEEE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS9_EE
Line
Count
Source
66
8
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
67
8
        return make_nullable(std::make_shared<ReturnType>());
68
8
    }
_ZNK5doris11GeoFunctionINS_6StAreaILb1EEEE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS8_EE
Line
Count
Source
66
39
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
67
39
        return make_nullable(std::make_shared<ReturnType>());
68
39
    }
_ZNK5doris11GeoFunctionINS_6StAreaILb0EEEE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS8_EE
Line
Count
Source
66
29
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
67
29
        return make_nullable(std::make_shared<ReturnType>());
68
29
    }
_ZNK5doris11GeoFunctionINS_10StAsBinaryEE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS7_EE
Line
Count
Source
66
14
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
67
14
        return make_nullable(std::make_shared<ReturnType>());
68
14
    }
_ZNK5doris11GeoFunctionINS_8StLengthEE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS7_EE
Line
Count
Source
66
25
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
67
25
        return make_nullable(std::make_shared<ReturnType>());
68
25
    }
_ZNK5doris11GeoFunctionINS_14StGeometryTypeEE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS7_EE
Line
Count
Source
66
28
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
67
28
        return make_nullable(std::make_shared<ReturnType>());
68
28
    }
_ZNK5doris11GeoFunctionINS_18StDistanceFunctionILb0EEEE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS8_EE
Line
Count
Source
66
103
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
67
103
        return make_nullable(std::make_shared<ReturnType>());
68
103
    }
_ZNK5doris11GeoFunctionINS_18StDistanceFunctionILb1EEEE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS8_EE
Line
Count
Source
66
41
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
67
41
        return make_nullable(std::make_shared<ReturnType>());
68
41
    }
_ZNK5doris11GeoFunctionINS_10StIsClosedEE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS7_EE
Line
Count
Source
66
10
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
67
10
        return make_nullable(std::make_shared<ReturnType>());
68
10
    }
_ZNK5doris11GeoFunctionINS_15StNumGeometriesEE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS7_EE
Line
Count
Source
66
24
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
67
24
        return make_nullable(std::make_shared<ReturnType>());
68
24
    }
_ZNK5doris11GeoFunctionINS_11StNumPointsEE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS7_EE
Line
Count
Source
66
35
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
67
35
        return make_nullable(std::make_shared<ReturnType>());
68
35
    }
69
70
    Status execute_impl(FunctionContext* context, Block& block, const ColumnNumbers& arguments,
71
5.62k
                        uint32_t result, size_t input_rows_count) const override {
72
5.62k
        return Impl::execute(block, arguments, result);
73
5.62k
    }
_ZNK5doris11GeoFunctionINS_7StPointEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
71
202
                        uint32_t result, size_t input_rows_count) const override {
72
202
        return Impl::execute(block, arguments, result);
73
202
    }
_ZNK5doris11GeoFunctionINS_8StAsTextINS_11StAsWktNameEEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
71
10
                        uint32_t result, size_t input_rows_count) const override {
72
10
        return Impl::execute(block, arguments, result);
73
10
    }
_ZNK5doris11GeoFunctionINS_8StAsTextINS_12StAsTextNameEEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
71
2.56k
                        uint32_t result, size_t input_rows_count) const override {
72
2.56k
        return Impl::execute(block, arguments, result);
73
2.56k
    }
_ZNK5doris11GeoFunctionINS_12StCoordinateILb1EEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
71
18
                        uint32_t result, size_t input_rows_count) const override {
72
18
        return Impl::execute(block, arguments, result);
73
18
    }
_ZNK5doris11GeoFunctionINS_12StCoordinateILb0EEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
71
17
                        uint32_t result, size_t input_rows_count) const override {
72
17
        return Impl::execute(block, arguments, result);
73
17
    }
_ZNK5doris11GeoFunctionINS_16StDistanceSphereEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
71
11
                        uint32_t result, size_t input_rows_count) const override {
72
11
        return Impl::execute(block, arguments, result);
73
11
    }
_ZNK5doris11GeoFunctionINS_13StAngleSphereEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
71
11
                        uint32_t result, size_t input_rows_count) const override {
72
11
        return Impl::execute(block, arguments, result);
73
11
    }
_ZNK5doris11GeoFunctionINS_7StAngleEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
71
36
                        uint32_t result, size_t input_rows_count) const override {
72
36
        return Impl::execute(block, arguments, result);
73
36
    }
_ZNK5doris11GeoFunctionINS_9StAzimuthEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
71
50
                        uint32_t result, size_t input_rows_count) const override {
72
50
        return Impl::execute(block, arguments, result);
73
50
    }
_ZNK5doris11GeoFunctionINS_18StRelationFunctionINS_14StContainsFuncEEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
71
244
                        uint32_t result, size_t input_rows_count) const override {
72
244
        return Impl::execute(block, arguments, result);
73
244
    }
_ZNK5doris11GeoFunctionINS_18StRelationFunctionINS_16StIntersectsFuncEEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
71
265
                        uint32_t result, size_t input_rows_count) const override {
72
265
        return Impl::execute(block, arguments, result);
73
265
    }
_ZNK5doris11GeoFunctionINS_18StRelationFunctionINS_14StDisjointFuncEEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
71
210
                        uint32_t result, size_t input_rows_count) const override {
72
210
        return Impl::execute(block, arguments, result);
73
210
    }
_ZNK5doris11GeoFunctionINS_18StRelationFunctionINS_13StTouchesFuncEEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
71
315
                        uint32_t result, size_t input_rows_count) const override {
72
315
        return Impl::execute(block, arguments, result);
73
315
    }
_ZNK5doris11GeoFunctionINS_18StRelationFunctionINS_12StWithinFuncEEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
71
159
                        uint32_t result, size_t input_rows_count) const override {
72
159
        return Impl::execute(block, arguments, result);
73
159
    }
_ZNK5doris11GeoFunctionINS_18StRelationFunctionINS_12StEqualsFuncEEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
71
117
                        uint32_t result, size_t input_rows_count) const override {
72
117
        return Impl::execute(block, arguments, result);
73
117
    }
_ZNK5doris11GeoFunctionINS_18StRelationFunctionINS_14StOverlapsFuncEEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
71
113
                        uint32_t result, size_t input_rows_count) const override {
72
113
        return Impl::execute(block, arguments, result);
73
113
    }
_ZNK5doris11GeoFunctionINS_8StCircleEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
71
125
                        uint32_t result, size_t input_rows_count) const override {
72
125
        return Impl::execute(block, arguments, result);
73
125
    }
_ZNK5doris11GeoFunctionINS_13StGeoFromTextINS_18StGeometryFromTextEEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
71
170
                        uint32_t result, size_t input_rows_count) const override {
72
170
        return Impl::execute(block, arguments, result);
73
170
    }
_ZNK5doris11GeoFunctionINS_13StGeoFromTextINS_14StGeomFromTextEEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
71
279
                        uint32_t result, size_t input_rows_count) const override {
72
279
        return Impl::execute(block, arguments, result);
73
279
    }
_ZNK5doris11GeoFunctionINS_13StGeoFromTextINS_14StLineFromTextEEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
71
94
                        uint32_t result, size_t input_rows_count) const override {
72
94
        return Impl::execute(block, arguments, result);
73
94
    }
_ZNK5doris11GeoFunctionINS_13StGeoFromTextINS_20StLineStringFromTextEEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
71
9
                        uint32_t result, size_t input_rows_count) const override {
72
9
        return Impl::execute(block, arguments, result);
73
9
    }
_ZNK5doris11GeoFunctionINS_13StGeoFromTextINS_9StPolygonEEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
71
121
                        uint32_t result, size_t input_rows_count) const override {
72
121
        return Impl::execute(block, arguments, result);
73
121
    }
_ZNK5doris11GeoFunctionINS_13StGeoFromTextINS_17StPolygonFromTextEEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
71
10
                        uint32_t result, size_t input_rows_count) const override {
72
10
        return Impl::execute(block, arguments, result);
73
10
    }
_ZNK5doris11GeoFunctionINS_13StGeoFromTextINS_14StPolyFromTextEEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
71
24
                        uint32_t result, size_t input_rows_count) const override {
72
24
        return Impl::execute(block, arguments, result);
73
24
    }
_ZNK5doris11GeoFunctionINS_6StAreaILb1EEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
71
49
                        uint32_t result, size_t input_rows_count) const override {
72
49
        return Impl::execute(block, arguments, result);
73
49
    }
_ZNK5doris11GeoFunctionINS_6StAreaILb0EEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
71
40
                        uint32_t result, size_t input_rows_count) const override {
72
40
        return Impl::execute(block, arguments, result);
73
40
    }
_ZNK5doris11GeoFunctionINS_10StAsBinaryEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
71
57
                        uint32_t result, size_t input_rows_count) const override {
72
57
        return Impl::execute(block, arguments, result);
73
57
    }
_ZNK5doris11GeoFunctionINS_8StLengthEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
71
27
                        uint32_t result, size_t input_rows_count) const override {
72
27
        return Impl::execute(block, arguments, result);
73
27
    }
_ZNK5doris11GeoFunctionINS_14StGeometryTypeEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
71
46
                        uint32_t result, size_t input_rows_count) const override {
72
46
        return Impl::execute(block, arguments, result);
73
46
    }
_ZNK5doris11GeoFunctionINS_18StDistanceFunctionILb0EEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
71
105
                        uint32_t result, size_t input_rows_count) const override {
72
105
        return Impl::execute(block, arguments, result);
73
105
    }
_ZNK5doris11GeoFunctionINS_18StDistanceFunctionILb1EEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
71
41
                        uint32_t result, size_t input_rows_count) const override {
72
41
        return Impl::execute(block, arguments, result);
73
41
    }
_ZNK5doris11GeoFunctionINS_10StIsClosedEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
71
9
                        uint32_t result, size_t input_rows_count) const override {
72
9
        return Impl::execute(block, arguments, result);
73
9
    }
_ZNK5doris11GeoFunctionINS_15StNumGeometriesEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
71
31
                        uint32_t result, size_t input_rows_count) const override {
72
31
        return Impl::execute(block, arguments, result);
73
31
    }
_ZNK5doris11GeoFunctionINS_11StNumPointsEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
71
45
                        uint32_t result, size_t input_rows_count) const override {
72
45
        return Impl::execute(block, arguments, result);
73
45
    }
74
};
75
76
// Spatial WKB columns must remain visible to the implementation so it can validate the
77
// serialized value before any file data is consumed.  Do not use this wrapper for legacy
78
// geo functions or numeric constructors: their nullable arguments rely on the default
79
// null propagation supplied by IFunction.
80
template <typename Impl>
81
class SpatialWkbGeoFunction : public GeoFunction<Impl> {
82
public:
83
2.06k
    static FunctionPtr create() { return std::make_shared<SpatialWkbGeoFunction<Impl>>(); }
_ZN5doris21SpatialWkbGeoFunctionINS_8StAsTextINS_11StAsWktNameEEEE6createEv
Line
Count
Source
83
13
    static FunctionPtr create() { return std::make_shared<SpatialWkbGeoFunction<Impl>>(); }
_ZN5doris21SpatialWkbGeoFunctionINS_8StAsTextINS_12StAsTextNameEEEE6createEv
Line
Count
Source
83
116
    static FunctionPtr create() { return std::make_shared<SpatialWkbGeoFunction<Impl>>(); }
_ZN5doris21SpatialWkbGeoFunctionINS_12StCoordinateILb1EEEE6createEv
Line
Count
Source
83
21
    static FunctionPtr create() { return std::make_shared<SpatialWkbGeoFunction<Impl>>(); }
_ZN5doris21SpatialWkbGeoFunctionINS_12StCoordinateILb0EEEE6createEv
Line
Count
Source
83
20
    static FunctionPtr create() { return std::make_shared<SpatialWkbGeoFunction<Impl>>(); }
_ZN5doris21SpatialWkbGeoFunctionINS_7StAngleEE6createEv
Line
Count
Source
83
42
    static FunctionPtr create() { return std::make_shared<SpatialWkbGeoFunction<Impl>>(); }
_ZN5doris21SpatialWkbGeoFunctionINS_9StAzimuthEE6createEv
Line
Count
Source
83
56
    static FunctionPtr create() { return std::make_shared<SpatialWkbGeoFunction<Impl>>(); }
_ZN5doris21SpatialWkbGeoFunctionINS_18StRelationFunctionINS_14StContainsFuncEEEE6createEv
Line
Count
Source
83
247
    static FunctionPtr create() { return std::make_shared<SpatialWkbGeoFunction<Impl>>(); }
_ZN5doris21SpatialWkbGeoFunctionINS_18StRelationFunctionINS_16StIntersectsFuncEEEE6createEv
Line
Count
Source
83
274
    static FunctionPtr create() { return std::make_shared<SpatialWkbGeoFunction<Impl>>(); }
_ZN5doris21SpatialWkbGeoFunctionINS_18StRelationFunctionINS_14StDisjointFuncEEEE6createEv
Line
Count
Source
83
219
    static FunctionPtr create() { return std::make_shared<SpatialWkbGeoFunction<Impl>>(); }
_ZN5doris21SpatialWkbGeoFunctionINS_18StRelationFunctionINS_13StTouchesFuncEEEE6createEv
Line
Count
Source
83
324
    static FunctionPtr create() { return std::make_shared<SpatialWkbGeoFunction<Impl>>(); }
_ZN5doris21SpatialWkbGeoFunctionINS_18StRelationFunctionINS_12StWithinFuncEEEE6createEv
Line
Count
Source
83
168
    static FunctionPtr create() { return std::make_shared<SpatialWkbGeoFunction<Impl>>(); }
_ZN5doris21SpatialWkbGeoFunctionINS_18StRelationFunctionINS_12StEqualsFuncEEEE6createEv
Line
Count
Source
83
126
    static FunctionPtr create() { return std::make_shared<SpatialWkbGeoFunction<Impl>>(); }
_ZN5doris21SpatialWkbGeoFunctionINS_18StRelationFunctionINS_14StOverlapsFuncEEEE6createEv
Line
Count
Source
83
122
    static FunctionPtr create() { return std::make_shared<SpatialWkbGeoFunction<Impl>>(); }
_ZN5doris21SpatialWkbGeoFunctionINS_6StAreaILb1EEEE6createEv
Line
Count
Source
83
48
    static FunctionPtr create() { return std::make_shared<SpatialWkbGeoFunction<Impl>>(); }
_ZN5doris21SpatialWkbGeoFunctionINS_6StAreaILb0EEEE6createEv
Line
Count
Source
83
38
    static FunctionPtr create() { return std::make_shared<SpatialWkbGeoFunction<Impl>>(); }
_ZN5doris21SpatialWkbGeoFunctionINS_8StLengthEE6createEv
Line
Count
Source
83
34
    static FunctionPtr create() { return std::make_shared<SpatialWkbGeoFunction<Impl>>(); }
_ZN5doris21SpatialWkbGeoFunctionINS_14StGeometryTypeEE6createEv
Line
Count
Source
83
37
    static FunctionPtr create() { return std::make_shared<SpatialWkbGeoFunction<Impl>>(); }
_ZN5doris21SpatialWkbGeoFunctionINS_18StDistanceFunctionILb0EEEE6createEv
Line
Count
Source
83
112
    static FunctionPtr create() { return std::make_shared<SpatialWkbGeoFunction<Impl>>(); }
_ZN5doris21SpatialWkbGeoFunctionINS_18StDistanceFunctionILb1EEEE6createEv
Line
Count
Source
83
50
    static FunctionPtr create() { return std::make_shared<SpatialWkbGeoFunction<Impl>>(); }
84
6.42k
    bool use_default_implementation_for_nulls() const override { return false; }
_ZNK5doris21SpatialWkbGeoFunctionINS_8StAsTextINS_11StAsWktNameEEEE36use_default_implementation_for_nullsEv
Line
Count
Source
84
14
    bool use_default_implementation_for_nulls() const override { return false; }
_ZNK5doris21SpatialWkbGeoFunctionINS_8StAsTextINS_12StAsTextNameEEEE36use_default_implementation_for_nullsEv
Line
Count
Source
84
2.67k
    bool use_default_implementation_for_nulls() const override { return false; }
_ZNK5doris21SpatialWkbGeoFunctionINS_12StCoordinateILb1EEEE36use_default_implementation_for_nullsEv
Line
Count
Source
84
30
    bool use_default_implementation_for_nulls() const override { return false; }
_ZNK5doris21SpatialWkbGeoFunctionINS_12StCoordinateILb0EEEE36use_default_implementation_for_nullsEv
Line
Count
Source
84
28
    bool use_default_implementation_for_nulls() const override { return false; }
_ZNK5doris21SpatialWkbGeoFunctionINS_7StAngleEE36use_default_implementation_for_nullsEv
Line
Count
Source
84
69
    bool use_default_implementation_for_nulls() const override { return false; }
_ZNK5doris21SpatialWkbGeoFunctionINS_9StAzimuthEE36use_default_implementation_for_nullsEv
Line
Count
Source
84
97
    bool use_default_implementation_for_nulls() const override { return false; }
_ZNK5doris21SpatialWkbGeoFunctionINS_18StRelationFunctionINS_14StContainsFuncEEEE36use_default_implementation_for_nullsEv
Line
Count
Source
84
482
    bool use_default_implementation_for_nulls() const override { return false; }
_ZNK5doris21SpatialWkbGeoFunctionINS_18StRelationFunctionINS_16StIntersectsFuncEEEE36use_default_implementation_for_nullsEv
Line
Count
Source
84
530
    bool use_default_implementation_for_nulls() const override { return false; }
_ZNK5doris21SpatialWkbGeoFunctionINS_18StRelationFunctionINS_14StDisjointFuncEEEE36use_default_implementation_for_nullsEv
Line
Count
Source
84
420
    bool use_default_implementation_for_nulls() const override { return false; }
_ZNK5doris21SpatialWkbGeoFunctionINS_18StRelationFunctionINS_13StTouchesFuncEEEE36use_default_implementation_for_nullsEv
Line
Count
Source
84
630
    bool use_default_implementation_for_nulls() const override { return false; }
_ZNK5doris21SpatialWkbGeoFunctionINS_18StRelationFunctionINS_12StWithinFuncEEEE36use_default_implementation_for_nullsEv
Line
Count
Source
84
318
    bool use_default_implementation_for_nulls() const override { return false; }
_ZNK5doris21SpatialWkbGeoFunctionINS_18StRelationFunctionINS_12StEqualsFuncEEEE36use_default_implementation_for_nullsEv
Line
Count
Source
84
234
    bool use_default_implementation_for_nulls() const override { return false; }
_ZNK5doris21SpatialWkbGeoFunctionINS_18StRelationFunctionINS_14StOverlapsFuncEEEE36use_default_implementation_for_nullsEv
Line
Count
Source
84
226
    bool use_default_implementation_for_nulls() const override { return false; }
_ZNK5doris21SpatialWkbGeoFunctionINS_6StAreaILb1EEEE36use_default_implementation_for_nullsEv
Line
Count
Source
84
90
    bool use_default_implementation_for_nulls() const override { return false; }
_ZNK5doris21SpatialWkbGeoFunctionINS_6StAreaILb0EEEE36use_default_implementation_for_nullsEv
Line
Count
Source
84
70
    bool use_default_implementation_for_nulls() const override { return false; }
_ZNK5doris21SpatialWkbGeoFunctionINS_10StAsBinaryEE36use_default_implementation_for_nullsEv
Line
Count
Source
84
94
    bool use_default_implementation_for_nulls() const override { return false; }
_ZNK5doris21SpatialWkbGeoFunctionINS_8StLengthEE36use_default_implementation_for_nullsEv
Line
Count
Source
84
53
    bool use_default_implementation_for_nulls() const override { return false; }
_ZNK5doris21SpatialWkbGeoFunctionINS_14StGeometryTypeEE36use_default_implementation_for_nullsEv
Line
Count
Source
84
74
    bool use_default_implementation_for_nulls() const override { return false; }
_ZNK5doris21SpatialWkbGeoFunctionINS_18StDistanceFunctionILb0EEEE36use_default_implementation_for_nullsEv
Line
Count
Source
84
209
    bool use_default_implementation_for_nulls() const override { return false; }
_ZNK5doris21SpatialWkbGeoFunctionINS_18StDistanceFunctionILb1EEEE36use_default_implementation_for_nullsEv
Line
Count
Source
84
82
    bool use_default_implementation_for_nulls() const override { return false; }
85
86
    Status execute_impl(FunctionContext* context, Block& block, const ColumnNumbers& arguments,
87
4.49k
                        uint32_t result, size_t input_rows_count) const override {
88
4.49k
        RETURN_IF_ERROR(validate_spatial_wkb_inputs(block, arguments));
89
4.48k
        return GeoFunction<Impl>::execute_impl(context, block, arguments, result, input_rows_count);
90
4.49k
    }
_ZNK5doris21SpatialWkbGeoFunctionINS_8StAsTextINS_11StAsWktNameEEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
87
10
                        uint32_t result, size_t input_rows_count) const override {
88
10
        RETURN_IF_ERROR(validate_spatial_wkb_inputs(block, arguments));
89
10
        return GeoFunction<Impl>::execute_impl(context, block, arguments, result, input_rows_count);
90
10
    }
_ZNK5doris21SpatialWkbGeoFunctionINS_8StAsTextINS_12StAsTextNameEEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
87
2.57k
                        uint32_t result, size_t input_rows_count) const override {
88
2.57k
        RETURN_IF_ERROR(validate_spatial_wkb_inputs(block, arguments));
89
2.56k
        return GeoFunction<Impl>::execute_impl(context, block, arguments, result, input_rows_count);
90
2.57k
    }
_ZNK5doris21SpatialWkbGeoFunctionINS_12StCoordinateILb1EEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
87
18
                        uint32_t result, size_t input_rows_count) const override {
88
18
        RETURN_IF_ERROR(validate_spatial_wkb_inputs(block, arguments));
89
18
        return GeoFunction<Impl>::execute_impl(context, block, arguments, result, input_rows_count);
90
18
    }
_ZNK5doris21SpatialWkbGeoFunctionINS_12StCoordinateILb0EEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
87
17
                        uint32_t result, size_t input_rows_count) const override {
88
17
        RETURN_IF_ERROR(validate_spatial_wkb_inputs(block, arguments));
89
17
        return GeoFunction<Impl>::execute_impl(context, block, arguments, result, input_rows_count);
90
17
    }
_ZNK5doris21SpatialWkbGeoFunctionINS_7StAngleEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
87
36
                        uint32_t result, size_t input_rows_count) const override {
88
36
        RETURN_IF_ERROR(validate_spatial_wkb_inputs(block, arguments));
89
36
        return GeoFunction<Impl>::execute_impl(context, block, arguments, result, input_rows_count);
90
36
    }
_ZNK5doris21SpatialWkbGeoFunctionINS_9StAzimuthEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
87
50
                        uint32_t result, size_t input_rows_count) const override {
88
50
        RETURN_IF_ERROR(validate_spatial_wkb_inputs(block, arguments));
89
50
        return GeoFunction<Impl>::execute_impl(context, block, arguments, result, input_rows_count);
90
50
    }
_ZNK5doris21SpatialWkbGeoFunctionINS_18StRelationFunctionINS_14StContainsFuncEEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
87
244
                        uint32_t result, size_t input_rows_count) const override {
88
244
        RETURN_IF_ERROR(validate_spatial_wkb_inputs(block, arguments));
89
244
        return GeoFunction<Impl>::execute_impl(context, block, arguments, result, input_rows_count);
90
244
    }
_ZNK5doris21SpatialWkbGeoFunctionINS_18StRelationFunctionINS_16StIntersectsFuncEEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
87
265
                        uint32_t result, size_t input_rows_count) const override {
88
265
        RETURN_IF_ERROR(validate_spatial_wkb_inputs(block, arguments));
89
265
        return GeoFunction<Impl>::execute_impl(context, block, arguments, result, input_rows_count);
90
265
    }
_ZNK5doris21SpatialWkbGeoFunctionINS_18StRelationFunctionINS_14StDisjointFuncEEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
87
210
                        uint32_t result, size_t input_rows_count) const override {
88
210
        RETURN_IF_ERROR(validate_spatial_wkb_inputs(block, arguments));
89
210
        return GeoFunction<Impl>::execute_impl(context, block, arguments, result, input_rows_count);
90
210
    }
_ZNK5doris21SpatialWkbGeoFunctionINS_18StRelationFunctionINS_13StTouchesFuncEEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
87
315
                        uint32_t result, size_t input_rows_count) const override {
88
315
        RETURN_IF_ERROR(validate_spatial_wkb_inputs(block, arguments));
89
315
        return GeoFunction<Impl>::execute_impl(context, block, arguments, result, input_rows_count);
90
315
    }
_ZNK5doris21SpatialWkbGeoFunctionINS_18StRelationFunctionINS_12StWithinFuncEEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
87
159
                        uint32_t result, size_t input_rows_count) const override {
88
159
        RETURN_IF_ERROR(validate_spatial_wkb_inputs(block, arguments));
89
159
        return GeoFunction<Impl>::execute_impl(context, block, arguments, result, input_rows_count);
90
159
    }
_ZNK5doris21SpatialWkbGeoFunctionINS_18StRelationFunctionINS_12StEqualsFuncEEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
87
117
                        uint32_t result, size_t input_rows_count) const override {
88
117
        RETURN_IF_ERROR(validate_spatial_wkb_inputs(block, arguments));
89
117
        return GeoFunction<Impl>::execute_impl(context, block, arguments, result, input_rows_count);
90
117
    }
_ZNK5doris21SpatialWkbGeoFunctionINS_18StRelationFunctionINS_14StOverlapsFuncEEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
87
113
                        uint32_t result, size_t input_rows_count) const override {
88
113
        RETURN_IF_ERROR(validate_spatial_wkb_inputs(block, arguments));
89
113
        return GeoFunction<Impl>::execute_impl(context, block, arguments, result, input_rows_count);
90
113
    }
_ZNK5doris21SpatialWkbGeoFunctionINS_6StAreaILb1EEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
87
51
                        uint32_t result, size_t input_rows_count) const override {
88
51
        RETURN_IF_ERROR(validate_spatial_wkb_inputs(block, arguments));
89
49
        return GeoFunction<Impl>::execute_impl(context, block, arguments, result, input_rows_count);
90
51
    }
_ZNK5doris21SpatialWkbGeoFunctionINS_6StAreaILb0EEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
87
41
                        uint32_t result, size_t input_rows_count) const override {
88
41
        RETURN_IF_ERROR(validate_spatial_wkb_inputs(block, arguments));
89
40
        return GeoFunction<Impl>::execute_impl(context, block, arguments, result, input_rows_count);
90
41
    }
_ZNK5doris21SpatialWkbGeoFunctionINS_10StAsBinaryEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
87
57
                        uint32_t result, size_t input_rows_count) const override {
88
57
        RETURN_IF_ERROR(validate_spatial_wkb_inputs(block, arguments));
89
57
        return GeoFunction<Impl>::execute_impl(context, block, arguments, result, input_rows_count);
90
57
    }
_ZNK5doris21SpatialWkbGeoFunctionINS_8StLengthEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
87
28
                        uint32_t result, size_t input_rows_count) const override {
88
28
        RETURN_IF_ERROR(validate_spatial_wkb_inputs(block, arguments));
89
27
        return GeoFunction<Impl>::execute_impl(context, block, arguments, result, input_rows_count);
90
28
    }
_ZNK5doris21SpatialWkbGeoFunctionINS_14StGeometryTypeEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
87
46
                        uint32_t result, size_t input_rows_count) const override {
88
46
        RETURN_IF_ERROR(validate_spatial_wkb_inputs(block, arguments));
89
46
        return GeoFunction<Impl>::execute_impl(context, block, arguments, result, input_rows_count);
90
46
    }
_ZNK5doris21SpatialWkbGeoFunctionINS_18StDistanceFunctionILb0EEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
87
106
                        uint32_t result, size_t input_rows_count) const override {
88
106
        RETURN_IF_ERROR(validate_spatial_wkb_inputs(block, arguments));
89
105
        return GeoFunction<Impl>::execute_impl(context, block, arguments, result, input_rows_count);
90
106
    }
_ZNK5doris21SpatialWkbGeoFunctionINS_18StDistanceFunctionILb1EEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
87
41
                        uint32_t result, size_t input_rows_count) const override {
88
41
        RETURN_IF_ERROR(validate_spatial_wkb_inputs(block, arguments));
89
41
        return GeoFunction<Impl>::execute_impl(context, block, arguments, result, input_rows_count);
90
41
    }
91
};
92
93
} // namespace doris