Coverage Report

Created: 2026-10-31 01:00

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
3.30k
    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
35
    size_t get_number_of_arguments() const override { return Impl::NUM_ARGS; }
_ZNK5doris11GeoFunctionINS_9StAzimuthEE23get_number_of_argumentsEv
Line
Count
Source
64
50
    size_t get_number_of_arguments() const override { return Impl::NUM_ARGS; }
_ZNK5doris11GeoFunctionINS_18StRelationFunctionINS_14StContainsFuncEEEE23get_number_of_argumentsEv
Line
Count
Source
64
274
    size_t get_number_of_arguments() const override { return Impl::NUM_ARGS; }
_ZNK5doris11GeoFunctionINS_18StRelationFunctionINS_16StIntersectsFuncEEEE23get_number_of_argumentsEv
Line
Count
Source
64
379
    size_t get_number_of_arguments() const override { return Impl::NUM_ARGS; }
_ZNK5doris11GeoFunctionINS_18StRelationFunctionINS_14StDisjointFuncEEEE23get_number_of_argumentsEv
Line
Count
Source
64
308
    size_t get_number_of_arguments() const override { return Impl::NUM_ARGS; }
_ZNK5doris11GeoFunctionINS_18StRelationFunctionINS_13StTouchesFuncEEEE23get_number_of_argumentsEv
Line
Count
Source
64
376
    size_t get_number_of_arguments() const override { return Impl::NUM_ARGS; }
_ZNK5doris11GeoFunctionINS_18StRelationFunctionINS_12StWithinFuncEEEE23get_number_of_argumentsEv
Line
Count
Source
64
181
    size_t get_number_of_arguments() const override { return Impl::NUM_ARGS; }
_ZNK5doris11GeoFunctionINS_18StRelationFunctionINS_12StEqualsFuncEEEE23get_number_of_argumentsEv
Line
Count
Source
64
139
    size_t get_number_of_arguments() const override { return Impl::NUM_ARGS; }
_ZNK5doris11GeoFunctionINS_18StRelationFunctionINS_14StOverlapsFuncEEEE23get_number_of_argumentsEv
Line
Count
Source
64
136
    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
47
    size_t get_number_of_arguments() const override { return Impl::NUM_ARGS; }
_ZNK5doris11GeoFunctionINS_6StAreaILb0EEEE23get_number_of_argumentsEv
Line
Count
Source
64
35
    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
30
    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
119
    size_t get_number_of_arguments() const override { return Impl::NUM_ARGS; }
_ZNK5doris11GeoFunctionINS_18StDistanceFunctionILb1EEEE23get_number_of_argumentsEv
Line
Count
Source
64
54
    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
3.34k
    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
36
    bool is_variadic() const override { return false; }
_ZNK5doris11GeoFunctionINS_9StAzimuthEE11is_variadicEv
Line
Count
Source
65
51
    bool is_variadic() const override { return false; }
_ZNK5doris11GeoFunctionINS_18StRelationFunctionINS_14StContainsFuncEEEE11is_variadicEv
Line
Count
Source
65
275
    bool is_variadic() const override { return false; }
_ZNK5doris11GeoFunctionINS_18StRelationFunctionINS_16StIntersectsFuncEEEE11is_variadicEv
Line
Count
Source
65
380
    bool is_variadic() const override { return false; }
_ZNK5doris11GeoFunctionINS_18StRelationFunctionINS_14StDisjointFuncEEEE11is_variadicEv
Line
Count
Source
65
309
    bool is_variadic() const override { return false; }
_ZNK5doris11GeoFunctionINS_18StRelationFunctionINS_13StTouchesFuncEEEE11is_variadicEv
Line
Count
Source
65
377
    bool is_variadic() const override { return false; }
_ZNK5doris11GeoFunctionINS_18StRelationFunctionINS_12StWithinFuncEEEE11is_variadicEv
Line
Count
Source
65
182
    bool is_variadic() const override { return false; }
