Coverage Report

Created: 2026-03-17 00:16

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
#include "common/compile_check_begin.h"
29
30
template <PrimitiveType T, bool HasLimit>
31
AggregateFunctionPtr do_create_agg_function_collect(bool distinct, const DataTypes& argument_types,
32
                                                    const bool result_is_nullable,
33
34
33
                                                    const AggregateFunctionAttr& attr) {
35
33
    if (distinct) {
36
15
        if constexpr (T == INVALID_TYPE) {
37
0
            throw Exception(ErrorCode::INTERNAL_ERROR,
38
0
                            "unexpected type for collect, please check the input");
39
15
        } else {
40
15
            return creator_without_type::create<AggregateFunctionCollect<
41
15
                    AggregateFunctionCollectSetData<T, HasLimit>, HasLimit>>(
42
15
                    argument_types, result_is_nullable, attr);
43
15
        }
44
18
    } else {
45
18
        return creator_without_type::create<
46
18
                AggregateFunctionCollect<AggregateFunctionCollectListData<T, HasLimit>, HasLimit>>(
47
18
                argument_types, result_is_nullable, attr);
48
18
    }
49
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
34
2
                                                    const AggregateFunctionAttr& attr) {
35
2
    if (distinct) {
36
        if constexpr (T == INVALID_TYPE) {
37
            throw Exception(ErrorCode::INTERNAL_ERROR,
38
                            "unexpected type for collect, please check the input");
39
1
        } else {
40
1
            return creator_without_type::create<AggregateFunctionCollect<
41
1
                    AggregateFunctionCollectSetData<T, HasLimit>, HasLimit>>(
42
1
                    argument_types, result_is_nullable, attr);
43
1
        }
44
1
    } else {
45
1
        return creator_without_type::create<
46
1
                AggregateFunctionCollect<AggregateFunctionCollectListData<T, HasLimit>, HasLimit>>(
47
1
                argument_types, result_is_nullable, attr);
48
1
    }
49
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
34
2
                                                    const AggregateFunctionAttr& attr) {
35
2
    if (distinct) {
36
        if constexpr (T == INVALID_TYPE) {
37
            throw Exception(ErrorCode::INTERNAL_ERROR,
38
                            "unexpected type for collect, please check the input");
39
1
        } else {
40
1
            return creator_without_type::create<AggregateFunctionCollect<
41
1
                    AggregateFunctionCollectSetData<T, HasLimit>, HasLimit>>(
42
1
                    argument_types, result_is_nullable, attr);
43
1
        }
44
1
    } else {
45
1
        return creator_without_type::create<
46
1
                AggregateFunctionCollect<AggregateFunctionCollectListData<T, HasLimit>, HasLimit>>(
47
1
                argument_types, result_is_nullable, attr);
48
1
    }
49
2
}
_ZN5doris30do_create_agg_function_collectILNS_13PrimitiveTypeE4ELb0EEESt10shared_ptrINS_18IAggregateFunctionEEbRKSt6vectorIS2_IKNS_9IDataTypeEESaIS8_EEbRKNS_21AggregateFunctionAttrE
Line
Count
Source
34
2
                                                    const AggregateFunctionAttr& attr) {
35
2
    if (distinct) {
36
        if constexpr (T == INVALID_TYPE) {
37
            throw Exception(ErrorCode::INTERNAL_ERROR,
38
                            "unexpected type for collect, please check the input");
39
1
        } else {
40
1
            return creator_without_type::create<AggregateFunctionCollect<
41
1
                    AggregateFunctionCollectSetData<T, HasLimit>, HasLimit>>(
42
1
                    argument_types, result_is_nullable, attr);
43
1
        }
44
1
    } else {
45
1
        return creator_without_type::create<
46
1
                AggregateFunctionCollect<AggregateFunctionCollectListData<T, HasLimit>, HasLimit>>(
47
1
                argument_types, result_is_nullable, attr);
48
1
    }
49
2
}
_ZN5doris30do_create_agg_function_collectILNS_13PrimitiveTypeE5ELb0EEESt10shared_ptrINS_18IAggregateFunctionEEbRKSt6vectorIS2_IKNS_9IDataTypeEESaIS8_EEbRKNS_21AggregateFunctionAttrE
Line
Count
Source
34
4
                                                    const AggregateFunctionAttr& attr) {
35
4
    if (distinct) {
36
        if constexpr (T == INVALID_TYPE) {
37
            throw Exception(ErrorCode::INTERNAL_ERROR,
38
                            "unexpected type for collect, please check the input");
39
2
        } else {
40
2
            return creator_without_type::create<AggregateFunctionCollect<
41
2
                    AggregateFunctionCollectSetData<T, HasLimit>, HasLimit>>(
42
2
                    argument_types, result_is_nullable, attr);
43
2
        }
44
2
    } else {
45
2
        return creator_without_type::create<
46
2
                AggregateFunctionCollect<AggregateFunctionCollectListData<T, HasLimit>, HasLimit>>(
47
2
                argument_types, result_is_nullable, attr);
48
2
    }
49
4
}
_ZN5doris30do_create_agg_function_collectILNS_13PrimitiveTypeE6ELb0EEESt10shared_ptrINS_18IAggregateFunctionEEbRKSt6vectorIS2_IKNS_9IDataTypeEESaIS8_EEbRKNS_21AggregateFunctionAttrE
Line
Count
Source
34
4
                                                    const AggregateFunctionAttr& attr) {
35
4
    if (distinct) {
36
        if constexpr (T == INVALID_TYPE) {
37
            throw Exception(ErrorCode::INTERNAL_ERROR,
38
                            "unexpected type for collect, please check the input");
39
2
        } else {
40
2
            return creator_without_type::create<AggregateFunctionCollect<
41
2
                    AggregateFunctionCollectSetData<T, HasLimit>, HasLimit>>(
42
2
                    argument_types, result_is_nullable, attr);
43
2
        }
44
2
    } else {
45
2
        return creator_without_type::create<
46
2
                AggregateFunctionCollect<AggregateFunctionCollectListData<T, HasLimit>, HasLimit>>(
47
2
                argument_types, result_is_nullable, attr);
48
2
    }
49
4
}
_ZN5doris30do_create_agg_function_collectILNS_13PrimitiveTypeE7ELb0EEESt10shared_ptrINS_18IAggregateFunctionEEbRKSt6vectorIS2_IKNS_9IDataTypeEESaIS8_EEbRKNS_21AggregateFunctionAttrE
Line
Count
Source
34
4
                                                    const AggregateFunctionAttr& attr) {
35
4
    if (distinct) {
36
        if constexpr (T == INVALID_TYPE) {
37
            throw Exception(ErrorCode::INTERNAL_ERROR,
38
                            "unexpected type for collect, please check the input");
39
2
        } else {
40
2
            return creator_without_type::create<AggregateFunctionCollect<
41
2
                    AggregateFunctionCollectSetData<T, HasLimit>, HasLimit>>(
42
2
                    argument_types, result_is_nullable, attr);
43
2
        }
44
2
    } else {
45
2
        return creator_without_type::create<
46
2
                AggregateFunctionCollect<AggregateFunctionCollectListData<T, HasLimit>, HasLimit>>(
47
2
                argument_types, result_is_nullable, attr);
48
2
    }
49
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
34
4
                                                    const AggregateFunctionAttr& attr) {
35
4
    if (distinct) {
36
        if constexpr (T == INVALID_TYPE) {
37
            throw Exception(ErrorCode::INTERNAL_ERROR,
38
                            "unexpected type for collect, please check the input");
39
2
        } else {
40
2
            return creator_without_type::create<AggregateFunctionCollect<
41
2
                    AggregateFunctionCollectSetData<T, HasLimit>, HasLimit>>(
42
2
                    argument_types, result_is_nullable, attr);
43
2
        }
44
2
    } else {
45
2
        return creator_without_type::create<
46
2
                AggregateFunctionCollect<AggregateFunctionCollectListData<T, HasLimit>, HasLimit>>(
47
2
                argument_types, result_is_nullable, attr);
48
2
    }
49
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
34
2
                                                    const AggregateFunctionAttr& attr) {
35
2
    if (distinct) {
36
        if constexpr (T == INVALID_TYPE) {
37
            throw Exception(ErrorCode::INTERNAL_ERROR,
38
                            "unexpected type for collect, please check the input");
39
1
        } else {
40
1
            return creator_without_type::create<AggregateFunctionCollect<
41
1
                    AggregateFunctionCollectSetData<T, HasLimit>, HasLimit>>(
42
1
                    argument_types, result_is_nullable, attr);
43
1
        }
44
1
    } else {
45
1
        return creator_without_type::create<
46
1
                AggregateFunctionCollect<AggregateFunctionCollectListData<T, HasLimit>, HasLimit>>(
47
1
                argument_types, result_is_nullable, attr);
48
1
    }
49
2
}
_ZN5doris30do_create_agg_function_collectILNS_13PrimitiveTypeE26ELb0EEESt10shared_ptrINS_18IAggregateFunctionEEbRKSt6vectorIS2_IKNS_9IDataTypeEESaIS8_EEbRKNS_21AggregateFunctionAttrE
Line
Count
Source
34
2
                                                    const AggregateFunctionAttr& attr) {
35
2
    if (distinct) {
36
        if constexpr (T == INVALID_TYPE) {
37
            throw Exception(ErrorCode::INTERNAL_ERROR,
38
                            "unexpected type for collect, please check the input");
39
1
        } else {
40
1
            return creator_without_type::create<AggregateFunctionCollect<
41
1
                    AggregateFunctionCollectSetData<T, HasLimit>, HasLimit>>(
42
1
                    argument_types, result_is_nullable, attr);
43
1
        }
44
1
    } else {
45
1
        return creator_without_type::create<
46
1
                AggregateFunctionCollect<AggregateFunctionCollectListData<T, HasLimit>, HasLimit>>(
47
1
                argument_types, result_is_nullable, attr);
48
1
    }
49
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
34
4
                                                    const AggregateFunctionAttr& attr) {
35
4
    if (distinct) {
36
        if constexpr (T == INVALID_TYPE) {
37
            throw Exception(ErrorCode::INTERNAL_ERROR,
38
                            "unexpected type for collect, please check the input");
39
2
        } else {
40
2
            return creator_without_type::create<AggregateFunctionCollect<
41
2
                    AggregateFunctionCollectSetData<T, HasLimit>, HasLimit>>(
42
2
                    argument_types, result_is_nullable, attr);
43
2
        }
44
2
    } else {
45
2
        return creator_without_type::create<
46
2
                AggregateFunctionCollect<AggregateFunctionCollectListData<T, HasLimit>, HasLimit>>(
47
2
                argument_types, result_is_nullable, attr);
48
2
    }
49
4
}
_ZN5doris30do_create_agg_function_collectILNS_13PrimitiveTypeE0ELb0EEESt10shared_ptrINS_18IAggregateFunctionEEbRKSt6vectorIS2_IKNS_9IDataTypeEESaIS8_EEbRKNS_21AggregateFunctionAttrE
Line
Count
Source
34
3
                                                    const AggregateFunctionAttr& attr) {
35
3
    if (distinct) {
36
0
        if constexpr (T == INVALID_TYPE) {
37
0
            throw Exception(ErrorCode::INTERNAL_ERROR,
38
0
                            "unexpected type for collect, please check the input");
39
        } else {
40
            return creator_without_type::create<AggregateFunctionCollect<
41
                    AggregateFunctionCollectSetData<T, HasLimit>, HasLimit>>(
42
                    argument_types, result_is_nullable, attr);
43
        }
44
3
    } else {
45
3
        return creator_without_type::create<
46
3
                AggregateFunctionCollect<AggregateFunctionCollectListData<T, HasLimit>, HasLimit>>(
47
3
                argument_types, result_is_nullable, attr);
48
3
    }
49
3
}
50
51
template <bool HasLimit>
52
AggregateFunctionPtr create_aggregate_function_collect_impl(const std::string& name,
53
                                                            const DataTypes& argument_types,
54
                                                            const bool result_is_nullable,
55
56
33
                                                            const AggregateFunctionAttr& attr) {
57
33
    bool distinct = name == "collect_set";
58
59
33
    AggregateFunctionPtr agg_fn;
60
33
    auto call = [&](const auto& type) -> bool {
61
30
        using DispatcType = std::decay_t<decltype(type)>;
62
30
        agg_fn = do_create_agg_function_collect<DispatcType::PType, HasLimit>(
63
30
                distinct, argument_types, result_is_nullable, attr);
64
30
        return true;
65
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
60
2
    auto call = [&](const auto& type) -> bool {
61
2
        using DispatcType = std::decay_t<decltype(type)>;
62
2
        agg_fn = do_create_agg_function_collect<DispatcType::PType, HasLimit>(
63
2
                distinct, argument_types, result_is_nullable, attr);
64
2
        return true;
65
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
60
2
    auto call = [&](const auto& type) -> bool {
61
2
        using DispatcType = std::decay_t<decltype(type)>;
62
2
        agg_fn = do_create_agg_function_collect<DispatcType::PType, HasLimit>(
63
2
                distinct, argument_types, result_is_nullable, attr);
64
2
        return true;
65
2
    };
_ZZN5doris38create_aggregate_function_collect_implILb0EEESt10shared_ptrINS_18IAggregateFunctionEERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKSt6vectorIS1_IKNS_9IDataTypeEESaISF_EEbRKNS_21AggregateFunctionAttrEENKUlRKT_E_clINS_16DispatchDataTypeILNS_13PrimitiveTypeE4EEEEEbSP_
Line
Count
Source
60
2
    auto call = [&](const auto& type) -> bool {
61
2
        using DispatcType = std::decay_t<decltype(type)>;
62
2
        agg_fn = do_create_agg_function_collect<DispatcType::PType, HasLimit>(
63
2
                distinct, argument_types, result_is_nullable, attr);
64
2
        return true;
65
2
    };
_ZZN5doris38create_aggregate_function_collect_implILb0EEESt10shared_ptrINS_18IAggregateFunctionEERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKSt6vectorIS1_IKNS_9IDataTypeEESaISF_EEbRKNS_21AggregateFunctionAttrEENKUlRKT_E_clINS_16DispatchDataTypeILNS_13PrimitiveTypeE5EEEEEbSP_
Line
Count
Source
60
4
    auto call = [&](const auto& type) -> bool {
61
4
        using DispatcType = std::decay_t<decltype(type)>;
62
4
        agg_fn = do_create_agg_function_collect<DispatcType::PType, HasLimit>(
63
4
                distinct, argument_types, result_is_nullable, attr);
64
4
        return true;
65
4
    };
_ZZN5doris38create_aggregate_function_collect_implILb0EEESt10shared_ptrINS_18IAggregateFunctionEERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKSt6vectorIS1_IKNS_9IDataTypeEESaISF_EEbRKNS_21AggregateFunctionAttrEENKUlRKT_E_clINS_16DispatchDataTypeILNS_13PrimitiveTypeE6EEEEEbSP_
Line
Count
Source
60
4
    auto call = [&](const auto& type) -> bool {
61
4
        using DispatcType = std::decay_t<decltype(type)>;
62
4
        agg_fn = do_create_agg_function_collect<DispatcType::PType, HasLimit>(
63
4
                distinct, argument_types, result_is_nullable, attr);
64
4
        return true;
65
4
    };
_ZZN5doris38create_aggregate_function_collect_implILb0EEESt10shared_ptrINS_18IAggregateFunctionEERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKSt6vectorIS1_IKNS_9IDataTypeEESaISF_EEbRKNS_21AggregateFunctionAttrEENKUlRKT_E_clINS_16DispatchDataTypeILNS_13PrimitiveTypeE7EEEEEbSP_
Line
Count
Source
60
4
    auto call = [&](const auto& type) -> bool {
61
4
        using DispatcType = std::decay_t<decltype(type)>;
62
4
        agg_fn = do_create_agg_function_collect<DispatcType::PType, HasLimit>(
63
4
                distinct, argument_types, result_is_nullable, attr);
64
4
        return true;
65
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
60
4
    auto call = [&](const auto& type) -> bool {
61
4
        using DispatcType = std::decay_t<decltype(type)>;
62
4
        agg_fn = do_create_agg_function_collect<DispatcType::PType, HasLimit>(
63
4
                distinct, argument_types, result_is_nullable, attr);
64
4
        return true;
65
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
60
2
    auto call = [&](const auto& type) -> bool {
61
2
        using DispatcType = std::decay_t<decltype(type)>;
62
2
        agg_fn = do_create_agg_function_collect<DispatcType::PType, HasLimit>(
63
2
                distinct, argument_types, result_is_nullable, attr);
64
2
        return true;
65
2
    };
_ZZN5doris38create_aggregate_function_collect_implILb0EEESt10shared_ptrINS_18IAggregateFunctionEERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKSt6vectorIS1_IKNS_9IDataTypeEESaISF_EEbRKNS_21AggregateFunctionAttrEENKUlRKT_E_clINS_16DispatchDataTypeILNS_13PrimitiveTypeE26EEEEEbSP_
Line
Count
Source
60
2
    auto call = [&](const auto& type) -> bool {
61
2
        using DispatcType = std::decay_t<decltype(type)>;
62
2
        agg_fn = do_create_agg_function_collect<DispatcType::PType, HasLimit>(
63
2
                distinct, argument_types, result_is_nullable, attr);
64
2
        return true;
65
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
60
4
    auto call = [&](const auto& type) -> bool {
61
4
        using DispatcType = std::decay_t<decltype(type)>;
62
4
        agg_fn = do_create_agg_function_collect<DispatcType::PType, HasLimit>(
63
4
                distinct, argument_types, result_is_nullable, attr);
64
4
        return true;
65
4
    };
66
67
33
    if (!dispatch_switch_all(argument_types[0]->get_primitive_type(), call)) {
68
        // We do not care what the real type is.
69
3
        agg_fn = do_create_agg_function_collect<INVALID_TYPE, HasLimit>(distinct, argument_types,
70
3
                                                                        result_is_nullable, attr);
71
3
    }
72
33
    return agg_fn;
73
33
}
_ZN5doris38create_aggregate_function_collect_implILb1EEESt10shared_ptrINS_18IAggregateFunctionEERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKSt6vectorIS1_IKNS_9IDataTypeEESaISF_EEbRKNS_21AggregateFunctionAttrE
Line
Count
Source
56
2
                                                            const AggregateFunctionAttr& attr) {
57
2
    bool distinct = name == "collect_set";
58
59
2
    AggregateFunctionPtr agg_fn;
60
2
    auto call = [&](const auto& type) -> bool {
61
2
        using DispatcType = std::decay_t<decltype(type)>;
62
2
        agg_fn = do_create_agg_function_collect<DispatcType::PType, HasLimit>(
63
2
                distinct, argument_types, result_is_nullable, attr);
64
2
        return true;
65
2
    };
66
67
2
    if (!dispatch_switch_all(argument_types[0]->get_primitive_type(), call)) {
68
        // We do not care what the real type is.
69
0
        agg_fn = do_create_agg_function_collect<INVALID_TYPE, HasLimit>(distinct, argument_types,
70
0
                                                                        result_is_nullable, attr);
71
0
    }
72
2
    return agg_fn;
73
2
}
_ZN5doris38create_aggregate_function_collect_implILb0EEESt10shared_ptrINS_18IAggregateFunctionEERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKSt6vectorIS1_IKNS_9IDataTypeEESaISF_EEbRKNS_21AggregateFunctionAttrE
Line
Count
Source
56
31
                                                            const AggregateFunctionAttr& attr) {
57
31
    bool distinct = name == "collect_set";
58
59
31
    AggregateFunctionPtr agg_fn;
60
31
    auto call = [&](const auto& type) -> bool {
61
31
        using DispatcType = std::decay_t<decltype(type)>;
62
31
        agg_fn = do_create_agg_function_collect<DispatcType::PType, HasLimit>(
63
31
                distinct, argument_types, result_is_nullable, attr);
64
31
        return true;
65
31
    };
66
67
31
    if (!dispatch_switch_all(argument_types[0]->get_primitive_type(), call)) {
68
        // We do not care what the real type is.
69
3
        agg_fn = do_create_agg_function_collect<INVALID_TYPE, HasLimit>(distinct, argument_types,
70
3
                                                                        result_is_nullable, attr);
71
3
    }
72
31
    return agg_fn;
73
31
}
74
75
} // namespace doris
76
#include "common/compile_check_end.h"