Coverage Report

Created: 2026-03-16 13:09

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
be/src/storage/segment/page_builder.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 <gen_cpp/segment_v2.pb.h>
21
#include <stdint.h>
22
23
#include <memory>
24
#include <vector>
25
26
#include "common/status.h"
27
#include "storage/segment/common.h"
28
#include "util/slice.h"
29
30
namespace doris {
31
namespace segment_v2 {
32
33
// PageBuilder is used to build page
34
// Page is a data management unit, including:
35
// 1. Data Page: store encoded and compressed data
36
// 2. BloomFilter Page: store bloom filter of data
37
// 3. Ordinal Index Page: store ordinal index of data
38
// 4. Short Key Index Page: store short key index of data
39
// 5. Bitmap Index Page: store bitmap index of data
40
class PageBuilder {
41
public:
42
2.38M
    PageBuilder() = default;
43
    PageBuilder(const PageBuilder&) = delete;
44
    PageBuilder& operator=(const PageBuilder&) = delete;
45
46
2.38M
    virtual ~PageBuilder() = default;
47
48
    // Init the internal state of the page builder.
49
    virtual Status init() = 0;
50
51
    // Used by column writer to determine whether the current page is full.
52
    // Column writer depends on the result to decide whether to flush current page.
53
    virtual bool is_page_full() = 0;
54
55
    // Add a sequence of values to the page.
56
    // The number of values actually added will be returned through count, which may be less
57
    // than requested if the page is full.
58
59
    // check page if full before truly add, return ok when page is full so that column write
60
    // will switch to next page
61
    // vals size should be decided according to the page build type
62
    // TODO make sure vals is naturally-aligned to its type so that impls can use aligned load
63
    // instead of memcpy to copy values.
64
    virtual Status add(const uint8_t* vals, size_t* count) = 0;
65
66
    // Finish building the current page, return the encoded data.
67
    // This api should be followed by reset() before reusing the builder
68
    // It will return error status when memory allocated failed during finish
69
    virtual Status finish(OwnedSlice* owned_slice) = 0;
70
71
    // Get the dictionary page for dictionary encoding mode column.
72
0
    virtual Status get_dictionary_page(OwnedSlice* dictionary_page) {
73
0
        return Status::NotSupported("get_dictionary_page not implemented");
74
0
    }
75
76
0
    virtual Status get_dictionary_page_encoding(EncodingTypePB* encoding) const {
77
0
        return Status::NotSupported("get_dictionary_page_encoding not implemented");
78
0
    }
79
80
0
    virtual Status get_dict_word(uint32_t value_code, Slice* word) {
81
0
        return Status::NotSupported("get_dict_word not implemented");
82
0
    }
83
84
    // Reset the internal state of the page builder.
85
    //
86
    // Any data previously returned by finish may be invalidated by this call.
87
    virtual Status reset() = 0;
88
89
    // Return the number of entries that have been added to the page.
90
    virtual size_t count() const = 0;
91
92
    // Return the total bytes of pageBuilder that have been added to the page.
93
    virtual uint64_t size() const = 0;
94
95
    // Return the uncompressed data size in bytes (raw data added via add() method).
96
    // This is used to track the original data size before compression.
97
    virtual uint64_t get_raw_data_size() const = 0;
98
99
    // Return the first value in this page.
100
    // This method could only be called between finish() and reset().
101
    // Status::Error<ENTRY_NOT_FOUND> if no values have been added.
102
    virtual Status get_first_value(void* value) const = 0;
103
104
    // Return the last value in this page.
105
    // This method could only be called between finish() and reset().
106
    // Status::Error<ENTRY_NOT_FOUND> if no values have been added.
107
    virtual Status get_last_value(void* value) const = 0;
108
};
109
110
template <typename Derived>
111
class PageBuilderHelper : public PageBuilder {
112
public:
113
    template <typename... Args>
114
2.38M
    static Status create(PageBuilder** builder, Args&&... args) {
115
2.38M
        std::unique_ptr<PageBuilder> builder_uniq_ptr(new Derived(std::forward<Args>(args)...));
116
2.38M
        RETURN_IF_ERROR(builder_uniq_ptr->init());
117
2.38M
        *builder = builder_uniq_ptr.release();
118
2.38M
        return Status::OK();
119
2.38M
    }
_ZN5doris10segment_v217PageBuilderHelperINS0_21BitshufflePageBuilderILNS_9FieldTypeE5EEEE6createIJRNS0_18PageBuilderOptionsEEEENS_6StatusEPPNS0_11PageBuilderEDpOT_
Line
Count
Source
114
300k
    static Status create(PageBuilder** builder, Args&&... args) {
115
300k
        std::unique_ptr<PageBuilder> builder_uniq_ptr(new Derived(std::forward<Args>(args)...));
116
300k
        RETURN_IF_ERROR(builder_uniq_ptr->init());
117
300k
        *builder = builder_uniq_ptr.release();
118
300k
        return Status::OK();
119
300k
    }
_ZN5doris10segment_v217PageBuilderHelperINS0_21BitshufflePageBuilderILNS_9FieldTypeE1EEEE6createIJRKNS0_18PageBuilderOptionsEEEENS_6StatusEPPNS0_11PageBuilderEDpOT_
Line
Count
Source
114
52.1k
    static Status create(PageBuilder** builder, Args&&... args) {
115
52.1k
        std::unique_ptr<PageBuilder> builder_uniq_ptr(new Derived(std::forward<Args>(args)...));
116
52.1k
        RETURN_IF_ERROR(builder_uniq_ptr->init());
117
52.1k
        *builder = builder_uniq_ptr.release();
118
52.1k
        return Status::OK();
119
52.1k
    }
Unexecuted instantiation: _ZN5doris10segment_v217PageBuilderHelperINS0_27FrameOfReferencePageBuilderILNS_9FieldTypeE1EEEE6createIJRKNS0_18PageBuilderOptionsEEEENS_6StatusEPPNS0_11PageBuilderEDpOT_
_ZN5doris10segment_v217PageBuilderHelperINS0_16PlainPageBuilderILNS_9FieldTypeE1EEEE6createIJRKNS0_18PageBuilderOptionsEEEENS_6StatusEPPNS0_11PageBuilderEDpOT_
Line
Count
Source
114
33.3k
    static Status create(PageBuilder** builder, Args&&... args) {
115
33.3k
        std::unique_ptr<PageBuilder> builder_uniq_ptr(new Derived(std::forward<Args>(args)...));
116
33.3k
        RETURN_IF_ERROR(builder_uniq_ptr->init());
117
33.3k
        *builder = builder_uniq_ptr.release();
118
33.3k
        return Status::OK();
119
33.3k
    }
_ZN5doris10segment_v217PageBuilderHelperINS0_21BitshufflePageBuilderILNS_9FieldTypeE3EEEE6createIJRKNS0_18PageBuilderOptionsEEEENS_6StatusEPPNS0_11PageBuilderEDpOT_
Line
Count
Source
114
11.6k
    static Status create(PageBuilder** builder, Args&&... args) {
115
11.6k
        std::unique_ptr<PageBuilder> builder_uniq_ptr(new Derived(std::forward<Args>(args)...));
116
11.6k
        RETURN_IF_ERROR(builder_uniq_ptr->init());
117
11.6k
        *builder = builder_uniq_ptr.release();
118
11.6k
        return Status::OK();
119
11.6k
    }
Unexecuted instantiation: _ZN5doris10segment_v217PageBuilderHelperINS0_27FrameOfReferencePageBuilderILNS_9FieldTypeE3EEEE6createIJRKNS0_18PageBuilderOptionsEEEENS_6StatusEPPNS0_11PageBuilderEDpOT_
_ZN5doris10segment_v217PageBuilderHelperINS0_16PlainPageBuilderILNS_9FieldTypeE3EEEE6createIJRKNS0_18PageBuilderOptionsEEEENS_6StatusEPPNS0_11PageBuilderEDpOT_
Line
Count
Source
114
4.99k
    static Status create(PageBuilder** builder, Args&&... args) {
115
4.99k
        std::unique_ptr<PageBuilder> builder_uniq_ptr(new Derived(std::forward<Args>(args)...));
116
4.99k
        RETURN_IF_ERROR(builder_uniq_ptr->init());
117
4.99k
        *builder = builder_uniq_ptr.release();
118
4.99k
        return Status::OK();
119
4.99k
    }
_ZN5doris10segment_v217PageBuilderHelperINS0_21BitshufflePageBuilderILNS_9FieldTypeE5EEEE6createIJRKNS0_18PageBuilderOptionsEEEENS_6StatusEPPNS0_11PageBuilderEDpOT_
Line
Count
Source
114
71.5k
    static Status create(PageBuilder** builder, Args&&... args) {
115
71.5k
        std::unique_ptr<PageBuilder> builder_uniq_ptr(new Derived(std::forward<Args>(args)...));
116
71.5k
        RETURN_IF_ERROR(builder_uniq_ptr->init());
117
71.5k
        *builder = builder_uniq_ptr.release();
118
71.5k
        return Status::OK();
119
71.5k
    }
Unexecuted instantiation: _ZN5doris10segment_v217PageBuilderHelperINS0_27FrameOfReferencePageBuilderILNS_9FieldTypeE5EEEE6createIJRKNS0_18PageBuilderOptionsEEEENS_6StatusEPPNS0_11PageBuilderEDpOT_
_ZN5doris10segment_v217PageBuilderHelperINS0_16PlainPageBuilderILNS_9FieldTypeE5EEEE6createIJRKNS0_18PageBuilderOptionsEEEENS_6StatusEPPNS0_11PageBuilderEDpOT_
Line
Count
Source
114
34.3k
    static Status create(PageBuilder** builder, Args&&... args) {
115
34.3k
        std::unique_ptr<PageBuilder> builder_uniq_ptr(new Derived(std::forward<Args>(args)...));
116
34.3k
        RETURN_IF_ERROR(builder_uniq_ptr->init());
117
34.3k
        *builder = builder_uniq_ptr.release();
118
34.3k
        return Status::OK();
119
34.3k
    }
_ZN5doris10segment_v217PageBuilderHelperINS0_21BitshufflePageBuilderILNS_9FieldTypeE7EEEE6createIJRKNS0_18PageBuilderOptionsEEEENS_6StatusEPPNS0_11PageBuilderEDpOT_
Line
Count
Source
114
134k
    static Status create(PageBuilder** builder, Args&&... args) {
115
134k
        std::unique_ptr<PageBuilder> builder_uniq_ptr(new Derived(std::forward<Args>(args)...));
116
134k
        RETURN_IF_ERROR(builder_uniq_ptr->init());
117
134k
        *builder = builder_uniq_ptr.release();
118
134k
        return Status::OK();
119
134k
    }
Unexecuted instantiation: _ZN5doris10segment_v217PageBuilderHelperINS0_27FrameOfReferencePageBuilderILNS_9FieldTypeE7EEEE6createIJRKNS0_18PageBuilderOptionsEEEENS_6StatusEPPNS0_11PageBuilderEDpOT_
_ZN5doris10segment_v217PageBuilderHelperINS0_16PlainPageBuilderILNS_9FieldTypeE7EEEE6createIJRKNS0_18PageBuilderOptionsEEEENS_6StatusEPPNS0_11PageBuilderEDpOT_
Line
Count
Source
114
83.2k
    static Status create(PageBuilder** builder, Args&&... args) {
115
83.2k
        std::unique_ptr<PageBuilder> builder_uniq_ptr(new Derived(std::forward<Args>(args)...));
116
83.2k
        RETURN_IF_ERROR(builder_uniq_ptr->init());
117
83.2k
        *builder = builder_uniq_ptr.release();
118
83.2k
        return Status::OK();
119
83.2k
    }
_ZN5doris10segment_v217PageBuilderHelperINS0_21BitshufflePageBuilderILNS_9FieldTypeE8EEEE6createIJRKNS0_18PageBuilderOptionsEEEENS_6StatusEPPNS0_11PageBuilderEDpOT_
Line
Count
Source
114
67.6k
    static Status create(PageBuilder** builder, Args&&... args) {
115
67.6k
        std::unique_ptr<PageBuilder> builder_uniq_ptr(new Derived(std::forward<Args>(args)...));
116
67.6k
        RETURN_IF_ERROR(builder_uniq_ptr->init());
117
67.6k
        *builder = builder_uniq_ptr.release();
118
67.6k
        return Status::OK();
119
67.6k
    }
Unexecuted instantiation: _ZN5doris10segment_v217PageBuilderHelperINS0_21BitshufflePageBuilderILNS_9FieldTypeE6EEEE6createIJRKNS0_18PageBuilderOptionsEEEENS_6StatusEPPNS0_11PageBuilderEDpOT_
_ZN5doris10segment_v217PageBuilderHelperINS0_21BitshufflePageBuilderILNS_9FieldTypeE9EEEE6createIJRKNS0_18PageBuilderOptionsEEEENS_6StatusEPPNS0_11PageBuilderEDpOT_
Line
Count
Source
114
13.2k
    static Status create(PageBuilder** builder, Args&&... args) {
115
13.2k
        std::unique_ptr<PageBuilder> builder_uniq_ptr(new Derived(std::forward<Args>(args)...));
116
13.2k
        RETURN_IF_ERROR(builder_uniq_ptr->init());
117
13.2k
        *builder = builder_uniq_ptr.release();
118
13.2k
        return Status::OK();
119
13.2k
    }
_ZN5doris10segment_v217PageBuilderHelperINS0_16PlainPageBuilderILNS_9FieldTypeE9EEEE6createIJRKNS0_18PageBuilderOptionsEEEENS_6StatusEPPNS0_11PageBuilderEDpOT_
Line
Count
Source
114
8.63k
    static Status create(PageBuilder** builder, Args&&... args) {
115
8.63k
        std::unique_ptr<PageBuilder> builder_uniq_ptr(new Derived(std::forward<Args>(args)...));
116
8.63k
        RETURN_IF_ERROR(builder_uniq_ptr->init());
117
8.63k
        *builder = builder_uniq_ptr.release();
118
8.63k
        return Status::OK();
119
8.63k
    }
Unexecuted instantiation: _ZN5doris10segment_v217PageBuilderHelperINS0_27FrameOfReferencePageBuilderILNS_9FieldTypeE9EEEE6createIJRKNS0_18PageBuilderOptionsEEEENS_6StatusEPPNS0_11PageBuilderEDpOT_
_ZN5doris10segment_v217PageBuilderHelperINS0_21BitshufflePageBuilderILNS_9FieldTypeE10EEEE6createIJRKNS0_18PageBuilderOptionsEEEENS_6StatusEPPNS0_11PageBuilderEDpOT_
Line
Count
Source
114
11.8k
    static Status create(PageBuilder** builder, Args&&... args) {
115
11.8k
        std::unique_ptr<PageBuilder> builder_uniq_ptr(new Derived(std::forward<Args>(args)...));
116
11.8k
        RETURN_IF_ERROR(builder_uniq_ptr->init());
117
11.8k
        *builder = builder_uniq_ptr.release();
118
11.8k
        return Status::OK();
119
11.8k
    }
Unexecuted instantiation: _ZN5doris10segment_v217PageBuilderHelperINS0_16PlainPageBuilderILNS_9FieldTypeE10EEEE6createIJRKNS0_18PageBuilderOptionsEEEENS_6StatusEPPNS0_11PageBuilderEDpOT_
_ZN5doris10segment_v217PageBuilderHelperINS0_21BitshufflePageBuilderILNS_9FieldTypeE11EEEE6createIJRKNS0_18PageBuilderOptionsEEEENS_6StatusEPPNS0_11PageBuilderEDpOT_
Line
Count
Source
114
14.3k
    static Status create(PageBuilder** builder, Args&&... args) {
115
14.3k
        std::unique_ptr<PageBuilder> builder_uniq_ptr(new Derived(std::forward<Args>(args)...));
116
14.3k
        RETURN_IF_ERROR(builder_uniq_ptr->init());
117
14.3k
        *builder = builder_uniq_ptr.release();
118
14.3k
        return Status::OK();
119
14.3k
    }
Unexecuted instantiation: _ZN5doris10segment_v217PageBuilderHelperINS0_16PlainPageBuilderILNS_9FieldTypeE11EEEE6createIJRKNS0_18PageBuilderOptionsEEEENS_6StatusEPPNS0_11PageBuilderEDpOT_
_ZN5doris10segment_v217PageBuilderHelperINS0_21BinaryDictPageBuilderEE6createIJRKNS0_18PageBuilderOptionsEEEENS_6StatusEPPNS0_11PageBuilderEDpOT_
Line
Count
Source
114
300k
    static Status create(PageBuilder** builder, Args&&... args) {
115
300k
        std::unique_ptr<PageBuilder> builder_uniq_ptr(new Derived(std::forward<Args>(args)...));
116
300k
        RETURN_IF_ERROR(builder_uniq_ptr->init());
117
300k
        *builder = builder_uniq_ptr.release();
118
300k
        return Status::OK();
119
300k
    }
Unexecuted instantiation: _ZN5doris10segment_v217PageBuilderHelperINS0_22BinaryPlainPageBuilderILNS_9FieldTypeE13EEEE6createIJRKNS0_18PageBuilderOptionsEEEENS_6StatusEPPNS0_11PageBuilderEDpOT_
Unexecuted instantiation: _ZN5doris10segment_v217PageBuilderHelperINS0_24BinaryPlainPageV2BuilderILNS_9FieldTypeE13EEEE6createIJRKNS0_18PageBuilderOptionsEEEENS_6StatusEPPNS0_11PageBuilderEDpOT_
_ZN5doris10segment_v217PageBuilderHelperINS0_23BinaryPrefixPageBuilderEE6createIJRKNS0_18PageBuilderOptionsEEEENS_6StatusEPPNS0_11PageBuilderEDpOT_
Line
Count
Source
114
28.5k
    static Status create(PageBuilder** builder, Args&&... args) {
115
28.5k
        std::unique_ptr<PageBuilder> builder_uniq_ptr(new Derived(std::forward<Args>(args)...));
116
28.5k
        RETURN_IF_ERROR(builder_uniq_ptr->init());
117
28.5k
        *builder = builder_uniq_ptr.release();
118
28.5k
        return Status::OK();
119
28.5k
    }
_ZN5doris10segment_v217PageBuilderHelperINS0_22BinaryPlainPageBuilderILNS_9FieldTypeE17EEEE6createIJRKNS0_18PageBuilderOptionsEEEENS_6StatusEPPNS0_11PageBuilderEDpOT_
Line
Count
Source
114
160k
    static Status create(PageBuilder** builder, Args&&... args) {
115
160k
        std::unique_ptr<PageBuilder> builder_uniq_ptr(new Derived(std::forward<Args>(args)...));
116
160k
        RETURN_IF_ERROR(builder_uniq_ptr->init());
117
160k
        *builder = builder_uniq_ptr.release();
118
160k
        return Status::OK();
119
160k
    }
_ZN5doris10segment_v217PageBuilderHelperINS0_24BinaryPlainPageV2BuilderILNS_9FieldTypeE17EEEE6createIJRKNS0_18PageBuilderOptionsEEEENS_6StatusEPPNS0_11PageBuilderEDpOT_
Line
Count
Source
114
175k
    static Status create(PageBuilder** builder, Args&&... args) {
115
175k
        std::unique_ptr<PageBuilder> builder_uniq_ptr(new Derived(std::forward<Args>(args)...));
116
175k
        RETURN_IF_ERROR(builder_uniq_ptr->init());
117
175k
        *builder = builder_uniq_ptr.release();
118
175k
        return Status::OK();
119
175k
    }
Unexecuted instantiation: _ZN5doris10segment_v217PageBuilderHelperINS0_22BinaryPlainPageBuilderILNS_9FieldTypeE26EEEE6createIJRKNS0_18PageBuilderOptionsEEEENS_6StatusEPPNS0_11PageBuilderEDpOT_
Unexecuted instantiation: _ZN5doris10segment_v217PageBuilderHelperINS0_24BinaryPlainPageV2BuilderILNS_9FieldTypeE26EEEE6createIJRKNS0_18PageBuilderOptionsEEEENS_6StatusEPPNS0_11PageBuilderEDpOT_
Unexecuted instantiation: _ZN5doris10segment_v217PageBuilderHelperINS0_22BinaryPlainPageBuilderILNS_9FieldTypeE34EEEE6createIJRKNS0_18PageBuilderOptionsEEEENS_6StatusEPPNS0_11PageBuilderEDpOT_
Unexecuted instantiation: _ZN5doris10segment_v217PageBuilderHelperINS0_24BinaryPlainPageV2BuilderILNS_9FieldTypeE34EEEE6createIJRKNS0_18PageBuilderOptionsEEEENS_6StatusEPPNS0_11PageBuilderEDpOT_
Unexecuted instantiation: _ZN5doris10segment_v217PageBuilderHelperINS0_22BinaryPlainPageBuilderILNS_9FieldTypeE35EEEE6createIJRKNS0_18PageBuilderOptionsEEEENS_6StatusEPPNS0_11PageBuilderEDpOT_
Unexecuted instantiation: _ZN5doris10segment_v217PageBuilderHelperINS0_24BinaryPlainPageV2BuilderILNS_9FieldTypeE35EEEE6createIJRKNS0_18PageBuilderOptionsEEEENS_6StatusEPPNS0_11PageBuilderEDpOT_
_ZN5doris10segment_v217PageBuilderHelperINS0_14RlePageBuilderILNS_9FieldTypeE24EEEE6createIJRKNS0_18PageBuilderOptionsEEEENS_6StatusEPPNS0_11PageBuilderEDpOT_
Line
Count
Source
114
12.3k
    static Status create(PageBuilder** builder, Args&&... args) {
115
12.3k
        std::unique_ptr<PageBuilder> builder_uniq_ptr(new Derived(std::forward<Args>(args)...));
116
12.3k
        RETURN_IF_ERROR(builder_uniq_ptr->init());
117
12.3k
        *builder = builder_uniq_ptr.release();
118
12.3k
        return Status::OK();
119
12.3k
    }
Unexecuted instantiation: _ZN5doris10segment_v217PageBuilderHelperINS0_21BitshufflePageBuilderILNS_9FieldTypeE24EEEE6createIJRKNS0_18PageBuilderOptionsEEEENS_6StatusEPPNS0_11PageBuilderEDpOT_
Unexecuted instantiation: _ZN5doris10segment_v217PageBuilderHelperINS0_16PlainPageBuilderILNS_9FieldTypeE24EEEE6createIJRKNS0_18PageBuilderOptionsEEEENS_6StatusEPPNS0_11PageBuilderEDpOT_
_ZN5doris10segment_v217PageBuilderHelperINS0_21BitshufflePageBuilderILNS_9FieldTypeE14EEEE6createIJRKNS0_18PageBuilderOptionsEEEENS_6StatusEPPNS0_11PageBuilderEDpOT_
Line
Count
Source
114
191
    static Status create(PageBuilder** builder, Args&&... args) {
115
191
        std::unique_ptr<PageBuilder> builder_uniq_ptr(new Derived(std::forward<Args>(args)...));
116
191
        RETURN_IF_ERROR(builder_uniq_ptr->init());
117
191
        *builder = builder_uniq_ptr.release();
118
191
        return Status::OK();
119
191
    }
Unexecuted instantiation: _ZN5doris10segment_v217PageBuilderHelperINS0_16PlainPageBuilderILNS_9FieldTypeE14EEEE6createIJRKNS0_18PageBuilderOptionsEEEENS_6StatusEPPNS0_11PageBuilderEDpOT_
Unexecuted instantiation: _ZN5doris10segment_v217PageBuilderHelperINS0_27FrameOfReferencePageBuilderILNS_9FieldTypeE14EEEE6createIJRKNS0_18PageBuilderOptionsEEEENS_6StatusEPPNS0_11PageBuilderEDpOT_
_ZN5doris10segment_v217PageBuilderHelperINS0_21BitshufflePageBuilderILNS_9FieldTypeE28EEEE6createIJRKNS0_18PageBuilderOptionsEEEENS_6StatusEPPNS0_11PageBuilderEDpOT_
Line
Count
Source
114
36.4k
    static Status create(PageBuilder** builder, Args&&... args) {
115
36.4k
        std::unique_ptr<PageBuilder> builder_uniq_ptr(new Derived(std::forward<Args>(args)...));
116
36.4k
        RETURN_IF_ERROR(builder_uniq_ptr->init());
117
36.4k
        *builder = builder_uniq_ptr.release();
118
36.4k
        return Status::OK();
119
36.4k
    }
Unexecuted instantiation: _ZN5doris10segment_v217PageBuilderHelperINS0_16PlainPageBuilderILNS_9FieldTypeE28EEEE6createIJRKNS0_18PageBuilderOptionsEEEENS_6StatusEPPNS0_11PageBuilderEDpOT_
Unexecuted instantiation: _ZN5doris10segment_v217PageBuilderHelperINS0_27FrameOfReferencePageBuilderILNS_9FieldTypeE28EEEE6createIJRKNS0_18PageBuilderOptionsEEEENS_6StatusEPPNS0_11PageBuilderEDpOT_
_ZN5doris10segment_v217PageBuilderHelperINS0_21BitshufflePageBuilderILNS_9FieldTypeE29EEEE6createIJRKNS0_18PageBuilderOptionsEEEENS_6StatusEPPNS0_11PageBuilderEDpOT_
Line
Count
Source
114
44.5k
    static Status create(PageBuilder** builder, Args&&... args) {
115
44.5k
        std::unique_ptr<PageBuilder> builder_uniq_ptr(new Derived(std::forward<Args>(args)...));
116
44.5k
        RETURN_IF_ERROR(builder_uniq_ptr->init());
117
44.5k
        *builder = builder_uniq_ptr.release();
118
44.5k
        return Status::OK();
119
44.5k
    }
Unexecuted instantiation: _ZN5doris10segment_v217PageBuilderHelperINS0_16PlainPageBuilderILNS_9FieldTypeE29EEEE6createIJRKNS0_18PageBuilderOptionsEEEENS_6StatusEPPNS0_11PageBuilderEDpOT_
Unexecuted instantiation: _ZN5doris10segment_v217PageBuilderHelperINS0_27FrameOfReferencePageBuilderILNS_9FieldTypeE29EEEE6createIJRKNS0_18PageBuilderOptionsEEEENS_6StatusEPPNS0_11PageBuilderEDpOT_
_ZN5doris10segment_v217PageBuilderHelperINS0_21BitshufflePageBuilderILNS_9FieldTypeE15EEEE6createIJRKNS0_18PageBuilderOptionsEEEENS_6StatusEPPNS0_11PageBuilderEDpOT_
Line
Count
Source
114
286
    static Status create(PageBuilder** builder, Args&&... args) {
115
286
        std::unique_ptr<PageBuilder> builder_uniq_ptr(new Derived(std::forward<Args>(args)...));
116
286
        RETURN_IF_ERROR(builder_uniq_ptr->init());
117
286
        *builder = builder_uniq_ptr.release();
118
286
        return Status::OK();
119
286
    }
Unexecuted instantiation: _ZN5doris10segment_v217PageBuilderHelperINS0_16PlainPageBuilderILNS_9FieldTypeE15EEEE6createIJRKNS0_18PageBuilderOptionsEEEENS_6StatusEPPNS0_11PageBuilderEDpOT_
Unexecuted instantiation: _ZN5doris10segment_v217PageBuilderHelperINS0_27FrameOfReferencePageBuilderILNS_9FieldTypeE15EEEE6createIJRKNS0_18PageBuilderOptionsEEEENS_6StatusEPPNS0_11PageBuilderEDpOT_
_ZN5doris10segment_v217PageBuilderHelperINS0_21BitshufflePageBuilderILNS_9FieldTypeE40EEEE6createIJRKNS0_18PageBuilderOptionsEEEENS_6StatusEPPNS0_11PageBuilderEDpOT_
Line
Count
Source
114
7.37k
    static Status create(PageBuilder** builder, Args&&... args) {
115
7.37k
        std::unique_ptr<PageBuilder> builder_uniq_ptr(new Derived(std::forward<Args>(args)...));
116
7.37k
        RETURN_IF_ERROR(builder_uniq_ptr->init());
117
7.37k
        *builder = builder_uniq_ptr.release();
118
7.37k
        return Status::OK();
119
7.37k
    }
Unexecuted instantiation: _ZN5doris10segment_v217PageBuilderHelperINS0_16PlainPageBuilderILNS_9FieldTypeE40EEEE6createIJRKNS0_18PageBuilderOptionsEEEENS_6StatusEPPNS0_11PageBuilderEDpOT_
Unexecuted instantiation: _ZN5doris10segment_v217PageBuilderHelperINS0_27FrameOfReferencePageBuilderILNS_9FieldTypeE40EEEE6createIJRKNS0_18PageBuilderOptionsEEEENS_6StatusEPPNS0_11PageBuilderEDpOT_
_ZN5doris10segment_v217PageBuilderHelperINS0_21BitshufflePageBuilderILNS_9FieldTypeE16EEEE6createIJRKNS0_18PageBuilderOptionsEEEENS_6StatusEPPNS0_11PageBuilderEDpOT_
Line
Count
Source
114
183
    static Status create(PageBuilder** builder, Args&&... args) {
115
183
        std::unique_ptr<PageBuilder> builder_uniq_ptr(new Derived(std::forward<Args>(args)...));
116
183
        RETURN_IF_ERROR(builder_uniq_ptr->init());
117
183
        *builder = builder_uniq_ptr.release();
118
183
        return Status::OK();
119
183
    }
Unexecuted instantiation: _ZN5doris10segment_v217PageBuilderHelperINS0_16PlainPageBuilderILNS_9FieldTypeE16EEEE6createIJRKNS0_18PageBuilderOptionsEEEENS_6StatusEPPNS0_11PageBuilderEDpOT_
_ZN5doris10segment_v217PageBuilderHelperINS0_21BitshufflePageBuilderILNS_9FieldTypeE31EEEE6createIJRKNS0_18PageBuilderOptionsEEEENS_6StatusEPPNS0_11PageBuilderEDpOT_
Line
Count
Source
114
9.63k
    static Status create(PageBuilder** builder, Args&&... args) {
115
9.63k
        std::unique_ptr<PageBuilder> builder_uniq_ptr(new Derived(std::forward<Args>(args)...));
116
9.63k
        RETURN_IF_ERROR(builder_uniq_ptr->init());
117
9.63k
        *builder = builder_uniq_ptr.release();
118
9.63k
        return Status::OK();
119
9.63k
    }
Unexecuted instantiation: _ZN5doris10segment_v217PageBuilderHelperINS0_16PlainPageBuilderILNS_9FieldTypeE31EEEE6createIJRKNS0_18PageBuilderOptionsEEEENS_6StatusEPPNS0_11PageBuilderEDpOT_
_ZN5doris10segment_v217PageBuilderHelperINS0_21BitshufflePageBuilderILNS_9FieldTypeE32EEEE6createIJRKNS0_18PageBuilderOptionsEEEENS_6StatusEPPNS0_11PageBuilderEDpOT_
Line
Count
Source
114
12.3k
    static Status create(PageBuilder** builder, Args&&... args) {
115
12.3k
        std::unique_ptr<PageBuilder> builder_uniq_ptr(new Derived(std::forward<Args>(args)...));
116
12.3k
        RETURN_IF_ERROR(builder_uniq_ptr->init());
117
12.3k
        *builder = builder_uniq_ptr.release();
118
12.3k
        return Status::OK();
119
12.3k
    }
Unexecuted instantiation: _ZN5doris10segment_v217PageBuilderHelperINS0_16PlainPageBuilderILNS_9FieldTypeE32EEEE6createIJRKNS0_18PageBuilderOptionsEEEENS_6StatusEPPNS0_11PageBuilderEDpOT_
_ZN5doris10segment_v217PageBuilderHelperINS0_21BitshufflePageBuilderILNS_9FieldTypeE33EEEE6createIJRKNS0_18PageBuilderOptionsEEEENS_6StatusEPPNS0_11PageBuilderEDpOT_
Line
Count
Source
114
15.8k
    static Status create(PageBuilder** builder, Args&&... args) {
115
15.8k
        std::unique_ptr<PageBuilder> builder_uniq_ptr(new Derived(std::forward<Args>(args)...));
116
15.8k
        RETURN_IF_ERROR(builder_uniq_ptr->init());
117
15.8k
        *builder = builder_uniq_ptr.release();
118
15.8k
        return Status::OK();
119
15.8k
    }
Unexecuted instantiation: _ZN5doris10segment_v217PageBuilderHelperINS0_16PlainPageBuilderILNS_9FieldTypeE33EEEE6createIJRKNS0_18PageBuilderOptionsEEEENS_6StatusEPPNS0_11PageBuilderEDpOT_
_ZN5doris10segment_v217PageBuilderHelperINS0_21BitshufflePageBuilderILNS_9FieldTypeE37EEEE6createIJRKNS0_18PageBuilderOptionsEEEENS_6StatusEPPNS0_11PageBuilderEDpOT_
Line
Count
Source
114
1.16k
    static Status create(PageBuilder** builder, Args&&... args) {
115
1.16k
        std::unique_ptr<PageBuilder> builder_uniq_ptr(new Derived(std::forward<Args>(args)...));
116
1.16k
        RETURN_IF_ERROR(builder_uniq_ptr->init());
117
1.16k
        *builder = builder_uniq_ptr.release();
118
1.16k
        return Status::OK();
119
1.16k
    }
Unexecuted instantiation: _ZN5doris10segment_v217PageBuilderHelperINS0_16PlainPageBuilderILNS_9FieldTypeE37EEEE6createIJRKNS0_18PageBuilderOptionsEEEENS_6StatusEPPNS0_11PageBuilderEDpOT_
_ZN5doris10segment_v217PageBuilderHelperINS0_21BitshufflePageBuilderILNS_9FieldTypeE38EEEE6createIJRKNS0_18PageBuilderOptionsEEEENS_6StatusEPPNS0_11PageBuilderEDpOT_
Line
Count
Source
114
799
    static Status create(PageBuilder** builder, Args&&... args) {
115
799
        std::unique_ptr<PageBuilder> builder_uniq_ptr(new Derived(std::forward<Args>(args)...));
116
799
        RETURN_IF_ERROR(builder_uniq_ptr->init());
117
799
        *builder = builder_uniq_ptr.release();
118
799
        return Status::OK();
119
799
    }
Unexecuted instantiation: _ZN5doris10segment_v217PageBuilderHelperINS0_16PlainPageBuilderILNS_9FieldTypeE38EEEE6createIJRKNS0_18PageBuilderOptionsEEEENS_6StatusEPPNS0_11PageBuilderEDpOT_
_ZN5doris10segment_v217PageBuilderHelperINS0_21BitshufflePageBuilderILNS_9FieldTypeE39EEEE6createIJRKNS0_18PageBuilderOptionsEEEENS_6StatusEPPNS0_11PageBuilderEDpOT_
Line
Count
Source
114
718
    static Status create(PageBuilder** builder, Args&&... args) {
115
718
        std::unique_ptr<PageBuilder> builder_uniq_ptr(new Derived(std::forward<Args>(args)...));
116
718
        RETURN_IF_ERROR(builder_uniq_ptr->init());
117
718
        *builder = builder_uniq_ptr.release();
118
718
        return Status::OK();
119
718
    }
Unexecuted instantiation: _ZN5doris10segment_v217PageBuilderHelperINS0_16PlainPageBuilderILNS_9FieldTypeE39EEEE6createIJRKNS0_18PageBuilderOptionsEEEENS_6StatusEPPNS0_11PageBuilderEDpOT_
_ZN5doris10segment_v217PageBuilderHelperINS0_22BinaryPlainPageBuilderILNS_9FieldTypeE23EEEE6createIJRKNS0_18PageBuilderOptionsEEEENS_6StatusEPPNS0_11PageBuilderEDpOT_
Line
Count
Source
114
1.11k
    static Status create(PageBuilder** builder, Args&&... args) {
115
1.11k
        std::unique_ptr<PageBuilder> builder_uniq_ptr(new Derived(std::forward<Args>(args)...));
116
1.11k
        RETURN_IF_ERROR(builder_uniq_ptr->init());
117
1.11k
        *builder = builder_uniq_ptr.release();
118
1.11k
        return Status::OK();
119
1.11k
    }
_ZN5doris10segment_v217PageBuilderHelperINS0_24BinaryPlainPageV2BuilderILNS_9FieldTypeE23EEEE6createIJRKNS0_18PageBuilderOptionsEEEENS_6StatusEPPNS0_11PageBuilderEDpOT_
Line
Count
Source
114
90
    static Status create(PageBuilder** builder, Args&&... args) {
115
90
        std::unique_ptr<PageBuilder> builder_uniq_ptr(new Derived(std::forward<Args>(args)...));
116
90
        RETURN_IF_ERROR(builder_uniq_ptr->init());
117
90
        *builder = builder_uniq_ptr.release();
118
90
        return Status::OK();
119
90
    }
_ZN5doris10segment_v217PageBuilderHelperINS0_22BinaryPlainPageBuilderILNS_9FieldTypeE25EEEE6createIJRKNS0_18PageBuilderOptionsEEEENS_6StatusEPPNS0_11PageBuilderEDpOT_
Line
Count
Source
114
728k
    static Status create(PageBuilder** builder, Args&&... args) {
115
728k
        std::unique_ptr<PageBuilder> builder_uniq_ptr(new Derived(std::forward<Args>(args)...));
116
728k
        RETURN_IF_ERROR(builder_uniq_ptr->init());
117
728k
        *builder = builder_uniq_ptr.release();
118
728k
        return Status::OK();
119
728k
    }
_ZN5doris10segment_v217PageBuilderHelperINS0_24BinaryPlainPageV2BuilderILNS_9FieldTypeE25EEEE6createIJRKNS0_18PageBuilderOptionsEEEENS_6StatusEPPNS0_11PageBuilderEDpOT_
Line
Count
Source
114
550
    static Status create(PageBuilder** builder, Args&&... args) {
115
550
        std::unique_ptr<PageBuilder> builder_uniq_ptr(new Derived(std::forward<Args>(args)...));
116
550
        RETURN_IF_ERROR(builder_uniq_ptr->init());
117
550
        *builder = builder_uniq_ptr.release();
118
550
        return Status::OK();
119
550
    }
_ZN5doris10segment_v217PageBuilderHelperINS0_22BinaryPlainPageBuilderILNS_9FieldTypeE27EEEE6createIJRKNS0_18PageBuilderOptionsEEEENS_6StatusEPPNS0_11PageBuilderEDpOT_
Line
Count
Source
114
914
    static Status create(PageBuilder** builder, Args&&... args) {
115
914
        std::unique_ptr<PageBuilder> builder_uniq_ptr(new Derived(std::forward<Args>(args)...));
116
914
        RETURN_IF_ERROR(builder_uniq_ptr->init());
117
914
        *builder = builder_uniq_ptr.release();
118
914
        return Status::OK();
119
914
    }
_ZN5doris10segment_v217PageBuilderHelperINS0_24BinaryPlainPageV2BuilderILNS_9FieldTypeE27EEEE6createIJRKNS0_18PageBuilderOptionsEEEENS_6StatusEPPNS0_11PageBuilderEDpOT_
Line
Count
Source
114
18
    static Status create(PageBuilder** builder, Args&&... args) {
115
18
        std::unique_ptr<PageBuilder> builder_uniq_ptr(new Derived(std::forward<Args>(args)...));
116
18
        RETURN_IF_ERROR(builder_uniq_ptr->init());
117
18
        *builder = builder_uniq_ptr.release();
118
18
        return Status::OK();
119
18
    }
_ZN5doris10segment_v217PageBuilderHelperINS0_22BinaryPlainPageBuilderILNS_9FieldTypeE36EEEE6createIJRKNS0_18PageBuilderOptionsEEEENS_6StatusEPPNS0_11PageBuilderEDpOT_
Line
Count
Source
114
1.00k
    static Status create(PageBuilder** builder, Args&&... args) {
115
1.00k
        std::unique_ptr<PageBuilder> builder_uniq_ptr(new Derived(std::forward<Args>(args)...));
116
1.00k
        RETURN_IF_ERROR(builder_uniq_ptr->init());
117
1.00k
        *builder = builder_uniq_ptr.release();
118
1.00k
        return Status::OK();
119
1.00k
    }
_ZN5doris10segment_v217PageBuilderHelperINS0_24BinaryPlainPageV2BuilderILNS_9FieldTypeE36EEEE6createIJRKNS0_18PageBuilderOptionsEEEENS_6StatusEPPNS0_11PageBuilderEDpOT_
Line
Count
Source
114
165
    static Status create(PageBuilder** builder, Args&&... args) {
115
165
        std::unique_ptr<PageBuilder> builder_uniq_ptr(new Derived(std::forward<Args>(args)...));
116
165
        RETURN_IF_ERROR(builder_uniq_ptr->init());
117
165
        *builder = builder_uniq_ptr.release();
118
165
        return Status::OK();
119
165
    }
120
};
121
122
} // namespace segment_v2
123
} // namespace doris