_ZNK5doris11GeoFunctionINS_18StRelationFunctionINS_12StEqualsFuncEEEE11is_variadicEv
Line
Count
Source
65
140
    bool is_variadic() const override { return false; }
_ZNK5doris11GeoFunctionINS_18StRelationFunctionINS_14StOverlapsFuncEEEE11is_variadicEv
Line
Count
Source
65
137
    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
232
    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
48
    bool is_variadic() const override { return false; }
_ZNK5doris11GeoFunctionINS_6StAreaILb0EEEE11is_variadicEv
Line
Count
Source
65
36
    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
31
    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
120
    bool is_variadic() const override { return false; }
_ZNK5doris11GeoFunctionINS_18StDistanceFunctionILb1EEEE11is_variadicEv
Line
Count
Source
65
55
    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
3.28k
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
67
3.28k
        return make_nullable(std::make_shared<ReturnType>());
68
3.28k
    }
_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
35
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
67
35
        return make_nullable(std::make_shared<ReturnType>());
68
35
    }
_ZNK5doris11GeoFunctionINS_9StAzimuthEE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS7_EE
Line
Count
Source
66
50
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
67
50
        return make_nullable(std::make_shared<ReturnType>());
68
50
    }
_ZNK5doris11GeoFunctionINS_18StRelationFunctionINS_14StContainsFuncEEEE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS9_EE
Line
Count
Source
66
274
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
67
274
        return make_nullable(std::make_shared<ReturnType>());
68
274
    }
_ZNK5doris11GeoFunctionINS_18StRelationFunctionINS_16StIntersectsFuncEEEE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS9_EE
Line
Count
Source
66
379
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
67
379
        return make_nullable(std::make_shared<ReturnType>());
68
379
    }
_ZNK5doris11GeoFunctionINS_18StRelationFunctionINS_14StDisjointFuncEEEE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS9_EE
Line
Count
Source
66
308
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
67
308
        return make_nullable(std::make_shared<ReturnType>());
68
308
    }
_ZNK5doris11GeoFunctionINS_18StRelationFunctionINS_13StTouchesFuncEEEE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS9_EE
Line
Count
Source
66
376
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
67
376
        return make_nullable(std::make_shared<ReturnType>());
68
376
    }
_ZNK5doris11GeoFunctionINS_18StRelationFunctionINS_12StWithinFuncEEEE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS9_EE
Line
Count
Source
66
181
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
67
181
        return make_nullable(std::make_shared<ReturnType>());
68
181
    }
_ZNK5doris11GeoFunctionINS_18StRelationFunctionINS_12StEqualsFuncEEEE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS9_EE
Line
Count
Source
66
139
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
67
139
        return make_nullable(std::make_shared<ReturnType>());
68
139
    }
_ZNK5doris11GeoFunctionINS_18StRelationFunctionINS_14StOverlapsFuncEEEE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS9_EE
Line
Count
Source
66
136
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
67
136
        return make_nullable(std::make_shared<ReturnType>());
68
136
    }
_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
47
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
67
47
        return make_nullable(std::make_shared<ReturnType>());
68
47
    }
_ZNK5doris11GeoFunctionINS_6StAreaILb0EEEE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS8_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
    }
_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
30
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
67
30
        return make_nullable(std::make_shared<ReturnType>());
68
30
    }
_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
119
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
67
119
        return make_nullable(std::make_shared<ReturnType>());
68
119
    }
_ZNK5doris11GeoFunctionINS_18StDistanceFunctionILb1EEEE20get_return_type_implERKSt6vectorISt10shared_ptrIKNS_9IDataTypeEESaIS8_EE
Line
Count
Source
66
54
    DataTypePtr get_return_type_impl(const DataTypes& arguments) const override {
67
54
        return make_nullable(std::make_shared<ReturnType>());
68
54
    }
_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
6.07k
                        uint32_t result, size_t input_rows_count) const override {
72
6.07k
        return Impl::execute(block, arguments, result);
73
6.07k
    }
