Coverage Report

Created: 2026-04-10 04:05

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
be/src/exprs/aggregate/aggregate_function_collect_impl.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 "common/exception.h"
21
#include "common/status.h"
22
#include "core/call_on_type_index.h"
23
#include "exprs/aggregate/aggregate_function_collect.h"
24
#include "exprs/aggregate/factory_helpers.h"
25
#include "exprs/aggregate/helpers.h"
26
27
namespace doris {
28
29
template <PrimitiveType T, bool HasLimit>
30
AggregateFunctionPtr do_create_agg_function_collect(bool distinct, const DataTypes& argument_types,
31
                                                    const bool result_is_nullable,
32
33
33
                                                    const AggregateFunctionAttr& attr) {
34
33
    if (distinct) {
35
15
        if constexpr (T == INVALID_TYPE) {
36
0
            throw Exception(ErrorCode::INTERNAL_ERROR,
37
0
                            "unexpected type for collect, please check the input");
38
15
        } else {
39
15
            return creator_without_type::create<AggregateFunctionCollect<
40
15
                    AggregateFunctionCollectSetData<T, HasLimit>, HasLimit>>(
41
15
                    argument_types, result_is_nullable, attr);
42
15
        }
43
18
    } else {
44
18
        return creator_without_type::create<
45
18
                AggregateFunctionCollect<AggregateFunctionCollectListData<T, HasLimit>, HasLimit>>(
46
18
                argument_types, result_is_nullable, attr);
47
18
    }
48
33
}
Unexecuted instantiation: _ZN5doris30do_create_agg_function_collectILNS_13PrimitiveTypeE2ELb1EEESt10shared_ptrINS_18IAggregateFunctionEEbRKSt6vectorIS2_IKNS_9IDataTypeEESaIS8_EEbRKNS_21AggregateFunctionAttrE
Unexecuted instantiation: _ZN5doris30do_create_agg_function_collectILNS_13PrimitiveTypeE3ELb1EEESt10shared_ptrINS_18IAggregateFunctionEEbRKSt6vectorIS2_IKNS_9IDataTypeEESaIS8_EEbRKNS_21AggregateFunctionAttrE
Unexecuted instantiation: _ZN5doris30do_create_agg_function_collectILNS_13PrimitiveTypeE4ELb1EEESt10shared_ptrINS_18IAggregateFunctionEEbRKSt6vectorIS2_IKNS_9IDataTypeEESaIS8_EEbRKNS_21AggregateFunctionAttrE
Unexecuted instantiation: _ZN5doris30do_create_agg_function_collectILNS_13PrimitiveTypeE5ELb1EEESt10shared_ptrINS_18IAggregateFunctionEEbRKSt6vectorIS2_IKNS_9IDataTypeEESaIS8_EEbRKNS_21AggregateFunctionAttrE
_ZN5doris30do_create_agg_function_collectILNS_13PrimitiveTypeE6ELb1EEESt10shared_ptrINS_18IAggregateFunctionEEbRKSt6vectorIS2_IKNS_9IDataTypeEESaIS8_EEbRKNS_21AggregateFunctionAttrE
Line
Count
Source
33
2
                                                    const AggregateFunctionAttr& attr) {
34
2
    if (distinct) {
35
        if constexpr (T == INVALID_TYPE) {
36
            throw Exception(ErrorCode::INTERNAL_ERROR,
37
                            "unexpected type for collect, please check the input");
38
1
        } else {
39
1
            return creator_without_type::create<AggregateFunctionCollect<
40
1
                    AggregateFunctionCollectSetData<T, HasLimit>, HasLimit>>(
41
1
                    argument_types, result_is_nullable, attr);
42
1
        }
43
1
    } else {
44
1
        return creator_without_type::create<
45
1
                AggregateFunctionCollect<AggregateFunctionCollectListData<T, HasLimit>, HasLimit>>(
46
1
                argument_types, result_is_nullable, attr);
47
1
    }
48
2
}
Unexecuted instantiation: _ZN5doris30do_create_agg_function_collectILNS_13PrimitiveTypeE7ELb1EEESt10shared_ptrINS_18IAggregateFunctionEEbRKSt6vectorIS2_IKNS_9IDataTypeEESaIS8_EEbRKNS_21AggregateFunctionAttrE
Unexecuted instantiation: _ZN5doris30do_create_agg_function_collectILNS_13PrimitiveTypeE8ELb1EEESt10shared_ptrINS_18IAggregateFunctionEEbRKSt6vectorIS2_IKNS_9IDataTypeEESaIS8_EEbRKNS_21AggregateFunctionAttrE
Unexecuted instantiation: _ZN5doris30do_create_agg_function_collectILNS_13PrimitiveTypeE9ELb1EEESt10shared_ptrINS_18IAggregateFunctionEEbRKSt6vectorIS2_IKNS_9IDataTypeEESaIS8_EEbRKNS_21AggregateFunctionAttrE
Unexecuted instantiation: _ZN5doris30do_create_agg_function_collectILNS_13PrimitiveTypeE28ELb1EEESt10shared_ptrINS_18IAggregateFunctionEEbRKSt6vectorIS2_IKNS_9IDataTypeEESaIS8_EEbRKNS_21AggregateFunctionAttrE
Unexecuted instantiation: _ZN5doris30do_create_agg_function_collectILNS_13PrimitiveTypeE29ELb1EEESt10shared_ptrINS_18IAggregateFunctionEEbRKSt6vectorIS2_IKNS_9IDataTypeEESaIS8_EEbRKNS_21AggregateFunctionAttrE
Unexecuted instantiation: _ZN5doris30do_create_agg_function_collectILNS_13PrimitiveTypeE20ELb1EEESt10shared_ptrINS_18IAggregateFunctionEEbRKSt6vectorIS2_IKNS_9IDataTypeEESaIS8_EEbRKNS_21AggregateFunctionAttrE
Unexecuted instantiation: _ZN5doris30do_create_agg_function_collectILNS_13PrimitiveTypeE30ELb1EEESt10shared_ptrINS_18IAggregateFunctionEEbRKSt6vectorIS2_IKNS_9IDataTypeEESaIS8_EEbRKNS_21AggregateFunctionAttrE
Unexecuted instantiation: _ZN5doris30do_create_agg_function_collectILNS_13PrimitiveTypeE35ELb1EEESt10shared_ptrINS_18IAggregateFunctionEEbRKSt6vectorIS2_IKNS_9IDataTypeEESaIS8_EEbRKNS_21AggregateFunctionAttrE
Unexecuted instantiation: _ZN5doris30do_create_agg_function_collectILNS_13PrimitiveTypeE11ELb1EEESt10shared_ptrINS_18IAggregateFunctionEEbRKSt6vectorIS2_IKNS_9IDataTypeEESaIS8_EEbRKNS_21AggregateFunctionAttrE
Unexecuted instantiation: _ZN5doris30do_create_agg_function_collectILNS_13PrimitiveTypeE25ELb1EEESt10shared_ptrINS_18IAggregateFunctionEEbRKSt6vectorIS2_IKNS_9IDataTypeEESaIS8_EEbRKNS_21AggregateFunctionAttrE
Unexecuted instantiation: _ZN5doris30do_create_agg_function_collectILNS_13PrimitiveTypeE26ELb1EEESt10shared_ptrINS_18IAggregateFunctionEEbRKSt6vectorIS2_IKNS_9IDataTypeEESaIS8_EEbRKNS_21AggregateFunctionAttrE
Unexecuted instantiation: _ZN5doris30do_create_agg_function_collectILNS_13PrimitiveTypeE12ELb1EEESt10shared_ptrINS_18IAggregateFunctionEEbRKSt6vectorIS2_IKNS_9IDataTypeEESaIS8_EEbRKNS_21AggregateFunctionAttrE
Unexecuted instantiation: _ZN5doris30do_create_agg_function_collectILNS_13PrimitiveTypeE27ELb1EEESt10shared_ptrINS_18IAggregateFunctionEEbRKSt6vectorIS2_IKNS_9IDataTypeEESaIS8_EEbRKNS_21AggregateFunctionAttrE
Unexecuted instantiation: _ZN5doris30do_create_agg_function_collectILNS_13PrimitiveTypeE42ELb1EEESt10shared_ptrINS_18IAggregateFunctionEEbRKSt6vectorIS2_IKNS_9IDataTypeEESaIS8_EEbRKNS_21AggregateFunctionAttrE
Unexecuted instantiation: _ZN5doris30do_create_agg_function_collectILNS_13PrimitiveTypeE36ELb1EEESt10shared_ptrINS_18IAggregateFunctionEEbRKSt6vectorIS2_IKNS_9IDataTypeEESaIS8_EEbRKNS_21AggregateFunctionAttrE
Unexecuted instantiation: _ZN5doris30do_create_agg_function_collectILNS_13PrimitiveTypeE37ELb1EEESt10shared_ptrINS_18IAggregateFunctionEEbRKSt6vectorIS2_IKNS_9IDataTypeEESaIS8_EEbRKNS_21AggregateFunctionAttrE
Unexecuted instantiation: _ZN5doris30do_create_agg_function_collectILNS_13PrimitiveTypeE23ELb1EEESt10shared_ptrINS_18IAggregateFunctionEEbRKSt6vectorIS2_IKNS_9IDataTypeEESaIS8_EEbRKNS_21AggregateFunctionAttrE
Unexecuted instantiation: _ZN5doris30do_create_agg_function_collectILNS_13PrimitiveTypeE0ELb1EEESt10shared_ptrINS_18IAggregateFunctionEEbRKSt6vectorIS2_IKNS_9IDataTypeEESaIS8_EEbRKNS_21AggregateFunctionAttrE
Unexecuted instantiation: _ZN5doris30do_create_agg_function_collectILNS_13PrimitiveTypeE2ELb0EEESt10shared_ptrINS_18IAggregateFunctionEEbRKSt6vectorIS2_IKNS_9IDataTypeEESaIS8_EEbRKNS_21AggregateFunctionAttrE
_ZN5doris30do_create_agg_function_collectILNS_13PrimitiveTypeE3ELb0EEESt10shared_ptrINS_18IAggregateFunctionEEbRKSt6vectorIS2_IKNS_9IDataTypeEESaIS8_EEbRKNS_21AggregateFunctionAttrE
Line
Count
Source
33
2
                                                    const AggregateFunctionAttr& attr) {
34
2
    if (distinct) {
35
        if constexpr (T == INVALID_TYPE) {
36
            throw Exception(ErrorCode::INTERNAL_ERROR,
37
                            "unexpected type for collect, please check the input");
38
1
        } else {
39
1
            return creator_without_type::create<AggregateFunctionCollect<
40
1
                    AggregateFunctionCollectSetData<T, HasLimit>, HasLimit>>(
41
1
                    argument_types, result_is_nullable, attr);
42
1
        }
43
1
    } else {
44
1
        return creator_without_type::create<
45
1
                AggregateFunctionCollect<AggregateFunctionCollectListData<T, HasLimit>, HasLimit>>(
46
1
                argument_types, result_is_nullable, attr);
47
1
    }
48
2
}
_ZN5doris30do_create_agg_function_collectILNS_13PrimitiveTypeE4ELb0EEESt10shared_ptrINS_18IAggregateFunctionEEbRKSt6vectorIS2_IKNS_9IDataTypeEESaIS8_EEbRKNS_21AggregateFunctionAttrE
Line
Count
Source
33
2
                                                    const AggregateFunctionAttr& attr) {
34
2
    if (distinct) {
35
        if constexpr (T == INVALID_TYPE) {
36
            throw Exception(ErrorCode::INTERNAL_ERROR,
37
                            "unexpected type for collect, please check the input");
38
1
        } else {
39
1
            return creator_without_type::create<AggregateFunctionCollect<
40
1
                    AggregateFunctionCollectSetData<T, HasLimit>, HasLimit>>(
41
1
                    argument_types, result_is_nullable, attr);
42
1
        }
43
1
    } else {
44
1
        return creator_without_type::create<
45
1
                AggregateFunctionCollect<AggregateFunctionCollectListData<T, HasLimit>, HasLimit>>(
46
1
                argument_types, result_is_nullable, attr);
47
1
    }
48
2
}
_ZN5doris30do_create_agg_function_collectILNS_13PrimitiveTypeE5ELb0EEESt10shared_ptrINS_18IAggregateFunctionEEbRKSt6vectorIS2_IKNS_9IDataTypeEESaIS8_EEbRKNS_21AggregateFunctionAttrE
Line
Count
Source
33
4
                                                    const AggregateFunctionAttr& attr) {
34
4
    if (distinct) {
35
        if constexpr (T == INVALID_TYPE) {
36
            throw Exception(ErrorCode::INTERNAL_ERROR,
37
                            "unexpected type for collect, please check the input");
38
2
        } else {
39
2
            return creator_without_type::create<AggregateFunctionCollect<
40
2
                    AggregateFunctionCollectSetData<T, HasLimit>, HasLimit>>(
41
2
                    argument_types, result_is_nullable, attr);
42
2
        }
43
2
    } else {
44
2
        return creator_without_type::create<
45
2
                AggregateFunctionCollect<AggregateFunctionCollectListData<T, HasLimit>, HasLimit>>(
46
2
                argument_types, result_is_nullable, attr);
47
2
    }
48
4
}
_ZN5doris30do_create_agg_function_collectILNS_13PrimitiveTypeE6ELb0EEESt10shared_ptrINS_18IAggregateFunctionEEbRKSt6vectorIS2_IKNS_9IDataTypeEESaIS8_EEbRKNS_21AggregateFunctionAttrE
Line
Count
Source
33
4
                                                    const AggregateFunctionAttr& attr) {
34
4
    if (distinct) {
35
        if constexpr (T == INVALID_TYPE) {
36
            throw Exception(ErrorCode::INTERNAL_ERROR,
37
                            "unexpected type for collect, please check the input");
38
2
        } else {
39
2
            return creator_without_type::create<AggregateFunctionCollect<
40
2
                    AggregateFunctionCollectSetData<T, HasLimit>, HasLimit>>(
41
2
                    argument_types, result_is_nullable, attr);
42
2
        }
43
2
    } else {
44
2
        return creator_without_type::create<
45
2
                AggregateFunctionCollect<AggregateFunctionCollectListData<T, HasLimit>, HasLimit>>(
46
2
                argument_types, result_is_nullable, attr);
47
2
    }
48
4
}
_ZN5doris30do_create_agg_function_collectILNS_13PrimitiveTypeE7ELb0EEESt10shared_ptrINS_18IAggregateFunctionEEbRKSt6vectorIS2_IKNS_9IDataTypeEESaIS8_EEbRKNS_21AggregateFunctionAttrE
Line
Count
Source
33
4
                                                    const AggregateFunctionAttr& attr) {
34
4
    if (distinct) {
35
        if constexpr (T == INVALID_TYPE) {
36
            throw Exception(ErrorCode::INTERNAL_ERROR,
37
                            "unexpected type for collect, please check the input");
38
2
        } else {
39
2
            return creator_without_type::create<AggregateFunctionCollect<
40
2
                    AggregateFunctionCollectSetData<T, HasLimit>, HasLimit>>(
41
2
                    argument_types, result_is_nullable, attr);
42
2
        }
43
2
    } else {
44
2
        return creator_without_type::create<
45
2
                AggregateFunctionCollect<AggregateFunctionCollectListData<T, HasLimit>, HasLimit>>(
46
2
                argument_types, result_is_nullable, attr);
47
2
    }
48
4
}
Unexecuted instantiation: _ZN5doris30do_create_agg_function_collectILNS_13PrimitiveTypeE8ELb0EEESt10shared_ptrINS_18IAggregateFunctionEEbRKSt6vectorIS2_IKNS_9IDataTypeEESaIS8_EEbRKNS_21AggregateFunctionAttrE
Unexecuted instantiation: _ZN5doris30do_create_agg_function_collectILNS_13PrimitiveTypeE9ELb0EEESt10shared_ptrINS_18IAggregateFunctionEEbRKSt6vectorIS2_IKNS_9IDataTypeEESaIS8_EEbRKNS_21AggregateFunctionAttrE
Unexecuted instantiation: _ZN5doris30do_create_agg_function_collectILNS_13PrimitiveTypeE28ELb0EEESt10shared_ptrINS_18IAggregateFunctionEEbRKSt6vectorIS2_IKNS_9IDataTypeEESaIS8_EEbRKNS_21AggregateFunctionAttrE
Unexecuted instantiation: _ZN5doris30do_create_agg_function_collectILNS_13PrimitiveTypeE29ELb0EEESt10shared_ptrINS_18IAggregateFunctionEEbRKSt6vectorIS2_IKNS_9IDataTypeEESaIS8_EEbRKNS_21AggregateFunctionAttrE
_ZN5doris30do_create_agg_function_collectILNS_13PrimitiveTypeE20ELb0EEESt10shared_ptrINS_18IAggregateFunctionEEbRKSt6vectorIS2_IKNS_9IDataTypeEESaIS8_EEbRKNS_21AggregateFunctionAttrE
Line
Count
Source
33
4
                                                    const AggregateFunctionAttr& attr) {
34
4
    if (distinct) {
35
        if constexpr (T == INVALID_TYPE) {
36
            throw Exception(ErrorCode::INTERNAL_ERROR,
37
                            "unexpected type for collect, please check the input");
38
2
        } else {
39
2
            return creator_without_type::create<AggregateFunctionCollect<
40
2
                    AggregateFunctionCollectSetData<T, HasLimit>, HasLimit>>(
41
2
                    argument_types, result_is_nullable, attr);
42
2
        }
43
2
    } else {
44
2
        return creator_without_type::create<
45
2
                AggregateFunctionCollect<AggregateFunctionCollectListData<T, HasLimit>, HasLimit>>(
46
2
                argument_types, result_is_nullable, attr);
47
2
    }
48
4
}
Unexecuted instantiation: _ZN5doris30do_create_agg_function_collectILNS_13PrimitiveTypeE30ELb0EEESt10shared_ptrINS_18IAggregateFunctionEEbRKSt6vectorIS2_IKNS_9IDataTypeEESaIS8_EEbRKNS_21AggregateFunctionAttrE
Unexecuted instantiation: _ZN5doris30do_create_agg_function_collectILNS_13PrimitiveTypeE35ELb0EEESt10shared_ptrINS_18IAggregateFunctionEEbRKSt6vectorIS2_IKNS_9IDataTypeEESaIS8_EEbRKNS_21AggregateFunctionAttrE
Unexecuted instantiation: _ZN5doris30do_create_agg_function_collectILNS_13PrimitiveTypeE11ELb0EEESt10shared_ptrINS_18IAggregateFunctionEEbRKSt6vectorIS2_IKNS_9IDataTypeEESaIS8_EEbRKNS_21AggregateFunctionAttrE
_ZN5doris30do_create_agg_function_collectILNS_13PrimitiveTypeE25ELb0EEESt10shared_ptrINS_18IAggregateFunctionEEbRKSt6vectorIS2_IKNS_9IDataTypeEESaIS8_EEbRKNS_21AggregateFunctionAttrE
Line
Count
Source
33
2
                                                    const AggregateFunctionAttr& attr) {
34
2
    if (distinct) {
35
        if constexpr (T == INVALID_TYPE) {
36
            throw Exception(ErrorCode::INTERNAL_ERROR,
37
                            "unexpected type for collect, please check the input");
38
1
        } else {
39
1
            return creator_without_type::create<AggregateFunctionCollect<
40
1
                    AggregateFunctionCollectSetData<T, HasLimit>, HasLimit>>(
41
1
                    argument_types, result_is_nullable, attr);
42
1
        }
43
1
    } else {
44
1
        return creator_without_type::create<
45
1
                AggregateFunctionCollect<AggregateFunctionCollectListData<T, HasLimit>, HasLimit>>(
46
1
                argument_types, result_is_nullable, attr);
47
1
    }
48
2
}
_ZN5doris30do_create_agg_function_collectILNS_13PrimitiveTypeE26ELb0EEESt10shared_ptrINS_18IAggregateFunctionEEbRKSt6vectorIS2_IKNS_9IDataTypeEESaIS8_EEbRKNS_21AggregateFunctionAttrE
Line
Count
Source
33
2
                                                    const AggregateFunctionAttr& attr) {
34
2
    if (distinct) {
35
        if constexpr (T == INVALID_TYPE) {
36
            throw Exception(ErrorCode::INTERNAL_ERROR,
37
                            "unexpected type for collect, please check the input");
38
1
        } else {
39
1
            return creator_without_type::create<AggregateFunctionCollect<
40
1
                    AggregateFunctionCollectSetData<T, HasLimit>, HasLimit>>(
41
1
                    argument_types, result_is_nullable, attr);
42
1
        }
43
1
    } else {
44
1
        return creator_without_type::create<
45
1
                AggregateFunctionCollect<AggregateFunctionCollectListData<T, HasLimit>, HasLimit>>(
46
1
                argument_types, result_is_nullable, attr);
47
1
    }
48
2
}
Unexecuted instantiation: _ZN5doris30do_create_agg_function_collectILNS_13PrimitiveTypeE12ELb0EEESt10shared_ptrINS_18IAggregateFunctionEEbRKSt6vectorIS2_IKNS_9IDataTypeEESaIS8_EEbRKNS_21AggregateFunctionAttrE
Unexecuted instantiation: _ZN5doris30do_create_agg_function_collectILNS_13PrimitiveTypeE27ELb0EEESt10shared_ptrINS_18IAggregateFunctionEEbRKSt6vectorIS2_IKNS_9IDataTypeEESaIS8_EEbRKNS_21AggregateFunctionAttrE
Unexecuted instantiation: _ZN5doris30do_create_agg_function_collectILNS_13PrimitiveTypeE42ELb0EEESt10shared_ptrINS_18IAggregateFunctionEEbRKSt6vectorIS2_IKNS_9IDataTypeEESaIS8_EEbRKNS_21AggregateFunctionAttrE
Unexecuted instantiation: _ZN5doris30do_create_agg_function_collectILNS_13PrimitiveTypeE36ELb0EEESt10shared_ptrINS_18IAggregateFunctionEEbRKSt6vectorIS2_IKNS_9IDataTypeEESaIS8_EEbRKNS_21AggregateFunctionAttrE
Unexecuted instantiation: _ZN5doris30do_create_agg_function_collectILNS_13PrimitiveTypeE37ELb0EEESt10shared_ptrINS_18IAggregateFunctionEEbRKSt6vectorIS2_IKNS_9IDataTypeEESaIS8_EEbRKNS_21AggregateFunctionAttrE
_ZN5doris30do_create_agg_function_collectILNS_13PrimitiveTypeE23ELb0EEESt10shared_ptrINS_18IAggregateFunctionEEbRKSt6vectorIS2_IKNS_9IDataTypeEESaIS8_EEbRKNS_21AggregateFunctionAttrE
Line
Count
Source
33
4
                                                    const AggregateFunctionAttr& attr) {
34
4
    if (distinct) {
35
        if constexpr (T == INVALID_TYPE) {
36
            throw Exception(ErrorCode::INTERNAL_ERROR,
37
                            "unexpected type for collect, please check the input");
38
2
        } else {
39
2
            return creator_without_type::create<AggregateFunctionCollect<
40
2
                    AggregateFunctionCollectSetData<T, HasLimit>, HasLimit>>(
41
2
                    argument_types, result_is_nullable, attr);
42
2
        }
43
2
    } else {
44
2
        return creator_without_type::create<
45
2
                AggregateFunctionCollect<AggregateFunctionCollectListData<T, HasLimit>, HasLimit>>(
46
2
                argument_types, result_is_nullable, attr);
47
2
    }
48
4
}
_ZN5doris30do_create_agg_function_collectILNS_13PrimitiveTypeE0ELb0EEESt10shared_ptrINS_18IAggregateFunctionEEbRKSt6vectorIS2_IKNS_9IDataTypeEESaIS8_EEbRKNS_21AggregateFunctionAttrE
Line
Count
Source
33
3
                                                    const AggregateFunctionAttr& attr) {
34
3
    if (distinct) {
35
0
        if constexpr (T == INVALID_TYPE) {
36
0
            throw Exception(ErrorCode::INTERNAL_ERROR,
37
0
                            "unexpected type for collect, please check the input");
38
        } else {
39
            return creator_without_type::create<AggregateFunctionCollect<
40
                    AggregateFunctionCollectSetData<T, HasLimit>, HasLimit>>(
41
                    argument_types, result_is_nullable, attr);
42
        }
43
3
    } else {
44
3
        return creator_without_type::create<
45
3
                AggregateFunctionCollect<AggregateFunctionCollectListData<T, HasLimit>, HasLimit>>(
46
3
                argument_types, result_is_nullable, attr);
47
3
    }
48
3
}
49
50
template <bool HasLimit>
51
AggregateFunctionPtr create_aggregate_function_collect_impl(const std::string& name,
52
                                                            const DataTypes& argument_types,
53
                                                            const bool result_is_nullable,
54
55
33
                                                            const AggregateFunctionAttr& attr) {
56
33
    bool distinct = name == "collect_set";
57
58
33
    AggregateFunctionPtr agg_fn;
59
33
    auto call = [&](const auto& type) -> bool {
60
30
        using DispatcType = std::decay_t<decltype(type)>;
61
30
        agg_fn = do_create_agg_function_collect<DispatcType::PType, HasLimit>(
62
30
                distinct, argument_types, result_is_nullable, attr);
63
30
        return true;
64
30
    };
Unexecuted instantiation: _ZZN5doris38create_aggregate_function_collect_implILb1EEESt10shared_ptrINS_18IAggregateFunctionEERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKSt6vectorIS1_IKNS_9IDataTypeEESaISF_EEbRKNS_21AggregateFunctionAttrEENKUlRKT_E_clINS_16DispatchDataTypeILNS_13PrimitiveTypeE2EEEEEbSP_
Unexecuted instantiation: _ZZN5doris38create_aggregate_function_collect_implILb1EEESt10shared_ptrINS_18IAggregateFunctionEERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKSt6vectorIS1_IKNS_9IDataTypeEESaISF_EEbRKNS_21AggregateFunctionAttrEENKUlRKT_E_clINS_16DispatchDataTypeILNS_13PrimitiveTypeE3EEEEEbSP_
Unexecuted instantiation: _ZZN5doris38create_aggregate_function_collect_implILb1EEESt10shared_ptrINS_18IAggregateFunctionEERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKSt6vectorIS1_IKNS_9IDataTypeEESaISF_EEbRKNS_21AggregateFunctionAttrEENKUlRKT_E_clINS_16DispatchDataTypeILNS_13PrimitiveTypeE4EEEEEbSP_
Unexecuted instantiation: _ZZN5doris38create_aggregate_function_collect_implILb1EEESt10shared_ptrINS_18IAggregateFunctionEERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKSt6vectorIS1_IKNS_9IDataTypeEESaISF_EEbRKNS_21AggregateFunctionAttrEENKUlRKT_E_clINS_16DispatchDataTypeILNS_13PrimitiveTypeE5EEEEEbSP_
_ZZN5doris38create_aggregate_function_collect_implILb1EEESt10shared_ptrINS_18IAggregateFunctionEERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKSt6vectorIS1_IKNS_9IDataTypeEESaISF_EEbRKNS_21AggregateFunctionAttrEENKUlRKT_E_clINS_16DispatchDataTypeILNS_13PrimitiveTypeE6EEEEEbSP_
Line
Count
Source
59
2
    auto call = [&](const auto& type) -> bool {
60
2
        using DispatcType = std::decay_t<decltype(type)>;
61
2
        agg_fn = do_create_agg_function_collect<DispatcType::PType, HasLimit>(
62
2
                distinct, argument_types, result_is_nullable, attr);
63
2
        return true;
64
2
    };
Unexecuted instantiation: _ZZN5doris38create_aggregate_function_collect_implILb1EEESt10shared_ptrINS_18IAggregateFunctionEERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKSt6vectorIS1_IKNS_9IDataTypeEESaISF_EEbRKNS_21AggregateFunctionAttrEENKUlRKT_E_clINS_16DispatchDataTypeILNS_13PrimitiveTypeE7EEEEEbSP_
Unexecuted instantiation: _ZZN5doris38create_aggregate_function_collect_implILb1EEESt10shared_ptrINS_18IAggregateFunctionEERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKSt6vectorIS1_IKNS_9IDataTypeEESaISF_EEbRKNS_21AggregateFunctionAttrEENKUlRKT_E_clINS_16DispatchDataTypeILNS_13PrimitiveTypeE8EEEEEbSP_
Unexecuted instantiation: _ZZN5doris38create_aggregate_function_collect_implILb1EEESt10shared_ptrINS_18IAggregateFunctionEERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKSt6vectorIS1_IKNS_9IDataTypeEESaISF_EEbRKNS_21AggregateFunctionAttrEENKUlRKT_E_clINS_16DispatchDataTypeILNS_13PrimitiveTypeE9EEEEEbSP_
Unexecuted instantiation: _ZZN5doris38create_aggregate_function_collect_implILb1EEESt10shared_ptrINS_18IAggregateFunctionEERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKSt6vectorIS1_IKNS_9IDataTypeEESaISF_EEbRKNS_21AggregateFunctionAttrEENKUlRKT_E_clINS_16DispatchDataTypeILNS_13PrimitiveTypeE28EEEEEbSP_
Unexecuted instantiation: _ZZN5doris38create_aggregate_function_collect_implILb1EEESt10shared_ptrINS_18IAggregateFunctionEERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKSt6vectorIS1_IKNS_9IDataTypeEESaISF_EEbRKNS_21AggregateFunctionAttrEENKUlRKT_E_clINS_16DispatchDataTypeILNS_13PrimitiveTypeE29EEEEEbSP_
Unexecuted instantiation: _ZZN5doris38create_aggregate_function_collect_implILb1EEESt10shared_ptrINS_18IAggregateFunctionEERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKSt6vectorIS1_IKNS_9IDataTypeEESaISF_EEbRKNS_21AggregateFunctionAttrEENKUlRKT_E_clINS_16DispatchDataTypeILNS_13PrimitiveTypeE20EEEEEbSP_
Unexecuted instantiation: _ZZN5doris38create_aggregate_function_collect_implILb1EEESt10shared_ptrINS_18IAggregateFunctionEERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKSt6vectorIS1_IKNS_9IDataTypeEESaISF_EEbRKNS_21AggregateFunctionAttrEENKUlRKT_E_clINS_16DispatchDataTypeILNS_13PrimitiveTypeE30EEEEEbSP_
Unexecuted instantiation: _ZZN5doris38create_aggregate_function_collect_implILb1EEESt10shared_ptrINS_18IAggregateFunctionEERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKSt6vectorIS1_IKNS_9IDataTypeEESaISF_EEbRKNS_21AggregateFunctionAttrEENKUlRKT_E_clINS_16DispatchDataTypeILNS_13PrimitiveTypeE35EEEEEbSP_
Unexecuted instantiation: _ZZN5doris38create_aggregate_function_collect_implILb1EEESt10shared_ptrINS_18IAggregateFunctionEERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKSt6vectorIS1_IKNS_9IDataTypeEESaISF_EEbRKNS_21AggregateFunctionAttrEENKUlRKT_E_clINS_16DispatchDataTypeILNS_13PrimitiveTypeE11EEEEEbSP_
Unexecuted instantiation: _ZZN5doris38create_aggregate_function_collect_implILb1EEESt10shared_ptrINS_18IAggregateFunctionEERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKSt6vectorIS1_IKNS_9IDataTypeEESaISF_EEbRKNS_21AggregateFunctionAttrEENKUlRKT_E_clINS_16DispatchDataTypeILNS_13PrimitiveTypeE25EEEEEbSP_
Unexecuted instantiation: _ZZN5doris38create_aggregate_function_collect_implILb1EEESt10shared_ptrINS_18IAggregateFunctionEERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKSt6vectorIS1_IKNS_9IDataTypeEESaISF_EEbRKNS_21AggregateFunctionAttrEENKUlRKT_E_clINS_16DispatchDataTypeILNS_13PrimitiveTypeE26EEEEEbSP_
Unexecuted instantiation: _ZZN5doris38create_aggregate_function_collect_implILb1EEESt10shared_ptrINS_18IAggregateFunctionEERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKSt6vectorIS1_IKNS_9IDataTypeEESaISF_EEbRKNS_21AggregateFunctionAttrEENKUlRKT_E_clINS_16DispatchDataTypeILNS_13PrimitiveTypeE12EEEEEbSP_
Unexecuted instantiation: _ZZN5doris38create_aggregate_function_collect_implILb1EEESt10shared_ptrINS_18IAggregateFunctionEERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKSt6vectorIS1_IKNS_9IDataTypeEESaISF_EEbRKNS_21AggregateFunctionAttrEENKUlRKT_E_clINS_16DispatchDataTypeILNS_13PrimitiveTypeE27EEEEEbSP_
Unexecuted instantiation: _ZZN5doris38create_aggregate_function_collect_implILb1EEESt10shared_ptrINS_18IAggregateFunctionEERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKSt6vectorIS1_IKNS_9IDataTypeEESaISF_EEbRKNS_21AggregateFunctionAttrEENKUlRKT_E_clINS_16DispatchDataTypeILNS_13PrimitiveTypeE42EEEEEbSP_
Unexecuted instantiation: _ZZN5doris38create_aggregate_function_collect_implILb1EEESt10shared_ptrINS_18IAggregateFunctionEERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKSt6vectorIS1_IKNS_9IDataTypeEESaISF_EEbRKNS_21AggregateFunctionAttrEENKUlRKT_E_clINS_16DispatchDataTypeILNS_13PrimitiveTypeE36EEEEEbSP_
Unexecuted instantiation: _ZZN5doris38create_aggregate_function_collect_implILb1EEESt10shared_ptrINS_18IAggregateFunctionEERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKSt6vectorIS1_IKNS_9IDataTypeEESaISF_EEbRKNS_21AggregateFunctionAttrEENKUlRKT_E_clINS_16DispatchDataTypeILNS_13PrimitiveTypeE37EEEEEbSP_
Unexecuted instantiation: _ZZN5doris38create_aggregate_function_collect_implILb1EEESt10shared_ptrINS_18IAggregateFunctionEERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKSt6vectorIS1_IKNS_9IDataTypeEESaISF_EEbRKNS_21AggregateFunctionAttrEENKUlRKT_E_clINS_16DispatchDataTypeILNS_13PrimitiveTypeE23EEEEEbSP_
Unexecuted instantiation: _ZZN5doris38create_aggregate_function_collect_implILb0EEESt10shared_ptrINS_18IAggregateFunctionEERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKSt6vectorIS1_IKNS_9IDataTypeEESaISF_EEbRKNS_21AggregateFunctionAttrEENKUlRKT_E_clINS_16DispatchDataTypeILNS_13PrimitiveTypeE2EEEEEbSP_
_ZZN5doris38create_aggregate_function_collect_implILb0EEESt10shared_ptrINS_18IAggregateFunctionEERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKSt6vectorIS1_IKNS_9IDataTypeEESaISF_EEbRKNS_21AggregateFunctionAttrEENKUlRKT_E_clINS_16DispatchDataTypeILNS_13PrimitiveTypeE3EEEEEbSP_
Line
Count
Source
59
2
    auto call = [&](const auto& type) -> bool {
60
2
        using DispatcType = std::decay_t<decltype(type)>;
61
2
        agg_fn = do_create_agg_function_collect<DispatcType::PType, HasLimit>(
62
2
                distinct, argument_types, result_is_nullable, attr);
63
2
        return true;
64
2
    };
_ZZN5doris38create_aggregate_function_collect_implILb0EEESt10shared_ptrINS_18IAggregateFunctionEERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKSt6vectorIS1_IKNS_9IDataTypeEESaISF_EEbRKNS_21AggregateFunctionAttrEENKUlRKT_E_clINS_16DispatchDataTypeILNS_13PrimitiveTypeE4EEEEEbSP_
Line
Count
Source
59
2
    auto call = [&](const auto& type) -> bool {
60
2
        using DispatcType = std::decay_t<decltype(type)>;
61
2
        agg_fn = do_create_agg_function_collect<DispatcType::PType, HasLimit>(
62
2
                distinct, argument_types, result_is_nullable, attr);
63
2
        return true;
64
2
    };
_ZZN5doris38create_aggregate_function_collect_implILb0EEESt10shared_ptrINS_18IAggregateFunctionEERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKSt6vectorIS1_IKNS_9IDataTypeEESaISF_EEbRKNS_21AggregateFunctionAttrEENKUlRKT_E_clINS_16DispatchDataTypeILNS_13PrimitiveTypeE5EEEEEbSP_
Line
Count
Source
59
4
    auto call = [&](const auto& type) -> bool {
60
4
        using DispatcType = std::decay_t<decltype(type)>;
61
4
        agg_fn = do_create_agg_function_collect<DispatcType::PType, HasLimit>(
62
4
                distinct, argument_types, result_is_nullable, attr);
63
4
        return true;
64
4
    };
_ZZN5doris38create_aggregate_function_collect_implILb0EEESt10shared_ptrINS_18IAggregateFunctionEERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKSt6vectorIS1_IKNS_9IDataTypeEESaISF_EEbRKNS_21AggregateFunctionAttrEENKUlRKT_E_clINS_16DispatchDataTypeILNS_13PrimitiveTypeE6EEEEEbSP_
Line
Count
Source
59
4
    auto call = [&](const auto& type) -> bool {
60
4
        using DispatcType = std::decay_t<decltype(type)>;
61
4
        agg_fn = do_create_agg_function_collect<DispatcType::PType, HasLimit>(
62
4
                distinct, argument_types, result_is_nullable, attr);
63
4
        return true;
64
4
    };
_ZZN5doris38create_aggregate_function_collect_implILb0EEESt10shared_ptrINS_18IAggregateFunctionEERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKSt6vectorIS1_IKNS_9IDataTypeEESaISF_EEbRKNS_21AggregateFunctionAttrEENKUlRKT_E_clINS_16DispatchDataTypeILNS_13PrimitiveTypeE7EEEEEbSP_
Line
Count
Source
59
4
    auto call = [&](const auto& type) -> bool {
60
4
        using DispatcType = std::decay_t<decltype(type)>;
61
4
        agg_fn = do_create_agg_function_collect<DispatcType::PType, HasLimit>(
62
4
                distinct, argument_types, result_is_nullable, attr);
63
4
        return true;
64
4
    };
Unexecuted instantiation: _ZZN5doris38create_aggregate_function_collect_implILb0EEESt10shared_ptrINS_18IAggregateFunctionEERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKSt6vectorIS1_IKNS_9IDataTypeEESaISF_EEbRKNS_21AggregateFunctionAttrEENKUlRKT_E_clINS_16DispatchDataTypeILNS_13PrimitiveTypeE8EEEEEbSP_
Unexecuted instantiation: _ZZN5doris38create_aggregate_function_collect_implILb0EEESt10shared_ptrINS_18IAggregateFunctionEERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKSt6vectorIS1_IKNS_9IDataTypeEESaISF_EEbRKNS_21AggregateFunctionAttrEENKUlRKT_E_clINS_16DispatchDataTypeILNS_13PrimitiveTypeE9EEEEEbSP_
Unexecuted instantiation: _ZZN5doris38create_aggregate_function_collect_implILb0EEESt10shared_ptrINS_18IAggregateFunctionEERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKSt6vectorIS1_IKNS_9IDataTypeEESaISF_EEbRKNS_21AggregateFunctionAttrEENKUlRKT_E_clINS_16DispatchDataTypeILNS_13PrimitiveTypeE28EEEEEbSP_
Unexecuted instantiation: _ZZN5doris38create_aggregate_function_collect_implILb0EEESt10shared_ptrINS_18IAggregateFunctionEERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKSt6vectorIS1_IKNS_9IDataTypeEESaISF_EEbRKNS_21AggregateFunctionAttrEENKUlRKT_E_clINS_16DispatchDataTypeILNS_13PrimitiveTypeE29EEEEEbSP_
_ZZN5doris38create_aggregate_function_collect_implILb0EEESt10shared_ptrINS_18IAggregateFunctionEERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKSt6vectorIS1_IKNS_9IDataTypeEESaISF_EEbRKNS_21AggregateFunctionAttrEENKUlRKT_E_clINS_16DispatchDataTypeILNS_13PrimitiveTypeE20EEEEEbSP_
Line
Count
Source
59
4
    auto call = [&](const auto& type) -> bool {
60
4
        using DispatcType = std::decay_t<decltype(type)>;
61
4
        agg_fn = do_create_agg_function_collect<DispatcType::PType, HasLimit>(
62
4
                distinct, argument_types, result_is_nullable, attr);
63
4
        return true;
64
4
    };
Unexecuted instantiation: _ZZN5doris38create_aggregate_function_collect_implILb0EEESt10shared_ptrINS_18IAggregateFunctionEERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKSt6vectorIS1_IKNS_9IDataTypeEESaISF_EEbRKNS_21AggregateFunctionAttrEENKUlRKT_E_clINS_16DispatchDataTypeILNS_13PrimitiveTypeE30EEEEEbSP_
Unexecuted instantiation: _ZZN5doris38create_aggregate_function_collect_implILb0EEESt10shared_ptrINS_18IAggregateFunctionEERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKSt6vectorIS1_IKNS_9IDataTypeEESaISF_EEbRKNS_21AggregateFunctionAttrEENKUlRKT_E_clINS_16DispatchDataTypeILNS_13PrimitiveTypeE35EEEEEbSP_
Unexecuted instantiation: _ZZN5doris38create_aggregate_function_collect_implILb0EEESt10shared_ptrINS_18IAggregateFunctionEERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKSt6vectorIS1_IKNS_9IDataTypeEESaISF_EEbRKNS_21AggregateFunctionAttrEENKUlRKT_E_clINS_16DispatchDataTypeILNS_13PrimitiveTypeE11EEEEEbSP_
_ZZN5doris38create_aggregate_function_collect_implILb0EEESt10shared_ptrINS_18IAggregateFunctionEERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKSt6vectorIS1_IKNS_9IDataTypeEESaISF_EEbRKNS_21AggregateFunctionAttrEENKUlRKT_E_clINS_16DispatchDataTypeILNS_13PrimitiveTypeE25EEEEEbSP_
Line
Count
Source
59
2
    auto call = [&](const auto& type) -> bool {
60
2
        using DispatcType = std::decay_t<decltype(type)>;
61
2
        agg_fn = do_create_agg_function_collect<DispatcType::PType, HasLimit>(
62
2
                distinct, argument_types, result_is_nullable, attr);
63
2
        return true;
64
2
    };
_ZZN5doris38create_aggregate_function_collect_implILb0EEESt10shared_ptrINS_18IAggregateFunctionEERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKSt6vectorIS1_IKNS_9IDataTypeEESaISF_EEbRKNS_21AggregateFunctionAttrEENKUlRKT_E_clINS_16DispatchDataTypeILNS_13PrimitiveTypeE26EEEEEbSP_
Line
Count
Source
59
2
    auto call = [&](const auto& type) -> bool {
60
2
        using DispatcType = std::decay_t<decltype(type)>;
61
2
        agg_fn = do_create_agg_function_collect<DispatcType::PType, HasLimit>(
62
2
                distinct, argument_types, result_is_nullable, attr);
63
2
        return true;
64
2
    };
Unexecuted instantiation: _ZZN5doris38create_aggregate_function_collect_implILb0EEESt10shared_ptrINS_18IAggregateFunctionEERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKSt6vectorIS1_IKNS_9IDataTypeEESaISF_EEbRKNS_21AggregateFunctionAttrEENKUlRKT_E_clINS_16DispatchDataTypeILNS_13PrimitiveTypeE12EEEEEbSP_
Unexecuted instantiation: _ZZN5doris38create_aggregate_function_collect_implILb0EEESt10shared_ptrINS_18IAggregateFunctionEERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKSt6vectorIS1_IKNS_9IDataTypeEESaISF_EEbRKNS_21AggregateFunctionAttrEENKUlRKT_E_clINS_16DispatchDataTypeILNS_13PrimitiveTypeE27EEEEEbSP_
Unexecuted instantiation: _ZZN5doris38create_aggregate_function_collect_implILb0EEESt10shared_ptrINS_18IAggregateFunctionEERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKSt6vectorIS1_IKNS_9IDataTypeEESaISF_EEbRKNS_21AggregateFunctionAttrEENKUlRKT_E_clINS_16DispatchDataTypeILNS_13PrimitiveTypeE42EEEEEbSP_
Unexecuted instantiation: _ZZN5doris38create_aggregate_function_collect_implILb0EEESt10shared_ptrINS_18IAggregateFunctionEERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKSt6vectorIS1_IKNS_9IDataTypeEESaISF_EEbRKNS_21AggregateFunctionAttrEENKUlRKT_E_clINS_16DispatchDataTypeILNS_13PrimitiveTypeE36EEEEEbSP_
Unexecuted instantiation: _ZZN5doris38create_aggregate_function_collect_implILb0EEESt10shared_ptrINS_18IAggregateFunctionEERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKSt6vectorIS1_IKNS_9IDataTypeEESaISF_EEbRKNS_21AggregateFunctionAttrEENKUlRKT_E_clINS_16DispatchDataTypeILNS_13PrimitiveTypeE37EEEEEbSP_
_ZZN5doris38create_aggregate_function_collect_implILb0EEESt10shared_ptrINS_18IAggregateFunctionEERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKSt6vectorIS1_IKNS_9IDataTypeEESaISF_EEbRKNS_21AggregateFunctionAttrEENKUlRKT_E_clINS_16DispatchDataTypeILNS_13PrimitiveTypeE23EEEEEbSP_
Line
Count
Source
59
4
    auto call = [&](const auto& type) -> bool {
60
4
        using DispatcType = std::decay_t<decltype(type)>;
61
4
        agg_fn = do_create_agg_function_collect<DispatcType::PType, HasLimit>(
62
4
                distinct, argument_types, result_is_nullable, attr);
63
4
        return true;
64
4
    };
65
66
33
    if (!dispatch_switch_all(argument_types[0]->get_primitive_type(), call)) {
67
        // We do not care what the real type is.
68
3
        agg_fn = do_create_agg_function_collect<INVALID_TYPE, HasLimit>(distinct, argument_types,
69
3
                                                                        result_is_nullable, attr);
70
3
    }
71
33
    return agg_fn;
72
33
}
_ZN5doris38create_aggregate_function_collect_implILb1EEESt10shared_ptrINS_18IAggregateFunctionEERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKSt6vectorIS1_IKNS_9IDataTypeEESaISF_EEbRKNS_21AggregateFunctionAttrE
Line
Count
Source
55
2
                                                            const AggregateFunctionAttr& attr) {
56
2
    bool distinct = name == "collect_set";
57
58
2
    AggregateFunctionPtr agg_fn;
59
2
    auto call = [&](const auto& type) -> bool {
60
2
        using DispatcType = std::decay_t<decltype(type)>;
61
2
        agg_fn = do_create_agg_function_collect<DispatcType::PType, HasLimit>(
62
2
                distinct, argument_types, result_is_nullable, attr);
63
2
        return true;
64
2
    };
65
66
2
    if (!dispatch_switch_all(argument_types[0]->get_primitive_type(), call)) {
67
        // We do not care what the real type is.
68
0
        agg_fn = do_create_agg_function_collect<INVALID_TYPE, HasLimit>(distinct, argument_types,
69
0
                                                                        result_is_nullable, attr);
70
0
    }
71
2
    return agg_fn;
72
2
}
_ZN5doris38create_aggregate_function_collect_implILb0EEESt10shared_ptrINS_18IAggregateFunctionEERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKSt6vectorIS1_IKNS_9IDataTypeEESaISF_EEbRKNS_21AggregateFunctionAttrE
Line
Count
Source
55
31
                                                            const AggregateFunctionAttr& attr) {
56
31
    bool distinct = name == "collect_set";
57
58
31
    AggregateFunctionPtr agg_fn;
59
31
    auto call = [&](const auto& type) -> bool {
60
31
        using DispatcType = std::decay_t<decltype(type)>;
61
31
        agg_fn = do_create_agg_function_collect<DispatcType::PType, HasLimit>(
62
31
                distinct, argument_types, result_is_nullable, attr);
63
31
        return true;
64
31
    };
65
66
31
    if (!dispatch_switch_all(argument_types[0]->get_primitive_type(), call)) {
67
        // We do not care what the real type is.
68
3
        agg_fn = do_create_agg_function_collect<INVALID_TYPE, HasLimit>(distinct, argument_types,
69
3
                                                                        result_is_nullable, attr);
70
3
    }
71
31
    return agg_fn;
72
31
}
73
74
} // namespace doris