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.35M | PageBuilder() = default; |
43 | | PageBuilder(const PageBuilder&) = delete; |
44 | | PageBuilder& operator=(const PageBuilder&) = delete; |
45 | | |
46 | 2.36M | 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 | | // Reset the internal state of the page builder. |
81 | | // |
82 | | // Any data previously returned by finish may be invalidated by this call. |
83 | | virtual Status reset() = 0; |
84 | | |
85 | | // Return the number of entries that have been added to the page. |
86 | | virtual size_t count() const = 0; |
87 | | |
88 | | // Return the total bytes of pageBuilder that have been added to the page. |
89 | | virtual uint64_t size() const = 0; |
90 | | |
91 | | // Return the uncompressed data size in bytes (raw data added via add() method). |
92 | | // This is used to track the original data size before compression. |
93 | | virtual uint64_t get_raw_data_size() const = 0; |
94 | | }; |
95 | | |
96 | | template <typename Derived> |
97 | | class PageBuilderHelper : public PageBuilder { |
98 | | public: |
99 | | template <typename... Args> |
100 | 2.36M | static Status create(PageBuilder** builder, Args&&... args) { |
101 | 2.36M | std::unique_ptr<PageBuilder> builder_uniq_ptr(new Derived(std::forward<Args>(args)...)); |
102 | 2.36M | RETURN_IF_ERROR(builder_uniq_ptr->init()); |
103 | 2.36M | *builder = builder_uniq_ptr.release(); |
104 | 2.36M | return Status::OK(); |
105 | 2.36M | } _ZN5doris10segment_v217PageBuilderHelperINS0_21BitshufflePageBuilderILNS_9FieldTypeE5EEEE6createIJRNS0_18PageBuilderOptionsEEEENS_6StatusEPPNS0_11PageBuilderEDpOT_ Line | Count | Source | 100 | 290k | static Status create(PageBuilder** builder, Args&&... args) { | 101 | 290k | std::unique_ptr<PageBuilder> builder_uniq_ptr(new Derived(std::forward<Args>(args)...)); | 102 | 290k | RETURN_IF_ERROR(builder_uniq_ptr->init()); | 103 | 290k | *builder = builder_uniq_ptr.release(); | 104 | 290k | return Status::OK(); | 105 | 290k | } |
_ZN5doris10segment_v217PageBuilderHelperINS0_21BitshufflePageBuilderILNS_9FieldTypeE1EEEE6createIJRKNS0_18PageBuilderOptionsEEEENS_6StatusEPPNS0_11PageBuilderEDpOT_ Line | Count | Source | 100 | 38.1k | static Status create(PageBuilder** builder, Args&&... args) { | 101 | 38.1k | std::unique_ptr<PageBuilder> builder_uniq_ptr(new Derived(std::forward<Args>(args)...)); | 102 | 38.1k | RETURN_IF_ERROR(builder_uniq_ptr->init()); | 103 | 38.1k | *builder = builder_uniq_ptr.release(); | 104 | 38.1k | return Status::OK(); | 105 | 38.1k | } |
_ZN5doris10segment_v217PageBuilderHelperINS0_16PlainPageBuilderILNS_9FieldTypeE1EEEE6createIJRKNS0_18PageBuilderOptionsEEEENS_6StatusEPPNS0_11PageBuilderEDpOT_ Line | Count | Source | 100 | 47.8k | static Status create(PageBuilder** builder, Args&&... args) { | 101 | 47.8k | std::unique_ptr<PageBuilder> builder_uniq_ptr(new Derived(std::forward<Args>(args)...)); | 102 | 47.8k | RETURN_IF_ERROR(builder_uniq_ptr->init()); | 103 | 47.8k | *builder = builder_uniq_ptr.release(); | 104 | 47.8k | return Status::OK(); | 105 | 47.8k | } |
Unexecuted instantiation: _ZN5doris10segment_v217PageBuilderHelperINS0_27FrameOfReferencePageBuilderILNS_9FieldTypeE1EEEE6createIJRKNS0_18PageBuilderOptionsEEEENS_6StatusEPPNS0_11PageBuilderEDpOT_ _ZN5doris10segment_v217PageBuilderHelperINS0_21BitshufflePageBuilderILNS_9FieldTypeE3EEEE6createIJRKNS0_18PageBuilderOptionsEEEENS_6StatusEPPNS0_11PageBuilderEDpOT_ Line | Count | Source | 100 | 7.62k | static Status create(PageBuilder** builder, Args&&... args) { | 101 | 7.62k | std::unique_ptr<PageBuilder> builder_uniq_ptr(new Derived(std::forward<Args>(args)...)); | 102 | 7.62k | RETURN_IF_ERROR(builder_uniq_ptr->init()); | 103 | 7.62k | *builder = builder_uniq_ptr.release(); | 104 | 7.62k | return Status::OK(); | 105 | 7.62k | } |
_ZN5doris10segment_v217PageBuilderHelperINS0_16PlainPageBuilderILNS_9FieldTypeE3EEEE6createIJRKNS0_18PageBuilderOptionsEEEENS_6StatusEPPNS0_11PageBuilderEDpOT_ Line | Count | Source | 100 | 9.64k | static Status create(PageBuilder** builder, Args&&... args) { | 101 | 9.64k | std::unique_ptr<PageBuilder> builder_uniq_ptr(new Derived(std::forward<Args>(args)...)); | 102 | 9.64k | RETURN_IF_ERROR(builder_uniq_ptr->init()); | 103 | 9.64k | *builder = builder_uniq_ptr.release(); | 104 | 9.64k | return Status::OK(); | 105 | 9.64k | } |
Unexecuted instantiation: _ZN5doris10segment_v217PageBuilderHelperINS0_27FrameOfReferencePageBuilderILNS_9FieldTypeE3EEEE6createIJRKNS0_18PageBuilderOptionsEEEENS_6StatusEPPNS0_11PageBuilderEDpOT_ _ZN5doris10segment_v217PageBuilderHelperINS0_21BitshufflePageBuilderILNS_9FieldTypeE5EEEE6createIJRKNS0_18PageBuilderOptionsEEEENS_6StatusEPPNS0_11PageBuilderEDpOT_ Line | Count | Source | 100 | 58.5k | static Status create(PageBuilder** builder, Args&&... args) { | 101 | 58.5k | std::unique_ptr<PageBuilder> builder_uniq_ptr(new Derived(std::forward<Args>(args)...)); | 102 | 58.5k | RETURN_IF_ERROR(builder_uniq_ptr->init()); | 103 | 58.5k | *builder = builder_uniq_ptr.release(); | 104 | 58.5k | return Status::OK(); | 105 | 58.5k | } |
_ZN5doris10segment_v217PageBuilderHelperINS0_16PlainPageBuilderILNS_9FieldTypeE5EEEE6createIJRKNS0_18PageBuilderOptionsEEEENS_6StatusEPPNS0_11PageBuilderEDpOT_ Line | Count | Source | 100 | 52.1k | static Status create(PageBuilder** builder, Args&&... args) { | 101 | 52.1k | std::unique_ptr<PageBuilder> builder_uniq_ptr(new Derived(std::forward<Args>(args)...)); | 102 | 52.1k | RETURN_IF_ERROR(builder_uniq_ptr->init()); | 103 | 52.1k | *builder = builder_uniq_ptr.release(); | 104 | 52.1k | return Status::OK(); | 105 | 52.1k | } |
Unexecuted instantiation: _ZN5doris10segment_v217PageBuilderHelperINS0_27FrameOfReferencePageBuilderILNS_9FieldTypeE5EEEE6createIJRKNS0_18PageBuilderOptionsEEEENS_6StatusEPPNS0_11PageBuilderEDpOT_ _ZN5doris10segment_v217PageBuilderHelperINS0_21BitshufflePageBuilderILNS_9FieldTypeE7EEEE6createIJRKNS0_18PageBuilderOptionsEEEENS_6StatusEPPNS0_11PageBuilderEDpOT_ Line | Count | Source | 100 | 121k | static Status create(PageBuilder** builder, Args&&... args) { | 101 | 121k | std::unique_ptr<PageBuilder> builder_uniq_ptr(new Derived(std::forward<Args>(args)...)); | 102 | 121k | RETURN_IF_ERROR(builder_uniq_ptr->init()); | 103 | 121k | *builder = builder_uniq_ptr.release(); | 104 | 121k | return Status::OK(); | 105 | 121k | } |
_ZN5doris10segment_v217PageBuilderHelperINS0_16PlainPageBuilderILNS_9FieldTypeE7EEEE6createIJRKNS0_18PageBuilderOptionsEEEENS_6StatusEPPNS0_11PageBuilderEDpOT_ Line | Count | Source | 100 | 97.1k | static Status create(PageBuilder** builder, Args&&... args) { | 101 | 97.1k | std::unique_ptr<PageBuilder> builder_uniq_ptr(new Derived(std::forward<Args>(args)...)); | 102 | 97.1k | RETURN_IF_ERROR(builder_uniq_ptr->init()); | 103 | 97.1k | *builder = builder_uniq_ptr.release(); | 104 | 97.1k | return Status::OK(); | 105 | 97.1k | } |
Unexecuted instantiation: _ZN5doris10segment_v217PageBuilderHelperINS0_27FrameOfReferencePageBuilderILNS_9FieldTypeE7EEEE6createIJRKNS0_18PageBuilderOptionsEEEENS_6StatusEPPNS0_11PageBuilderEDpOT_ _ZN5doris10segment_v217PageBuilderHelperINS0_21BitshufflePageBuilderILNS_9FieldTypeE9EEEE6createIJRKNS0_18PageBuilderOptionsEEEENS_6StatusEPPNS0_11PageBuilderEDpOT_ Line | Count | Source | 100 | 10.9k | static Status create(PageBuilder** builder, Args&&... args) { | 101 | 10.9k | std::unique_ptr<PageBuilder> builder_uniq_ptr(new Derived(std::forward<Args>(args)...)); | 102 | 10.9k | RETURN_IF_ERROR(builder_uniq_ptr->init()); | 103 | 10.9k | *builder = builder_uniq_ptr.release(); | 104 | 10.9k | return Status::OK(); | 105 | 10.9k | } |
_ZN5doris10segment_v217PageBuilderHelperINS0_16PlainPageBuilderILNS_9FieldTypeE9EEEE6createIJRKNS0_18PageBuilderOptionsEEEENS_6StatusEPPNS0_11PageBuilderEDpOT_ Line | Count | Source | 100 | 11.9k | static Status create(PageBuilder** builder, Args&&... args) { | 101 | 11.9k | std::unique_ptr<PageBuilder> builder_uniq_ptr(new Derived(std::forward<Args>(args)...)); | 102 | 11.9k | RETURN_IF_ERROR(builder_uniq_ptr->init()); | 103 | 11.9k | *builder = builder_uniq_ptr.release(); | 104 | 11.9k | return Status::OK(); | 105 | 11.9k | } |
Unexecuted instantiation: _ZN5doris10segment_v217PageBuilderHelperINS0_27FrameOfReferencePageBuilderILNS_9FieldTypeE9EEEE6createIJRKNS0_18PageBuilderOptionsEEEENS_6StatusEPPNS0_11PageBuilderEDpOT_ _ZN5doris10segment_v217PageBuilderHelperINS0_21BitshufflePageBuilderILNS_9FieldTypeE8EEEE6createIJRKNS0_18PageBuilderOptionsEEEENS_6StatusEPPNS0_11PageBuilderEDpOT_ Line | Count | Source | 100 | 68.6k | static Status create(PageBuilder** builder, Args&&... args) { | 101 | 68.6k | std::unique_ptr<PageBuilder> builder_uniq_ptr(new Derived(std::forward<Args>(args)...)); | 102 | 68.6k | RETURN_IF_ERROR(builder_uniq_ptr->init()); | 103 | 68.6k | *builder = builder_uniq_ptr.release(); | 104 | 68.6k | return Status::OK(); | 105 | 68.6k | } |
_ZN5doris10segment_v217PageBuilderHelperINS0_21BitshufflePageBuilderILNS_9FieldTypeE6EEEE6createIJRKNS0_18PageBuilderOptionsEEEENS_6StatusEPPNS0_11PageBuilderEDpOT_ Line | Count | Source | 100 | 1 | static Status create(PageBuilder** builder, Args&&... args) { | 101 | 1 | std::unique_ptr<PageBuilder> builder_uniq_ptr(new Derived(std::forward<Args>(args)...)); | 102 | 1 | RETURN_IF_ERROR(builder_uniq_ptr->init()); | 103 | 1 | *builder = builder_uniq_ptr.release(); | 104 | 1 | return Status::OK(); | 105 | 1 | } |
_ZN5doris10segment_v217PageBuilderHelperINS0_21BitshufflePageBuilderILNS_9FieldTypeE10EEEE6createIJRKNS0_18PageBuilderOptionsEEEENS_6StatusEPPNS0_11PageBuilderEDpOT_ Line | Count | Source | 100 | 4.54k | static Status create(PageBuilder** builder, Args&&... args) { | 101 | 4.54k | std::unique_ptr<PageBuilder> builder_uniq_ptr(new Derived(std::forward<Args>(args)...)); | 102 | 4.54k | RETURN_IF_ERROR(builder_uniq_ptr->init()); | 103 | 4.54k | *builder = builder_uniq_ptr.release(); | 104 | 4.54k | return Status::OK(); | 105 | 4.54k | } |
_ZN5doris10segment_v217PageBuilderHelperINS0_16PlainPageBuilderILNS_9FieldTypeE10EEEE6createIJRKNS0_18PageBuilderOptionsEEEENS_6StatusEPPNS0_11PageBuilderEDpOT_ Line | Count | Source | 100 | 7.99k | static Status create(PageBuilder** builder, Args&&... args) { | 101 | 7.99k | std::unique_ptr<PageBuilder> builder_uniq_ptr(new Derived(std::forward<Args>(args)...)); | 102 | 7.99k | RETURN_IF_ERROR(builder_uniq_ptr->init()); | 103 | 7.99k | *builder = builder_uniq_ptr.release(); | 104 | 7.99k | return Status::OK(); | 105 | 7.99k | } |
_ZN5doris10segment_v217PageBuilderHelperINS0_21BitshufflePageBuilderILNS_9FieldTypeE11EEEE6createIJRKNS0_18PageBuilderOptionsEEEENS_6StatusEPPNS0_11PageBuilderEDpOT_ Line | Count | Source | 100 | 5.84k | static Status create(PageBuilder** builder, Args&&... args) { | 101 | 5.84k | std::unique_ptr<PageBuilder> builder_uniq_ptr(new Derived(std::forward<Args>(args)...)); | 102 | 5.84k | RETURN_IF_ERROR(builder_uniq_ptr->init()); | 103 | 5.84k | *builder = builder_uniq_ptr.release(); | 104 | 5.84k | return Status::OK(); | 105 | 5.84k | } |
_ZN5doris10segment_v217PageBuilderHelperINS0_16PlainPageBuilderILNS_9FieldTypeE11EEEE6createIJRKNS0_18PageBuilderOptionsEEEENS_6StatusEPPNS0_11PageBuilderEDpOT_ Line | Count | Source | 100 | 9.06k | static Status create(PageBuilder** builder, Args&&... args) { | 101 | 9.06k | std::unique_ptr<PageBuilder> builder_uniq_ptr(new Derived(std::forward<Args>(args)...)); | 102 | 9.06k | RETURN_IF_ERROR(builder_uniq_ptr->init()); | 103 | 9.06k | *builder = builder_uniq_ptr.release(); | 104 | 9.06k | return Status::OK(); | 105 | 9.06k | } |
_ZN5doris10segment_v217PageBuilderHelperINS0_21BinaryDictPageBuilderEE6createIJRKNS0_18PageBuilderOptionsEEEENS_6StatusEPPNS0_11PageBuilderEDpOT_ Line | Count | Source | 100 | 290k | static Status create(PageBuilder** builder, Args&&... args) { | 101 | 290k | std::unique_ptr<PageBuilder> builder_uniq_ptr(new Derived(std::forward<Args>(args)...)); | 102 | 290k | RETURN_IF_ERROR(builder_uniq_ptr->init()); | 103 | 290k | *builder = builder_uniq_ptr.release(); | 104 | 290k | return Status::OK(); | 105 | 290k | } |
Unexecuted instantiation: _ZN5doris10segment_v217PageBuilderHelperINS0_22BinaryPlainPageBuilderILNS_9FieldTypeE13EEEE6createIJRKNS0_18PageBuilderOptionsEEEENS_6StatusEPPNS0_11PageBuilderEDpOT_ Unexecuted instantiation: _ZN5doris10segment_v217PageBuilderHelperINS0_24BinaryPlainPageV2BuilderILNS_9FieldTypeE13EEEE6createIJRKNS0_18PageBuilderOptionsEEEENS_6StatusEPPNS0_11PageBuilderEDpOT_ Unexecuted instantiation: _ZN5doris10segment_v217PageBuilderHelperINS0_24BinaryPlainPageV3BuilderILNS_9FieldTypeE13EEEE6createIJRKNS0_18PageBuilderOptionsEEEENS_6StatusEPPNS0_11PageBuilderEDpOT_ _ZN5doris10segment_v217PageBuilderHelperINS0_23BinaryPrefixPageBuilderEE6createIJRKNS0_18PageBuilderOptionsEEEENS_6StatusEPPNS0_11PageBuilderEDpOT_ Line | Count | Source | 100 | 27.9k | static Status create(PageBuilder** builder, Args&&... args) { | 101 | 27.9k | std::unique_ptr<PageBuilder> builder_uniq_ptr(new Derived(std::forward<Args>(args)...)); | 102 | 27.9k | RETURN_IF_ERROR(builder_uniq_ptr->init()); | 103 | 27.9k | *builder = builder_uniq_ptr.release(); | 104 | 27.9k | return Status::OK(); | 105 | 27.9k | } |
_ZN5doris10segment_v217PageBuilderHelperINS0_22BinaryPlainPageBuilderILNS_9FieldTypeE17EEEE6createIJRKNS0_18PageBuilderOptionsEEEENS_6StatusEPPNS0_11PageBuilderEDpOT_ Line | Count | Source | 100 | 137k | static Status create(PageBuilder** builder, Args&&... args) { | 101 | 137k | std::unique_ptr<PageBuilder> builder_uniq_ptr(new Derived(std::forward<Args>(args)...)); | 102 | 137k | RETURN_IF_ERROR(builder_uniq_ptr->init()); | 103 | 137k | *builder = builder_uniq_ptr.release(); | 104 | 137k | return Status::OK(); | 105 | 137k | } |
_ZN5doris10segment_v217PageBuilderHelperINS0_24BinaryPlainPageV2BuilderILNS_9FieldTypeE17EEEE6createIJRKNS0_18PageBuilderOptionsEEEENS_6StatusEPPNS0_11PageBuilderEDpOT_ Line | Count | Source | 100 | 8 | static Status create(PageBuilder** builder, Args&&... args) { | 101 | 8 | std::unique_ptr<PageBuilder> builder_uniq_ptr(new Derived(std::forward<Args>(args)...)); | 102 | 8 | RETURN_IF_ERROR(builder_uniq_ptr->init()); | 103 | 8 | *builder = builder_uniq_ptr.release(); | 104 | 8 | return Status::OK(); | 105 | 8 | } |
_ZN5doris10segment_v217PageBuilderHelperINS0_24BinaryPlainPageV3BuilderILNS_9FieldTypeE17EEEE6createIJRKNS0_18PageBuilderOptionsEEEENS_6StatusEPPNS0_11PageBuilderEDpOT_ Line | Count | Source | 100 | 189k | static Status create(PageBuilder** builder, Args&&... args) { | 101 | 189k | std::unique_ptr<PageBuilder> builder_uniq_ptr(new Derived(std::forward<Args>(args)...)); | 102 | 189k | RETURN_IF_ERROR(builder_uniq_ptr->init()); | 103 | 189k | *builder = builder_uniq_ptr.release(); | 104 | 189k | return Status::OK(); | 105 | 189k | } |
_ZN5doris10segment_v217PageBuilderHelperINS0_22BinaryPlainPageBuilderILNS_9FieldTypeE26EEEE6createIJRKNS0_18PageBuilderOptionsEEEENS_6StatusEPPNS0_11PageBuilderEDpOT_ Line | Count | Source | 100 | 810 | static Status create(PageBuilder** builder, Args&&... args) { | 101 | 810 | std::unique_ptr<PageBuilder> builder_uniq_ptr(new Derived(std::forward<Args>(args)...)); | 102 | 810 | RETURN_IF_ERROR(builder_uniq_ptr->init()); | 103 | 810 | *builder = builder_uniq_ptr.release(); | 104 | 810 | return Status::OK(); | 105 | 810 | } |
Unexecuted instantiation: _ZN5doris10segment_v217PageBuilderHelperINS0_24BinaryPlainPageV2BuilderILNS_9FieldTypeE26EEEE6createIJRKNS0_18PageBuilderOptionsEEEENS_6StatusEPPNS0_11PageBuilderEDpOT_ _ZN5doris10segment_v217PageBuilderHelperINS0_24BinaryPlainPageV3BuilderILNS_9FieldTypeE26EEEE6createIJRKNS0_18PageBuilderOptionsEEEENS_6StatusEPPNS0_11PageBuilderEDpOT_ Line | Count | Source | 100 | 615 | static Status create(PageBuilder** builder, Args&&... args) { | 101 | 615 | std::unique_ptr<PageBuilder> builder_uniq_ptr(new Derived(std::forward<Args>(args)...)); | 102 | 615 | RETURN_IF_ERROR(builder_uniq_ptr->init()); | 103 | 615 | *builder = builder_uniq_ptr.release(); | 104 | 615 | return Status::OK(); | 105 | 615 | } |
Unexecuted instantiation: _ZN5doris10segment_v217PageBuilderHelperINS0_22BinaryPlainPageBuilderILNS_9FieldTypeE34EEEE6createIJRKNS0_18PageBuilderOptionsEEEENS_6StatusEPPNS0_11PageBuilderEDpOT_ Unexecuted instantiation: _ZN5doris10segment_v217PageBuilderHelperINS0_24BinaryPlainPageV2BuilderILNS_9FieldTypeE34EEEE6createIJRKNS0_18PageBuilderOptionsEEEENS_6StatusEPPNS0_11PageBuilderEDpOT_ Unexecuted instantiation: _ZN5doris10segment_v217PageBuilderHelperINS0_24BinaryPlainPageV3BuilderILNS_9FieldTypeE34EEEE6createIJRKNS0_18PageBuilderOptionsEEEENS_6StatusEPPNS0_11PageBuilderEDpOT_ Unexecuted instantiation: _ZN5doris10segment_v217PageBuilderHelperINS0_22BinaryPlainPageBuilderILNS_9FieldTypeE35EEEE6createIJRKNS0_18PageBuilderOptionsEEEENS_6StatusEPPNS0_11PageBuilderEDpOT_ Unexecuted instantiation: _ZN5doris10segment_v217PageBuilderHelperINS0_24BinaryPlainPageV2BuilderILNS_9FieldTypeE35EEEE6createIJRKNS0_18PageBuilderOptionsEEEENS_6StatusEPPNS0_11PageBuilderEDpOT_ Unexecuted instantiation: _ZN5doris10segment_v217PageBuilderHelperINS0_24BinaryPlainPageV3BuilderILNS_9FieldTypeE35EEEE6createIJRKNS0_18PageBuilderOptionsEEEENS_6StatusEPPNS0_11PageBuilderEDpOT_ _ZN5doris10segment_v217PageBuilderHelperINS0_14RlePageBuilderILNS_9FieldTypeE24EEEE6createIJRKNS0_18PageBuilderOptionsEEEENS_6StatusEPPNS0_11PageBuilderEDpOT_ Line | Count | Source | 100 | 13.5k | static Status create(PageBuilder** builder, Args&&... args) { | 101 | 13.5k | std::unique_ptr<PageBuilder> builder_uniq_ptr(new Derived(std::forward<Args>(args)...)); | 102 | 13.5k | RETURN_IF_ERROR(builder_uniq_ptr->init()); | 103 | 13.5k | *builder = builder_uniq_ptr.release(); | 104 | 13.5k | return Status::OK(); | 105 | 13.5k | } |
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 | 100 | 333 | static Status create(PageBuilder** builder, Args&&... args) { | 101 | 333 | std::unique_ptr<PageBuilder> builder_uniq_ptr(new Derived(std::forward<Args>(args)...)); | 102 | 333 | RETURN_IF_ERROR(builder_uniq_ptr->init()); | 103 | 333 | *builder = builder_uniq_ptr.release(); | 104 | 333 | return Status::OK(); | 105 | 333 | } |
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 | 100 | 37.4k | static Status create(PageBuilder** builder, Args&&... args) { | 101 | 37.4k | std::unique_ptr<PageBuilder> builder_uniq_ptr(new Derived(std::forward<Args>(args)...)); | 102 | 37.4k | RETURN_IF_ERROR(builder_uniq_ptr->init()); | 103 | 37.4k | *builder = builder_uniq_ptr.release(); | 104 | 37.4k | return Status::OK(); | 105 | 37.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 | 100 | 44.0k | static Status create(PageBuilder** builder, Args&&... args) { | 101 | 44.0k | std::unique_ptr<PageBuilder> builder_uniq_ptr(new Derived(std::forward<Args>(args)...)); | 102 | 44.0k | RETURN_IF_ERROR(builder_uniq_ptr->init()); | 103 | 44.0k | *builder = builder_uniq_ptr.release(); | 104 | 44.0k | return Status::OK(); | 105 | 44.0k | } |
Unexecuted instantiation: _ZN5doris10segment_v217PageBuilderHelperINS0_16PlainPageBuilderILNS_9FieldTypeE29EEEE6createIJRKNS0_18PageBuilderOptionsEEEENS_6StatusEPPNS0_11PageBuilderEDpOT_ Unexecuted instantiation: _ZN5doris10segment_v217PageBuilderHelperINS0_27FrameOfReferencePageBuilderILNS_9FieldTypeE29EEEE6createIJRKNS0_18PageBuilderOptionsEEEENS_6StatusEPPNS0_11PageBuilderEDpOT_ _ZN5doris10segment_v217PageBuilderHelperINS0_21BitshufflePageBuilderILNS_9FieldTypeE41EEEE6createIJRKNS0_18PageBuilderOptionsEEEENS_6StatusEPPNS0_11PageBuilderEDpOT_ Line | Count | Source | 100 | 330 | static Status create(PageBuilder** builder, Args&&... args) { | 101 | 330 | std::unique_ptr<PageBuilder> builder_uniq_ptr(new Derived(std::forward<Args>(args)...)); | 102 | 330 | RETURN_IF_ERROR(builder_uniq_ptr->init()); | 103 | 330 | *builder = builder_uniq_ptr.release(); | 104 | 330 | return Status::OK(); | 105 | 330 | } |
Unexecuted instantiation: _ZN5doris10segment_v217PageBuilderHelperINS0_16PlainPageBuilderILNS_9FieldTypeE41EEEE6createIJRKNS0_18PageBuilderOptionsEEEENS_6StatusEPPNS0_11PageBuilderEDpOT_ Unexecuted instantiation: _ZN5doris10segment_v217PageBuilderHelperINS0_27FrameOfReferencePageBuilderILNS_9FieldTypeE41EEEE6createIJRKNS0_18PageBuilderOptionsEEEENS_6StatusEPPNS0_11PageBuilderEDpOT_ _ZN5doris10segment_v217PageBuilderHelperINS0_21BitshufflePageBuilderILNS_9FieldTypeE15EEEE6createIJRKNS0_18PageBuilderOptionsEEEENS_6StatusEPPNS0_11PageBuilderEDpOT_ Line | Count | Source | 100 | 430 | static Status create(PageBuilder** builder, Args&&... args) { | 101 | 430 | std::unique_ptr<PageBuilder> builder_uniq_ptr(new Derived(std::forward<Args>(args)...)); | 102 | 430 | RETURN_IF_ERROR(builder_uniq_ptr->init()); | 103 | 430 | *builder = builder_uniq_ptr.release(); | 104 | 430 | return Status::OK(); | 105 | 430 | } |
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 | 100 | 7.63k | static Status create(PageBuilder** builder, Args&&... args) { | 101 | 7.63k | std::unique_ptr<PageBuilder> builder_uniq_ptr(new Derived(std::forward<Args>(args)...)); | 102 | 7.63k | RETURN_IF_ERROR(builder_uniq_ptr->init()); | 103 | 7.63k | *builder = builder_uniq_ptr.release(); | 104 | 7.63k | return Status::OK(); | 105 | 7.63k | } |
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 | 100 | 327 | static Status create(PageBuilder** builder, Args&&... args) { | 101 | 327 | std::unique_ptr<PageBuilder> builder_uniq_ptr(new Derived(std::forward<Args>(args)...)); | 102 | 327 | RETURN_IF_ERROR(builder_uniq_ptr->init()); | 103 | 327 | *builder = builder_uniq_ptr.release(); | 104 | 327 | return Status::OK(); | 105 | 327 | } |
Unexecuted instantiation: _ZN5doris10segment_v217PageBuilderHelperINS0_16PlainPageBuilderILNS_9FieldTypeE16EEEE6createIJRKNS0_18PageBuilderOptionsEEEENS_6StatusEPPNS0_11PageBuilderEDpOT_ _ZN5doris10segment_v217PageBuilderHelperINS0_21BitshufflePageBuilderILNS_9FieldTypeE31EEEE6createIJRKNS0_18PageBuilderOptionsEEEENS_6StatusEPPNS0_11PageBuilderEDpOT_ Line | Count | Source | 100 | 9.78k | static Status create(PageBuilder** builder, Args&&... args) { | 101 | 9.78k | std::unique_ptr<PageBuilder> builder_uniq_ptr(new Derived(std::forward<Args>(args)...)); | 102 | 9.78k | RETURN_IF_ERROR(builder_uniq_ptr->init()); | 103 | 9.78k | *builder = builder_uniq_ptr.release(); | 104 | 9.78k | return Status::OK(); | 105 | 9.78k | } |
Unexecuted instantiation: _ZN5doris10segment_v217PageBuilderHelperINS0_16PlainPageBuilderILNS_9FieldTypeE31EEEE6createIJRKNS0_18PageBuilderOptionsEEEENS_6StatusEPPNS0_11PageBuilderEDpOT_ _ZN5doris10segment_v217PageBuilderHelperINS0_21BitshufflePageBuilderILNS_9FieldTypeE32EEEE6createIJRKNS0_18PageBuilderOptionsEEEENS_6StatusEPPNS0_11PageBuilderEDpOT_ Line | Count | Source | 100 | 11.9k | static Status create(PageBuilder** builder, Args&&... args) { | 101 | 11.9k | std::unique_ptr<PageBuilder> builder_uniq_ptr(new Derived(std::forward<Args>(args)...)); | 102 | 11.9k | RETURN_IF_ERROR(builder_uniq_ptr->init()); | 103 | 11.9k | *builder = builder_uniq_ptr.release(); | 104 | 11.9k | return Status::OK(); | 105 | 11.9k | } |
Unexecuted instantiation: _ZN5doris10segment_v217PageBuilderHelperINS0_16PlainPageBuilderILNS_9FieldTypeE32EEEE6createIJRKNS0_18PageBuilderOptionsEEEENS_6StatusEPPNS0_11PageBuilderEDpOT_ _ZN5doris10segment_v217PageBuilderHelperINS0_21BitshufflePageBuilderILNS_9FieldTypeE33EEEE6createIJRKNS0_18PageBuilderOptionsEEEENS_6StatusEPPNS0_11PageBuilderEDpOT_ Line | Count | Source | 100 | 16.9k | static Status create(PageBuilder** builder, Args&&... args) { | 101 | 16.9k | std::unique_ptr<PageBuilder> builder_uniq_ptr(new Derived(std::forward<Args>(args)...)); | 102 | 16.9k | RETURN_IF_ERROR(builder_uniq_ptr->init()); | 103 | 16.9k | *builder = builder_uniq_ptr.release(); | 104 | 16.9k | return Status::OK(); | 105 | 16.9k | } |
Unexecuted instantiation: _ZN5doris10segment_v217PageBuilderHelperINS0_16PlainPageBuilderILNS_9FieldTypeE33EEEE6createIJRKNS0_18PageBuilderOptionsEEEENS_6StatusEPPNS0_11PageBuilderEDpOT_ _ZN5doris10segment_v217PageBuilderHelperINS0_21BitshufflePageBuilderILNS_9FieldTypeE37EEEE6createIJRKNS0_18PageBuilderOptionsEEEENS_6StatusEPPNS0_11PageBuilderEDpOT_ Line | Count | Source | 100 | 1.20k | static Status create(PageBuilder** builder, Args&&... args) { | 101 | 1.20k | std::unique_ptr<PageBuilder> builder_uniq_ptr(new Derived(std::forward<Args>(args)...)); | 102 | 1.20k | RETURN_IF_ERROR(builder_uniq_ptr->init()); | 103 | 1.20k | *builder = builder_uniq_ptr.release(); | 104 | 1.20k | return Status::OK(); | 105 | 1.20k | } |
Unexecuted instantiation: _ZN5doris10segment_v217PageBuilderHelperINS0_16PlainPageBuilderILNS_9FieldTypeE37EEEE6createIJRKNS0_18PageBuilderOptionsEEEENS_6StatusEPPNS0_11PageBuilderEDpOT_ _ZN5doris10segment_v217PageBuilderHelperINS0_21BitshufflePageBuilderILNS_9FieldTypeE38EEEE6createIJRKNS0_18PageBuilderOptionsEEEENS_6StatusEPPNS0_11PageBuilderEDpOT_ Line | Count | Source | 100 | 705 | static Status create(PageBuilder** builder, Args&&... args) { | 101 | 705 | std::unique_ptr<PageBuilder> builder_uniq_ptr(new Derived(std::forward<Args>(args)...)); | 102 | 705 | RETURN_IF_ERROR(builder_uniq_ptr->init()); | 103 | 705 | *builder = builder_uniq_ptr.release(); | 104 | 705 | return Status::OK(); | 105 | 705 | } |
Unexecuted instantiation: _ZN5doris10segment_v217PageBuilderHelperINS0_16PlainPageBuilderILNS_9FieldTypeE38EEEE6createIJRKNS0_18PageBuilderOptionsEEEENS_6StatusEPPNS0_11PageBuilderEDpOT_ _ZN5doris10segment_v217PageBuilderHelperINS0_21BitshufflePageBuilderILNS_9FieldTypeE39EEEE6createIJRKNS0_18PageBuilderOptionsEEEENS_6StatusEPPNS0_11PageBuilderEDpOT_ Line | Count | Source | 100 | 703 | static Status create(PageBuilder** builder, Args&&... args) { | 101 | 703 | std::unique_ptr<PageBuilder> builder_uniq_ptr(new Derived(std::forward<Args>(args)...)); | 102 | 703 | RETURN_IF_ERROR(builder_uniq_ptr->init()); | 103 | 703 | *builder = builder_uniq_ptr.release(); | 104 | 703 | return Status::OK(); | 105 | 703 | } |
Unexecuted instantiation: _ZN5doris10segment_v217PageBuilderHelperINS0_16PlainPageBuilderILNS_9FieldTypeE39EEEE6createIJRKNS0_18PageBuilderOptionsEEEENS_6StatusEPPNS0_11PageBuilderEDpOT_ _ZN5doris10segment_v217PageBuilderHelperINS0_22BinaryPlainPageBuilderILNS_9FieldTypeE23EEEE6createIJRKNS0_18PageBuilderOptionsEEEENS_6StatusEPPNS0_11PageBuilderEDpOT_ Line | Count | Source | 100 | 208 | static Status create(PageBuilder** builder, Args&&... args) { | 101 | 208 | std::unique_ptr<PageBuilder> builder_uniq_ptr(new Derived(std::forward<Args>(args)...)); | 102 | 208 | RETURN_IF_ERROR(builder_uniq_ptr->init()); | 103 | 208 | *builder = builder_uniq_ptr.release(); | 104 | 208 | return Status::OK(); | 105 | 208 | } |
Unexecuted instantiation: _ZN5doris10segment_v217PageBuilderHelperINS0_24BinaryPlainPageV2BuilderILNS_9FieldTypeE23EEEE6createIJRKNS0_18PageBuilderOptionsEEEENS_6StatusEPPNS0_11PageBuilderEDpOT_ _ZN5doris10segment_v217PageBuilderHelperINS0_24BinaryPlainPageV3BuilderILNS_9FieldTypeE23EEEE6createIJRKNS0_18PageBuilderOptionsEEEENS_6StatusEPPNS0_11PageBuilderEDpOT_ Line | Count | Source | 100 | 1.00k | static Status create(PageBuilder** builder, Args&&... args) { | 101 | 1.00k | std::unique_ptr<PageBuilder> builder_uniq_ptr(new Derived(std::forward<Args>(args)...)); | 102 | 1.00k | RETURN_IF_ERROR(builder_uniq_ptr->init()); | 103 | 1.00k | *builder = builder_uniq_ptr.release(); | 104 | 1.00k | return Status::OK(); | 105 | 1.00k | } |
_ZN5doris10segment_v217PageBuilderHelperINS0_22BinaryPlainPageBuilderILNS_9FieldTypeE25EEEE6createIJRKNS0_18PageBuilderOptionsEEEENS_6StatusEPPNS0_11PageBuilderEDpOT_ Line | Count | Source | 100 | 722k | static Status create(PageBuilder** builder, Args&&... args) { | 101 | 722k | std::unique_ptr<PageBuilder> builder_uniq_ptr(new Derived(std::forward<Args>(args)...)); | 102 | 722k | RETURN_IF_ERROR(builder_uniq_ptr->init()); | 103 | 722k | *builder = builder_uniq_ptr.release(); | 104 | 722k | return Status::OK(); | 105 | 722k | } |
Unexecuted instantiation: _ZN5doris10segment_v217PageBuilderHelperINS0_24BinaryPlainPageV2BuilderILNS_9FieldTypeE25EEEE6createIJRKNS0_18PageBuilderOptionsEEEENS_6StatusEPPNS0_11PageBuilderEDpOT_ _ZN5doris10segment_v217PageBuilderHelperINS0_24BinaryPlainPageV3BuilderILNS_9FieldTypeE25EEEE6createIJRKNS0_18PageBuilderOptionsEEEENS_6StatusEPPNS0_11PageBuilderEDpOT_ Line | Count | Source | 100 | 1.32k | static Status create(PageBuilder** builder, Args&&... args) { | 101 | 1.32k | std::unique_ptr<PageBuilder> builder_uniq_ptr(new Derived(std::forward<Args>(args)...)); | 102 | 1.32k | RETURN_IF_ERROR(builder_uniq_ptr->init()); | 103 | 1.32k | *builder = builder_uniq_ptr.release(); | 104 | 1.32k | return Status::OK(); | 105 | 1.32k | } |
_ZN5doris10segment_v217PageBuilderHelperINS0_22BinaryPlainPageBuilderILNS_9FieldTypeE27EEEE6createIJRKNS0_18PageBuilderOptionsEEEENS_6StatusEPPNS0_11PageBuilderEDpOT_ Line | Count | Source | 100 | 40 | static Status create(PageBuilder** builder, Args&&... args) { | 101 | 40 | std::unique_ptr<PageBuilder> builder_uniq_ptr(new Derived(std::forward<Args>(args)...)); | 102 | 40 | RETURN_IF_ERROR(builder_uniq_ptr->init()); | 103 | 40 | *builder = builder_uniq_ptr.release(); | 104 | 40 | return Status::OK(); | 105 | 40 | } |
Unexecuted instantiation: _ZN5doris10segment_v217PageBuilderHelperINS0_24BinaryPlainPageV2BuilderILNS_9FieldTypeE27EEEE6createIJRKNS0_18PageBuilderOptionsEEEENS_6StatusEPPNS0_11PageBuilderEDpOT_ _ZN5doris10segment_v217PageBuilderHelperINS0_24BinaryPlainPageV3BuilderILNS_9FieldTypeE27EEEE6createIJRKNS0_18PageBuilderOptionsEEEENS_6StatusEPPNS0_11PageBuilderEDpOT_ Line | Count | Source | 100 | 922 | static Status create(PageBuilder** builder, Args&&... args) { | 101 | 922 | std::unique_ptr<PageBuilder> builder_uniq_ptr(new Derived(std::forward<Args>(args)...)); | 102 | 922 | RETURN_IF_ERROR(builder_uniq_ptr->init()); | 103 | 922 | *builder = builder_uniq_ptr.release(); | 104 | 922 | return Status::OK(); | 105 | 922 | } |
_ZN5doris10segment_v217PageBuilderHelperINS0_22BinaryPlainPageBuilderILNS_9FieldTypeE36EEEE6createIJRKNS0_18PageBuilderOptionsEEEENS_6StatusEPPNS0_11PageBuilderEDpOT_ Line | Count | Source | 100 | 950 | static Status create(PageBuilder** builder, Args&&... args) { | 101 | 950 | std::unique_ptr<PageBuilder> builder_uniq_ptr(new Derived(std::forward<Args>(args)...)); | 102 | 950 | RETURN_IF_ERROR(builder_uniq_ptr->init()); | 103 | 950 | *builder = builder_uniq_ptr.release(); | 104 | 950 | return Status::OK(); | 105 | 950 | } |
Unexecuted instantiation: _ZN5doris10segment_v217PageBuilderHelperINS0_24BinaryPlainPageV2BuilderILNS_9FieldTypeE36EEEE6createIJRKNS0_18PageBuilderOptionsEEEENS_6StatusEPPNS0_11PageBuilderEDpOT_ _ZN5doris10segment_v217PageBuilderHelperINS0_24BinaryPlainPageV3BuilderILNS_9FieldTypeE36EEEE6createIJRKNS0_18PageBuilderOptionsEEEENS_6StatusEPPNS0_11PageBuilderEDpOT_ Line | Count | Source | 100 | 278 | static Status create(PageBuilder** builder, Args&&... args) { | 101 | 278 | std::unique_ptr<PageBuilder> builder_uniq_ptr(new Derived(std::forward<Args>(args)...)); | 102 | 278 | RETURN_IF_ERROR(builder_uniq_ptr->init()); | 103 | 278 | *builder = builder_uniq_ptr.release(); | 104 | 278 | return Status::OK(); | 105 | 278 | } |
|
106 | | }; |
107 | | |
108 | | } // namespace segment_v2 |
109 | | } // namespace doris |