_ZNK5doris11GeoFunctionINS_7StPointEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
71
204
                        uint32_t result, size_t input_rows_count) const override {
72
204
        return Impl::execute(block, arguments, result);
73
204
    }
_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
12
                        uint32_t result, size_t input_rows_count) const override {
72
12
        return Impl::execute(block, arguments, result);
73
12
    }
_ZNK5doris11GeoFunctionINS_7StAngleEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
71
38
                        uint32_t result, size_t input_rows_count) const override {
72
38
        return Impl::execute(block, arguments, result);
73
38
    }
_ZNK5doris11GeoFunctionINS_9StAzimuthEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
71
53
                        uint32_t result, size_t input_rows_count) const override {
72
53
        return Impl::execute(block, arguments, result);
73
53
    }
_ZNK5doris11GeoFunctionINS_18StRelationFunctionINS_14StContainsFuncEEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
71
285
                        uint32_t result, size_t input_rows_count) const override {
72
285
        return Impl::execute(block, arguments, result);
73
285
    }
_ZNK5doris11GeoFunctionINS_18StRelationFunctionINS_16StIntersectsFuncEEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
71
379
                        uint32_t result, size_t input_rows_count) const override {
72
379
        return Impl::execute(block, arguments, result);
73
379
    }
_ZNK5doris11GeoFunctionINS_18StRelationFunctionINS_14StDisjointFuncEEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
71
308
                        uint32_t result, size_t input_rows_count) const override {
72
308
        return Impl::execute(block, arguments, result);
73
308
    }
_ZNK5doris11GeoFunctionINS_18StRelationFunctionINS_13StTouchesFuncEEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
71
376
                        uint32_t result, size_t input_rows_count) const override {
72
376
        return Impl::execute(block, arguments, result);
73
376
    }
_ZNK5doris11GeoFunctionINS_18StRelationFunctionINS_12StWithinFuncEEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
71
187
                        uint32_t result, size_t input_rows_count) const override {
72
187
        return Impl::execute(block, arguments, result);
73
187
    }
_ZNK5doris11GeoFunctionINS_18StRelationFunctionINS_12StEqualsFuncEEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
71
139
                        uint32_t result, size_t input_rows_count) const override {
72
139
        return Impl::execute(block, arguments, result);
73
139
    }
_ZNK5doris11GeoFunctionINS_18StRelationFunctionINS_14StOverlapsFuncEEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
71
142
                        uint32_t result, size_t input_rows_count) const override {
72
142
        return Impl::execute(block, arguments, result);
73
142
    }
_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
277
                        uint32_t result, size_t input_rows_count) const override {
72
277
        return Impl::execute(block, arguments, result);
73
277
    }
_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
25
                        uint32_t result, size_t input_rows_count) const override {
72
25
        return Impl::execute(block, arguments, result);
73
25
    }
_ZNK5doris11GeoFunctionINS_6StAreaILb1EEEE12execute_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_6StAreaILb0EEEE12execute_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_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
32
                        uint32_t result, size_t input_rows_count) const override {
72
32
        return Impl::execute(block, arguments, result);
73
32
    }
_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
121
                        uint32_t result, size_t input_rows_count) const override {
72
121
        return Impl::execute(block, arguments, result);
73
121
    }
_ZNK5doris11GeoFunctionINS_18StDistanceFunctionILb1EEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
71
54
                        uint32_t result, size_t input_rows_count) const override {
72
54
        return Impl::execute(block, arguments, result);
73
54
    }
_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.49k
    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
44
    static FunctionPtr create() { return std::make_shared<SpatialWkbGeoFunction<Impl>>(); }
_ZN5doris21SpatialWkbGeoFunctionINS_9StAzimuthEE6createEv
Line
Count
Source
83
59
    static FunctionPtr create() { return std::make_shared<SpatialWkbGeoFunction<Impl>>(); }
_ZN5doris21SpatialWkbGeoFunctionINS_18StRelationFunctionINS_14StContainsFuncEEEE6createEv
Line
Count
Source
83
283
    static FunctionPtr create() { return std::make_shared<SpatialWkbGeoFunction<Impl>>(); }
_ZN5doris21SpatialWkbGeoFunctionINS_18StRelationFunctionINS_16StIntersectsFuncEEEE6createEv
Line
Count
Source
83
388
    static FunctionPtr create() { return std::make_shared<SpatialWkbGeoFunction<Impl>>(); }
_ZN5doris21SpatialWkbGeoFunctionINS_18StRelationFunctionINS_14StDisjointFuncEEEE6createEv
Line
Count
Source
83
317
    static FunctionPtr create() { return std::make_shared<SpatialWkbGeoFunction<Impl>>(); }
_ZN5doris21SpatialWkbGeoFunctionINS_18StRelationFunctionINS_13StTouchesFuncEEEE6createEv
Line
Count
Source
83
385
    static FunctionPtr create() { return std::make_shared<SpatialWkbGeoFunction<Impl>>(); }
_ZN5doris21SpatialWkbGeoFunctionINS_18StRelationFunctionINS_12StWithinFuncEEEE6createEv
Line
Count
Source
83
190
    static FunctionPtr create() { return std::make_shared<SpatialWkbGeoFunction<Impl>>(); }
_ZN5doris21SpatialWkbGeoFunctionINS_18StRelationFunctionINS_12StEqualsFuncEEEE6createEv
Line
Count
Source
83
148
    static FunctionPtr create() { return std::make_shared<SpatialWkbGeoFunction<Impl>>(); }
_ZN5doris21SpatialWkbGeoFunctionINS_18StRelationFunctionINS_14StOverlapsFuncEEEE6createEv
Line
Count
Source
83
145
    static FunctionPtr create() { return std::make_shared<SpatialWkbGeoFunction<Impl>>(); }
_ZN5doris21SpatialWkbGeoFunctionINS_6StAreaILb1EEEE6createEv
Line
Count
Source
83
56
    static FunctionPtr create() { return std::make_shared<SpatialWkbGeoFunction<Impl>>(); }
_ZN5doris21SpatialWkbGeoFunctionINS_6StAreaILb0EEEE6createEv
Line
Count
Source
83
44
    static FunctionPtr create() { return std::make_shared<SpatialWkbGeoFunction<Impl>>(); }
_ZN5doris21SpatialWkbGeoFunctionINS_8StLengthEE6createEv
Line
Count
Source
83
39
    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
128
    static FunctionPtr create() { return std::make_shared<SpatialWkbGeoFunction<Impl>>(); }
_ZN5doris21SpatialWkbGeoFunctionINS_18StDistanceFunctionILb1EEEE6createEv
Line
Count
Source
83
63
    static FunctionPtr create() { return std::make_shared<SpatialWkbGeoFunction<Impl>>(); }
84
7.30k
    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
73
    bool use_default_implementation_for_nulls() const override { return false; }
_ZNK5doris21SpatialWkbGeoFunctionINS_9StAzimuthEE36use_default_implementation_for_nullsEv
Line
Count
Source
84
103
    bool use_default_implementation_for_nulls() const override { return false; }
_ZNK5doris21SpatialWkbGeoFunctionINS_18StRelationFunctionINS_14StContainsFuncEEEE36use_default_implementation_for_nullsEv
Line
Count
Source
84
560
    bool use_default_implementation_for_nulls() const override { return false; }
_ZNK5doris21SpatialWkbGeoFunctionINS_18StRelationFunctionINS_16StIntersectsFuncEEEE36use_default_implementation_for_nullsEv
Line
Count
Source
84
758
    bool use_default_implementation_for_nulls() const override { return false; }
_ZNK5doris21SpatialWkbGeoFunctionINS_18StRelationFunctionINS_14StDisjointFuncEEEE36use_default_implementation_for_nullsEv
Line
Count
Source
84
616
    bool use_default_implementation_for_nulls() const override { return false; }
_ZNK5doris21SpatialWkbGeoFunctionINS_18StRelationFunctionINS_13StTouchesFuncEEEE36use_default_implementation_for_nullsEv
Line
Count
Source
84
752
    bool use_default_implementation_for_nulls() const override { return false; }
_ZNK5doris21SpatialWkbGeoFunctionINS_18StRelationFunctionINS_12StWithinFuncEEEE36use_default_implementation_for_nullsEv
Line
Count
Source
84
368
    bool use_default_implementation_for_nulls() const override { return false; }
_ZNK5doris21SpatialWkbGeoFunctionINS_18StRelationFunctionINS_12StEqualsFuncEEEE36use_default_implementation_for_nullsEv
Line
Count
Source
84
278
    bool use_default_implementation_for_nulls() const override { return false; }
_ZNK5doris21SpatialWkbGeoFunctionINS_18StRelationFunctionINS_14StOverlapsFuncEEEE36use_default_implementation_for_nullsEv
Line
Count
Source
84
278
    bool use_default_implementation_for_nulls() const override { return false; }
_ZNK5doris21SpatialWkbGeoFunctionINS_6StAreaILb1EEEE36use_default_implementation_for_nullsEv
Line
Count
Source
84
106
    bool use_default_implementation_for_nulls() const override { return false; }
_ZNK5doris21SpatialWkbGeoFunctionINS_6StAreaILb0EEEE36use_default_implementation_for_nullsEv
Line
Count
Source
84
82
    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
63
    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
241
    bool use_default_implementation_for_nulls() const override { return false; }
_ZNK5doris21SpatialWkbGeoFunctionINS_18StDistanceFunctionILb1EEEE36use_default_implementation_for_nullsEv
Line
Count
Source
84
108
    bool use_default_implementation_for_nulls() const override { return false; }
85
86
    Status execute_impl(FunctionContext* context, Block& block, const ColumnNumbers& arguments,
87
4.94k
                        uint32_t result, size_t input_rows_count) const override {
88
4.94k
        RETURN_IF_ERROR(validate_spatial_wkb_inputs(block, arguments));
89
4.93k
        return GeoFunction<Impl>::execute_impl(context, block, arguments, result, input_rows_count);
90
4.94k
    }
_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
38
                        uint32_t result, size_t input_rows_count) const override {
88
38
        RETURN_IF_ERROR(validate_spatial_wkb_inputs(block, arguments));
89
38
        return GeoFunction<Impl>::execute_impl(context, block, arguments, result, input_rows_count);
90
38
    }
_ZNK5doris21SpatialWkbGeoFunctionINS_9StAzimuthEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
87
53
                        uint32_t result, size_t input_rows_count) const override {
88
53
        RETURN_IF_ERROR(validate_spatial_wkb_inputs(block, arguments));
89
53
        return GeoFunction<Impl>::execute_impl(context, block, arguments, result, input_rows_count);
90
53
    }
_ZNK5doris21SpatialWkbGeoFunctionINS_18StRelationFunctionINS_14StContainsFuncEEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
87
286
                        uint32_t result, size_t input_rows_count) const override {
88
286
        RETURN_IF_ERROR(validate_spatial_wkb_inputs(block, arguments));
89
286
        return GeoFunction<Impl>::execute_impl(context, block, arguments, result, input_rows_count);
90
286
    }
_ZNK5doris21SpatialWkbGeoFunctionINS_18StRelationFunctionINS_16StIntersectsFuncEEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
87
379
                        uint32_t result, size_t input_rows_count) const override {
88
379
        RETURN_IF_ERROR(validate_spatial_wkb_inputs(block, arguments));
89
379
        return GeoFunction<Impl>::execute_impl(context, block, arguments, result, input_rows_count);
90
379
    }
_ZNK5doris21SpatialWkbGeoFunctionINS_18StRelationFunctionINS_14StDisjointFuncEEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
87
308
                        uint32_t result, size_t input_rows_count) const override {
88
308
        RETURN_IF_ERROR(validate_spatial_wkb_inputs(block, arguments));
89
308
        return GeoFunction<Impl>::execute_impl(context, block, arguments, result, input_rows_count);
90
308
    }
_ZNK5doris21SpatialWkbGeoFunctionINS_18StRelationFunctionINS_13StTouchesFuncEEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
87
376
                        uint32_t result, size_t input_rows_count) const override {
88
376
        RETURN_IF_ERROR(validate_spatial_wkb_inputs(block, arguments));
89
376
        return GeoFunction<Impl>::execute_impl(context, block, arguments, result, input_rows_count);
90
376
    }
_ZNK5doris21SpatialWkbGeoFunctionINS_18StRelationFunctionINS_12StWithinFuncEEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
87
187
                        uint32_t result, size_t input_rows_count) const override {
88
187
        RETURN_IF_ERROR(validate_spatial_wkb_inputs(block, arguments));
89
187
        return GeoFunction<Impl>::execute_impl(context, block, arguments, result, input_rows_count);
90
187
    }
_ZNK5doris21SpatialWkbGeoFunctionINS_18StRelationFunctionINS_12StEqualsFuncEEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
87
139
                        uint32_t result, size_t input_rows_count) const override {
88
139
        RETURN_IF_ERROR(validate_spatial_wkb_inputs(block, arguments));
89
139
        return GeoFunction<Impl>::execute_impl(context, block, arguments, result, input_rows_count);
90
139
    }
_ZNK5doris21SpatialWkbGeoFunctionINS_18StRelationFunctionINS_14StOverlapsFuncEEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
87
142
                        uint32_t result, size_t input_rows_count) const override {
88
142
        RETURN_IF_ERROR(validate_spatial_wkb_inputs(block, arguments));
89
142
        return GeoFunction<Impl>::execute_impl(context, block, arguments, result, input_rows_count);
90
142
    }
_ZNK5doris21SpatialWkbGeoFunctionINS_6StAreaILb1EEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
87
59
                        uint32_t result, size_t input_rows_count) const override {
88
59
        RETURN_IF_ERROR(validate_spatial_wkb_inputs(block, arguments));
89
57
        return GeoFunction<Impl>::execute_impl(context, block, arguments, result, input_rows_count);
90
59
    }
_ZNK5doris21SpatialWkbGeoFunctionINS_6StAreaILb0EEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
87
47
                        uint32_t result, size_t input_rows_count) const override {
88
47
        RETURN_IF_ERROR(validate_spatial_wkb_inputs(block, arguments));
89
46
        return GeoFunction<Impl>::execute_impl(context, block, arguments, result, input_rows_count);
90
47
    }
_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
33
                        uint32_t result, size_t input_rows_count) const override {
88
33
        RETURN_IF_ERROR(validate_spatial_wkb_inputs(block, arguments));
89
32
        return GeoFunction<Impl>::execute_impl(context, block, arguments, result, input_rows_count);
90
33
    }
_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
122
                        uint32_t result, size_t input_rows_count) const override {
88
122
        RETURN_IF_ERROR(validate_spatial_wkb_inputs(block, arguments));
89
121
        return GeoFunction<Impl>::execute_impl(context, block, arguments, result, input_rows_count);
90
122
    }
_ZNK5doris21SpatialWkbGeoFunctionINS_18StDistanceFunctionILb1EEEE12execute_implEPNS_15FunctionContextERNS_5BlockERKSt6vectorIjSaIjEEjm
Line
Count
Source
87
54
                        uint32_t result, size_t input_rows_count) const override {
88
54
        RETURN_IF_ERROR(validate_spatial_wkb_inputs(block, arguments));
89
54
        return GeoFunction<Impl>::execute_impl(context, block, arguments, result, input_rows_count);
90
54
    }
91
};
92
93
} // namespace doris