Coverage Report

Created: 2026-05-25 13:19

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
be/src/storage/segment/encoding_info.cpp
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
#include "storage/segment/encoding_info.h"
19
20
#include <gen_cpp/olap_file.pb.h>
21
#include <gen_cpp/segment_v2.pb.h>
22
23
#include <array>
24
#include <iterator>
25
#include <type_traits>
26
#include <unordered_map>
27
#include <utility>
28
29
#include "common/config.h"
30
#include "runtime/exec_env.h"
31
#include "storage/olap_common.h"
32
#include "storage/segment/binary_dict_page.h"
33
#include "storage/segment/binary_dict_page_pre_decoder.h"
34
#include "storage/segment/binary_plain_page.h"
35
#include "storage/segment/binary_plain_page_v2.h"
36
#include "storage/segment/binary_plain_page_v2_pre_decoder.h"
37
#include "storage/segment/binary_plain_page_v3.h"
38
#include "storage/segment/binary_plain_page_v3_pre_decoder.h"
39
#include "storage/segment/binary_prefix_page.h"
40
#include "storage/segment/bitshuffle_page.h"
41
#include "storage/segment/bitshuffle_page_pre_decoder.h"
42
#include "storage/segment/frame_of_reference_page.h"
43
#include "storage/segment/options.h"
44
#include "storage/segment/plain_page.h"
45
#include "storage/segment/rle_page.h"
46
#include "storage/types.h"
47
48
namespace doris {
49
namespace segment_v2 {
50
51
template <FieldType type, typename CppType>
52
struct TypeEncodingTraits<type, PLAIN_ENCODING, CppType> {
53
0
    static Status create_page_builder(const PageBuilderOptions& opts, PageBuilder** builder) {
54
0
        return PlainPageBuilder<type>::create(builder, opts);
55
0
    }
Unexecuted instantiation: _ZN5doris10segment_v218TypeEncodingTraitsILNS_9FieldTypeE1ELNS0_14EncodingTypePBE2EavE19create_page_builderERKNS0_18PageBuilderOptionsEPPNS0_11PageBuilderE
Unexecuted instantiation: _ZN5doris10segment_v218TypeEncodingTraitsILNS_9FieldTypeE3ELNS0_14EncodingTypePBE2EsvE19create_page_builderERKNS0_18PageBuilderOptionsEPPNS0_11PageBuilderE
Unexecuted instantiation: _ZN5doris10segment_v218TypeEncodingTraitsILNS_9FieldTypeE5ELNS0_14EncodingTypePBE2EivE19create_page_builderERKNS0_18PageBuilderOptionsEPPNS0_11PageBuilderE
Unexecuted instantiation: _ZN5doris10segment_v218TypeEncodingTraitsILNS_9FieldTypeE7ELNS0_14EncodingTypePBE2ElvE19create_page_builderERKNS0_18PageBuilderOptionsEPPNS0_11PageBuilderE
Unexecuted instantiation: _ZN5doris10segment_v218TypeEncodingTraitsILNS_9FieldTypeE9ELNS0_14EncodingTypePBE2EnvE19create_page_builderERKNS0_18PageBuilderOptionsEPPNS0_11PageBuilderE
Unexecuted instantiation: _ZN5doris10segment_v218TypeEncodingTraitsILNS_9FieldTypeE10ELNS0_14EncodingTypePBE2EfvE19create_page_builderERKNS0_18PageBuilderOptionsEPPNS0_11PageBuilderE
Unexecuted instantiation: _ZN5doris10segment_v218TypeEncodingTraitsILNS_9FieldTypeE11ELNS0_14EncodingTypePBE2EdvE19create_page_builderERKNS0_18PageBuilderOptionsEPPNS0_11PageBuilderE
Unexecuted instantiation: _ZN5doris10segment_v218TypeEncodingTraitsILNS_9FieldTypeE24ELNS0_14EncodingTypePBE2EhvE19create_page_builderERKNS0_18PageBuilderOptionsEPPNS0_11PageBuilderE
Unexecuted instantiation: _ZN5doris10segment_v218TypeEncodingTraitsILNS_9FieldTypeE14ELNS0_14EncodingTypePBE2ENS_8uint24_tEvE19create_page_builderERKNS0_18PageBuilderOptionsEPPNS0_11PageBuilderE
Unexecuted instantiation: _ZN5doris10segment_v218TypeEncodingTraitsILNS_9FieldTypeE28ELNS0_14EncodingTypePBE2EjvE19create_page_builderERKNS0_18PageBuilderOptionsEPPNS0_11PageBuilderE
Unexecuted instantiation: _ZN5doris10segment_v218TypeEncodingTraitsILNS_9FieldTypeE29ELNS0_14EncodingTypePBE2EmvE19create_page_builderERKNS0_18PageBuilderOptionsEPPNS0_11PageBuilderE
Unexecuted instantiation: _ZN5doris10segment_v218TypeEncodingTraitsILNS_9FieldTypeE15ELNS0_14EncodingTypePBE2ElvE19create_page_builderERKNS0_18PageBuilderOptionsEPPNS0_11PageBuilderE
Unexecuted instantiation: _ZN5doris10segment_v218TypeEncodingTraitsILNS_9FieldTypeE40ELNS0_14EncodingTypePBE2EmvE19create_page_builderERKNS0_18PageBuilderOptionsEPPNS0_11PageBuilderE
Unexecuted instantiation: _ZN5doris10segment_v218TypeEncodingTraitsILNS_9FieldTypeE16ELNS0_14EncodingTypePBE2ENS_11decimal12_tEvE19create_page_builderERKNS0_18PageBuilderOptionsEPPNS0_11PageBuilderE
Unexecuted instantiation: _ZN5doris10segment_v218TypeEncodingTraitsILNS_9FieldTypeE31ELNS0_14EncodingTypePBE2EivE19create_page_builderERKNS0_18PageBuilderOptionsEPPNS0_11PageBuilderE
Unexecuted instantiation: _ZN5doris10segment_v218TypeEncodingTraitsILNS_9FieldTypeE32ELNS0_14EncodingTypePBE2ElvE19create_page_builderERKNS0_18PageBuilderOptionsEPPNS0_11PageBuilderE
Unexecuted instantiation: _ZN5doris10segment_v218TypeEncodingTraitsILNS_9FieldTypeE33ELNS0_14EncodingTypePBE2EnvE19create_page_builderERKNS0_18PageBuilderOptionsEPPNS0_11PageBuilderE
Unexecuted instantiation: _ZN5doris10segment_v218TypeEncodingTraitsILNS_9FieldTypeE37ELNS0_14EncodingTypePBE2EN4wide7integerILm256EiEEvE19create_page_builderERKNS0_18PageBuilderOptionsEPPNS0_11PageBuilderE
Unexecuted instantiation: _ZN5doris10segment_v218TypeEncodingTraitsILNS_9FieldTypeE38ELNS0_14EncodingTypePBE2EjvE19create_page_builderERKNS0_18PageBuilderOptionsEPPNS0_11PageBuilderE
Unexecuted instantiation: _ZN5doris10segment_v218TypeEncodingTraitsILNS_9FieldTypeE39ELNS0_14EncodingTypePBE2EovE19create_page_builderERKNS0_18PageBuilderOptionsEPPNS0_11PageBuilderE
56
    static Status create_page_decoder(const Slice& data, const PageDecoderOptions& opts,
57
0
                                      PageDecoder** decoder) {
58
0
        *decoder = new PlainPageDecoder<type>(data, opts);
59
0
        return Status::OK();
60
0
    }
Unexecuted instantiation: _ZN5doris10segment_v218TypeEncodingTraitsILNS_9FieldTypeE1ELNS0_14EncodingTypePBE2EavE19create_page_decoderERKNS_5SliceERKNS0_18PageDecoderOptionsEPPNS0_11PageDecoderE
Unexecuted instantiation: _ZN5doris10segment_v218TypeEncodingTraitsILNS_9FieldTypeE3ELNS0_14EncodingTypePBE2EsvE19create_page_decoderERKNS_5SliceERKNS0_18PageDecoderOptionsEPPNS0_11PageDecoderE
Unexecuted instantiation: _ZN5doris10segment_v218TypeEncodingTraitsILNS_9FieldTypeE5ELNS0_14EncodingTypePBE2EivE19create_page_decoderERKNS_5SliceERKNS0_18PageDecoderOptionsEPPNS0_11PageDecoderE
Unexecuted instantiation: _ZN5doris10segment_v218TypeEncodingTraitsILNS_9FieldTypeE7ELNS0_14EncodingTypePBE2ElvE19create_page_decoderERKNS_5SliceERKNS0_18PageDecoderOptionsEPPNS0_11PageDecoderE
Unexecuted instantiation: _ZN5doris10segment_v218TypeEncodingTraitsILNS_9FieldTypeE9ELNS0_14EncodingTypePBE2EnvE19create_page_decoderERKNS_5SliceERKNS0_18PageDecoderOptionsEPPNS0_11PageDecoderE
Unexecuted instantiation: _ZN5doris10segment_v218TypeEncodingTraitsILNS_9FieldTypeE10ELNS0_14EncodingTypePBE2EfvE19create_page_decoderERKNS_5SliceERKNS0_18PageDecoderOptionsEPPNS0_11PageDecoderE
Unexecuted instantiation: _ZN5doris10segment_v218TypeEncodingTraitsILNS_9FieldTypeE11ELNS0_14EncodingTypePBE2EdvE19create_page_decoderERKNS_5SliceERKNS0_18PageDecoderOptionsEPPNS0_11PageDecoderE
Unexecuted instantiation: _ZN5doris10segment_v218TypeEncodingTraitsILNS_9FieldTypeE24ELNS0_14EncodingTypePBE2EhvE19create_page_decoderERKNS_5SliceERKNS0_18PageDecoderOptionsEPPNS0_11PageDecoderE
Unexecuted instantiation: _ZN5doris10segment_v218TypeEncodingTraitsILNS_9FieldTypeE14ELNS0_14EncodingTypePBE2ENS_8uint24_tEvE19create_page_decoderERKNS_5SliceERKNS0_18PageDecoderOptionsEPPNS0_11PageDecoderE
Unexecuted instantiation: _ZN5doris10segment_v218TypeEncodingTraitsILNS_9FieldTypeE28ELNS0_14EncodingTypePBE2EjvE19create_page_decoderERKNS_5SliceERKNS0_18PageDecoderOptionsEPPNS0_11PageDecoderE
Unexecuted instantiation: _ZN5doris10segment_v218TypeEncodingTraitsILNS_9FieldTypeE29ELNS0_14EncodingTypePBE2EmvE19create_page_decoderERKNS_5SliceERKNS0_18PageDecoderOptionsEPPNS0_11PageDecoderE
Unexecuted instantiation: _ZN5doris10segment_v218TypeEncodingTraitsILNS_9FieldTypeE15ELNS0_14EncodingTypePBE2ElvE19create_page_decoderERKNS_5SliceERKNS0_18PageDecoderOptionsEPPNS0_11PageDecoderE
Unexecuted instantiation: _ZN5doris10segment_v218TypeEncodingTraitsILNS_9FieldTypeE40ELNS0_14EncodingTypePBE2EmvE19create_page_decoderERKNS_5SliceERKNS0_18PageDecoderOptionsEPPNS0_11PageDecoderE
Unexecuted instantiation: _ZN5doris10segment_v218TypeEncodingTraitsILNS_9FieldTypeE16ELNS0_14EncodingTypePBE2ENS_11decimal12_tEvE19create_page_decoderERKNS_5SliceERKNS0_18PageDecoderOptionsEPPNS0_11PageDecoderE
Unexecuted instantiation: _ZN5doris10segment_v218TypeEncodingTraitsILNS_9FieldTypeE31ELNS0_14EncodingTypePBE2EivE19create_page_decoderERKNS_5SliceERKNS0_18PageDecoderOptionsEPPNS0_11PageDecoderE
Unexecuted instantiation: _ZN5doris10segment_v218TypeEncodingTraitsILNS_9FieldTypeE32ELNS0_14EncodingTypePBE2ElvE19create_page_decoderERKNS_5SliceERKNS0_18PageDecoderOptionsEPPNS0_11PageDecoderE
Unexecuted instantiation: _ZN5doris10segment_v218TypeEncodingTraitsILNS_9FieldTypeE33ELNS0_14EncodingTypePBE2EnvE19create_page_decoderERKNS_5SliceERKNS0_18PageDecoderOptionsEPPNS0_11PageDecoderE
Unexecuted instantiation: _ZN5doris10segment_v218TypeEncodingTraitsILNS_9FieldTypeE37ELNS0_14EncodingTypePBE2EN4wide7integerILm256EiEEvE19create_page_decoderERKNS_5SliceERKNS0_18PageDecoderOptionsEPPNS0_11PageDecoderE
Unexecuted instantiation: _ZN5doris10segment_v218TypeEncodingTraitsILNS_9FieldTypeE38ELNS0_14EncodingTypePBE2EjvE19create_page_decoderERKNS_5SliceERKNS0_18PageDecoderOptionsEPPNS0_11PageDecoderE
Unexecuted instantiation: _ZN5doris10segment_v218TypeEncodingTraitsILNS_9FieldTypeE39ELNS0_14EncodingTypePBE2EovE19create_page_decoderERKNS_5SliceERKNS0_18PageDecoderOptionsEPPNS0_11PageDecoderE
61
};
62
63
template <FieldType type>
64
struct TypeEncodingTraits<type, PLAIN_ENCODING, Slice> {
65
15.9k
    static Status create_page_builder(const PageBuilderOptions& opts, PageBuilder** builder) {
66
15.9k
        return BinaryPlainPageBuilder<type>::create(builder, opts);
67
15.9k
    }
Unexecuted instantiation: _ZN5doris10segment_v218TypeEncodingTraitsILNS_9FieldTypeE13ELNS0_14EncodingTypePBE2ENS_5SliceEvE19create_page_builderERKNS0_18PageBuilderOptionsEPPNS0_11PageBuilderE
_ZN5doris10segment_v218TypeEncodingTraitsILNS_9FieldTypeE17ELNS0_14EncodingTypePBE2ENS_5SliceEvE19create_page_builderERKNS0_18PageBuilderOptionsEPPNS0_11PageBuilderE
Line
Count
Source
65
5.49k
    static Status create_page_builder(const PageBuilderOptions& opts, PageBuilder** builder) {
66
5.49k
        return BinaryPlainPageBuilder<type>::create(builder, opts);
67
5.49k
    }
Unexecuted instantiation: _ZN5doris10segment_v218TypeEncodingTraitsILNS_9FieldTypeE26ELNS0_14EncodingTypePBE2ENS_5SliceEvE19create_page_builderERKNS0_18PageBuilderOptionsEPPNS0_11PageBuilderE
Unexecuted instantiation: _ZN5doris10segment_v218TypeEncodingTraitsILNS_9FieldTypeE34ELNS0_14EncodingTypePBE2ENS_5SliceEvE19create_page_builderERKNS0_18PageBuilderOptionsEPPNS0_11PageBuilderE
Unexecuted instantiation: _ZN5doris10segment_v218TypeEncodingTraitsILNS_9FieldTypeE35ELNS0_14EncodingTypePBE2ENS_5SliceEvE19create_page_builderERKNS0_18PageBuilderOptionsEPPNS0_11PageBuilderE
Unexecuted instantiation: _ZN5doris10segment_v218TypeEncodingTraitsILNS_9FieldTypeE23ELNS0_14EncodingTypePBE2ENS_5SliceEvE19create_page_builderERKNS0_18PageBuilderOptionsEPPNS0_11PageBuilderE
_ZN5doris10segment_v218TypeEncodingTraitsILNS_9FieldTypeE25ELNS0_14EncodingTypePBE2ENS_5SliceEvE19create_page_builderERKNS0_18PageBuilderOptionsEPPNS0_11PageBuilderE
Line
Count
Source
65
10.4k
    static Status create_page_builder(const PageBuilderOptions& opts, PageBuilder** builder) {
66
10.4k
        return BinaryPlainPageBuilder<type>::create(builder, opts);
67
10.4k
    }
Unexecuted instantiation: _ZN5doris10segment_v218TypeEncodingTraitsILNS_9FieldTypeE27ELNS0_14EncodingTypePBE2ENS_5SliceEvE19create_page_builderERKNS0_18PageBuilderOptionsEPPNS0_11PageBuilderE
Unexecuted instantiation: _ZN5doris10segment_v218TypeEncodingTraitsILNS_9FieldTypeE36ELNS0_14EncodingTypePBE2ENS_5SliceEvE19create_page_builderERKNS0_18PageBuilderOptionsEPPNS0_11PageBuilderE
68
    static Status create_page_decoder(const Slice& data, const PageDecoderOptions& opts,
69
2.81k
                                      PageDecoder** decoder) {
70
2.81k
        *decoder = new BinaryPlainPageDecoder<type>(data, opts);
71
2.81k
        return Status::OK();
72
2.81k
    }
Unexecuted instantiation: _ZN5doris10segment_v218TypeEncodingTraitsILNS_9FieldTypeE13ELNS0_14EncodingTypePBE2ENS_5SliceEvE19create_page_decoderERKS4_RKNS0_18PageDecoderOptionsEPPNS0_11PageDecoderE
_ZN5doris10segment_v218TypeEncodingTraitsILNS_9FieldTypeE17ELNS0_14EncodingTypePBE2ENS_5SliceEvE19create_page_decoderERKS4_RKNS0_18PageDecoderOptionsEPPNS0_11PageDecoderE
Line
Count
Source
69
2.79k
                                      PageDecoder** decoder) {
70
2.79k
        *decoder = new BinaryPlainPageDecoder<type>(data, opts);
71
2.79k
        return Status::OK();
72
2.79k
    }
Unexecuted instantiation: _ZN5doris10segment_v218TypeEncodingTraitsILNS_9FieldTypeE26ELNS0_14EncodingTypePBE2ENS_5SliceEvE19create_page_decoderERKS4_RKNS0_18PageDecoderOptionsEPPNS0_11PageDecoderE
Unexecuted instantiation: _ZN5doris10segment_v218TypeEncodingTraitsILNS_9FieldTypeE34ELNS0_14EncodingTypePBE2ENS_5SliceEvE19create_page_decoderERKS4_RKNS0_18PageDecoderOptionsEPPNS0_11PageDecoderE
Unexecuted instantiation: _ZN5doris10segment_v218TypeEncodingTraitsILNS_9FieldTypeE35ELNS0_14EncodingTypePBE2ENS_5SliceEvE19create_page_decoderERKS4_RKNS0_18PageDecoderOptionsEPPNS0_11PageDecoderE
Unexecuted instantiation: _ZN5doris10segment_v218TypeEncodingTraitsILNS_9FieldTypeE23ELNS0_14EncodingTypePBE2ENS_5SliceEvE19create_page_decoderERKS4_RKNS0_18PageDecoderOptionsEPPNS0_11PageDecoderE
_ZN5doris10segment_v218TypeEncodingTraitsILNS_9FieldTypeE25ELNS0_14EncodingTypePBE2ENS_5SliceEvE19create_page_decoderERKS4_RKNS0_18PageDecoderOptionsEPPNS0_11PageDecoderE
Line
Count
Source
69
21
                                      PageDecoder** decoder) {
70
21
        *decoder = new BinaryPlainPageDecoder<type>(data, opts);
71
21
        return Status::OK();
72
21
    }
Unexecuted instantiation: _ZN5doris10segment_v218TypeEncodingTraitsILNS_9FieldTypeE27ELNS0_14EncodingTypePBE2ENS_5SliceEvE19create_page_decoderERKS4_RKNS0_18PageDecoderOptionsEPPNS0_11PageDecoderE
Unexecuted instantiation: _ZN5doris10segment_v218TypeEncodingTraitsILNS_9FieldTypeE36ELNS0_14EncodingTypePBE2ENS_5SliceEvE19create_page_decoderERKS4_RKNS0_18PageDecoderOptionsEPPNS0_11PageDecoderE
73
};
74
75
template <FieldType type, typename CppType>
76
struct TypeEncodingTraits<type, PLAIN_ENCODING_V2, CppType> {
77
    static Status create_page_builder(const PageBuilderOptions& opts, PageBuilder** builder) {
78
        return PlainPageBuilder<type>::create(builder, opts);
79
    }
80
    static Status create_page_decoder(const Slice& data, const PageDecoderOptions& opts,
81
                                      PageDecoder** decoder) {
82
        *decoder = new PlainPageDecoder<type>(data, opts);
83
        return Status::OK();
84
    }
85
};
86
87
template <FieldType type>
88
struct TypeEncodingTraits<type, PLAIN_ENCODING_V2, Slice> {
89
9
    static Status create_page_builder(const PageBuilderOptions& opts, PageBuilder** builder) {
90
9
        return BinaryPlainPageV2Builder<type>::create(builder, opts);
91
9
    }
Unexecuted instantiation: _ZN5doris10segment_v218TypeEncodingTraitsILNS_9FieldTypeE13ELNS0_14EncodingTypePBE8ENS_5SliceEvE19create_page_builderERKNS0_18PageBuilderOptionsEPPNS0_11PageBuilderE
_ZN5doris10segment_v218TypeEncodingTraitsILNS_9FieldTypeE17ELNS0_14EncodingTypePBE8ENS_5SliceEvE19create_page_builderERKNS0_18PageBuilderOptionsEPPNS0_11PageBuilderE
Line
Count
Source
89
8
    static Status create_page_builder(const PageBuilderOptions& opts, PageBuilder** builder) {
90
8
        return BinaryPlainPageV2Builder<type>::create(builder, opts);
91
8
    }
_ZN5doris10segment_v218TypeEncodingTraitsILNS_9FieldTypeE26ELNS0_14EncodingTypePBE8ENS_5SliceEvE19create_page_builderERKNS0_18PageBuilderOptionsEPPNS0_11PageBuilderE
Line
Count
Source
89
1
    static Status create_page_builder(const PageBuilderOptions& opts, PageBuilder** builder) {
90
1
        return BinaryPlainPageV2Builder<type>::create(builder, opts);
91
1
    }
Unexecuted instantiation: _ZN5doris10segment_v218TypeEncodingTraitsILNS_9FieldTypeE34ELNS0_14EncodingTypePBE8ENS_5SliceEvE19create_page_builderERKNS0_18PageBuilderOptionsEPPNS0_11PageBuilderE
Unexecuted instantiation: _ZN5doris10segment_v218TypeEncodingTraitsILNS_9FieldTypeE35ELNS0_14EncodingTypePBE8ENS_5SliceEvE19create_page_builderERKNS0_18PageBuilderOptionsEPPNS0_11PageBuilderE
Unexecuted instantiation: _ZN5doris10segment_v218TypeEncodingTraitsILNS_9FieldTypeE23ELNS0_14EncodingTypePBE8ENS_5SliceEvE19create_page_builderERKNS0_18PageBuilderOptionsEPPNS0_11PageBuilderE
Unexecuted instantiation: _ZN5doris10segment_v218TypeEncodingTraitsILNS_9FieldTypeE25ELNS0_14EncodingTypePBE8ENS_5SliceEvE19create_page_builderERKNS0_18PageBuilderOptionsEPPNS0_11PageBuilderE
Unexecuted instantiation: _ZN5doris10segment_v218TypeEncodingTraitsILNS_9FieldTypeE27ELNS0_14EncodingTypePBE8ENS_5SliceEvE19create_page_builderERKNS0_18PageBuilderOptionsEPPNS0_11PageBuilderE
Unexecuted instantiation: _ZN5doris10segment_v218TypeEncodingTraitsILNS_9FieldTypeE36ELNS0_14EncodingTypePBE8ENS_5SliceEvE19create_page_builderERKNS0_18PageBuilderOptionsEPPNS0_11PageBuilderE
92
    static Status create_page_decoder(const Slice& data, const PageDecoderOptions& opts,
93
0
                                      PageDecoder** decoder) {
94
0
        *decoder = new BinaryPlainPageV2Decoder<type>(data, opts);
95
0
        return Status::OK();
96
0
    }
Unexecuted instantiation: _ZN5doris10segment_v218TypeEncodingTraitsILNS_9FieldTypeE13ELNS0_14EncodingTypePBE8ENS_5SliceEvE19create_page_decoderERKS4_RKNS0_18PageDecoderOptionsEPPNS0_11PageDecoderE
Unexecuted instantiation: _ZN5doris10segment_v218TypeEncodingTraitsILNS_9FieldTypeE17ELNS0_14EncodingTypePBE8ENS_5SliceEvE19create_page_decoderERKS4_RKNS0_18PageDecoderOptionsEPPNS0_11PageDecoderE
Unexecuted instantiation: _ZN5doris10segment_v218TypeEncodingTraitsILNS_9FieldTypeE26ELNS0_14EncodingTypePBE8ENS_5SliceEvE19create_page_decoderERKS4_RKNS0_18PageDecoderOptionsEPPNS0_11PageDecoderE
Unexecuted instantiation: _ZN5doris10segment_v218TypeEncodingTraitsILNS_9FieldTypeE34ELNS0_14EncodingTypePBE8ENS_5SliceEvE19create_page_decoderERKS4_RKNS0_18PageDecoderOptionsEPPNS0_11PageDecoderE
Unexecuted instantiation: _ZN5doris10segment_v218TypeEncodingTraitsILNS_9FieldTypeE35ELNS0_14EncodingTypePBE8ENS_5SliceEvE19create_page_decoderERKS4_RKNS0_18PageDecoderOptionsEPPNS0_11PageDecoderE
Unexecuted instantiation: _ZN5doris10segment_v218TypeEncodingTraitsILNS_9FieldTypeE23ELNS0_14EncodingTypePBE8ENS_5SliceEvE19create_page_decoderERKS4_RKNS0_18PageDecoderOptionsEPPNS0_11PageDecoderE
Unexecuted instantiation: _ZN5doris10segment_v218TypeEncodingTraitsILNS_9FieldTypeE25ELNS0_14EncodingTypePBE8ENS_5SliceEvE19create_page_decoderERKS4_RKNS0_18PageDecoderOptionsEPPNS0_11PageDecoderE
Unexecuted instantiation: _ZN5doris10segment_v218TypeEncodingTraitsILNS_9FieldTypeE27ELNS0_14EncodingTypePBE8ENS_5SliceEvE19create_page_decoderERKS4_RKNS0_18PageDecoderOptionsEPPNS0_11PageDecoderE
Unexecuted instantiation: _ZN5doris10segment_v218TypeEncodingTraitsILNS_9FieldTypeE36ELNS0_14EncodingTypePBE8ENS_5SliceEvE19create_page_decoderERKS4_RKNS0_18PageDecoderOptionsEPPNS0_11PageDecoderE
97
};
98
99
template <FieldType type, typename CppType>
100
struct TypeEncodingTraits<type, PLAIN_ENCODING_V3, CppType> {
101
    static Status create_page_builder(const PageBuilderOptions& opts, PageBuilder** builder) {
102
        return PlainPageBuilder<type>::create(builder, opts);
103
    }
104
    static Status create_page_decoder(const Slice& data, const PageDecoderOptions& opts,
105
                                      PageDecoder** decoder) {
106
        *decoder = new PlainPageDecoder<type>(data, opts);
107
        return Status::OK();
108
    }
109
};
110
111
template <FieldType type>
112
struct TypeEncodingTraits<type, PLAIN_ENCODING_V3, Slice> {
113
0
    static Status create_page_builder(const PageBuilderOptions& opts, PageBuilder** builder) {
114
0
        return BinaryPlainPageV3Builder<type>::create(builder, opts);
115
0
    }
Unexecuted instantiation: _ZN5doris10segment_v218TypeEncodingTraitsILNS_9FieldTypeE13ELNS0_14EncodingTypePBE9ENS_5SliceEvE19create_page_builderERKNS0_18PageBuilderOptionsEPPNS0_11PageBuilderE
Unexecuted instantiation: _ZN5doris10segment_v218TypeEncodingTraitsILNS_9FieldTypeE17ELNS0_14EncodingTypePBE9ENS_5SliceEvE19create_page_builderERKNS0_18PageBuilderOptionsEPPNS0_11PageBuilderE
Unexecuted instantiation: _ZN5doris10segment_v218TypeEncodingTraitsILNS_9FieldTypeE26ELNS0_14EncodingTypePBE9ENS_5SliceEvE19create_page_builderERKNS0_18PageBuilderOptionsEPPNS0_11PageBuilderE
Unexecuted instantiation: _ZN5doris10segment_v218TypeEncodingTraitsILNS_9FieldTypeE34ELNS0_14EncodingTypePBE9ENS_5SliceEvE19create_page_builderERKNS0_18PageBuilderOptionsEPPNS0_11PageBuilderE
Unexecuted instantiation: _ZN5doris10segment_v218TypeEncodingTraitsILNS_9FieldTypeE35ELNS0_14EncodingTypePBE9ENS_5SliceEvE19create_page_builderERKNS0_18PageBuilderOptionsEPPNS0_11PageBuilderE
Unexecuted instantiation: _ZN5doris10segment_v218TypeEncodingTraitsILNS_9FieldTypeE23ELNS0_14EncodingTypePBE9ENS_5SliceEvE19create_page_builderERKNS0_18PageBuilderOptionsEPPNS0_11PageBuilderE
Unexecuted instantiation: _ZN5doris10segment_v218TypeEncodingTraitsILNS_9FieldTypeE25ELNS0_14EncodingTypePBE9ENS_5SliceEvE19create_page_builderERKNS0_18PageBuilderOptionsEPPNS0_11PageBuilderE
Unexecuted instantiation: _ZN5doris10segment_v218TypeEncodingTraitsILNS_9FieldTypeE27ELNS0_14EncodingTypePBE9ENS_5SliceEvE19create_page_builderERKNS0_18PageBuilderOptionsEPPNS0_11PageBuilderE
Unexecuted instantiation: _ZN5doris10segment_v218TypeEncodingTraitsILNS_9FieldTypeE36ELNS0_14EncodingTypePBE9ENS_5SliceEvE19create_page_builderERKNS0_18PageBuilderOptionsEPPNS0_11PageBuilderE
116
    static Status create_page_decoder(const Slice& data, const PageDecoderOptions& opts,
117
0
                                      PageDecoder** decoder) {
118
0
        *decoder = new BinaryPlainPageV3Decoder<type>(data, opts);
119
0
        return Status::OK();
120
0
    }
Unexecuted instantiation: _ZN5doris10segment_v218TypeEncodingTraitsILNS_9FieldTypeE13ELNS0_14EncodingTypePBE9ENS_5SliceEvE19create_page_decoderERKS4_RKNS0_18PageDecoderOptionsEPPNS0_11PageDecoderE
Unexecuted instantiation: _ZN5doris10segment_v218TypeEncodingTraitsILNS_9FieldTypeE17ELNS0_14EncodingTypePBE9ENS_5SliceEvE19create_page_decoderERKS4_RKNS0_18PageDecoderOptionsEPPNS0_11PageDecoderE
Unexecuted instantiation: _ZN5doris10segment_v218TypeEncodingTraitsILNS_9FieldTypeE26ELNS0_14EncodingTypePBE9ENS_5SliceEvE19create_page_decoderERKS4_RKNS0_18PageDecoderOptionsEPPNS0_11PageDecoderE
Unexecuted instantiation: _ZN5doris10segment_v218TypeEncodingTraitsILNS_9FieldTypeE34ELNS0_14EncodingTypePBE9ENS_5SliceEvE19create_page_decoderERKS4_RKNS0_18PageDecoderOptionsEPPNS0_11PageDecoderE
Unexecuted instantiation: _ZN5doris10segment_v218TypeEncodingTraitsILNS_9FieldTypeE35ELNS0_14EncodingTypePBE9ENS_5SliceEvE19create_page_decoderERKS4_RKNS0_18PageDecoderOptionsEPPNS0_11PageDecoderE
Unexecuted instantiation: _ZN5doris10segment_v218TypeEncodingTraitsILNS_9FieldTypeE23ELNS0_14EncodingTypePBE9ENS_5SliceEvE19create_page_decoderERKS4_RKNS0_18PageDecoderOptionsEPPNS0_11PageDecoderE
Unexecuted instantiation: _ZN5doris10segment_v218TypeEncodingTraitsILNS_9FieldTypeE25ELNS0_14EncodingTypePBE9ENS_5SliceEvE19create_page_decoderERKS4_RKNS0_18PageDecoderOptionsEPPNS0_11PageDecoderE
Unexecuted instantiation: _ZN5doris10segment_v218TypeEncodingTraitsILNS_9FieldTypeE27ELNS0_14EncodingTypePBE9ENS_5SliceEvE19create_page_decoderERKS4_RKNS0_18PageDecoderOptionsEPPNS0_11PageDecoderE
Unexecuted instantiation: _ZN5doris10segment_v218TypeEncodingTraitsILNS_9FieldTypeE36ELNS0_14EncodingTypePBE9ENS_5SliceEvE19create_page_decoderERKS4_RKNS0_18PageDecoderOptionsEPPNS0_11PageDecoderE
121
};
122
123
template <FieldType type, typename CppType>
124
struct TypeEncodingTraits<type, BIT_SHUFFLE, CppType,
125
                          typename std::enable_if<!std::is_same<CppType, Slice>::value>::type> {
126
8.52k
    static Status create_page_builder(const PageBuilderOptions& opts, PageBuilder** builder) {
127
8.52k
        return BitshufflePageBuilder<type>::create(builder, opts);
128
8.52k
    }
_ZN5doris10segment_v218TypeEncodingTraitsILNS_9FieldTypeE1ELNS0_14EncodingTypePBE6EavE19create_page_builderERKNS0_18PageBuilderOptionsEPPNS0_11PageBuilderE
Line
Count
Source
126
619
    static Status create_page_builder(const PageBuilderOptions& opts, PageBuilder** builder) {
127
619
        return BitshufflePageBuilder<type>::create(builder, opts);
128
619
    }
_ZN5doris10segment_v218TypeEncodingTraitsILNS_9FieldTypeE3ELNS0_14EncodingTypePBE6EsvE19create_page_builderERKNS0_18PageBuilderOptionsEPPNS0_11PageBuilderE
Line
Count
Source
126
13
    static Status create_page_builder(const PageBuilderOptions& opts, PageBuilder** builder) {
127
13
        return BitshufflePageBuilder<type>::create(builder, opts);
128
13
    }
_ZN5doris10segment_v218TypeEncodingTraitsILNS_9FieldTypeE5ELNS0_14EncodingTypePBE6EivE19create_page_builderERKNS0_18PageBuilderOptionsEPPNS0_11PageBuilderE
Line
Count
Source
126
6.90k
    static Status create_page_builder(const PageBuilderOptions& opts, PageBuilder** builder) {
127
6.90k
        return BitshufflePageBuilder<type>::create(builder, opts);
128
6.90k
    }
_ZN5doris10segment_v218TypeEncodingTraitsILNS_9FieldTypeE7ELNS0_14EncodingTypePBE6ElvE19create_page_builderERKNS0_18PageBuilderOptionsEPPNS0_11PageBuilderE
Line
Count
Source
126
625
    static Status create_page_builder(const PageBuilderOptions& opts, PageBuilder** builder) {
127
625
        return BitshufflePageBuilder<type>::create(builder, opts);
128
625
    }
_ZN5doris10segment_v218TypeEncodingTraitsILNS_9FieldTypeE8ELNS0_14EncodingTypePBE6EmvE19create_page_builderERKNS0_18PageBuilderOptionsEPPNS0_11PageBuilderE
Line
Count
Source
126
335
    static Status create_page_builder(const PageBuilderOptions& opts, PageBuilder** builder) {
127
335
        return BitshufflePageBuilder<type>::create(builder, opts);
128
335
    }
Unexecuted instantiation: _ZN5doris10segment_v218TypeEncodingTraitsILNS_9FieldTypeE6ELNS0_14EncodingTypePBE6EjvE19create_page_builderERKNS0_18PageBuilderOptionsEPPNS0_11PageBuilderE
_ZN5doris10segment_v218TypeEncodingTraitsILNS_9FieldTypeE9ELNS0_14EncodingTypePBE6EnvE19create_page_builderERKNS0_18PageBuilderOptionsEPPNS0_11PageBuilderE
Line
Count
Source
126
4
    static Status create_page_builder(const PageBuilderOptions& opts, PageBuilder** builder) {
127
4
        return BitshufflePageBuilder<type>::create(builder, opts);
128
4
    }
_ZN5doris10segment_v218TypeEncodingTraitsILNS_9FieldTypeE10ELNS0_14EncodingTypePBE6EfvE19create_page_builderERKNS0_18PageBuilderOptionsEPPNS0_11PageBuilderE
Line
Count
Source
126
2
    static Status create_page_builder(const PageBuilderOptions& opts, PageBuilder** builder) {
127
2
        return BitshufflePageBuilder<type>::create(builder, opts);
128
2
    }
Unexecuted instantiation: _ZN5doris10segment_v218TypeEncodingTraitsILNS_9FieldTypeE11ELNS0_14EncodingTypePBE6EdvE19create_page_builderERKNS0_18PageBuilderOptionsEPPNS0_11PageBuilderE
Unexecuted instantiation: _ZN5doris10segment_v218TypeEncodingTraitsILNS_9FieldTypeE24ELNS0_14EncodingTypePBE6EhvE19create_page_builderERKNS0_18PageBuilderOptionsEPPNS0_11PageBuilderE
_ZN5doris10segment_v218TypeEncodingTraitsILNS_9FieldTypeE14ELNS0_14EncodingTypePBE6ENS_8uint24_tEvE19create_page_builderERKNS0_18PageBuilderOptionsEPPNS0_11PageBuilderE
Line
Count
Source
126
4
    static Status create_page_builder(const PageBuilderOptions& opts, PageBuilder** builder) {
127
4
        return BitshufflePageBuilder<type>::create(builder, opts);
128
4
    }
_ZN5doris10segment_v218TypeEncodingTraitsILNS_9FieldTypeE28ELNS0_14EncodingTypePBE6EjvE19create_page_builderERKNS0_18PageBuilderOptionsEPPNS0_11PageBuilderE
Line
Count
Source
126
7
    static Status create_page_builder(const PageBuilderOptions& opts, PageBuilder** builder) {
127
7
        return BitshufflePageBuilder<type>::create(builder, opts);
128
7
    }
Unexecuted instantiation: _ZN5doris10segment_v218TypeEncodingTraitsILNS_9FieldTypeE29ELNS0_14EncodingTypePBE6EmvE19create_page_builderERKNS0_18PageBuilderOptionsEPPNS0_11PageBuilderE
_ZN5doris10segment_v218TypeEncodingTraitsILNS_9FieldTypeE15ELNS0_14EncodingTypePBE6ElvE19create_page_builderERKNS0_18PageBuilderOptionsEPPNS0_11PageBuilderE
Line
Count
Source
126
11
    static Status create_page_builder(const PageBuilderOptions& opts, PageBuilder** builder) {
127
11
        return BitshufflePageBuilder<type>::create(builder, opts);
128
11
    }
Unexecuted instantiation: _ZN5doris10segment_v218TypeEncodingTraitsILNS_9FieldTypeE40ELNS0_14EncodingTypePBE6EmvE19create_page_builderERKNS0_18PageBuilderOptionsEPPNS0_11PageBuilderE
_ZN5doris10segment_v218TypeEncodingTraitsILNS_9FieldTypeE16ELNS0_14EncodingTypePBE6ENS_11decimal12_tEvE19create_page_builderERKNS0_18PageBuilderOptionsEPPNS0_11PageBuilderE
Line
Count
Source
126
2
    static Status create_page_builder(const PageBuilderOptions& opts, PageBuilder** builder) {
127
2
        return BitshufflePageBuilder<type>::create(builder, opts);
128
2
    }
Unexecuted instantiation: _ZN5doris10segment_v218TypeEncodingTraitsILNS_9FieldTypeE31ELNS0_14EncodingTypePBE6EivE19create_page_builderERKNS0_18PageBuilderOptionsEPPNS0_11PageBuilderE
Unexecuted instantiation: _ZN5doris10segment_v218TypeEncodingTraitsILNS_9FieldTypeE32ELNS0_14EncodingTypePBE6ElvE19create_page_builderERKNS0_18PageBuilderOptionsEPPNS0_11PageBuilderE
Unexecuted instantiation: _ZN5doris10segment_v218TypeEncodingTraitsILNS_9FieldTypeE33ELNS0_14EncodingTypePBE6EnvE19create_page_builderERKNS0_18PageBuilderOptionsEPPNS0_11PageBuilderE
Unexecuted instantiation: _ZN5doris10segment_v218TypeEncodingTraitsILNS_9FieldTypeE37ELNS0_14EncodingTypePBE6EN4wide7integerILm256EiEEvE19create_page_builderERKNS0_18PageBuilderOptionsEPPNS0_11PageBuilderE
Unexecuted instantiation: _ZN5doris10segment_v218TypeEncodingTraitsILNS_9FieldTypeE38ELNS0_14EncodingTypePBE6EjvE19create_page_builderERKNS0_18PageBuilderOptionsEPPNS0_11PageBuilderE
Unexecuted instantiation: _ZN5doris10segment_v218TypeEncodingTraitsILNS_9FieldTypeE39ELNS0_14EncodingTypePBE6EovE19create_page_builderERKNS0_18PageBuilderOptionsEPPNS0_11PageBuilderE
129
    static Status create_page_decoder(const Slice& data, const PageDecoderOptions& opts,
130
5.75k
                                      PageDecoder** decoder) {
131
5.75k
        *decoder = new BitShufflePageDecoder<type>(data, opts);
132
5.75k
        return Status::OK();
133
5.75k
    }
_ZN5doris10segment_v218TypeEncodingTraitsILNS_9FieldTypeE1ELNS0_14EncodingTypePBE6EavE19create_page_decoderERKNS_5SliceERKNS0_18PageDecoderOptionsEPPNS0_11PageDecoderE
Line
Count
Source
130
336
                                      PageDecoder** decoder) {
131
336
        *decoder = new BitShufflePageDecoder<type>(data, opts);
132
336
        return Status::OK();
133
336
    }
_ZN5doris10segment_v218TypeEncodingTraitsILNS_9FieldTypeE3ELNS0_14EncodingTypePBE6EsvE19create_page_decoderERKNS_5SliceERKNS0_18PageDecoderOptionsEPPNS0_11PageDecoderE
Line
Count
Source
130
5
                                      PageDecoder** decoder) {
131
5
        *decoder = new BitShufflePageDecoder<type>(data, opts);
132
5
        return Status::OK();
133
5
    }
_ZN5doris10segment_v218TypeEncodingTraitsILNS_9FieldTypeE5ELNS0_14EncodingTypePBE6EivE19create_page_decoderERKNS_5SliceERKNS0_18PageDecoderOptionsEPPNS0_11PageDecoderE
Line
Count
Source
130
4.99k
                                      PageDecoder** decoder) {
131
4.99k
        *decoder = new BitShufflePageDecoder<type>(data, opts);
132
4.99k
        return Status::OK();
133
4.99k
    }
_ZN5doris10segment_v218TypeEncodingTraitsILNS_9FieldTypeE7ELNS0_14EncodingTypePBE6ElvE19create_page_decoderERKNS_5SliceERKNS0_18PageDecoderOptionsEPPNS0_11PageDecoderE
Line
Count
Source
130
222
                                      PageDecoder** decoder) {
131
222
        *decoder = new BitShufflePageDecoder<type>(data, opts);
132
222
        return Status::OK();
133
222
    }
_ZN5doris10segment_v218TypeEncodingTraitsILNS_9FieldTypeE8ELNS0_14EncodingTypePBE6EmvE19create_page_decoderERKNS_5SliceERKNS0_18PageDecoderOptionsEPPNS0_11PageDecoderE
Line
Count
Source
130
187
                                      PageDecoder** decoder) {
131
187
        *decoder = new BitShufflePageDecoder<type>(data, opts);
132
187
        return Status::OK();
133
187
    }
Unexecuted instantiation: _ZN5doris10segment_v218TypeEncodingTraitsILNS_9FieldTypeE6ELNS0_14EncodingTypePBE6EjvE19create_page_decoderERKNS_5SliceERKNS0_18PageDecoderOptionsEPPNS0_11PageDecoderE
Unexecuted instantiation: _ZN5doris10segment_v218TypeEncodingTraitsILNS_9FieldTypeE9ELNS0_14EncodingTypePBE6EnvE19create_page_decoderERKNS_5SliceERKNS0_18PageDecoderOptionsEPPNS0_11PageDecoderE
_ZN5doris10segment_v218TypeEncodingTraitsILNS_9FieldTypeE10ELNS0_14EncodingTypePBE6EfvE19create_page_decoderERKNS_5SliceERKNS0_18PageDecoderOptionsEPPNS0_11PageDecoderE
Line
Count
Source
130
1
                                      PageDecoder** decoder) {
131
1
        *decoder = new BitShufflePageDecoder<type>(data, opts);
132
1
        return Status::OK();
133
1
    }
Unexecuted instantiation: _ZN5doris10segment_v218TypeEncodingTraitsILNS_9FieldTypeE11ELNS0_14EncodingTypePBE6EdvE19create_page_decoderERKNS_5SliceERKNS0_18PageDecoderOptionsEPPNS0_11PageDecoderE
Unexecuted instantiation: _ZN5doris10segment_v218TypeEncodingTraitsILNS_9FieldTypeE24ELNS0_14EncodingTypePBE6EhvE19create_page_decoderERKNS_5SliceERKNS0_18PageDecoderOptionsEPPNS0_11PageDecoderE
Unexecuted instantiation: _ZN5doris10segment_v218TypeEncodingTraitsILNS_9FieldTypeE14ELNS0_14EncodingTypePBE6ENS_8uint24_tEvE19create_page_decoderERKNS_5SliceERKNS0_18PageDecoderOptionsEPPNS0_11PageDecoderE
_ZN5doris10segment_v218TypeEncodingTraitsILNS_9FieldTypeE28ELNS0_14EncodingTypePBE6EjvE19create_page_decoderERKNS_5SliceERKNS0_18PageDecoderOptionsEPPNS0_11PageDecoderE
Line
Count
Source
130
5
                                      PageDecoder** decoder) {
131
5
        *decoder = new BitShufflePageDecoder<type>(data, opts);
132
5
        return Status::OK();
133
5
    }
Unexecuted instantiation: _ZN5doris10segment_v218TypeEncodingTraitsILNS_9FieldTypeE29ELNS0_14EncodingTypePBE6EmvE19create_page_decoderERKNS_5SliceERKNS0_18PageDecoderOptionsEPPNS0_11PageDecoderE
_ZN5doris10segment_v218TypeEncodingTraitsILNS_9FieldTypeE15ELNS0_14EncodingTypePBE6ElvE19create_page_decoderERKNS_5SliceERKNS0_18PageDecoderOptionsEPPNS0_11PageDecoderE
Line
Count
Source
130
5
                                      PageDecoder** decoder) {
131
5
        *decoder = new BitShufflePageDecoder<type>(data, opts);
132
5
        return Status::OK();
133
5
    }
Unexecuted instantiation: _ZN5doris10segment_v218TypeEncodingTraitsILNS_9FieldTypeE40ELNS0_14EncodingTypePBE6EmvE19create_page_decoderERKNS_5SliceERKNS0_18PageDecoderOptionsEPPNS0_11PageDecoderE
Unexecuted instantiation: _ZN5doris10segment_v218TypeEncodingTraitsILNS_9FieldTypeE16ELNS0_14EncodingTypePBE6ENS_11decimal12_tEvE19create_page_decoderERKNS_5SliceERKNS0_18PageDecoderOptionsEPPNS0_11PageDecoderE
Unexecuted instantiation: _ZN5doris10segment_v218TypeEncodingTraitsILNS_9FieldTypeE31ELNS0_14EncodingTypePBE6EivE19create_page_decoderERKNS_5SliceERKNS0_18PageDecoderOptionsEPPNS0_11PageDecoderE
Unexecuted instantiation: _ZN5doris10segment_v218TypeEncodingTraitsILNS_9FieldTypeE32ELNS0_14EncodingTypePBE6ElvE19create_page_decoderERKNS_5SliceERKNS0_18PageDecoderOptionsEPPNS0_11PageDecoderE
Unexecuted instantiation: _ZN5doris10segment_v218TypeEncodingTraitsILNS_9FieldTypeE33ELNS0_14EncodingTypePBE6EnvE19create_page_decoderERKNS_5SliceERKNS0_18PageDecoderOptionsEPPNS0_11PageDecoderE
Unexecuted instantiation: _ZN5doris10segment_v218TypeEncodingTraitsILNS_9FieldTypeE37ELNS0_14EncodingTypePBE6EN4wide7integerILm256EiEEvE19create_page_decoderERKNS_5SliceERKNS0_18PageDecoderOptionsEPPNS0_11PageDecoderE
Unexecuted instantiation: _ZN5doris10segment_v218TypeEncodingTraitsILNS_9FieldTypeE38ELNS0_14EncodingTypePBE6EjvE19create_page_decoderERKNS_5SliceERKNS0_18PageDecoderOptionsEPPNS0_11PageDecoderE
Unexecuted instantiation: _ZN5doris10segment_v218TypeEncodingTraitsILNS_9FieldTypeE39ELNS0_14EncodingTypePBE6EovE19create_page_decoderERKNS_5SliceERKNS0_18PageDecoderOptionsEPPNS0_11PageDecoderE
134
};
135
136
template <>
137
struct TypeEncodingTraits<FieldType::OLAP_FIELD_TYPE_BOOL, RLE, uint8_t> {
138
0
    static Status create_page_builder(const PageBuilderOptions& opts, PageBuilder** builder) {
139
0
        return RlePageBuilder<FieldType::OLAP_FIELD_TYPE_BOOL>::create(builder, opts);
140
0
    }
141
    static Status create_page_decoder(const Slice& data, const PageDecoderOptions& opts,
142
0
                                      PageDecoder** decoder) {
143
0
        *decoder = new RlePageDecoder<FieldType::OLAP_FIELD_TYPE_BOOL>(data, opts);
144
0
        return Status::OK();
145
0
    }
146
};
147
148
template <FieldType type>
149
struct TypeEncodingTraits<type, DICT_ENCODING, Slice> {
150
3.80k
    static Status create_page_builder(const PageBuilderOptions& opts, PageBuilder** builder) {
151
3.80k
        return BinaryDictPageBuilder::create(builder, opts);
152
3.80k
    }
_ZN5doris10segment_v218TypeEncodingTraitsILNS_9FieldTypeE13ELNS0_14EncodingTypePBE5ENS_5SliceEvE19create_page_builderERKNS0_18PageBuilderOptionsEPPNS0_11PageBuilderE
Line
Count
Source
150
2
    static Status create_page_builder(const PageBuilderOptions& opts, PageBuilder** builder) {
151
2
        return BinaryDictPageBuilder::create(builder, opts);
152
2
    }
_ZN5doris10segment_v218TypeEncodingTraitsILNS_9FieldTypeE17ELNS0_14EncodingTypePBE5ENS_5SliceEvE19create_page_builderERKNS0_18PageBuilderOptionsEPPNS0_11PageBuilderE
Line
Count
Source
150
140
    static Status create_page_builder(const PageBuilderOptions& opts, PageBuilder** builder) {
151
140
        return BinaryDictPageBuilder::create(builder, opts);
152
140
    }
_ZN5doris10segment_v218TypeEncodingTraitsILNS_9FieldTypeE26ELNS0_14EncodingTypePBE5ENS_5SliceEvE19create_page_builderERKNS0_18PageBuilderOptionsEPPNS0_11PageBuilderE
Line
Count
Source
150
3.35k
    static Status create_page_builder(const PageBuilderOptions& opts, PageBuilder** builder) {
151
3.35k
        return BinaryDictPageBuilder::create(builder, opts);
152
3.35k
    }
Unexecuted instantiation: _ZN5doris10segment_v218TypeEncodingTraitsILNS_9FieldTypeE34ELNS0_14EncodingTypePBE5ENS_5SliceEvE19create_page_builderERKNS0_18PageBuilderOptionsEPPNS0_11PageBuilderE
_ZN5doris10segment_v218TypeEncodingTraitsILNS_9FieldTypeE35ELNS0_14EncodingTypePBE5ENS_5SliceEvE19create_page_builderERKNS0_18PageBuilderOptionsEPPNS0_11PageBuilderE
Line
Count
Source
150
310
    static Status create_page_builder(const PageBuilderOptions& opts, PageBuilder** builder) {
151
310
        return BinaryDictPageBuilder::create(builder, opts);
152
310
    }
153
    static Status create_page_decoder(const Slice& data, const PageDecoderOptions& opts,
154
4.39k
                                      PageDecoder** decoder) {
155
4.39k
        *decoder = new BinaryDictPageDecoder(data, opts);
156
4.39k
        return Status::OK();
157
4.39k
    }
Unexecuted instantiation: _ZN5doris10segment_v218TypeEncodingTraitsILNS_9FieldTypeE13ELNS0_14EncodingTypePBE5ENS_5SliceEvE19create_page_decoderERKS4_RKNS0_18PageDecoderOptionsEPPNS0_11PageDecoderE
_ZN5doris10segment_v218TypeEncodingTraitsILNS_9FieldTypeE17ELNS0_14EncodingTypePBE5ENS_5SliceEvE19create_page_decoderERKS4_RKNS0_18PageDecoderOptionsEPPNS0_11PageDecoderE
Line
Count
Source
154
1
                                      PageDecoder** decoder) {
155
1
        *decoder = new BinaryDictPageDecoder(data, opts);
156
1
        return Status::OK();
157
1
    }
_ZN5doris10segment_v218TypeEncodingTraitsILNS_9FieldTypeE26ELNS0_14EncodingTypePBE5ENS_5SliceEvE19create_page_decoderERKS4_RKNS0_18PageDecoderOptionsEPPNS0_11PageDecoderE
Line
Count
Source
154
4.27k
                                      PageDecoder** decoder) {
155
4.27k
        *decoder = new BinaryDictPageDecoder(data, opts);
156
4.27k
        return Status::OK();
157
4.27k
    }
Unexecuted instantiation: _ZN5doris10segment_v218TypeEncodingTraitsILNS_9FieldTypeE34ELNS0_14EncodingTypePBE5ENS_5SliceEvE19create_page_decoderERKS4_RKNS0_18PageDecoderOptionsEPPNS0_11PageDecoderE
_ZN5doris10segment_v218TypeEncodingTraitsILNS_9FieldTypeE35ELNS0_14EncodingTypePBE5ENS_5SliceEvE19create_page_decoderERKS4_RKNS0_18PageDecoderOptionsEPPNS0_11PageDecoderE
Line
Count
Source
154
111
                                      PageDecoder** decoder) {
155
111
        *decoder = new BinaryDictPageDecoder(data, opts);
156
111
        return Status::OK();
157
111
    }
158
};
159
160
template <>
161
struct TypeEncodingTraits<FieldType::OLAP_FIELD_TYPE_DATE, FOR_ENCODING,
162
                          typename CppTypeTraits<FieldType::OLAP_FIELD_TYPE_DATE>::CppType> {
163
0
    static Status create_page_builder(const PageBuilderOptions& opts, PageBuilder** builder) {
164
0
        return FrameOfReferencePageBuilder<FieldType::OLAP_FIELD_TYPE_DATE>::create(builder, opts);
165
0
    }
166
    static Status create_page_decoder(const Slice& data, const PageDecoderOptions& opts,
167
0
                                      PageDecoder** decoder) {
168
0
        *decoder = new FrameOfReferencePageDecoder<FieldType::OLAP_FIELD_TYPE_DATE>(data, opts);
169
0
        return Status::OK();
170
0
    }
171
};
172
173
template <>
174
struct TypeEncodingTraits<FieldType::OLAP_FIELD_TYPE_DATEV2, FOR_ENCODING,
175
                          typename CppTypeTraits<FieldType::OLAP_FIELD_TYPE_DATEV2>::CppType> {
176
0
    static Status create_page_builder(const PageBuilderOptions& opts, PageBuilder** builder) {
177
0
        return FrameOfReferencePageBuilder<FieldType::OLAP_FIELD_TYPE_DATEV2>::create(builder,
178
0
                                                                                      opts);
179
0
    }
180
    static Status create_page_decoder(const Slice& data, const PageDecoderOptions& opts,
181
0
                                      PageDecoder** decoder) {
182
0
        *decoder = new FrameOfReferencePageDecoder<FieldType::OLAP_FIELD_TYPE_DATEV2>(data, opts);
183
0
        return Status::OK();
184
0
    }
185
};
186
187
template <>
188
struct TypeEncodingTraits<FieldType::OLAP_FIELD_TYPE_DATETIMEV2, FOR_ENCODING,
189
                          typename CppTypeTraits<FieldType::OLAP_FIELD_TYPE_DATETIMEV2>::CppType> {
190
0
    static Status create_page_builder(const PageBuilderOptions& opts, PageBuilder** builder) {
191
0
        return FrameOfReferencePageBuilder<FieldType::OLAP_FIELD_TYPE_DATETIMEV2>::create(builder,
192
0
                                                                                          opts);
193
0
    }
194
    static Status create_page_decoder(const Slice& data, const PageDecoderOptions& opts,
195
0
                                      PageDecoder** decoder) {
196
0
        *decoder =
197
0
                new FrameOfReferencePageDecoder<FieldType::OLAP_FIELD_TYPE_DATETIMEV2>(data, opts);
198
0
        return Status::OK();
199
0
    }
200
};
201
202
template <>
203
struct TypeEncodingTraits<FieldType::OLAP_FIELD_TYPE_TIMESTAMPTZ, FOR_ENCODING,
204
                          typename CppTypeTraits<FieldType::OLAP_FIELD_TYPE_TIMESTAMPTZ>::CppType> {
205
0
    static Status create_page_builder(const PageBuilderOptions& opts, PageBuilder** builder) {
206
0
        return FrameOfReferencePageBuilder<FieldType::OLAP_FIELD_TYPE_TIMESTAMPTZ>::create(builder,
207
0
                                                                                           opts);
208
0
    }
209
    static Status create_page_decoder(const Slice& data, const PageDecoderOptions& opts,
210
0
                                      PageDecoder** decoder) {
211
0
        *decoder =
212
0
                new FrameOfReferencePageDecoder<FieldType::OLAP_FIELD_TYPE_TIMESTAMPTZ>(data, opts);
213
0
        return Status::OK();
214
0
    }
215
};
216
217
template <FieldType type, typename CppType>
218
struct TypeEncodingTraits<type, FOR_ENCODING, CppType,
219
                          typename std::enable_if<IsIntegral<CppType>::value>::type> {
220
0
    static Status create_page_builder(const PageBuilderOptions& opts, PageBuilder** builder) {
221
0
        return FrameOfReferencePageBuilder<type>::create(builder, opts);
222
0
    }
Unexecuted instantiation: _ZN5doris10segment_v218TypeEncodingTraitsILNS_9FieldTypeE1ELNS0_14EncodingTypePBE7EavE19create_page_builderERKNS0_18PageBuilderOptionsEPPNS0_11PageBuilderE
Unexecuted instantiation: _ZN5doris10segment_v218TypeEncodingTraitsILNS_9FieldTypeE3ELNS0_14EncodingTypePBE7EsvE19create_page_builderERKNS0_18PageBuilderOptionsEPPNS0_11PageBuilderE
Unexecuted instantiation: _ZN5doris10segment_v218TypeEncodingTraitsILNS_9FieldTypeE5ELNS0_14EncodingTypePBE7EivE19create_page_builderERKNS0_18PageBuilderOptionsEPPNS0_11PageBuilderE
Unexecuted instantiation: _ZN5doris10segment_v218TypeEncodingTraitsILNS_9FieldTypeE7ELNS0_14EncodingTypePBE7ElvE19create_page_builderERKNS0_18PageBuilderOptionsEPPNS0_11PageBuilderE
Unexecuted instantiation: _ZN5doris10segment_v218TypeEncodingTraitsILNS_9FieldTypeE9ELNS0_14EncodingTypePBE7EnvE19create_page_builderERKNS0_18PageBuilderOptionsEPPNS0_11PageBuilderE
Unexecuted instantiation: _ZN5doris10segment_v218TypeEncodingTraitsILNS_9FieldTypeE15ELNS0_14EncodingTypePBE7ElvE19create_page_builderERKNS0_18PageBuilderOptionsEPPNS0_11PageBuilderE
223
    static Status create_page_decoder(const Slice& data, const PageDecoderOptions& opts,
224
0
                                      PageDecoder** decoder) {
225
0
        *decoder = new FrameOfReferencePageDecoder<type>(data, opts);
226
0
        return Status::OK();
227
0
    }
Unexecuted instantiation: _ZN5doris10segment_v218TypeEncodingTraitsILNS_9FieldTypeE1ELNS0_14EncodingTypePBE7EavE19create_page_decoderERKNS_5SliceERKNS0_18PageDecoderOptionsEPPNS0_11PageDecoderE
Unexecuted instantiation: _ZN5doris10segment_v218TypeEncodingTraitsILNS_9FieldTypeE3ELNS0_14EncodingTypePBE7EsvE19create_page_decoderERKNS_5SliceERKNS0_18PageDecoderOptionsEPPNS0_11PageDecoderE
Unexecuted instantiation: _ZN5doris10segment_v218TypeEncodingTraitsILNS_9FieldTypeE5ELNS0_14EncodingTypePBE7EivE19create_page_decoderERKNS_5SliceERKNS0_18PageDecoderOptionsEPPNS0_11PageDecoderE
Unexecuted instantiation: _ZN5doris10segment_v218TypeEncodingTraitsILNS_9FieldTypeE7ELNS0_14EncodingTypePBE7ElvE19create_page_decoderERKNS_5SliceERKNS0_18PageDecoderOptionsEPPNS0_11PageDecoderE
Unexecuted instantiation: _ZN5doris10segment_v218TypeEncodingTraitsILNS_9FieldTypeE9ELNS0_14EncodingTypePBE7EnvE19create_page_decoderERKNS_5SliceERKNS0_18PageDecoderOptionsEPPNS0_11PageDecoderE
Unexecuted instantiation: _ZN5doris10segment_v218TypeEncodingTraitsILNS_9FieldTypeE15ELNS0_14EncodingTypePBE7ElvE19create_page_decoderERKNS_5SliceERKNS0_18PageDecoderOptionsEPPNS0_11PageDecoderE
228
};
229
230
template <FieldType type>
231
struct TypeEncodingTraits<type, PREFIX_ENCODING, Slice> {
232
212
    static Status create_page_builder(const PageBuilderOptions& opts, PageBuilder** builder) {
233
212
        return BinaryPrefixPageBuilder::create(builder, opts);
234
212
    }
Unexecuted instantiation: _ZN5doris10segment_v218TypeEncodingTraitsILNS_9FieldTypeE13ELNS0_14EncodingTypePBE3ENS_5SliceEvE19create_page_builderERKNS0_18PageBuilderOptionsEPPNS0_11PageBuilderE
_ZN5doris10segment_v218TypeEncodingTraitsILNS_9FieldTypeE17ELNS0_14EncodingTypePBE3ENS_5SliceEvE19create_page_builderERKNS0_18PageBuilderOptionsEPPNS0_11PageBuilderE
Line
Count
Source
232
212
    static Status create_page_builder(const PageBuilderOptions& opts, PageBuilder** builder) {
233
212
        return BinaryPrefixPageBuilder::create(builder, opts);
234
212
    }
Unexecuted instantiation: _ZN5doris10segment_v218TypeEncodingTraitsILNS_9FieldTypeE26ELNS0_14EncodingTypePBE3ENS_5SliceEvE19create_page_builderERKNS0_18PageBuilderOptionsEPPNS0_11PageBuilderE
Unexecuted instantiation: _ZN5doris10segment_v218TypeEncodingTraitsILNS_9FieldTypeE34ELNS0_14EncodingTypePBE3ENS_5SliceEvE19create_page_builderERKNS0_18PageBuilderOptionsEPPNS0_11PageBuilderE
Unexecuted instantiation: _ZN5doris10segment_v218TypeEncodingTraitsILNS_9FieldTypeE35ELNS0_14EncodingTypePBE3ENS_5SliceEvE19create_page_builderERKNS0_18PageBuilderOptionsEPPNS0_11PageBuilderE
235
    static Status create_page_decoder(const Slice& data, const PageDecoderOptions& opts,
236
203
                                      PageDecoder** decoder) {
237
203
        *decoder = new BinaryPrefixPageDecoder(data, opts);
238
203
        return Status::OK();
239
203
    }
Unexecuted instantiation: _ZN5doris10segment_v218TypeEncodingTraitsILNS_9FieldTypeE13ELNS0_14EncodingTypePBE3ENS_5SliceEvE19create_page_decoderERKS4_RKNS0_18PageDecoderOptionsEPPNS0_11PageDecoderE
_ZN5doris10segment_v218TypeEncodingTraitsILNS_9FieldTypeE17ELNS0_14EncodingTypePBE3ENS_5SliceEvE19create_page_decoderERKS4_RKNS0_18PageDecoderOptionsEPPNS0_11PageDecoderE
Line
Count
Source
236
203
                                      PageDecoder** decoder) {
237
203
        *decoder = new BinaryPrefixPageDecoder(data, opts);
238
203
        return Status::OK();
239
203
    }
Unexecuted instantiation: _ZN5doris10segment_v218TypeEncodingTraitsILNS_9FieldTypeE26ELNS0_14EncodingTypePBE3ENS_5SliceEvE19create_page_decoderERKS4_RKNS0_18PageDecoderOptionsEPPNS0_11PageDecoderE
Unexecuted instantiation: _ZN5doris10segment_v218TypeEncodingTraitsILNS_9FieldTypeE34ELNS0_14EncodingTypePBE3ENS_5SliceEvE19create_page_decoderERKS4_RKNS0_18PageDecoderOptionsEPPNS0_11PageDecoderE
Unexecuted instantiation: _ZN5doris10segment_v218TypeEncodingTraitsILNS_9FieldTypeE35ELNS0_14EncodingTypePBE3ENS_5SliceEvE19create_page_decoderERKS4_RKNS0_18PageDecoderOptionsEPPNS0_11PageDecoderE
240
};
241
242
11
EncodingInfoResolver::EncodingInfoResolver() {
243
11
    _add_map<FieldType::OLAP_FIELD_TYPE_TINYINT, BIT_SHUFFLE>();
244
11
    _add_map<FieldType::OLAP_FIELD_TYPE_TINYINT, FOR_ENCODING, true>();
245
11
    _add_map<FieldType::OLAP_FIELD_TYPE_TINYINT, PLAIN_ENCODING>();
246
247
11
    _add_map<FieldType::OLAP_FIELD_TYPE_SMALLINT, BIT_SHUFFLE>();
248
11
    _add_map<FieldType::OLAP_FIELD_TYPE_SMALLINT, FOR_ENCODING, true>();
249
11
    _add_map<FieldType::OLAP_FIELD_TYPE_SMALLINT, PLAIN_ENCODING>();
250
251
11
    _add_map<FieldType::OLAP_FIELD_TYPE_INT, BIT_SHUFFLE>();
252
11
    _add_map<FieldType::OLAP_FIELD_TYPE_INT, FOR_ENCODING, true>();
253
11
    _add_map<FieldType::OLAP_FIELD_TYPE_INT, PLAIN_ENCODING>();
254
255
11
    _add_map<FieldType::OLAP_FIELD_TYPE_BIGINT, BIT_SHUFFLE>();
256
11
    _add_map<FieldType::OLAP_FIELD_TYPE_BIGINT, FOR_ENCODING, true>();
257
11
    _add_map<FieldType::OLAP_FIELD_TYPE_BIGINT, PLAIN_ENCODING>();
258
259
11
    _add_map<FieldType::OLAP_FIELD_TYPE_UNSIGNED_BIGINT, BIT_SHUFFLE>();
260
11
    _add_map<FieldType::OLAP_FIELD_TYPE_UNSIGNED_INT, BIT_SHUFFLE>();
261
262
11
    _add_map<FieldType::OLAP_FIELD_TYPE_LARGEINT, BIT_SHUFFLE>();
263
11
    _add_map<FieldType::OLAP_FIELD_TYPE_LARGEINT, PLAIN_ENCODING>();
264
11
    _add_map<FieldType::OLAP_FIELD_TYPE_LARGEINT, FOR_ENCODING, true>();
265
266
11
    _add_map<FieldType::OLAP_FIELD_TYPE_FLOAT, BIT_SHUFFLE>();
267
11
    _add_map<FieldType::OLAP_FIELD_TYPE_FLOAT, PLAIN_ENCODING>();
268
269
11
    _add_map<FieldType::OLAP_FIELD_TYPE_DOUBLE, BIT_SHUFFLE>();
270
11
    _add_map<FieldType::OLAP_FIELD_TYPE_DOUBLE, PLAIN_ENCODING>();
271
272
11
    _add_map<FieldType::OLAP_FIELD_TYPE_CHAR, DICT_ENCODING>();
273
11
    _add_map<FieldType::OLAP_FIELD_TYPE_CHAR, PLAIN_ENCODING>();
274
11
    _add_map<FieldType::OLAP_FIELD_TYPE_CHAR, PLAIN_ENCODING_V2>();
275
11
    _add_map<FieldType::OLAP_FIELD_TYPE_CHAR, PLAIN_ENCODING_V3>();
276
11
    _add_map<FieldType::OLAP_FIELD_TYPE_CHAR, PREFIX_ENCODING, true>();
277
278
11
    _add_map<FieldType::OLAP_FIELD_TYPE_VARCHAR, DICT_ENCODING>();
279
11
    _add_map<FieldType::OLAP_FIELD_TYPE_VARCHAR, PLAIN_ENCODING>();
280
11
    _add_map<FieldType::OLAP_FIELD_TYPE_VARCHAR, PLAIN_ENCODING_V2>();
281
11
    _add_map<FieldType::OLAP_FIELD_TYPE_VARCHAR, PLAIN_ENCODING_V3>();
282
11
    _add_map<FieldType::OLAP_FIELD_TYPE_VARCHAR, PREFIX_ENCODING, true>();
283
284
11
    _add_map<FieldType::OLAP_FIELD_TYPE_STRING, DICT_ENCODING>();
285
11
    _add_map<FieldType::OLAP_FIELD_TYPE_STRING, PLAIN_ENCODING>();
286
11
    _add_map<FieldType::OLAP_FIELD_TYPE_STRING, PLAIN_ENCODING_V2>();
287
11
    _add_map<FieldType::OLAP_FIELD_TYPE_STRING, PLAIN_ENCODING_V3>();
288
11
    _add_map<FieldType::OLAP_FIELD_TYPE_STRING, PREFIX_ENCODING, true>();
289
290
11
    _add_map<FieldType::OLAP_FIELD_TYPE_JSONB, DICT_ENCODING>();
291
11
    _add_map<FieldType::OLAP_FIELD_TYPE_JSONB, PLAIN_ENCODING>();
292
11
    _add_map<FieldType::OLAP_FIELD_TYPE_JSONB, PLAIN_ENCODING_V2>();
293
11
    _add_map<FieldType::OLAP_FIELD_TYPE_JSONB, PLAIN_ENCODING_V3>();
294
11
    _add_map<FieldType::OLAP_FIELD_TYPE_JSONB, PREFIX_ENCODING, true>();
295
296
11
    _add_map<FieldType::OLAP_FIELD_TYPE_VARIANT, DICT_ENCODING>();
297
11
    _add_map<FieldType::OLAP_FIELD_TYPE_VARIANT, PLAIN_ENCODING>();
298
11
    _add_map<FieldType::OLAP_FIELD_TYPE_VARIANT, PLAIN_ENCODING_V2>();
299
11
    _add_map<FieldType::OLAP_FIELD_TYPE_VARIANT, PLAIN_ENCODING_V3>();
300
11
    _add_map<FieldType::OLAP_FIELD_TYPE_VARIANT, PREFIX_ENCODING, true>();
301
302
11
    _add_map<FieldType::OLAP_FIELD_TYPE_BOOL, RLE>();
303
11
    _add_map<FieldType::OLAP_FIELD_TYPE_BOOL, BIT_SHUFFLE>();
304
11
    _add_map<FieldType::OLAP_FIELD_TYPE_BOOL, PLAIN_ENCODING>();
305
11
    _add_map<FieldType::OLAP_FIELD_TYPE_BOOL, PLAIN_ENCODING, true>();
306
307
11
    _add_map<FieldType::OLAP_FIELD_TYPE_DATE, BIT_SHUFFLE>();
308
11
    _add_map<FieldType::OLAP_FIELD_TYPE_DATE, PLAIN_ENCODING>();
309
11
    _add_map<FieldType::OLAP_FIELD_TYPE_DATE, FOR_ENCODING, true>();
310
311
11
    _add_map<FieldType::OLAP_FIELD_TYPE_DATEV2, BIT_SHUFFLE>();
312
11
    _add_map<FieldType::OLAP_FIELD_TYPE_DATEV2, PLAIN_ENCODING>();
313
11
    _add_map<FieldType::OLAP_FIELD_TYPE_DATEV2, FOR_ENCODING, true>();
314
315
11
    _add_map<FieldType::OLAP_FIELD_TYPE_DATETIMEV2, BIT_SHUFFLE>();
316
11
    _add_map<FieldType::OLAP_FIELD_TYPE_DATETIMEV2, PLAIN_ENCODING>();
317
11
    _add_map<FieldType::OLAP_FIELD_TYPE_DATETIMEV2, FOR_ENCODING, true>();
318
319
11
    _add_map<FieldType::OLAP_FIELD_TYPE_DATETIME, BIT_SHUFFLE>();
320
11
    _add_map<FieldType::OLAP_FIELD_TYPE_DATETIME, PLAIN_ENCODING>();
321
11
    _add_map<FieldType::OLAP_FIELD_TYPE_DATETIME, FOR_ENCODING, true>();
322
323
11
    _add_map<FieldType::OLAP_FIELD_TYPE_TIMESTAMPTZ, BIT_SHUFFLE>();
324
11
    _add_map<FieldType::OLAP_FIELD_TYPE_TIMESTAMPTZ, PLAIN_ENCODING>();
325
11
    _add_map<FieldType::OLAP_FIELD_TYPE_TIMESTAMPTZ, FOR_ENCODING, true>();
326
327
11
    _add_map<FieldType::OLAP_FIELD_TYPE_DECIMAL, BIT_SHUFFLE>();
328
11
    _add_map<FieldType::OLAP_FIELD_TYPE_DECIMAL, PLAIN_ENCODING>();
329
11
    _add_map<FieldType::OLAP_FIELD_TYPE_DECIMAL, BIT_SHUFFLE, true>();
330
331
11
    _add_map<FieldType::OLAP_FIELD_TYPE_DECIMAL32, BIT_SHUFFLE>();
332
11
    _add_map<FieldType::OLAP_FIELD_TYPE_DECIMAL32, PLAIN_ENCODING>();
333
11
    _add_map<FieldType::OLAP_FIELD_TYPE_DECIMAL32, BIT_SHUFFLE, true>();
334
335
11
    _add_map<FieldType::OLAP_FIELD_TYPE_DECIMAL64, BIT_SHUFFLE>();
336
11
    _add_map<FieldType::OLAP_FIELD_TYPE_DECIMAL64, PLAIN_ENCODING>();
337
11
    _add_map<FieldType::OLAP_FIELD_TYPE_DECIMAL64, BIT_SHUFFLE, true>();
338
339
11
    _add_map<FieldType::OLAP_FIELD_TYPE_DECIMAL128I, BIT_SHUFFLE>();
340
11
    _add_map<FieldType::OLAP_FIELD_TYPE_DECIMAL128I, PLAIN_ENCODING>();
341
11
    _add_map<FieldType::OLAP_FIELD_TYPE_DECIMAL128I, BIT_SHUFFLE, true>();
342
343
11
    _add_map<FieldType::OLAP_FIELD_TYPE_DECIMAL256, BIT_SHUFFLE>();
344
11
    _add_map<FieldType::OLAP_FIELD_TYPE_DECIMAL256, PLAIN_ENCODING>();
345
11
    _add_map<FieldType::OLAP_FIELD_TYPE_DECIMAL256, BIT_SHUFFLE, true>();
346
347
11
    _add_map<FieldType::OLAP_FIELD_TYPE_IPV4, BIT_SHUFFLE>();
348
11
    _add_map<FieldType::OLAP_FIELD_TYPE_IPV4, PLAIN_ENCODING>();
349
11
    _add_map<FieldType::OLAP_FIELD_TYPE_IPV4, BIT_SHUFFLE, true>();
350
351
11
    _add_map<FieldType::OLAP_FIELD_TYPE_IPV6, BIT_SHUFFLE>();
352
11
    _add_map<FieldType::OLAP_FIELD_TYPE_IPV6, PLAIN_ENCODING>();
353
11
    _add_map<FieldType::OLAP_FIELD_TYPE_IPV6, BIT_SHUFFLE, true>();
354
355
11
    _add_map<FieldType::OLAP_FIELD_TYPE_HLL, PLAIN_ENCODING>();
356
11
    _add_map<FieldType::OLAP_FIELD_TYPE_HLL, PLAIN_ENCODING_V2>();
357
11
    _add_map<FieldType::OLAP_FIELD_TYPE_HLL, PLAIN_ENCODING_V3>();
358
359
11
    _add_map<FieldType::OLAP_FIELD_TYPE_BITMAP, PLAIN_ENCODING>();
360
11
    _add_map<FieldType::OLAP_FIELD_TYPE_BITMAP, PLAIN_ENCODING_V2>();
361
11
    _add_map<FieldType::OLAP_FIELD_TYPE_BITMAP, PLAIN_ENCODING_V3>();
362
363
11
    _add_map<FieldType::OLAP_FIELD_TYPE_QUANTILE_STATE, PLAIN_ENCODING>();
364
11
    _add_map<FieldType::OLAP_FIELD_TYPE_QUANTILE_STATE, PLAIN_ENCODING_V2>();
365
11
    _add_map<FieldType::OLAP_FIELD_TYPE_QUANTILE_STATE, PLAIN_ENCODING_V3>();
366
367
11
    _add_map<FieldType::OLAP_FIELD_TYPE_AGG_STATE, PLAIN_ENCODING>();
368
11
    _add_map<FieldType::OLAP_FIELD_TYPE_AGG_STATE, PLAIN_ENCODING_V2>();
369
11
    _add_map<FieldType::OLAP_FIELD_TYPE_AGG_STATE, PLAIN_ENCODING_V3>();
370
11
}
371
372
10
EncodingInfoResolver::~EncodingInfoResolver() {
373
900
    for (auto& it : _encoding_map) {
374
900
        delete it.second;
375
900
    }
376
10
    _encoding_map.clear();
377
10
}
378
379
namespace {
380
23.0k
bool is_integer_type(FieldType type) {
381
23.0k
    return type == FieldType::OLAP_FIELD_TYPE_TINYINT ||
382
23.0k
           type == FieldType::OLAP_FIELD_TYPE_SMALLINT || type == FieldType::OLAP_FIELD_TYPE_INT ||
383
23.0k
           type == FieldType::OLAP_FIELD_TYPE_BIGINT || type == FieldType::OLAP_FIELD_TYPE_LARGEINT;
384
23.0k
}
385
386
20.8k
bool is_binary_type(FieldType type) {
387
20.8k
    return type == FieldType::OLAP_FIELD_TYPE_CHAR || type == FieldType::OLAP_FIELD_TYPE_VARCHAR ||
388
20.8k
           type == FieldType::OLAP_FIELD_TYPE_STRING || type == FieldType::OLAP_FIELD_TYPE_JSONB ||
389
20.8k
           type == FieldType::OLAP_FIELD_TYPE_VARIANT || type == FieldType::OLAP_FIELD_TYPE_HLL ||
390
20.8k
           type == FieldType::OLAP_FIELD_TYPE_BITMAP ||
391
20.8k
           type == FieldType::OLAP_FIELD_TYPE_QUANTILE_STATE ||
392
20.8k
           type == FieldType::OLAP_FIELD_TYPE_AGG_STATE;
393
20.8k
}
394
} // namespace
395
396
EncodingTypePB EncodingInfoResolver::get_default_encoding(FieldType type,
397
                                                          EncodingPreference encoding_preference,
398
23.0k
                                                          bool optimize_value_seek) const {
399
    // Predicate for default encoding transformation
400
    // Parameters: (type, current_default_encoding, optimize_value_seek)
401
    // Returns: true if the transformation should be applied
402
23.0k
    using Predicate = std::function<bool(FieldType, EncodingTypePB,
403
23.0k
                                         EncodingPreference encoding_preference, bool)>;
404
405
    // Hook for transforming default encoding: predicate -> target encoding
406
23.0k
    struct EncodingTransform {
407
23.0k
        Predicate predicate;
408
23.0k
        EncodingTypePB target_encoding;
409
23.0k
    };
410
411
    // Static array of hooks for default encoding transformations
412
23.0k
    static const std::vector<EncodingTransform> hooks = {
413
            // Hook 1: Binary types - PLAIN_ENCODING -> PLAIN_ENCODING_V2
414
            // Applies when: type is binary, encoding is PLAIN_ENCODING, and config enables v2
415
23.0k
            EncodingTransform {
416
23.0k
                    .predicate =
417
23.0k
                            [](FieldType type, EncodingTypePB encoding,
418
23.0k
                               EncodingPreference encoding_preference, bool optimize_value_seek) {
419
23.0k
                                return encoding == PLAIN_ENCODING && is_binary_type(type) &&
420
23.0k
                                       encoding_preference.binary_plain_encoding_default_impl ==
421
10.4k
                                               BinaryPlainEncodingTypePB::BINARY_PLAIN_ENCODING_V2;
422
23.0k
                            },
423
23.0k
                    .target_encoding = PLAIN_ENCODING_V2},
424
425
            // Hook 1b: Binary types - PLAIN_ENCODING -> PLAIN_ENCODING_V3
426
            // Applies when: type is binary, encoding is PLAIN_ENCODING, and config enables v3.
427
            // V3 hook is placed before the v2 hook in the future would be wrong; both keys
428
            // are mutually exclusive at the source enum, so order is informational only.
429
23.0k
            EncodingTransform {
430
23.0k
                    .predicate =
431
23.0k
                            [](FieldType type, EncodingTypePB encoding,
432
23.0k
                               EncodingPreference encoding_preference, bool optimize_value_seek) {
433
23.0k
                                return encoding == PLAIN_ENCODING && is_binary_type(type) &&
434
23.0k
                                       encoding_preference.binary_plain_encoding_default_impl ==
435
10.4k
                                               BinaryPlainEncodingTypePB::BINARY_PLAIN_ENCODING_V3;
436
23.0k
                            },
437
23.0k
                    .target_encoding = PLAIN_ENCODING_V3},
438
439
            // Hook 2: Integer types - any encoding -> PLAIN_ENCODING
440
            // Applies when: type is integer and config enables plain encoding for integers
441
23.0k
            EncodingTransform {
442
23.0k
                    .predicate =
443
23.0k
                            [](FieldType type, EncodingTypePB encoding,
444
23.0k
                               EncodingPreference encoding_preference, bool optimize_value_seek) {
445
23.0k
                                return is_integer_type(type) &&
446
23.0k
                                       encoding_preference.integer_type_default_use_plain_encoding;
447
23.0k
                            },
448
23.0k
                    .target_encoding = PLAIN_ENCODING}};
449
450
23.0k
    auto& encoding_map =
451
23.0k
            optimize_value_seek ? _value_seek_encoding_map : _default_encoding_type_map;
452
23.0k
    auto it = encoding_map.find(type);
453
23.0k
    if (it != encoding_map.end()) {
454
23.0k
        EncodingTypePB encoding = it->second;
455
456
        // Apply hooks in order to transform the default encoding
457
69.1k
        for (const auto& hook : hooks) {
458
69.1k
            if (hook.predicate(type, encoding, encoding_preference, optimize_value_seek)) {
459
                // Verify target encoding is available for this type
460
6
                if (_encoding_map.contains(std::make_pair(type, hook.target_encoding))) {
461
6
                    encoding = hook.target_encoding;
462
6
                    break; // Apply only the first matching hook
463
6
                }
464
6
            }
465
69.1k
        }
466
467
23.0k
        return encoding;
468
23.0k
    }
469
0
    return UNKNOWN_ENCODING;
470
23.0k
}
471
472
Status EncodingInfoResolver::get(FieldType data_type, EncodingTypePB encoding_type,
473
43.3k
                                 EncodingPreference encoding_preference, const EncodingInfo** out) {
474
43.3k
    if (encoding_type == DEFAULT_ENCODING) {
475
12.5k
        encoding_type = get_default_encoding(data_type, encoding_preference, false);
476
12.5k
    }
477
43.3k
    auto key = std::make_pair(data_type, encoding_type);
478
43.3k
    auto it = _encoding_map.find(key);
479
43.3k
    if (it == std::end(_encoding_map)) {
480
1
        return Status::InternalError("fail to find valid type encoding, type:{}, encoding:{}",
481
1
                                     data_type, encoding_type);
482
1
    }
483
43.3k
    *out = it->second;
484
43.3k
    return Status::OK();
485
43.3k
}
486
487
template <typename TraitsClass>
488
EncodingInfo::EncodingInfo(TraitsClass traits)
489
1.07k
        : _create_builder_func(TraitsClass::create_page_builder),
490
1.07k
          _create_decoder_func(TraitsClass::create_page_decoder),
491
1.07k
          _type(TraitsClass::type),
492
1.07k
          _encoding(TraitsClass::encoding) {
493
1.07k
    if (_encoding == BIT_SHUFFLE) {
494
319
        _data_page_pre_decoder = std::make_unique<BitShufflePagePreDecoder>();
495
759
    } else if (_encoding == DICT_ENCODING) {
496
55
        _data_page_pre_decoder = std::make_unique<BinaryDictPagePreDecoder>();
497
704
    } else if (_encoding == PLAIN_ENCODING_V2) {
498
        // Only binary types (Slice) need the predecoder for PLAIN_ENCODING_V2
499
        // to convert varint-encoded lengths to offset array format
500
99
        if constexpr (std::is_same_v<typename TraitsClass::CppType, Slice>) {
501
99
            _data_page_pre_decoder = std::make_unique<BinaryPlainPageV2PreDecoder>();
502
99
        }
503
605
    } else if (_encoding == PLAIN_ENCODING_V3) {
504
99
        if constexpr (std::is_same_v<typename TraitsClass::CppType, Slice>) {
505
99
            _data_page_pre_decoder = std::make_unique<BinaryPlainPageV3PreDecoder>();
506
99
        }
507
99
    }
508
1.07k
}
_ZN5doris10segment_v212EncodingInfoC2INS0_14EncodingTraitsILNS_9FieldTypeE1ELNS0_14EncodingTypePBE6EEEEET_
Line
Count
Source
489
11
        : _create_builder_func(TraitsClass::create_page_builder),
490
11
          _create_decoder_func(TraitsClass::create_page_decoder),
491
11
          _type(TraitsClass::type),
492
11
          _encoding(TraitsClass::encoding) {
493
11
    if (_encoding == BIT_SHUFFLE) {
494
11
        _data_page_pre_decoder = std::make_unique<BitShufflePagePreDecoder>();
495
11
    } else if (_encoding == DICT_ENCODING) {
496
0
        _data_page_pre_decoder = std::make_unique<BinaryDictPagePreDecoder>();
497
0
    } else if (_encoding == PLAIN_ENCODING_V2) {
498
        // Only binary types (Slice) need the predecoder for PLAIN_ENCODING_V2
499
        // to convert varint-encoded lengths to offset array format
500
        if constexpr (std::is_same_v<typename TraitsClass::CppType, Slice>) {
501
            _data_page_pre_decoder = std::make_unique<BinaryPlainPageV2PreDecoder>();
502
        }
503
0
    } else if (_encoding == PLAIN_ENCODING_V3) {
504
        if constexpr (std::is_same_v<typename TraitsClass::CppType, Slice>) {
505
            _data_page_pre_decoder = std::make_unique<BinaryPlainPageV3PreDecoder>();
506
        }
507
0
    }
508
11
}
_ZN5doris10segment_v212EncodingInfoC2INS0_14EncodingTraitsILNS_9FieldTypeE1ELNS0_14EncodingTypePBE7EEEEET_
Line
Count
Source
489
11
        : _create_builder_func(TraitsClass::create_page_builder),
490
11
          _create_decoder_func(TraitsClass::create_page_decoder),
491
11
          _type(TraitsClass::type),
492
11
          _encoding(TraitsClass::encoding) {
493
11
    if (_encoding == BIT_SHUFFLE) {
494
0
        _data_page_pre_decoder = std::make_unique<BitShufflePagePreDecoder>();
495
11
    } else if (_encoding == DICT_ENCODING) {
496
0
        _data_page_pre_decoder = std::make_unique<BinaryDictPagePreDecoder>();
497
11
    } else if (_encoding == PLAIN_ENCODING_V2) {
498
        // Only binary types (Slice) need the predecoder for PLAIN_ENCODING_V2
499
        // to convert varint-encoded lengths to offset array format
500
        if constexpr (std::is_same_v<typename TraitsClass::CppType, Slice>) {
501
            _data_page_pre_decoder = std::make_unique<BinaryPlainPageV2PreDecoder>();
502
        }
503
11
    } else if (_encoding == PLAIN_ENCODING_V3) {
504
        if constexpr (std::is_same_v<typename TraitsClass::CppType, Slice>) {
505
            _data_page_pre_decoder = std::make_unique<BinaryPlainPageV3PreDecoder>();
506
        }
507
0
    }
508
11
}
_ZN5doris10segment_v212EncodingInfoC2INS0_14EncodingTraitsILNS_9FieldTypeE1ELNS0_14EncodingTypePBE2EEEEET_
Line
Count
Source
489
11
        : _create_builder_func(TraitsClass::create_page_builder),
490
11
          _create_decoder_func(TraitsClass::create_page_decoder),
491
11
          _type(TraitsClass::type),
492
11
          _encoding(TraitsClass::encoding) {
493
11
    if (_encoding == BIT_SHUFFLE) {
494
0
        _data_page_pre_decoder = std::make_unique<BitShufflePagePreDecoder>();
495
11
    } else if (_encoding == DICT_ENCODING) {
496
0
        _data_page_pre_decoder = std::make_unique<BinaryDictPagePreDecoder>();
497
11
    } else if (_encoding == PLAIN_ENCODING_V2) {
498
        // Only binary types (Slice) need the predecoder for PLAIN_ENCODING_V2
499
        // to convert varint-encoded lengths to offset array format
500
        if constexpr (std::is_same_v<typename TraitsClass::CppType, Slice>) {
501
            _data_page_pre_decoder = std::make_unique<BinaryPlainPageV2PreDecoder>();
502
        }
503
11
    } else if (_encoding == PLAIN_ENCODING_V3) {
504
        if constexpr (std::is_same_v<typename TraitsClass::CppType, Slice>) {
505
            _data_page_pre_decoder = std::make_unique<BinaryPlainPageV3PreDecoder>();
506
        }
507
0
    }
508
11
}
_ZN5doris10segment_v212EncodingInfoC2INS0_14EncodingTraitsILNS_9FieldTypeE3ELNS0_14EncodingTypePBE6EEEEET_
Line
Count
Source
489
11
        : _create_builder_func(TraitsClass::create_page_builder),
490
11
          _create_decoder_func(TraitsClass::create_page_decoder),
491
11
          _type(TraitsClass::type),
492
11
          _encoding(TraitsClass::encoding) {
493
11
    if (_encoding == BIT_SHUFFLE) {
494
11
        _data_page_pre_decoder = std::make_unique<BitShufflePagePreDecoder>();
495
11
    } else if (_encoding == DICT_ENCODING) {
496
0
        _data_page_pre_decoder = std::make_unique<BinaryDictPagePreDecoder>();
497
0
    } else if (_encoding == PLAIN_ENCODING_V2) {
498
        // Only binary types (Slice) need the predecoder for PLAIN_ENCODING_V2
499
        // to convert varint-encoded lengths to offset array format
500
        if constexpr (std::is_same_v<typename TraitsClass::CppType, Slice>) {
501
            _data_page_pre_decoder = std::make_unique<BinaryPlainPageV2PreDecoder>();
502
        }
503
0
    } else if (_encoding == PLAIN_ENCODING_V3) {
504
        if constexpr (std::is_same_v<typename TraitsClass::CppType, Slice>) {
505
            _data_page_pre_decoder = std::make_unique<BinaryPlainPageV3PreDecoder>();
506
        }
507
0
    }
508
11
}
_ZN5doris10segment_v212EncodingInfoC2INS0_14EncodingTraitsILNS_9FieldTypeE3ELNS0_14EncodingTypePBE7EEEEET_
Line
Count
Source
489
11
        : _create_builder_func(TraitsClass::create_page_builder),
490
11
          _create_decoder_func(TraitsClass::create_page_decoder),
491
11
          _type(TraitsClass::type),
492
11
          _encoding(TraitsClass::encoding) {
493
11
    if (_encoding == BIT_SHUFFLE) {
494
0
        _data_page_pre_decoder = std::make_unique<BitShufflePagePreDecoder>();
495
11
    } else if (_encoding == DICT_ENCODING) {
496
0
        _data_page_pre_decoder = std::make_unique<BinaryDictPagePreDecoder>();
497
11
    } else if (_encoding == PLAIN_ENCODING_V2) {
498
        // Only binary types (Slice) need the predecoder for PLAIN_ENCODING_V2
499
        // to convert varint-encoded lengths to offset array format
500
        if constexpr (std::is_same_v<typename TraitsClass::CppType, Slice>) {
501
            _data_page_pre_decoder = std::make_unique<BinaryPlainPageV2PreDecoder>();
502
        }
503
11
    } else if (_encoding == PLAIN_ENCODING_V3) {
504
        if constexpr (std::is_same_v<typename TraitsClass::CppType, Slice>) {
505
            _data_page_pre_decoder = std::make_unique<BinaryPlainPageV3PreDecoder>();
506
        }
507
0
    }
508
11
}
_ZN5doris10segment_v212EncodingInfoC2INS0_14EncodingTraitsILNS_9FieldTypeE3ELNS0_14EncodingTypePBE2EEEEET_
Line
Count
Source
489
11
        : _create_builder_func(TraitsClass::create_page_builder),
490
11
          _create_decoder_func(TraitsClass::create_page_decoder),
491
11
          _type(TraitsClass::type),
492
11
          _encoding(TraitsClass::encoding) {
493
11
    if (_encoding == BIT_SHUFFLE) {
494
0
        _data_page_pre_decoder = std::make_unique<BitShufflePagePreDecoder>();
495
11
    } else if (_encoding == DICT_ENCODING) {
496
0
        _data_page_pre_decoder = std::make_unique<BinaryDictPagePreDecoder>();
497
11
    } else if (_encoding == PLAIN_ENCODING_V2) {
498
        // Only binary types (Slice) need the predecoder for PLAIN_ENCODING_V2
499
        // to convert varint-encoded lengths to offset array format
500
        if constexpr (std::is_same_v<typename TraitsClass::CppType, Slice>) {
501
            _data_page_pre_decoder = std::make_unique<BinaryPlainPageV2PreDecoder>();
502
        }
503
11
    } else if (_encoding == PLAIN_ENCODING_V3) {
504
        if constexpr (std::is_same_v<typename TraitsClass::CppType, Slice>) {
505
            _data_page_pre_decoder = std::make_unique<BinaryPlainPageV3PreDecoder>();
506
        }
507
0
    }
508
11
}
_ZN5doris10segment_v212EncodingInfoC2INS0_14EncodingTraitsILNS_9FieldTypeE5ELNS0_14EncodingTypePBE6EEEEET_
Line
Count
Source
489
11
        : _create_builder_func(TraitsClass::create_page_builder),
490
11
          _create_decoder_func(TraitsClass::create_page_decoder),
491
11
          _type(TraitsClass::type),
492
11
          _encoding(TraitsClass::encoding) {
493
11
    if (_encoding == BIT_SHUFFLE) {
494
11
        _data_page_pre_decoder = std::make_unique<BitShufflePagePreDecoder>();
495
11
    } else if (_encoding == DICT_ENCODING) {
496
0
        _data_page_pre_decoder = std::make_unique<BinaryDictPagePreDecoder>();
497
0
    } else if (_encoding == PLAIN_ENCODING_V2) {
498
        // Only binary types (Slice) need the predecoder for PLAIN_ENCODING_V2
499
        // to convert varint-encoded lengths to offset array format
500
        if constexpr (std::is_same_v<typename TraitsClass::CppType, Slice>) {
501
            _data_page_pre_decoder = std::make_unique<BinaryPlainPageV2PreDecoder>();
502
        }
503
0
    } else if (_encoding == PLAIN_ENCODING_V3) {
504
        if constexpr (std::is_same_v<typename TraitsClass::CppType, Slice>) {
505
            _data_page_pre_decoder = std::make_unique<BinaryPlainPageV3PreDecoder>();
506
        }
507
0
    }
508
11
}
_ZN5doris10segment_v212EncodingInfoC2INS0_14EncodingTraitsILNS_9FieldTypeE5ELNS0_14EncodingTypePBE7EEEEET_
Line
Count
Source
489
11
        : _create_builder_func(TraitsClass::create_page_builder),
490
11
          _create_decoder_func(TraitsClass::create_page_decoder),
491
11
          _type(TraitsClass::type),
492
11
          _encoding(TraitsClass::encoding) {
493
11
    if (_encoding == BIT_SHUFFLE) {
494
0
        _data_page_pre_decoder = std::make_unique<BitShufflePagePreDecoder>();
495
11
    } else if (_encoding == DICT_ENCODING) {
496
0
        _data_page_pre_decoder = std::make_unique<BinaryDictPagePreDecoder>();
497
11
    } else if (_encoding == PLAIN_ENCODING_V2) {
498
        // Only binary types (Slice) need the predecoder for PLAIN_ENCODING_V2
499
        // to convert varint-encoded lengths to offset array format
500
        if constexpr (std::is_same_v<typename TraitsClass::CppType, Slice>) {
501
            _data_page_pre_decoder = std::make_unique<BinaryPlainPageV2PreDecoder>();
502
        }
503
11
    } else if (_encoding == PLAIN_ENCODING_V3) {
504
        if constexpr (std::is_same_v<typename TraitsClass::CppType, Slice>) {
505
            _data_page_pre_decoder = std::make_unique<BinaryPlainPageV3PreDecoder>();
506
        }
507
0
    }
508
11
}
_ZN5doris10segment_v212EncodingInfoC2INS0_14EncodingTraitsILNS_9FieldTypeE5ELNS0_14EncodingTypePBE2EEEEET_
Line
Count
Source
489
11
        : _create_builder_func(TraitsClass::create_page_builder),
490
11
          _create_decoder_func(TraitsClass::create_page_decoder),
491
11
          _type(TraitsClass::type),
492
11
          _encoding(TraitsClass::encoding) {
493
11
    if (_encoding == BIT_SHUFFLE) {
494
0
        _data_page_pre_decoder = std::make_unique<BitShufflePagePreDecoder>();
495
11
    } else if (_encoding == DICT_ENCODING) {
496
0
        _data_page_pre_decoder = std::make_unique<BinaryDictPagePreDecoder>();
497
11
    } else if (_encoding == PLAIN_ENCODING_V2) {
498
        // Only binary types (Slice) need the predecoder for PLAIN_ENCODING_V2
499
        // to convert varint-encoded lengths to offset array format
500
        if constexpr (std::is_same_v<typename TraitsClass::CppType, Slice>) {
501
            _data_page_pre_decoder = std::make_unique<BinaryPlainPageV2PreDecoder>();
502
        }
503
11
    } else if (_encoding == PLAIN_ENCODING_V3) {
504
        if constexpr (std::is_same_v<typename TraitsClass::CppType, Slice>) {
505
            _data_page_pre_decoder = std::make_unique<BinaryPlainPageV3PreDecoder>();
506
        }
507
0
    }
508
11
}
_ZN5doris10segment_v212EncodingInfoC2INS0_14EncodingTraitsILNS_9FieldTypeE7ELNS0_14EncodingTypePBE6EEEEET_
Line
Count
Source
489
11
        : _create_builder_func(TraitsClass::create_page_builder),
490
11
          _create_decoder_func(TraitsClass::create_page_decoder),
491
11
          _type(TraitsClass::type),
492
11
          _encoding(TraitsClass::encoding) {
493
11
    if (_encoding == BIT_SHUFFLE) {
494
11
        _data_page_pre_decoder = std::make_unique<BitShufflePagePreDecoder>();
495
11
    } else if (_encoding == DICT_ENCODING) {
496
0
        _data_page_pre_decoder = std::make_unique<BinaryDictPagePreDecoder>();
497
0
    } else if (_encoding == PLAIN_ENCODING_V2) {
498
        // Only binary types (Slice) need the predecoder for PLAIN_ENCODING_V2
499
        // to convert varint-encoded lengths to offset array format
500
        if constexpr (std::is_same_v<typename TraitsClass::CppType, Slice>) {
501
            _data_page_pre_decoder = std::make_unique<BinaryPlainPageV2PreDecoder>();
502
        }
503
0
    } else if (_encoding == PLAIN_ENCODING_V3) {
504
        if constexpr (std::is_same_v<typename TraitsClass::CppType, Slice>) {
505
            _data_page_pre_decoder = std::make_unique<BinaryPlainPageV3PreDecoder>();
506
        }
507
0
    }
508
11
}
_ZN5doris10segment_v212EncodingInfoC2INS0_14EncodingTraitsILNS_9FieldTypeE7ELNS0_14EncodingTypePBE7EEEEET_
Line
Count
Source
489
11
        : _create_builder_func(TraitsClass::create_page_builder),
490
11
          _create_decoder_func(TraitsClass::create_page_decoder),
491
11
          _type(TraitsClass::type),
492
11
          _encoding(TraitsClass::encoding) {
493
11
    if (_encoding == BIT_SHUFFLE) {
494
0
        _data_page_pre_decoder = std::make_unique<BitShufflePagePreDecoder>();
495
11
    } else if (_encoding == DICT_ENCODING) {
496
0
        _data_page_pre_decoder = std::make_unique<BinaryDictPagePreDecoder>();
497
11
    } else if (_encoding == PLAIN_ENCODING_V2) {
498
        // Only binary types (Slice) need the predecoder for PLAIN_ENCODING_V2
499
        // to convert varint-encoded lengths to offset array format
500
        if constexpr (std::is_same_v<typename TraitsClass::CppType, Slice>) {
501
            _data_page_pre_decoder = std::make_unique<BinaryPlainPageV2PreDecoder>();
502
        }
503
11
    } else if (_encoding == PLAIN_ENCODING_V3) {
504
        if constexpr (std::is_same_v<typename TraitsClass::CppType, Slice>) {
505
            _data_page_pre_decoder = std::make_unique<BinaryPlainPageV3PreDecoder>();
506
        }
507
0
    }
508
11
}
_ZN5doris10segment_v212EncodingInfoC2INS0_14EncodingTraitsILNS_9FieldTypeE7ELNS0_14EncodingTypePBE2EEEEET_
Line
Count
Source
489
11
        : _create_builder_func(TraitsClass::create_page_builder),
490
11
          _create_decoder_func(TraitsClass::create_page_decoder),
491
11
          _type(TraitsClass::type),
492
11
          _encoding(TraitsClass::encoding) {
493
11
    if (_encoding == BIT_SHUFFLE) {
494
0
        _data_page_pre_decoder = std::make_unique<BitShufflePagePreDecoder>();
495
11
    } else if (_encoding == DICT_ENCODING) {
496
0
        _data_page_pre_decoder = std::make_unique<BinaryDictPagePreDecoder>();
497
11
    } else if (_encoding == PLAIN_ENCODING_V2) {
498
        // Only binary types (Slice) need the predecoder for PLAIN_ENCODING_V2
499
        // to convert varint-encoded lengths to offset array format
500
        if constexpr (std::is_same_v<typename TraitsClass::CppType, Slice>) {
501
            _data_page_pre_decoder = std::make_unique<BinaryPlainPageV2PreDecoder>();
502
        }
503
11
    } else if (_encoding == PLAIN_ENCODING_V3) {
504
        if constexpr (std::is_same_v<typename TraitsClass::CppType, Slice>) {
505
            _data_page_pre_decoder = std::make_unique<BinaryPlainPageV3PreDecoder>();
506
        }
507
0
    }
508
11
}
_ZN5doris10segment_v212EncodingInfoC2INS0_14EncodingTraitsILNS_9FieldTypeE8ELNS0_14EncodingTypePBE6EEEEET_
Line
Count
Source
489
11
        : _create_builder_func(TraitsClass::create_page_builder),
490
11
          _create_decoder_func(TraitsClass::create_page_decoder),
491
11
          _type(TraitsClass::type),
492
11
          _encoding(TraitsClass::encoding) {
493
11
    if (_encoding == BIT_SHUFFLE) {
494
11
        _data_page_pre_decoder = std::make_unique<BitShufflePagePreDecoder>();
495
11
    } else if (_encoding == DICT_ENCODING) {
496
0
        _data_page_pre_decoder = std::make_unique<BinaryDictPagePreDecoder>();
497
0
    } else if (_encoding == PLAIN_ENCODING_V2) {
498
        // Only binary types (Slice) need the predecoder for PLAIN_ENCODING_V2
499
        // to convert varint-encoded lengths to offset array format
500
        if constexpr (std::is_same_v<typename TraitsClass::CppType, Slice>) {
501
            _data_page_pre_decoder = std::make_unique<BinaryPlainPageV2PreDecoder>();
502
        }
503
0
    } else if (_encoding == PLAIN_ENCODING_V3) {
504
        if constexpr (std::is_same_v<typename TraitsClass::CppType, Slice>) {
505
            _data_page_pre_decoder = std::make_unique<BinaryPlainPageV3PreDecoder>();
506
        }
507
0
    }
508
11
}
_ZN5doris10segment_v212EncodingInfoC2INS0_14EncodingTraitsILNS_9FieldTypeE6ELNS0_14EncodingTypePBE6EEEEET_
Line
Count
Source
489
11
        : _create_builder_func(TraitsClass::create_page_builder),
490
11
          _create_decoder_func(TraitsClass::create_page_decoder),
491
11
          _type(TraitsClass::type),
492
11
          _encoding(TraitsClass::encoding) {
493
11
    if (_encoding == BIT_SHUFFLE) {
494
11
        _data_page_pre_decoder = std::make_unique<BitShufflePagePreDecoder>();
495
11
    } else if (_encoding == DICT_ENCODING) {
496
0
        _data_page_pre_decoder = std::make_unique<BinaryDictPagePreDecoder>();
497
0
    } else if (_encoding == PLAIN_ENCODING_V2) {
498
        // Only binary types (Slice) need the predecoder for PLAIN_ENCODING_V2
499
        // to convert varint-encoded lengths to offset array format
500
        if constexpr (std::is_same_v<typename TraitsClass::CppType, Slice>) {
501
            _data_page_pre_decoder = std::make_unique<BinaryPlainPageV2PreDecoder>();
502
        }
503
0
    } else if (_encoding == PLAIN_ENCODING_V3) {
504
        if constexpr (std::is_same_v<typename TraitsClass::CppType, Slice>) {
505
            _data_page_pre_decoder = std::make_unique<BinaryPlainPageV3PreDecoder>();
506
        }
507
0
    }
508
11
}
_ZN5doris10segment_v212EncodingInfoC2INS0_14EncodingTraitsILNS_9FieldTypeE9ELNS0_14EncodingTypePBE6EEEEET_
Line
Count
Source
489
11
        : _create_builder_func(TraitsClass::create_page_builder),
490
11
          _create_decoder_func(TraitsClass::create_page_decoder),
491
11
          _type(TraitsClass::type),
492
11
          _encoding(TraitsClass::encoding) {
493
11
    if (_encoding == BIT_SHUFFLE) {
494
11
        _data_page_pre_decoder = std::make_unique<BitShufflePagePreDecoder>();
495
11
    } else if (_encoding == DICT_ENCODING) {
496
0
        _data_page_pre_decoder = std::make_unique<BinaryDictPagePreDecoder>();
497
0
    } else if (_encoding == PLAIN_ENCODING_V2) {
498
        // Only binary types (Slice) need the predecoder for PLAIN_ENCODING_V2
499
        // to convert varint-encoded lengths to offset array format
500
        if constexpr (std::is_same_v<typename TraitsClass::CppType, Slice>) {
501
            _data_page_pre_decoder = std::make_unique<BinaryPlainPageV2PreDecoder>();
502
        }
503
0
    } else if (_encoding == PLAIN_ENCODING_V3) {
504
        if constexpr (std::is_same_v<typename TraitsClass::CppType, Slice>) {
505
            _data_page_pre_decoder = std::make_unique<BinaryPlainPageV3PreDecoder>();
506
        }
507
0
    }
508
11
}
_ZN5doris10segment_v212EncodingInfoC2INS0_14EncodingTraitsILNS_9FieldTypeE9ELNS0_14EncodingTypePBE2EEEEET_
Line
Count
Source
489
11
        : _create_builder_func(TraitsClass::create_page_builder),
490
11
          _create_decoder_func(TraitsClass::create_page_decoder),
491
11
          _type(TraitsClass::type),
492
11
          _encoding(TraitsClass::encoding) {
493
11
    if (_encoding == BIT_SHUFFLE) {
494
0
        _data_page_pre_decoder = std::make_unique<BitShufflePagePreDecoder>();
495
11
    } else if (_encoding == DICT_ENCODING) {
496
0
        _data_page_pre_decoder = std::make_unique<BinaryDictPagePreDecoder>();
497
11
    } else if (_encoding == PLAIN_ENCODING_V2) {
498
        // Only binary types (Slice) need the predecoder for PLAIN_ENCODING_V2
499
        // to convert varint-encoded lengths to offset array format
500
        if constexpr (std::is_same_v<typename TraitsClass::CppType, Slice>) {
501
            _data_page_pre_decoder = std::make_unique<BinaryPlainPageV2PreDecoder>();
502
        }
503
11
    } else if (_encoding == PLAIN_ENCODING_V3) {
504
        if constexpr (std::is_same_v<typename TraitsClass::CppType, Slice>) {
505
            _data_page_pre_decoder = std::make_unique<BinaryPlainPageV3PreDecoder>();
506
        }
507
0
    }
508
11
}
_ZN5doris10segment_v212EncodingInfoC2INS0_14EncodingTraitsILNS_9FieldTypeE9ELNS0_14EncodingTypePBE7EEEEET_
Line
Count
Source
489
11
        : _create_builder_func(TraitsClass::create_page_builder),
490
11
          _create_decoder_func(TraitsClass::create_page_decoder),
491
11
          _type(TraitsClass::type),
492
11
          _encoding(TraitsClass::encoding) {
493
11
    if (_encoding == BIT_SHUFFLE) {
494
0
        _data_page_pre_decoder = std::make_unique<BitShufflePagePreDecoder>();
495
11
    } else if (_encoding == DICT_ENCODING) {
496
0
        _data_page_pre_decoder = std::make_unique<BinaryDictPagePreDecoder>();
497
11
    } else if (_encoding == PLAIN_ENCODING_V2) {
498
        // Only binary types (Slice) need the predecoder for PLAIN_ENCODING_V2
499
        // to convert varint-encoded lengths to offset array format
500
        if constexpr (std::is_same_v<typename TraitsClass::CppType, Slice>) {
501
            _data_page_pre_decoder = std::make_unique<BinaryPlainPageV2PreDecoder>();
502
        }
503
11
    } else if (_encoding == PLAIN_ENCODING_V3) {
504
        if constexpr (std::is_same_v<typename TraitsClass::CppType, Slice>) {
505
            _data_page_pre_decoder = std::make_unique<BinaryPlainPageV3PreDecoder>();
506
        }
507
0
    }
508
11
}
_ZN5doris10segment_v212EncodingInfoC2INS0_14EncodingTraitsILNS_9FieldTypeE10ELNS0_14EncodingTypePBE6EEEEET_
Line
Count
Source
489
11
        : _create_builder_func(TraitsClass::create_page_builder),
490
11
          _create_decoder_func(TraitsClass::create_page_decoder),
491
11
          _type(TraitsClass::type),
492
11
          _encoding(TraitsClass::encoding) {
493
11
    if (_encoding == BIT_SHUFFLE) {
494
11
        _data_page_pre_decoder = std::make_unique<BitShufflePagePreDecoder>();
495
11
    } else if (_encoding == DICT_ENCODING) {
496
0
        _data_page_pre_decoder = std::make_unique<BinaryDictPagePreDecoder>();
497
0
    } else if (_encoding == PLAIN_ENCODING_V2) {
498
        // Only binary types (Slice) need the predecoder for PLAIN_ENCODING_V2
499
        // to convert varint-encoded lengths to offset array format
500
        if constexpr (std::is_same_v<typename TraitsClass::CppType, Slice>) {
501
            _data_page_pre_decoder = std::make_unique<BinaryPlainPageV2PreDecoder>();
502
        }
503
0
    } else if (_encoding == PLAIN_ENCODING_V3) {
504
        if constexpr (std::is_same_v<typename TraitsClass::CppType, Slice>) {
505
            _data_page_pre_decoder = std::make_unique<BinaryPlainPageV3PreDecoder>();
506
        }
507
0
    }
508
11
}
_ZN5doris10segment_v212EncodingInfoC2INS0_14EncodingTraitsILNS_9FieldTypeE10ELNS0_14EncodingTypePBE2EEEEET_
Line
Count
Source
489
11
        : _create_builder_func(TraitsClass::create_page_builder),
490
11
          _create_decoder_func(TraitsClass::create_page_decoder),
491
11
          _type(TraitsClass::type),
492
11
          _encoding(TraitsClass::encoding) {
493
11
    if (_encoding == BIT_SHUFFLE) {
494
0
        _data_page_pre_decoder = std::make_unique<BitShufflePagePreDecoder>();
495
11
    } else if (_encoding == DICT_ENCODING) {
496
0
        _data_page_pre_decoder = std::make_unique<BinaryDictPagePreDecoder>();
497
11
    } else if (_encoding == PLAIN_ENCODING_V2) {
498
        // Only binary types (Slice) need the predecoder for PLAIN_ENCODING_V2
499
        // to convert varint-encoded lengths to offset array format
500
        if constexpr (std::is_same_v<typename TraitsClass::CppType, Slice>) {
501
            _data_page_pre_decoder = std::make_unique<BinaryPlainPageV2PreDecoder>();
502
        }
503
11
    } else if (_encoding == PLAIN_ENCODING_V3) {
504
        if constexpr (std::is_same_v<typename TraitsClass::CppType, Slice>) {
505
            _data_page_pre_decoder = std::make_unique<BinaryPlainPageV3PreDecoder>();
506
        }
507
0
    }
508
11
}
_ZN5doris10segment_v212EncodingInfoC2INS0_14EncodingTraitsILNS_9FieldTypeE11ELNS0_14EncodingTypePBE6EEEEET_
Line
Count
Source
489
11
        : _create_builder_func(TraitsClass::create_page_builder),
490
11
          _create_decoder_func(TraitsClass::create_page_decoder),
491
11
          _type(TraitsClass::type),
492
11
          _encoding(TraitsClass::encoding) {
493
11
    if (_encoding == BIT_SHUFFLE) {
494
11
        _data_page_pre_decoder = std::make_unique<BitShufflePagePreDecoder>();
495
11
    } else if (_encoding == DICT_ENCODING) {
496
0
        _data_page_pre_decoder = std::make_unique<BinaryDictPagePreDecoder>();
497
0
    } else if (_encoding == PLAIN_ENCODING_V2) {
498
        // Only binary types (Slice) need the predecoder for PLAIN_ENCODING_V2
499
        // to convert varint-encoded lengths to offset array format
500
        if constexpr (std::is_same_v<typename TraitsClass::CppType, Slice>) {
501
            _data_page_pre_decoder = std::make_unique<BinaryPlainPageV2PreDecoder>();
502
        }
503
0
    } else if (_encoding == PLAIN_ENCODING_V3) {
504
        if constexpr (std::is_same_v<typename TraitsClass::CppType, Slice>) {
505
            _data_page_pre_decoder = std::make_unique<BinaryPlainPageV3PreDecoder>();
506
        }
507
0
    }
508
11
}
_ZN5doris10segment_v212EncodingInfoC2INS0_14EncodingTraitsILNS_9FieldTypeE11ELNS0_14EncodingTypePBE2EEEEET_
Line
Count
Source
489
11
        : _create_builder_func(TraitsClass::create_page_builder),
490
11
          _create_decoder_func(TraitsClass::create_page_decoder),
491
11
          _type(TraitsClass::type),
492
11
          _encoding(TraitsClass::encoding) {
493
11
    if (_encoding == BIT_SHUFFLE) {
494
0
        _data_page_pre_decoder = std::make_unique<BitShufflePagePreDecoder>();
495
11
    } else if (_encoding == DICT_ENCODING) {
496
0
        _data_page_pre_decoder = std::make_unique<BinaryDictPagePreDecoder>();
497
11
    } else if (_encoding == PLAIN_ENCODING_V2) {
498
        // Only binary types (Slice) need the predecoder for PLAIN_ENCODING_V2
499
        // to convert varint-encoded lengths to offset array format
500
        if constexpr (std::is_same_v<typename TraitsClass::CppType, Slice>) {
501
            _data_page_pre_decoder = std::make_unique<BinaryPlainPageV2PreDecoder>();
502
        }
503
11
    } else if (_encoding == PLAIN_ENCODING_V3) {
504
        if constexpr (std::is_same_v<typename TraitsClass::CppType, Slice>) {
505
            _data_page_pre_decoder = std::make_unique<BinaryPlainPageV3PreDecoder>();
506
        }
507
0
    }
508
11
}
_ZN5doris10segment_v212EncodingInfoC2INS0_14EncodingTraitsILNS_9FieldTypeE13ELNS0_14EncodingTypePBE5EEEEET_
Line
Count
Source
489
11
        : _create_builder_func(TraitsClass::create_page_builder),
490
11
          _create_decoder_func(TraitsClass::create_page_decoder),
491
11
          _type(TraitsClass::type),
492
11
          _encoding(TraitsClass::encoding) {
493
11
    if (_encoding == BIT_SHUFFLE) {
494
0
        _data_page_pre_decoder = std::make_unique<BitShufflePagePreDecoder>();
495
11
    } else if (_encoding == DICT_ENCODING) {
496
11
        _data_page_pre_decoder = std::make_unique<BinaryDictPagePreDecoder>();
497
11
    } else if (_encoding == PLAIN_ENCODING_V2) {
498
        // Only binary types (Slice) need the predecoder for PLAIN_ENCODING_V2
499
        // to convert varint-encoded lengths to offset array format
500
0
        if constexpr (std::is_same_v<typename TraitsClass::CppType, Slice>) {
501
0
            _data_page_pre_decoder = std::make_unique<BinaryPlainPageV2PreDecoder>();
502
0
        }
503
0
    } else if (_encoding == PLAIN_ENCODING_V3) {
504
0
        if constexpr (std::is_same_v<typename TraitsClass::CppType, Slice>) {
505
0
            _data_page_pre_decoder = std::make_unique<BinaryPlainPageV3PreDecoder>();
506
0
        }
507
0
    }
508
11
}
_ZN5doris10segment_v212EncodingInfoC2INS0_14EncodingTraitsILNS_9FieldTypeE13ELNS0_14EncodingTypePBE2EEEEET_
Line
Count
Source
489
11
        : _create_builder_func(TraitsClass::create_page_builder),
490
11
          _create_decoder_func(TraitsClass::create_page_decoder),
491
11
          _type(TraitsClass::type),
492
11
          _encoding(TraitsClass::encoding) {
493
11
    if (_encoding == BIT_SHUFFLE) {
494
0
        _data_page_pre_decoder = std::make_unique<BitShufflePagePreDecoder>();
495
11
    } else if (_encoding == DICT_ENCODING) {
496
0
        _data_page_pre_decoder = std::make_unique<BinaryDictPagePreDecoder>();
497
11
    } else if (_encoding == PLAIN_ENCODING_V2) {
498
        // Only binary types (Slice) need the predecoder for PLAIN_ENCODING_V2
499
        // to convert varint-encoded lengths to offset array format
500
0
        if constexpr (std::is_same_v<typename TraitsClass::CppType, Slice>) {
501
0
            _data_page_pre_decoder = std::make_unique<BinaryPlainPageV2PreDecoder>();
502
0
        }
503
11
    } else if (_encoding == PLAIN_ENCODING_V3) {
504
0
        if constexpr (std::is_same_v<typename TraitsClass::CppType, Slice>) {
505
0
            _data_page_pre_decoder = std::make_unique<BinaryPlainPageV3PreDecoder>();
506
0
        }
507
0
    }
508
11
}
_ZN5doris10segment_v212EncodingInfoC2INS0_14EncodingTraitsILNS_9FieldTypeE13ELNS0_14EncodingTypePBE8EEEEET_
Line
Count
Source
489
11
        : _create_builder_func(TraitsClass::create_page_builder),
490
11
          _create_decoder_func(TraitsClass::create_page_decoder),
491
11
          _type(TraitsClass::type),
492
11
          _encoding(TraitsClass::encoding) {
493
11
    if (_encoding == BIT_SHUFFLE) {
494
0
        _data_page_pre_decoder = std::make_unique<BitShufflePagePreDecoder>();
495
11
    } else if (_encoding == DICT_ENCODING) {
496
0
        _data_page_pre_decoder = std::make_unique<BinaryDictPagePreDecoder>();
497
11
    } else if (_encoding == PLAIN_ENCODING_V2) {
498
        // Only binary types (Slice) need the predecoder for PLAIN_ENCODING_V2
499
        // to convert varint-encoded lengths to offset array format
500
11
        if constexpr (std::is_same_v<typename TraitsClass::CppType, Slice>) {
501
11
            _data_page_pre_decoder = std::make_unique<BinaryPlainPageV2PreDecoder>();
502
11
        }
503
11
    } else if (_encoding == PLAIN_ENCODING_V3) {
504
0
        if constexpr (std::is_same_v<typename TraitsClass::CppType, Slice>) {
505
0
            _data_page_pre_decoder = std::make_unique<BinaryPlainPageV3PreDecoder>();
506
0
        }
507
0
    }
508
11
}
_ZN5doris10segment_v212EncodingInfoC2INS0_14EncodingTraitsILNS_9FieldTypeE13ELNS0_14EncodingTypePBE9EEEEET_
Line
Count
Source
489
11
        : _create_builder_func(TraitsClass::create_page_builder),
490
11
          _create_decoder_func(TraitsClass::create_page_decoder),
491
11
          _type(TraitsClass::type),
492
11
          _encoding(TraitsClass::encoding) {
493
11
    if (_encoding == BIT_SHUFFLE) {
494
0
        _data_page_pre_decoder = std::make_unique<BitShufflePagePreDecoder>();
495
11
    } else if (_encoding == DICT_ENCODING) {
496
0
        _data_page_pre_decoder = std::make_unique<BinaryDictPagePreDecoder>();
497
11
    } else if (_encoding == PLAIN_ENCODING_V2) {
498
        // Only binary types (Slice) need the predecoder for PLAIN_ENCODING_V2
499
        // to convert varint-encoded lengths to offset array format
500
0
        if constexpr (std::is_same_v<typename TraitsClass::CppType, Slice>) {
501
0
            _data_page_pre_decoder = std::make_unique<BinaryPlainPageV2PreDecoder>();
502
0
        }
503
11
    } else if (_encoding == PLAIN_ENCODING_V3) {
504
11
        if constexpr (std::is_same_v<typename TraitsClass::CppType, Slice>) {
505
11
            _data_page_pre_decoder = std::make_unique<BinaryPlainPageV3PreDecoder>();
506
11
        }
507
11
    }
508
11
}
_ZN5doris10segment_v212EncodingInfoC2INS0_14EncodingTraitsILNS_9FieldTypeE13ELNS0_14EncodingTypePBE3EEEEET_
Line
Count
Source
489
11
        : _create_builder_func(TraitsClass::create_page_builder),
490
11
          _create_decoder_func(TraitsClass::create_page_decoder),
491
11
          _type(TraitsClass::type),
492
11
          _encoding(TraitsClass::encoding) {
493
11
    if (_encoding == BIT_SHUFFLE) {
494
0
        _data_page_pre_decoder = std::make_unique<BitShufflePagePreDecoder>();
495
11
    } else if (_encoding == DICT_ENCODING) {
496
0
        _data_page_pre_decoder = std::make_unique<BinaryDictPagePreDecoder>();
497
11
    } else if (_encoding == PLAIN_ENCODING_V2) {
498
        // Only binary types (Slice) need the predecoder for PLAIN_ENCODING_V2
499
        // to convert varint-encoded lengths to offset array format
500
0
        if constexpr (std::is_same_v<typename TraitsClass::CppType, Slice>) {
501
0
            _data_page_pre_decoder = std::make_unique<BinaryPlainPageV2PreDecoder>();
502
0
        }
503
11
    } else if (_encoding == PLAIN_ENCODING_V3) {
504
0
        if constexpr (std::is_same_v<typename TraitsClass::CppType, Slice>) {
505
0
            _data_page_pre_decoder = std::make_unique<BinaryPlainPageV3PreDecoder>();
506
0
        }
507
0
    }
508
11
}
_ZN5doris10segment_v212EncodingInfoC2INS0_14EncodingTraitsILNS_9FieldTypeE17ELNS0_14EncodingTypePBE5EEEEET_
Line
Count
Source
489
11
        : _create_builder_func(TraitsClass::create_page_builder),
490
11
          _create_decoder_func(TraitsClass::create_page_decoder),
491
11
          _type(TraitsClass::type),
492
11
          _encoding(TraitsClass::encoding) {
493
11
    if (_encoding == BIT_SHUFFLE) {
494
0
        _data_page_pre_decoder = std::make_unique<BitShufflePagePreDecoder>();
495
11
    } else if (_encoding == DICT_ENCODING) {
496
11
        _data_page_pre_decoder = std::make_unique<BinaryDictPagePreDecoder>();
497
11
    } else if (_encoding == PLAIN_ENCODING_V2) {
498
        // Only binary types (Slice) need the predecoder for PLAIN_ENCODING_V2
499
        // to convert varint-encoded lengths to offset array format
500
0
        if constexpr (std::is_same_v<typename TraitsClass::CppType, Slice>) {
501
0
            _data_page_pre_decoder = std::make_unique<BinaryPlainPageV2PreDecoder>();
502
0
        }
503
0
    } else if (_encoding == PLAIN_ENCODING_V3) {
504
0
        if constexpr (std::is_same_v<typename TraitsClass::CppType, Slice>) {
505
0
            _data_page_pre_decoder = std::make_unique<BinaryPlainPageV3PreDecoder>();
506
0
        }
507
0
    }
508
11
}
_ZN5doris10segment_v212EncodingInfoC2INS0_14EncodingTraitsILNS_9FieldTypeE17ELNS0_14EncodingTypePBE2EEEEET_
Line
Count
Source
489
11
        : _create_builder_func(TraitsClass::create_page_builder),
490
11
          _create_decoder_func(TraitsClass::create_page_decoder),
491
11
          _type(TraitsClass::type),
492
11
          _encoding(TraitsClass::encoding) {
493
11
    if (_encoding == BIT_SHUFFLE) {
494
0
        _data_page_pre_decoder = std::make_unique<BitShufflePagePreDecoder>();
495
11
    } else if (_encoding == DICT_ENCODING) {
496
0
        _data_page_pre_decoder = std::make_unique<BinaryDictPagePreDecoder>();
497
11
    } else if (_encoding == PLAIN_ENCODING_V2) {
498
        // Only binary types (Slice) need the predecoder for PLAIN_ENCODING_V2
499
        // to convert varint-encoded lengths to offset array format
500
0
        if constexpr (std::is_same_v<typename TraitsClass::CppType, Slice>) {
501
0
            _data_page_pre_decoder = std::make_unique<BinaryPlainPageV2PreDecoder>();
502
0
        }
503
11
    } else if (_encoding == PLAIN_ENCODING_V3) {
504
0
        if constexpr (std::is_same_v<typename TraitsClass::CppType, Slice>) {
505
0
            _data_page_pre_decoder = std::make_unique<BinaryPlainPageV3PreDecoder>();
506
0
        }
507
0
    }
508
11
}
_ZN5doris10segment_v212EncodingInfoC2INS0_14EncodingTraitsILNS_9FieldTypeE17ELNS0_14EncodingTypePBE8EEEEET_
Line
Count
Source
489
11
        : _create_builder_func(TraitsClass::create_page_builder),
490
11
          _create_decoder_func(TraitsClass::create_page_decoder),
491
11
          _type(TraitsClass::type),
492
11
          _encoding(TraitsClass::encoding) {
493
11
    if (_encoding == BIT_SHUFFLE) {
494
0
        _data_page_pre_decoder = std::make_unique<BitShufflePagePreDecoder>();
495
11
    } else if (_encoding == DICT_ENCODING) {
496
0
        _data_page_pre_decoder = std::make_unique<BinaryDictPagePreDecoder>();
497
11
    } else if (_encoding == PLAIN_ENCODING_V2) {
498
        // Only binary types (Slice) need the predecoder for PLAIN_ENCODING_V2
499
        // to convert varint-encoded lengths to offset array format
500
11
        if constexpr (std::is_same_v<typename TraitsClass::CppType, Slice>) {
501
11
            _data_page_pre_decoder = std::make_unique<BinaryPlainPageV2PreDecoder>();
502
11
        }
503
11
    } else if (_encoding == PLAIN_ENCODING_V3) {
504
0
        if constexpr (std::is_same_v<typename TraitsClass::CppType, Slice>) {
505
0
            _data_page_pre_decoder = std::make_unique<BinaryPlainPageV3PreDecoder>();
506
0
        }
507
0
    }
508
11
}
_ZN5doris10segment_v212EncodingInfoC2INS0_14EncodingTraitsILNS_9FieldTypeE17ELNS0_14EncodingTypePBE9EEEEET_
Line
Count
Source
489
11
        : _create_builder_func(TraitsClass::create_page_builder),
490
11
          _create_decoder_func(TraitsClass::create_page_decoder),
491
11
          _type(TraitsClass::type),
492
11
          _encoding(TraitsClass::encoding) {
493
11
    if (_encoding == BIT_SHUFFLE) {
494
0
        _data_page_pre_decoder = std::make_unique<BitShufflePagePreDecoder>();
495
11
    } else if (_encoding == DICT_ENCODING) {
496
0
        _data_page_pre_decoder = std::make_unique<BinaryDictPagePreDecoder>();
497
11
    } else if (_encoding == PLAIN_ENCODING_V2) {
498
        // Only binary types (Slice) need the predecoder for PLAIN_ENCODING_V2
499
        // to convert varint-encoded lengths to offset array format
500
0
        if constexpr (std::is_same_v<typename TraitsClass::CppType, Slice>) {
501
0
            _data_page_pre_decoder = std::make_unique<BinaryPlainPageV2PreDecoder>();
502
0
        }
503
11
    } else if (_encoding == PLAIN_ENCODING_V3) {
504
11
        if constexpr (std::is_same_v<typename TraitsClass::CppType, Slice>) {
505
11
            _data_page_pre_decoder = std::make_unique<BinaryPlainPageV3PreDecoder>();
506
11
        }
507
11
    }
508
11
}
_ZN5doris10segment_v212EncodingInfoC2INS0_14EncodingTraitsILNS_9FieldTypeE17ELNS0_14EncodingTypePBE3EEEEET_
Line
Count
Source
489
11
        : _create_builder_func(TraitsClass::create_page_builder),
490
11
          _create_decoder_func(TraitsClass::create_page_decoder),
491
11
          _type(TraitsClass::type),
492
11
          _encoding(TraitsClass::encoding) {
493
11
    if (_encoding == BIT_SHUFFLE) {
494
0
        _data_page_pre_decoder = std::make_unique<BitShufflePagePreDecoder>();
495
11
    } else if (_encoding == DICT_ENCODING) {
496
0
        _data_page_pre_decoder = std::make_unique<BinaryDictPagePreDecoder>();
497
11
    } else if (_encoding == PLAIN_ENCODING_V2) {
498
        // Only binary types (Slice) need the predecoder for PLAIN_ENCODING_V2
499
        // to convert varint-encoded lengths to offset array format
500
0
        if constexpr (std::is_same_v<typename TraitsClass::CppType, Slice>) {
501
0
            _data_page_pre_decoder = std::make_unique<BinaryPlainPageV2PreDecoder>();
502
0
        }
503
11
    } else if (_encoding == PLAIN_ENCODING_V3) {
504
0
        if constexpr (std::is_same_v<typename TraitsClass::CppType, Slice>) {
505
0
            _data_page_pre_decoder = std::make_unique<BinaryPlainPageV3PreDecoder>();
506
0
        }
507
0
    }
508
11
}
_ZN5doris10segment_v212EncodingInfoC2INS0_14EncodingTraitsILNS_9FieldTypeE26ELNS0_14EncodingTypePBE5EEEEET_
Line
Count
Source
489
11
        : _create_builder_func(TraitsClass::create_page_builder),
490
11
          _create_decoder_func(TraitsClass::create_page_decoder),
491
11
          _type(TraitsClass::type),
492
11
          _encoding(TraitsClass::encoding) {
493
11
    if (_encoding == BIT_SHUFFLE) {
494
0
        _data_page_pre_decoder = std::make_unique<BitShufflePagePreDecoder>();
495
11
    } else if (_encoding == DICT_ENCODING) {
496
11
        _data_page_pre_decoder = std::make_unique<BinaryDictPagePreDecoder>();
497
11
    } else if (_encoding == PLAIN_ENCODING_V2) {
498
        // Only binary types (Slice) need the predecoder for PLAIN_ENCODING_V2
499
        // to convert varint-encoded lengths to offset array format
500
0
        if constexpr (std::is_same_v<typename TraitsClass::CppType, Slice>) {
501
0
            _data_page_pre_decoder = std::make_unique<BinaryPlainPageV2PreDecoder>();
502
0
        }
503
0
    } else if (_encoding == PLAIN_ENCODING_V3) {
504
0
        if constexpr (std::is_same_v<typename TraitsClass::CppType, Slice>) {
505
0
            _data_page_pre_decoder = std::make_unique<BinaryPlainPageV3PreDecoder>();
506
0
        }
507
0
    }
508
11
}
_ZN5doris10segment_v212EncodingInfoC2INS0_14EncodingTraitsILNS_9FieldTypeE26ELNS0_14EncodingTypePBE2EEEEET_
Line
Count
Source
489
11
        : _create_builder_func(TraitsClass::create_page_builder),
490
11
          _create_decoder_func(TraitsClass::create_page_decoder),
491
11
          _type(TraitsClass::type),
492
11
          _encoding(TraitsClass::encoding) {
493
11
    if (_encoding == BIT_SHUFFLE) {
494
0
        _data_page_pre_decoder = std::make_unique<BitShufflePagePreDecoder>();
495
11
    } else if (_encoding == DICT_ENCODING) {
496
0
        _data_page_pre_decoder = std::make_unique<BinaryDictPagePreDecoder>();
497
11
    } else if (_encoding == PLAIN_ENCODING_V2) {
498
        // Only binary types (Slice) need the predecoder for PLAIN_ENCODING_V2
499
        // to convert varint-encoded lengths to offset array format
500
0
        if constexpr (std::is_same_v<typename TraitsClass::CppType, Slice>) {
501
0
            _data_page_pre_decoder = std::make_unique<BinaryPlainPageV2PreDecoder>();
502
0
        }
503
11
    } else if (_encoding == PLAIN_ENCODING_V3) {
504
0
        if constexpr (std::is_same_v<typename TraitsClass::CppType, Slice>) {
505
0
            _data_page_pre_decoder = std::make_unique<BinaryPlainPageV3PreDecoder>();
506
0
        }
507
0
    }
508
11
}
_ZN5doris10segment_v212EncodingInfoC2INS0_14EncodingTraitsILNS_9FieldTypeE26ELNS0_14EncodingTypePBE8EEEEET_
Line
Count
Source
489
11
        : _create_builder_func(TraitsClass::create_page_builder),
490
11
          _create_decoder_func(TraitsClass::create_page_decoder),
491
11
          _type(TraitsClass::type),
492
11
          _encoding(TraitsClass::encoding) {
493
11
    if (_encoding == BIT_SHUFFLE) {
494
0
        _data_page_pre_decoder = std::make_unique<BitShufflePagePreDecoder>();
495
11
    } else if (_encoding == DICT_ENCODING) {
496
0
        _data_page_pre_decoder = std::make_unique<BinaryDictPagePreDecoder>();
497
11
    } else if (_encoding == PLAIN_ENCODING_V2) {
498
        // Only binary types (Slice) need the predecoder for PLAIN_ENCODING_V2
499
        // to convert varint-encoded lengths to offset array format
500
11
        if constexpr (std::is_same_v<typename TraitsClass::CppType, Slice>) {
501
11
            _data_page_pre_decoder = std::make_unique<BinaryPlainPageV2PreDecoder>();
502
11
        }
503
11
    } else if (_encoding == PLAIN_ENCODING_V3) {
504
0
        if constexpr (std::is_same_v<typename TraitsClass::CppType, Slice>) {
505
0
            _data_page_pre_decoder = std::make_unique<BinaryPlainPageV3PreDecoder>();
506
0
        }
507
0
    }
508
11
}
_ZN5doris10segment_v212EncodingInfoC2INS0_14EncodingTraitsILNS_9FieldTypeE26ELNS0_14EncodingTypePBE9EEEEET_
Line
Count
Source
489
11
        : _create_builder_func(TraitsClass::create_page_builder),
490
11
          _create_decoder_func(TraitsClass::create_page_decoder),
491
11
          _type(TraitsClass::type),
492
11
          _encoding(TraitsClass::encoding) {
493
11
    if (_encoding == BIT_SHUFFLE) {
494
0
        _data_page_pre_decoder = std::make_unique<BitShufflePagePreDecoder>();
495
11
    } else if (_encoding == DICT_ENCODING) {
496
0
        _data_page_pre_decoder = std::make_unique<BinaryDictPagePreDecoder>();
497
11
    } else if (_encoding == PLAIN_ENCODING_V2) {
498
        // Only binary types (Slice) need the predecoder for PLAIN_ENCODING_V2
499
        // to convert varint-encoded lengths to offset array format
500
0
        if constexpr (std::is_same_v<typename TraitsClass::CppType, Slice>) {
501
0
            _data_page_pre_decoder = std::make_unique<BinaryPlainPageV2PreDecoder>();
502
0
        }
503
11
    } else if (_encoding == PLAIN_ENCODING_V3) {
504
11
        if constexpr (std::is_same_v<typename TraitsClass::CppType, Slice>) {
505
11
            _data_page_pre_decoder = std::make_unique<BinaryPlainPageV3PreDecoder>();
506
11
        }
507
11
    }
508
11
}
_ZN5doris10segment_v212EncodingInfoC2INS0_14EncodingTraitsILNS_9FieldTypeE26ELNS0_14EncodingTypePBE3EEEEET_
Line
Count
Source
489
11
        : _create_builder_func(TraitsClass::create_page_builder),
490
11
          _create_decoder_func(TraitsClass::create_page_decoder),
491
11
          _type(TraitsClass::type),
492
11
          _encoding(TraitsClass::encoding) {
493
11
    if (_encoding == BIT_SHUFFLE) {
494
0
        _data_page_pre_decoder = std::make_unique<BitShufflePagePreDecoder>();
495
11
    } else if (_encoding == DICT_ENCODING) {
496
0
        _data_page_pre_decoder = std::make_unique<BinaryDictPagePreDecoder>();
497
11
    } else if (_encoding == PLAIN_ENCODING_V2) {
498
        // Only binary types (Slice) need the predecoder for PLAIN_ENCODING_V2
499
        // to convert varint-encoded lengths to offset array format
500
0
        if constexpr (std::is_same_v<typename TraitsClass::CppType, Slice>) {
501
0
            _data_page_pre_decoder = std::make_unique<BinaryPlainPageV2PreDecoder>();
502
0
        }
503
11
    } else if (_encoding == PLAIN_ENCODING_V3) {
504
0
        if constexpr (std::is_same_v<typename TraitsClass::CppType, Slice>) {
505
0
            _data_page_pre_decoder = std::make_unique<BinaryPlainPageV3PreDecoder>();
506
0
        }
507
0
    }
508
11
}
_ZN5doris10segment_v212EncodingInfoC2INS0_14EncodingTraitsILNS_9FieldTypeE34ELNS0_14EncodingTypePBE5EEEEET_
Line
Count
Source
489
11
        : _create_builder_func(TraitsClass::create_page_builder),
490
11
          _create_decoder_func(TraitsClass::create_page_decoder),
491
11
          _type(TraitsClass::type),
492
11
          _encoding(TraitsClass::encoding) {
493
11
    if (_encoding == BIT_SHUFFLE) {
494
0
        _data_page_pre_decoder = std::make_unique<BitShufflePagePreDecoder>();
495
11
    } else if (_encoding == DICT_ENCODING) {
496
11
        _data_page_pre_decoder = std::make_unique<BinaryDictPagePreDecoder>();
497
11
    } else if (_encoding == PLAIN_ENCODING_V2) {
498
        // Only binary types (Slice) need the predecoder for PLAIN_ENCODING_V2
499
        // to convert varint-encoded lengths to offset array format
500
0
        if constexpr (std::is_same_v<typename TraitsClass::CppType, Slice>) {
501
0
            _data_page_pre_decoder = std::make_unique<BinaryPlainPageV2PreDecoder>();
502
0
        }
503
0
    } else if (_encoding == PLAIN_ENCODING_V3) {
504
0
        if constexpr (std::is_same_v<typename TraitsClass::CppType, Slice>) {
505
0
            _data_page_pre_decoder = std::make_unique<BinaryPlainPageV3PreDecoder>();
506
0
        }
507
0
    }
508
11
}
_ZN5doris10segment_v212EncodingInfoC2INS0_14EncodingTraitsILNS_9FieldTypeE34ELNS0_14EncodingTypePBE2EEEEET_
Line
Count
Source
489
11
        : _create_builder_func(TraitsClass::create_page_builder),
490
11
          _create_decoder_func(TraitsClass::create_page_decoder),
491
11
          _type(TraitsClass::type),
492
11
          _encoding(TraitsClass::encoding) {
493
11
    if (_encoding == BIT_SHUFFLE) {
494
0
        _data_page_pre_decoder = std::make_unique<BitShufflePagePreDecoder>();
495
11
    } else if (_encoding == DICT_ENCODING) {
496
0
        _data_page_pre_decoder = std::make_unique<BinaryDictPagePreDecoder>();
497
11
    } else if (_encoding == PLAIN_ENCODING_V2) {
498
        // Only binary types (Slice) need the predecoder for PLAIN_ENCODING_V2
499
        // to convert varint-encoded lengths to offset array format
500
0
        if constexpr (std::is_same_v<typename TraitsClass::CppType, Slice>) {
501
0
            _data_page_pre_decoder = std::make_unique<BinaryPlainPageV2PreDecoder>();
502
0
        }
503
11
    } else if (_encoding == PLAIN_ENCODING_V3) {
504
0
        if constexpr (std::is_same_v<typename TraitsClass::CppType, Slice>) {
505
0
            _data_page_pre_decoder = std::make_unique<BinaryPlainPageV3PreDecoder>();
506
0
        }
507
0
    }
508
11
}
_ZN5doris10segment_v212EncodingInfoC2INS0_14EncodingTraitsILNS_9FieldTypeE34ELNS0_14EncodingTypePBE8EEEEET_
Line
Count
Source
489
11
        : _create_builder_func(TraitsClass::create_page_builder),
490
11
          _create_decoder_func(TraitsClass::create_page_decoder),
491
11
          _type(TraitsClass::type),
492
11
          _encoding(TraitsClass::encoding) {
493
11
    if (_encoding == BIT_SHUFFLE) {
494
0
        _data_page_pre_decoder = std::make_unique<BitShufflePagePreDecoder>();
495
11
    } else if (_encoding == DICT_ENCODING) {
496
0
        _data_page_pre_decoder = std::make_unique<BinaryDictPagePreDecoder>();
497
11
    } else if (_encoding == PLAIN_ENCODING_V2) {
498
        // Only binary types (Slice) need the predecoder for PLAIN_ENCODING_V2
499
        // to convert varint-encoded lengths to offset array format
500
11
        if constexpr (std::is_same_v<typename TraitsClass::CppType, Slice>) {
501
11
            _data_page_pre_decoder = std::make_unique<BinaryPlainPageV2PreDecoder>();
502
11
        }
503
11
    } else if (_encoding == PLAIN_ENCODING_V3) {
504
0
        if constexpr (std::is_same_v<typename TraitsClass::CppType, Slice>) {
505
0
            _data_page_pre_decoder = std::make_unique<BinaryPlainPageV3PreDecoder>();
506
0
        }
507
0
    }
508
11
}
_ZN5doris10segment_v212EncodingInfoC2INS0_14EncodingTraitsILNS_9FieldTypeE34ELNS0_14EncodingTypePBE9EEEEET_
Line
Count
Source
489
11
        : _create_builder_func(TraitsClass::create_page_builder),
490
11
          _create_decoder_func(TraitsClass::create_page_decoder),
491
11
          _type(TraitsClass::type),
492
11
          _encoding(TraitsClass::encoding) {
493
11
    if (_encoding == BIT_SHUFFLE) {
494
0
        _data_page_pre_decoder = std::make_unique<BitShufflePagePreDecoder>();
495
11
    } else if (_encoding == DICT_ENCODING) {
496
0
        _data_page_pre_decoder = std::make_unique<BinaryDictPagePreDecoder>();
497
11
    } else if (_encoding == PLAIN_ENCODING_V2) {
498
        // Only binary types (Slice) need the predecoder for PLAIN_ENCODING_V2
499
        // to convert varint-encoded lengths to offset array format
500
0
        if constexpr (std::is_same_v<typename TraitsClass::CppType, Slice>) {
501
0
            _data_page_pre_decoder = std::make_unique<BinaryPlainPageV2PreDecoder>();
502
0
        }
503
11
    } else if (_encoding == PLAIN_ENCODING_V3) {
504
11
        if constexpr (std::is_same_v<typename TraitsClass::CppType, Slice>) {
505
11
            _data_page_pre_decoder = std::make_unique<BinaryPlainPageV3PreDecoder>();
506
11
        }
507
11
    }
508
11
}
_ZN5doris10segment_v212EncodingInfoC2INS0_14EncodingTraitsILNS_9FieldTypeE34ELNS0_14EncodingTypePBE3EEEEET_
Line
Count
Source
489
11
        : _create_builder_func(TraitsClass::create_page_builder),
490
11
          _create_decoder_func(TraitsClass::create_page_decoder),
491
11
          _type(TraitsClass::type),
492
11
          _encoding(TraitsClass::encoding) {
493
11
    if (_encoding == BIT_SHUFFLE) {
494
0
        _data_page_pre_decoder = std::make_unique<BitShufflePagePreDecoder>();
495
11
    } else if (_encoding == DICT_ENCODING) {
496
0
        _data_page_pre_decoder = std::make_unique<BinaryDictPagePreDecoder>();
497
11
    } else if (_encoding == PLAIN_ENCODING_V2) {
498
        // Only binary types (Slice) need the predecoder for PLAIN_ENCODING_V2
499
        // to convert varint-encoded lengths to offset array format
500
0
        if constexpr (std::is_same_v<typename TraitsClass::CppType, Slice>) {
501
0
            _data_page_pre_decoder = std::make_unique<BinaryPlainPageV2PreDecoder>();
502
0
        }
503
11
    } else if (_encoding == PLAIN_ENCODING_V3) {
504
0
        if constexpr (std::is_same_v<typename TraitsClass::CppType, Slice>) {
505
0
            _data_page_pre_decoder = std::make_unique<BinaryPlainPageV3PreDecoder>();
506
0
        }
507
0
    }
508
11
}
_ZN5doris10segment_v212EncodingInfoC2INS0_14EncodingTraitsILNS_9FieldTypeE35ELNS0_14EncodingTypePBE5EEEEET_
Line
Count
Source
489
11
        : _create_builder_func(TraitsClass::create_page_builder),
490
11
          _create_decoder_func(TraitsClass::create_page_decoder),
491
11
          _type(TraitsClass::type),
492
11
          _encoding(TraitsClass::encoding) {
493
11
    if (_encoding == BIT_SHUFFLE) {
494
0
        _data_page_pre_decoder = std::make_unique<BitShufflePagePreDecoder>();
495
11
    } else if (_encoding == DICT_ENCODING) {
496
11
        _data_page_pre_decoder = std::make_unique<BinaryDictPagePreDecoder>();
497
11
    } else if (_encoding == PLAIN_ENCODING_V2) {
498
        // Only binary types (Slice) need the predecoder for PLAIN_ENCODING_V2
499
        // to convert varint-encoded lengths to offset array format
500
0
        if constexpr (std::is_same_v<typename TraitsClass::CppType, Slice>) {
501
0
            _data_page_pre_decoder = std::make_unique<BinaryPlainPageV2PreDecoder>();
502
0
        }
503
0
    } else if (_encoding == PLAIN_ENCODING_V3) {
504
0
        if constexpr (std::is_same_v<typename TraitsClass::CppType, Slice>) {
505
0
            _data_page_pre_decoder = std::make_unique<BinaryPlainPageV3PreDecoder>();
506
0
        }
507
0
    }
508
11
}
_ZN5doris10segment_v212EncodingInfoC2INS0_14EncodingTraitsILNS_9FieldTypeE35ELNS0_14EncodingTypePBE2EEEEET_
Line
Count
Source
489
11
        : _create_builder_func(TraitsClass::create_page_builder),
490
11
          _create_decoder_func(TraitsClass::create_page_decoder),
491
11
          _type(TraitsClass::type),
492
11
          _encoding(TraitsClass::encoding) {
493
11
    if (_encoding == BIT_SHUFFLE) {
494
0
        _data_page_pre_decoder = std::make_unique<BitShufflePagePreDecoder>();
495
11
    } else if (_encoding == DICT_ENCODING) {
496
0
        _data_page_pre_decoder = std::make_unique<BinaryDictPagePreDecoder>();
497
11
    } else if (_encoding == PLAIN_ENCODING_V2) {
498
        // Only binary types (Slice) need the predecoder for PLAIN_ENCODING_V2
499
        // to convert varint-encoded lengths to offset array format
500
0
        if constexpr (std::is_same_v<typename TraitsClass::CppType, Slice>) {
501
0
            _data_page_pre_decoder = std::make_unique<BinaryPlainPageV2PreDecoder>();
502
0
        }
503
11
    } else if (_encoding == PLAIN_ENCODING_V3) {
504
0
        if constexpr (std::is_same_v<typename TraitsClass::CppType, Slice>) {
505
0
            _data_page_pre_decoder = std::make_unique<BinaryPlainPageV3PreDecoder>();
506
0
        }
507
0
    }
508
11
}
_ZN5doris10segment_v212EncodingInfoC2INS0_14EncodingTraitsILNS_9FieldTypeE35ELNS0_14EncodingTypePBE8EEEEET_
Line
Count
Source
489
11
        : _create_builder_func(TraitsClass::create_page_builder),
490
11
          _create_decoder_func(TraitsClass::create_page_decoder),
491
11
          _type(TraitsClass::type),
492
11
          _encoding(TraitsClass::encoding) {
493
11
    if (_encoding == BIT_SHUFFLE) {
494
0
        _data_page_pre_decoder = std::make_unique<BitShufflePagePreDecoder>();
495
11
    } else if (_encoding == DICT_ENCODING) {
496
0
        _data_page_pre_decoder = std::make_unique<BinaryDictPagePreDecoder>();
497
11
    } else if (_encoding == PLAIN_ENCODING_V2) {
498
        // Only binary types (Slice) need the predecoder for PLAIN_ENCODING_V2
499
        // to convert varint-encoded lengths to offset array format
500
11
        if constexpr (std::is_same_v<typename TraitsClass::CppType, Slice>) {
501
11
            _data_page_pre_decoder = std::make_unique<BinaryPlainPageV2PreDecoder>();
502
11
        }
503
11
    } else if (_encoding == PLAIN_ENCODING_V3) {
504
0
        if constexpr (std::is_same_v<typename TraitsClass::CppType, Slice>) {
505
0
            _data_page_pre_decoder = std::make_unique<BinaryPlainPageV3PreDecoder>();
506
0
        }
507
0
    }
508
11
}
_ZN5doris10segment_v212EncodingInfoC2INS0_14EncodingTraitsILNS_9FieldTypeE35ELNS0_14EncodingTypePBE9EEEEET_
Line
Count
Source
489
11
        : _create_builder_func(TraitsClass::create_page_builder),
490
11
          _create_decoder_func(TraitsClass::create_page_decoder),
491
11
          _type(TraitsClass::type),
492
11
          _encoding(TraitsClass::encoding) {
493
11
    if (_encoding == BIT_SHUFFLE) {
494
0
        _data_page_pre_decoder = std::make_unique<BitShufflePagePreDecoder>();
495
11
    } else if (_encoding == DICT_ENCODING) {
496
0
        _data_page_pre_decoder = std::make_unique<BinaryDictPagePreDecoder>();
497
11
    } else if (_encoding == PLAIN_ENCODING_V2) {
498
        // Only binary types (Slice) need the predecoder for PLAIN_ENCODING_V2
499
        // to convert varint-encoded lengths to offset array format
500
0
        if constexpr (std::is_same_v<typename TraitsClass::CppType, Slice>) {
501
0
            _data_page_pre_decoder = std::make_unique<BinaryPlainPageV2PreDecoder>();
502
0
        }
503
11
    } else if (_encoding == PLAIN_ENCODING_V3) {
504
11
        if constexpr (std::is_same_v<typename TraitsClass::CppType, Slice>) {
505
11
            _data_page_pre_decoder = std::make_unique<BinaryPlainPageV3PreDecoder>();
506
11
        }
507
11
    }
508
11
}
_ZN5doris10segment_v212EncodingInfoC2INS0_14EncodingTraitsILNS_9FieldTypeE35ELNS0_14EncodingTypePBE3EEEEET_
Line
Count
Source
489
11
        : _create_builder_func(TraitsClass::create_page_builder),
490
11
          _create_decoder_func(TraitsClass::create_page_decoder),
491
11
          _type(TraitsClass::type),
492
11
          _encoding(TraitsClass::encoding) {
493
11
    if (_encoding == BIT_SHUFFLE) {
494
0
        _data_page_pre_decoder = std::make_unique<BitShufflePagePreDecoder>();
495
11
    } else if (_encoding == DICT_ENCODING) {
496
0
        _data_page_pre_decoder = std::make_unique<BinaryDictPagePreDecoder>();
497
11
    } else if (_encoding == PLAIN_ENCODING_V2) {
498
        // Only binary types (Slice) need the predecoder for PLAIN_ENCODING_V2
499
        // to convert varint-encoded lengths to offset array format
500
0
        if constexpr (std::is_same_v<typename TraitsClass::CppType, Slice>) {
501
0
            _data_page_pre_decoder = std::make_unique<BinaryPlainPageV2PreDecoder>();
502
0
        }
503
11
    } else if (_encoding == PLAIN_ENCODING_V3) {
504
0
        if constexpr (std::is_same_v<typename TraitsClass::CppType, Slice>) {
505
0
            _data_page_pre_decoder = std::make_unique<BinaryPlainPageV3PreDecoder>();
506
0
        }
507
0
    }
508
11
}
_ZN5doris10segment_v212EncodingInfoC2INS0_14EncodingTraitsILNS_9FieldTypeE24ELNS0_14EncodingTypePBE4EEEEET_
Line
Count
Source
489
11
        : _create_builder_func(TraitsClass::create_page_builder),
490
11
          _create_decoder_func(TraitsClass::create_page_decoder),
491
11
          _type(TraitsClass::type),
492
11
          _encoding(TraitsClass::encoding) {
493
11
    if (_encoding == BIT_SHUFFLE) {
494
0
        _data_page_pre_decoder = std::make_unique<BitShufflePagePreDecoder>();
495
11
    } else if (_encoding == DICT_ENCODING) {
496
0
        _data_page_pre_decoder = std::make_unique<BinaryDictPagePreDecoder>();
497
11
    } else if (_encoding == PLAIN_ENCODING_V2) {
498
        // Only binary types (Slice) need the predecoder for PLAIN_ENCODING_V2
499
        // to convert varint-encoded lengths to offset array format
500
        if constexpr (std::is_same_v<typename TraitsClass::CppType, Slice>) {
501
            _data_page_pre_decoder = std::make_unique<BinaryPlainPageV2PreDecoder>();
502
        }
503
11
    } else if (_encoding == PLAIN_ENCODING_V3) {
504
        if constexpr (std::is_same_v<typename TraitsClass::CppType, Slice>) {
505
            _data_page_pre_decoder = std::make_unique<BinaryPlainPageV3PreDecoder>();
506
        }
507
0
    }
508
11
}
_ZN5doris10segment_v212EncodingInfoC2INS0_14EncodingTraitsILNS_9FieldTypeE24ELNS0_14EncodingTypePBE6EEEEET_
Line
Count
Source
489
11
        : _create_builder_func(TraitsClass::create_page_builder),
490
11
          _create_decoder_func(TraitsClass::create_page_decoder),
491
11
          _type(TraitsClass::type),
492
11
          _encoding(TraitsClass::encoding) {
493
11
    if (_encoding == BIT_SHUFFLE) {
494
11
        _data_page_pre_decoder = std::make_unique<BitShufflePagePreDecoder>();
495
11
    } else if (_encoding == DICT_ENCODING) {
496
0
        _data_page_pre_decoder = std::make_unique<BinaryDictPagePreDecoder>();
497
0
    } else if (_encoding == PLAIN_ENCODING_V2) {
498
        // Only binary types (Slice) need the predecoder for PLAIN_ENCODING_V2
499
        // to convert varint-encoded lengths to offset array format
500
        if constexpr (std::is_same_v<typename TraitsClass::CppType, Slice>) {
501
            _data_page_pre_decoder = std::make_unique<BinaryPlainPageV2PreDecoder>();
502
        }
503
0
    } else if (_encoding == PLAIN_ENCODING_V3) {
504
        if constexpr (std::is_same_v<typename TraitsClass::CppType, Slice>) {
505
            _data_page_pre_decoder = std::make_unique<BinaryPlainPageV3PreDecoder>();
506
        }
507
0
    }
508
11
}
_ZN5doris10segment_v212EncodingInfoC2INS0_14EncodingTraitsILNS_9FieldTypeE24ELNS0_14EncodingTypePBE2EEEEET_
Line
Count
Source
489
22
        : _create_builder_func(TraitsClass::create_page_builder),
490
22
          _create_decoder_func(TraitsClass::create_page_decoder),
491
22
          _type(TraitsClass::type),
492
22
          _encoding(TraitsClass::encoding) {
493
22
    if (_encoding == BIT_SHUFFLE) {
494
0
        _data_page_pre_decoder = std::make_unique<BitShufflePagePreDecoder>();
495
22
    } else if (_encoding == DICT_ENCODING) {
496
0
        _data_page_pre_decoder = std::make_unique<BinaryDictPagePreDecoder>();
497
22
    } else if (_encoding == PLAIN_ENCODING_V2) {
498
        // Only binary types (Slice) need the predecoder for PLAIN_ENCODING_V2
499
        // to convert varint-encoded lengths to offset array format
500
        if constexpr (std::is_same_v<typename TraitsClass::CppType, Slice>) {
501
            _data_page_pre_decoder = std::make_unique<BinaryPlainPageV2PreDecoder>();
502
        }
503
22
    } else if (_encoding == PLAIN_ENCODING_V3) {
504
        if constexpr (std::is_same_v<typename TraitsClass::CppType, Slice>) {
505
            _data_page_pre_decoder = std::make_unique<BinaryPlainPageV3PreDecoder>();
506
        }
507
0
    }
508
22
}
_ZN5doris10segment_v212EncodingInfoC2INS0_14EncodingTraitsILNS_9FieldTypeE14ELNS0_14EncodingTypePBE6EEEEET_
Line
Count
Source
489
11
        : _create_builder_func(TraitsClass::create_page_builder),
490
11
          _create_decoder_func(TraitsClass::create_page_decoder),
491
11
          _type(TraitsClass::type),
492
11
          _encoding(TraitsClass::encoding) {
493
11
    if (_encoding == BIT_SHUFFLE) {
494
11
        _data_page_pre_decoder = std::make_unique<BitShufflePagePreDecoder>();
495
11
    } else if (_encoding == DICT_ENCODING) {
496
0
        _data_page_pre_decoder = std::make_unique<BinaryDictPagePreDecoder>();
497
0
    } else if (_encoding == PLAIN_ENCODING_V2) {
498
        // Only binary types (Slice) need the predecoder for PLAIN_ENCODING_V2
499
        // to convert varint-encoded lengths to offset array format
500
        if constexpr (std::is_same_v<typename TraitsClass::CppType, Slice>) {
501
            _data_page_pre_decoder = std::make_unique<BinaryPlainPageV2PreDecoder>();
502
        }
503
0
    } else if (_encoding == PLAIN_ENCODING_V3) {
504
        if constexpr (std::is_same_v<typename TraitsClass::CppType, Slice>) {
505
            _data_page_pre_decoder = std::make_unique<BinaryPlainPageV3PreDecoder>();
506
        }
507
0
    }
508
11
}
_ZN5doris10segment_v212EncodingInfoC2INS0_14EncodingTraitsILNS_9FieldTypeE14ELNS0_14EncodingTypePBE2EEEEET_
Line
Count
Source
489
11
        : _create_builder_func(TraitsClass::create_page_builder),
490
11
          _create_decoder_func(TraitsClass::create_page_decoder),
491
11
          _type(TraitsClass::type),
492
11
          _encoding(TraitsClass::encoding) {
493
11
    if (_encoding == BIT_SHUFFLE) {
494
0
        _data_page_pre_decoder = std::make_unique<BitShufflePagePreDecoder>();
495
11
    } else if (_encoding == DICT_ENCODING) {
496
0
        _data_page_pre_decoder = std::make_unique<BinaryDictPagePreDecoder>();
497
11
    } else if (_encoding == PLAIN_ENCODING_V2) {
498
        // Only binary types (Slice) need the predecoder for PLAIN_ENCODING_V2
499
        // to convert varint-encoded lengths to offset array format
500
        if constexpr (std::is_same_v<typename TraitsClass::CppType, Slice>) {
501
            _data_page_pre_decoder = std::make_unique<BinaryPlainPageV2PreDecoder>();
502
        }
503
11
    } else if (_encoding == PLAIN_ENCODING_V3) {
504
        if constexpr (std::is_same_v<typename TraitsClass::CppType, Slice>) {
505
            _data_page_pre_decoder = std::make_unique<BinaryPlainPageV3PreDecoder>();
506
        }
507
0
    }
508
11
}
_ZN5doris10segment_v212EncodingInfoC2INS0_14EncodingTraitsILNS_9FieldTypeE14ELNS0_14EncodingTypePBE7EEEEET_
Line
Count
Source
489
11
        : _create_builder_func(TraitsClass::create_page_builder),
490
11
          _create_decoder_func(TraitsClass::create_page_decoder),
491
11
          _type(TraitsClass::type),
492
11
          _encoding(TraitsClass::encoding) {
493
11
    if (_encoding == BIT_SHUFFLE) {
494
0
        _data_page_pre_decoder = std::make_unique<BitShufflePagePreDecoder>();
495
11
    } else if (_encoding == DICT_ENCODING) {
496
0
        _data_page_pre_decoder = std::make_unique<BinaryDictPagePreDecoder>();
497
11
    } else if (_encoding == PLAIN_ENCODING_V2) {
498
        // Only binary types (Slice) need the predecoder for PLAIN_ENCODING_V2
499
        // to convert varint-encoded lengths to offset array format
500
        if constexpr (std::is_same_v<typename TraitsClass::CppType, Slice>) {
501
            _data_page_pre_decoder = std::make_unique<BinaryPlainPageV2PreDecoder>();
502
        }
503
11
    } else if (_encoding == PLAIN_ENCODING_V3) {
504
        if constexpr (std::is_same_v<typename TraitsClass::CppType, Slice>) {
505
            _data_page_pre_decoder = std::make_unique<BinaryPlainPageV3PreDecoder>();
506
        }
507
0
    }
508
11
}
_ZN5doris10segment_v212EncodingInfoC2INS0_14EncodingTraitsILNS_9FieldTypeE28ELNS0_14EncodingTypePBE6EEEEET_
Line
Count
Source
489
11
        : _create_builder_func(TraitsClass::create_page_builder),
490
11
          _create_decoder_func(TraitsClass::create_page_decoder),
491
11
          _type(TraitsClass::type),
492
11
          _encoding(TraitsClass::encoding) {
493
11
    if (_encoding == BIT_SHUFFLE) {
494
11
        _data_page_pre_decoder = std::make_unique<BitShufflePagePreDecoder>();
495
11
    } else if (_encoding == DICT_ENCODING) {
496
0
        _data_page_pre_decoder = std::make_unique<BinaryDictPagePreDecoder>();
497
0
    } else if (_encoding == PLAIN_ENCODING_V2) {
498
        // Only binary types (Slice) need the predecoder for PLAIN_ENCODING_V2
499
        // to convert varint-encoded lengths to offset array format
500
        if constexpr (std::is_same_v<typename TraitsClass::CppType, Slice>) {
501
            _data_page_pre_decoder = std::make_unique<BinaryPlainPageV2PreDecoder>();
502
        }
503
0
    } else if (_encoding == PLAIN_ENCODING_V3) {
504
        if constexpr (std::is_same_v<typename TraitsClass::CppType, Slice>) {
505
            _data_page_pre_decoder = std::make_unique<BinaryPlainPageV3PreDecoder>();
506
        }
507
0
    }
508
11
}
_ZN5doris10segment_v212EncodingInfoC2INS0_14EncodingTraitsILNS_9FieldTypeE28ELNS0_14EncodingTypePBE2EEEEET_
Line
Count
Source
489
11
        : _create_builder_func(TraitsClass::create_page_builder),
490
11
          _create_decoder_func(TraitsClass::create_page_decoder),
491
11
          _type(TraitsClass::type),
492
11
          _encoding(TraitsClass::encoding) {
493
11
    if (_encoding == BIT_SHUFFLE) {
494
0
        _data_page_pre_decoder = std::make_unique<BitShufflePagePreDecoder>();
495
11
    } else if (_encoding == DICT_ENCODING) {
496
0
        _data_page_pre_decoder = std::make_unique<BinaryDictPagePreDecoder>();
497
11
    } else if (_encoding == PLAIN_ENCODING_V2) {
498
        // Only binary types (Slice) need the predecoder for PLAIN_ENCODING_V2
499
        // to convert varint-encoded lengths to offset array format
500
        if constexpr (std::is_same_v<typename TraitsClass::CppType, Slice>) {
501
            _data_page_pre_decoder = std::make_unique<BinaryPlainPageV2PreDecoder>();
502
        }
503
11
    } else if (_encoding == PLAIN_ENCODING_V3) {
504
        if constexpr (std::is_same_v<typename TraitsClass::CppType, Slice>) {
505
            _data_page_pre_decoder = std::make_unique<BinaryPlainPageV3PreDecoder>();
506
        }
507
0
    }
508
11
}
_ZN5doris10segment_v212EncodingInfoC2INS0_14EncodingTraitsILNS_9FieldTypeE28ELNS0_14EncodingTypePBE7EEEEET_
Line
Count
Source
489
11
        : _create_builder_func(TraitsClass::create_page_builder),
490
11
          _create_decoder_func(TraitsClass::create_page_decoder),
491
11
          _type(TraitsClass::type),
492
11
          _encoding(TraitsClass::encoding) {
493
11
    if (_encoding == BIT_SHUFFLE) {
494
0
        _data_page_pre_decoder = std::make_unique<BitShufflePagePreDecoder>();
495
11
    } else if (_encoding == DICT_ENCODING) {
496
0
        _data_page_pre_decoder = std::make_unique<BinaryDictPagePreDecoder>();
497
11
    } else if (_encoding == PLAIN_ENCODING_V2) {
498
        // Only binary types (Slice) need the predecoder for PLAIN_ENCODING_V2
499
        // to convert varint-encoded lengths to offset array format
500
        if constexpr (std::is_same_v<typename TraitsClass::CppType, Slice>) {
501
            _data_page_pre_decoder = std::make_unique<BinaryPlainPageV2PreDecoder>();
502
        }
503
11
    } else if (_encoding == PLAIN_ENCODING_V3) {
504
        if constexpr (std::is_same_v<typename TraitsClass::CppType, Slice>) {
505
            _data_page_pre_decoder = std::make_unique<BinaryPlainPageV3PreDecoder>();
506
        }
507
0
    }
508
11
}
_ZN5doris10segment_v212EncodingInfoC2INS0_14EncodingTraitsILNS_9FieldTypeE29ELNS0_14EncodingTypePBE6EEEEET_
Line
Count
Source
489
11
        : _create_builder_func(TraitsClass::create_page_builder),
490
11
          _create_decoder_func(TraitsClass::create_page_decoder),
491
11
          _type(TraitsClass::type),
492
11
          _encoding(TraitsClass::encoding) {
493
11
    if (_encoding == BIT_SHUFFLE) {
494
11
        _data_page_pre_decoder = std::make_unique<BitShufflePagePreDecoder>();
495
11
    } else if (_encoding == DICT_ENCODING) {
496
0
        _data_page_pre_decoder = std::make_unique<BinaryDictPagePreDecoder>();
497
0
    } else if (_encoding == PLAIN_ENCODING_V2) {
498
        // Only binary types (Slice) need the predecoder for PLAIN_ENCODING_V2
499
        // to convert varint-encoded lengths to offset array format
500
        if constexpr (std::is_same_v<typename TraitsClass::CppType, Slice>) {
501
            _data_page_pre_decoder = std::make_unique<BinaryPlainPageV2PreDecoder>();
502
        }
503
0
    } else if (_encoding == PLAIN_ENCODING_V3) {
504
        if constexpr (std::is_same_v<typename TraitsClass::CppType, Slice>) {
505
            _data_page_pre_decoder = std::make_unique<BinaryPlainPageV3PreDecoder>();
506
        }
507
0
    }
508
11
}
_ZN5doris10segment_v212EncodingInfoC2INS0_14EncodingTraitsILNS_9FieldTypeE29ELNS0_14EncodingTypePBE2EEEEET_
Line
Count
Source
489
11
        : _create_builder_func(TraitsClass::create_page_builder),
490
11
          _create_decoder_func(TraitsClass::create_page_decoder),
491
11
          _type(TraitsClass::type),
492
11
          _encoding(TraitsClass::encoding) {
493
11
    if (_encoding == BIT_SHUFFLE) {
494
0
        _data_page_pre_decoder = std::make_unique<BitShufflePagePreDecoder>();
495
11
    } else if (_encoding == DICT_ENCODING) {
496
0
        _data_page_pre_decoder = std::make_unique<BinaryDictPagePreDecoder>();
497
11
    } else if (_encoding == PLAIN_ENCODING_V2) {
498
        // Only binary types (Slice) need the predecoder for PLAIN_ENCODING_V2
499
        // to convert varint-encoded lengths to offset array format
500
        if constexpr (std::is_same_v<typename TraitsClass::CppType, Slice>) {
501
            _data_page_pre_decoder = std::make_unique<BinaryPlainPageV2PreDecoder>();
502
        }
503
11
    } else if (_encoding == PLAIN_ENCODING_V3) {
504
        if constexpr (std::is_same_v<typename TraitsClass::CppType, Slice>) {
505
            _data_page_pre_decoder = std::make_unique<BinaryPlainPageV3PreDecoder>();
506
        }
507
0
    }
508
11
}
_ZN5doris10segment_v212EncodingInfoC2INS0_14EncodingTraitsILNS_9FieldTypeE29ELNS0_14EncodingTypePBE7EEEEET_
Line
Count
Source
489
11
        : _create_builder_func(TraitsClass::create_page_builder),
490
11
          _create_decoder_func(TraitsClass::create_page_decoder),
491
11
          _type(TraitsClass::type),
492
11
          _encoding(TraitsClass::encoding) {
493
11
    if (_encoding == BIT_SHUFFLE) {
494
0
        _data_page_pre_decoder = std::make_unique<BitShufflePagePreDecoder>();
495
11
    } else if (_encoding == DICT_ENCODING) {
496
0
        _data_page_pre_decoder = std::make_unique<BinaryDictPagePreDecoder>();
497
11
    } else if (_encoding == PLAIN_ENCODING_V2) {
498
        // Only binary types (Slice) need the predecoder for PLAIN_ENCODING_V2
499
        // to convert varint-encoded lengths to offset array format
500
        if constexpr (std::is_same_v<typename TraitsClass::CppType, Slice>) {
501
            _data_page_pre_decoder = std::make_unique<BinaryPlainPageV2PreDecoder>();
502
        }
503
11
    } else if (_encoding == PLAIN_ENCODING_V3) {
504
        if constexpr (std::is_same_v<typename TraitsClass::CppType, Slice>) {
505
            _data_page_pre_decoder = std::make_unique<BinaryPlainPageV3PreDecoder>();
506
        }
507
0
    }
508
11
}
_ZN5doris10segment_v212EncodingInfoC2INS0_14EncodingTraitsILNS_9FieldTypeE15ELNS0_14EncodingTypePBE6EEEEET_
Line
Count
Source
489
11
        : _create_builder_func(TraitsClass::create_page_builder),
490
11
          _create_decoder_func(TraitsClass::create_page_decoder),
491
11
          _type(TraitsClass::type),
492
11
          _encoding(TraitsClass::encoding) {
493
11
    if (_encoding == BIT_SHUFFLE) {
494
11
        _data_page_pre_decoder = std::make_unique<BitShufflePagePreDecoder>();
495
11
    } else if (_encoding == DICT_ENCODING) {
496
0
        _data_page_pre_decoder = std::make_unique<BinaryDictPagePreDecoder>();
497
0
    } else if (_encoding == PLAIN_ENCODING_V2) {
498
        // Only binary types (Slice) need the predecoder for PLAIN_ENCODING_V2
499
        // to convert varint-encoded lengths to offset array format
500
        if constexpr (std::is_same_v<typename TraitsClass::CppType, Slice>) {
501
            _data_page_pre_decoder = std::make_unique<BinaryPlainPageV2PreDecoder>();
502
        }
503
0
    } else if (_encoding == PLAIN_ENCODING_V3) {
504
        if constexpr (std::is_same_v<typename TraitsClass::CppType, Slice>) {
505
            _data_page_pre_decoder = std::make_unique<BinaryPlainPageV3PreDecoder>();
506
        }
507
0
    }
508
11
}
_ZN5doris10segment_v212EncodingInfoC2INS0_14EncodingTraitsILNS_9FieldTypeE15ELNS0_14EncodingTypePBE2EEEEET_
Line
Count
Source
489
11
        : _create_builder_func(TraitsClass::create_page_builder),
490
11
          _create_decoder_func(TraitsClass::create_page_decoder),
491
11
          _type(TraitsClass::type),
492
11
          _encoding(TraitsClass::encoding) {
493
11
    if (_encoding == BIT_SHUFFLE) {
494
0
        _data_page_pre_decoder = std::make_unique<BitShufflePagePreDecoder>();
495
11
    } else if (_encoding == DICT_ENCODING) {
496
0
        _data_page_pre_decoder = std::make_unique<BinaryDictPagePreDecoder>();
497
11
    } else if (_encoding == PLAIN_ENCODING_V2) {
498
        // Only binary types (Slice) need the predecoder for PLAIN_ENCODING_V2
499
        // to convert varint-encoded lengths to offset array format
500
        if constexpr (std::is_same_v<typename TraitsClass::CppType, Slice>) {
501
            _data_page_pre_decoder = std::make_unique<BinaryPlainPageV2PreDecoder>();
502
        }
503
11
    } else if (_encoding == PLAIN_ENCODING_V3) {
504
        if constexpr (std::is_same_v<typename TraitsClass::CppType, Slice>) {
505
            _data_page_pre_decoder = std::make_unique<BinaryPlainPageV3PreDecoder>();
506
        }
507
0
    }
508
11
}
_ZN5doris10segment_v212EncodingInfoC2INS0_14EncodingTraitsILNS_9FieldTypeE15ELNS0_14EncodingTypePBE7EEEEET_
Line
Count
Source
489
11
        : _create_builder_func(TraitsClass::create_page_builder),
490
11
          _create_decoder_func(TraitsClass::create_page_decoder),
491
11
          _type(TraitsClass::type),
492
11
          _encoding(TraitsClass::encoding) {
493
11
    if (_encoding == BIT_SHUFFLE) {
494
0
        _data_page_pre_decoder = std::make_unique<BitShufflePagePreDecoder>();
495
11
    } else if (_encoding == DICT_ENCODING) {
496
0
        _data_page_pre_decoder = std::make_unique<BinaryDictPagePreDecoder>();
497
11
    } else if (_encoding == PLAIN_ENCODING_V2) {
498
        // Only binary types (Slice) need the predecoder for PLAIN_ENCODING_V2
499
        // to convert varint-encoded lengths to offset array format
500
        if constexpr (std::is_same_v<typename TraitsClass::CppType, Slice>) {
501
            _data_page_pre_decoder = std::make_unique<BinaryPlainPageV2PreDecoder>();
502
        }
503
11
    } else if (_encoding == PLAIN_ENCODING_V3) {
504
        if constexpr (std::is_same_v<typename TraitsClass::CppType, Slice>) {
505
            _data_page_pre_decoder = std::make_unique<BinaryPlainPageV3PreDecoder>();
506
        }
507
0
    }
508
11
}
_ZN5doris10segment_v212EncodingInfoC2INS0_14EncodingTraitsILNS_9FieldTypeE40ELNS0_14EncodingTypePBE6EEEEET_
Line
Count
Source
489
11
        : _create_builder_func(TraitsClass::create_page_builder),
490
11
          _create_decoder_func(TraitsClass::create_page_decoder),
491
11
          _type(TraitsClass::type),
492
11
          _encoding(TraitsClass::encoding) {
493
11
    if (_encoding == BIT_SHUFFLE) {
494
11
        _data_page_pre_decoder = std::make_unique<BitShufflePagePreDecoder>();
495
11
    } else if (_encoding == DICT_ENCODING) {
496
0
        _data_page_pre_decoder = std::make_unique<BinaryDictPagePreDecoder>();
497
0
    } else if (_encoding == PLAIN_ENCODING_V2) {
498
        // Only binary types (Slice) need the predecoder for PLAIN_ENCODING_V2
499
        // to convert varint-encoded lengths to offset array format
500
        if constexpr (std::is_same_v<typename TraitsClass::CppType, Slice>) {
501
            _data_page_pre_decoder = std::make_unique<BinaryPlainPageV2PreDecoder>();
502
        }
503
0
    } else if (_encoding == PLAIN_ENCODING_V3) {
504
        if constexpr (std::is_same_v<typename TraitsClass::CppType, Slice>) {
505
            _data_page_pre_decoder = std::make_unique<BinaryPlainPageV3PreDecoder>();
506
        }
507
0
    }
508
11
}
_ZN5doris10segment_v212EncodingInfoC2INS0_14EncodingTraitsILNS_9FieldTypeE40ELNS0_14EncodingTypePBE2EEEEET_
Line
Count
Source
489
11
        : _create_builder_func(TraitsClass::create_page_builder),
490
11
          _create_decoder_func(TraitsClass::create_page_decoder),
491
11
          _type(TraitsClass::type),
492
11
          _encoding(TraitsClass::encoding) {
493
11
    if (_encoding == BIT_SHUFFLE) {
494
0
        _data_page_pre_decoder = std::make_unique<BitShufflePagePreDecoder>();
495
11
    } else if (_encoding == DICT_ENCODING) {
496
0
        _data_page_pre_decoder = std::make_unique<BinaryDictPagePreDecoder>();
497
11
    } else if (_encoding == PLAIN_ENCODING_V2) {
498
        // Only binary types (Slice) need the predecoder for PLAIN_ENCODING_V2
499
        // to convert varint-encoded lengths to offset array format
500
        if constexpr (std::is_same_v<typename TraitsClass::CppType, Slice>) {
501
            _data_page_pre_decoder = std::make_unique<BinaryPlainPageV2PreDecoder>();
502
        }
503
11
    } else if (_encoding == PLAIN_ENCODING_V3) {
504
        if constexpr (std::is_same_v<typename TraitsClass::CppType, Slice>) {
505
            _data_page_pre_decoder = std::make_unique<BinaryPlainPageV3PreDecoder>();
506
        }
507
0
    }
508
11
}
_ZN5doris10segment_v212EncodingInfoC2INS0_14EncodingTraitsILNS_9FieldTypeE40ELNS0_14EncodingTypePBE7EEEEET_
Line
Count
Source
489
11
        : _create_builder_func(TraitsClass::create_page_builder),
490
11
          _create_decoder_func(TraitsClass::create_page_decoder),
491
11
          _type(TraitsClass::type),
492
11
          _encoding(TraitsClass::encoding) {
493
11
    if (_encoding == BIT_SHUFFLE) {
494
0
        _data_page_pre_decoder = std::make_unique<BitShufflePagePreDecoder>();
495
11
    } else if (_encoding == DICT_ENCODING) {
496
0
        _data_page_pre_decoder = std::make_unique<BinaryDictPagePreDecoder>();
497
11
    } else if (_encoding == PLAIN_ENCODING_V2) {
498
        // Only binary types (Slice) need the predecoder for PLAIN_ENCODING_V2
499
        // to convert varint-encoded lengths to offset array format
500
        if constexpr (std::is_same_v<typename TraitsClass::CppType, Slice>) {
501
            _data_page_pre_decoder = std::make_unique<BinaryPlainPageV2PreDecoder>();
502
        }
503
11
    } else if (_encoding == PLAIN_ENCODING_V3) {
504
        if constexpr (std::is_same_v<typename TraitsClass::CppType, Slice>) {
505
            _data_page_pre_decoder = std::make_unique<BinaryPlainPageV3PreDecoder>();
506
        }
507
0
    }
508
11
}
_ZN5doris10segment_v212EncodingInfoC2INS0_14EncodingTraitsILNS_9FieldTypeE16ELNS0_14EncodingTypePBE6EEEEET_
Line
Count
Source
489
22
        : _create_builder_func(TraitsClass::create_page_builder),
490
22
          _create_decoder_func(TraitsClass::create_page_decoder),
491
22
          _type(TraitsClass::type),
492
22
          _encoding(TraitsClass::encoding) {
493
22
    if (_encoding == BIT_SHUFFLE) {
494
22
        _data_page_pre_decoder = std::make_unique<BitShufflePagePreDecoder>();
495
22
    } else if (_encoding == DICT_ENCODING) {
496
0
        _data_page_pre_decoder = std::make_unique<BinaryDictPagePreDecoder>();
497
0
    } else if (_encoding == PLAIN_ENCODING_V2) {
498
        // Only binary types (Slice) need the predecoder for PLAIN_ENCODING_V2
499
        // to convert varint-encoded lengths to offset array format
500
        if constexpr (std::is_same_v<typename TraitsClass::CppType, Slice>) {
501
            _data_page_pre_decoder = std::make_unique<BinaryPlainPageV2PreDecoder>();
502
        }
503
0
    } else if (_encoding == PLAIN_ENCODING_V3) {
504
        if constexpr (std::is_same_v<typename TraitsClass::CppType, Slice>) {
505
            _data_page_pre_decoder = std::make_unique<BinaryPlainPageV3PreDecoder>();
506
        }
507
0
    }
508
22
}
_ZN5doris10segment_v212EncodingInfoC2INS0_14EncodingTraitsILNS_9FieldTypeE16ELNS0_14EncodingTypePBE2EEEEET_
Line
Count
Source
489
11
        : _create_builder_func(TraitsClass::create_page_builder),
490
11
          _create_decoder_func(TraitsClass::create_page_decoder),
491
11
          _type(TraitsClass::type),
492
11
          _encoding(TraitsClass::encoding) {
493
11
    if (_encoding == BIT_SHUFFLE) {
494
0
        _data_page_pre_decoder = std::make_unique<BitShufflePagePreDecoder>();
495
11
    } else if (_encoding == DICT_ENCODING) {
496
0
        _data_page_pre_decoder = std::make_unique<BinaryDictPagePreDecoder>();
497
11
    } else if (_encoding == PLAIN_ENCODING_V2) {
498
        // Only binary types (Slice) need the predecoder for PLAIN_ENCODING_V2
499
        // to convert varint-encoded lengths to offset array format
500
        if constexpr (std::is_same_v<typename TraitsClass::CppType, Slice>) {
501
            _data_page_pre_decoder = std::make_unique<BinaryPlainPageV2PreDecoder>();
502
        }
503
11
    } else if (_encoding == PLAIN_ENCODING_V3) {
504
        if constexpr (std::is_same_v<typename TraitsClass::CppType, Slice>) {
505
            _data_page_pre_decoder = std::make_unique<BinaryPlainPageV3PreDecoder>();
506
        }
507
0
    }
508
11
}
_ZN5doris10segment_v212EncodingInfoC2INS0_14EncodingTraitsILNS_9FieldTypeE31ELNS0_14EncodingTypePBE6EEEEET_
Line
Count
Source
489
22
        : _create_builder_func(TraitsClass::create_page_builder),
490
22
          _create_decoder_func(TraitsClass::create_page_decoder),
491
22
          _type(TraitsClass::type),
492
22
          _encoding(TraitsClass::encoding) {
493
22
    if (_encoding == BIT_SHUFFLE) {
494
22
        _data_page_pre_decoder = std::make_unique<BitShufflePagePreDecoder>();
495
22
    } else if (_encoding == DICT_ENCODING) {
496
0
        _data_page_pre_decoder = std::make_unique<BinaryDictPagePreDecoder>();
497
0
    } else if (_encoding == PLAIN_ENCODING_V2) {
498
        // Only binary types (Slice) need the predecoder for PLAIN_ENCODING_V2
499
        // to convert varint-encoded lengths to offset array format
500
        if constexpr (std::is_same_v<typename TraitsClass::CppType, Slice>) {
501
            _data_page_pre_decoder = std::make_unique<BinaryPlainPageV2PreDecoder>();
502
        }
503
0
    } else if (_encoding == PLAIN_ENCODING_V3) {
504
        if constexpr (std::is_same_v<typename TraitsClass::CppType, Slice>) {
505
            _data_page_pre_decoder = std::make_unique<BinaryPlainPageV3PreDecoder>();
506
        }
507
0
    }
508
22
}
_ZN5doris10segment_v212EncodingInfoC2INS0_14EncodingTraitsILNS_9FieldTypeE31ELNS0_14EncodingTypePBE2EEEEET_
Line
Count
Source
489
11
        : _create_builder_func(TraitsClass::create_page_builder),
490
11
          _create_decoder_func(TraitsClass::create_page_decoder),
491
11
          _type(TraitsClass::type),
492
11
          _encoding(TraitsClass::encoding) {
493
11
    if (_encoding == BIT_SHUFFLE) {
494
0
        _data_page_pre_decoder = std::make_unique<BitShufflePagePreDecoder>();
495
11
    } else if (_encoding == DICT_ENCODING) {
496
0
        _data_page_pre_decoder = std::make_unique<BinaryDictPagePreDecoder>();
497
11
    } else if (_encoding == PLAIN_ENCODING_V2) {
498
        // Only binary types (Slice) need the predecoder for PLAIN_ENCODING_V2
499
        // to convert varint-encoded lengths to offset array format
500
        if constexpr (std::is_same_v<typename TraitsClass::CppType, Slice>) {
501
            _data_page_pre_decoder = std::make_unique<BinaryPlainPageV2PreDecoder>();
502
        }
503
11
    } else if (_encoding == PLAIN_ENCODING_V3) {
504
        if constexpr (std::is_same_v<typename TraitsClass::CppType, Slice>) {
505
            _data_page_pre_decoder = std::make_unique<BinaryPlainPageV3PreDecoder>();
506
        }
507
0
    }
508
11
}
_ZN5doris10segment_v212EncodingInfoC2INS0_14EncodingTraitsILNS_9FieldTypeE32ELNS0_14EncodingTypePBE6EEEEET_
Line
Count
Source
489
22
        : _create_builder_func(TraitsClass::create_page_builder),
490
22
          _create_decoder_func(TraitsClass::create_page_decoder),
491
22
          _type(TraitsClass::type),
492
22
          _encoding(TraitsClass::encoding) {
493
22
    if (_encoding == BIT_SHUFFLE) {
494
22
        _data_page_pre_decoder = std::make_unique<BitShufflePagePreDecoder>();
495
22
    } else if (_encoding == DICT_ENCODING) {
496
0
        _data_page_pre_decoder = std::make_unique<BinaryDictPagePreDecoder>();
497
0
    } else if (_encoding == PLAIN_ENCODING_V2) {
498
        // Only binary types (Slice) need the predecoder for PLAIN_ENCODING_V2
499
        // to convert varint-encoded lengths to offset array format
500
        if constexpr (std::is_same_v<typename TraitsClass::CppType, Slice>) {
501
            _data_page_pre_decoder = std::make_unique<BinaryPlainPageV2PreDecoder>();
502
        }
503
0
    } else if (_encoding == PLAIN_ENCODING_V3) {
504
        if constexpr (std::is_same_v<typename TraitsClass::CppType, Slice>) {
505
            _data_page_pre_decoder = std::make_unique<BinaryPlainPageV3PreDecoder>();
506
        }
507
0
    }
508
22
}
_ZN5doris10segment_v212EncodingInfoC2INS0_14EncodingTraitsILNS_9FieldTypeE32ELNS0_14EncodingTypePBE2EEEEET_
Line
Count
Source
489
11
        : _create_builder_func(TraitsClass::create_page_builder),
490
11
          _create_decoder_func(TraitsClass::create_page_decoder),
491
11
          _type(TraitsClass::type),
492
11
          _encoding(TraitsClass::encoding) {
493
11
    if (_encoding == BIT_SHUFFLE) {
494
0
        _data_page_pre_decoder = std::make_unique<BitShufflePagePreDecoder>();
495
11
    } else if (_encoding == DICT_ENCODING) {
496
0
        _data_page_pre_decoder = std::make_unique<BinaryDictPagePreDecoder>();
497
11
    } else if (_encoding == PLAIN_ENCODING_V2) {
498
        // Only binary types (Slice) need the predecoder for PLAIN_ENCODING_V2
499
        // to convert varint-encoded lengths to offset array format
500
        if constexpr (std::is_same_v<typename TraitsClass::CppType, Slice>) {
501
            _data_page_pre_decoder = std::make_unique<BinaryPlainPageV2PreDecoder>();
502
        }
503
11
    } else if (_encoding == PLAIN_ENCODING_V3) {
504
        if constexpr (std::is_same_v<typename TraitsClass::CppType, Slice>) {
505
            _data_page_pre_decoder = std::make_unique<BinaryPlainPageV3PreDecoder>();
506
        }
507
0
    }
508
11
}
_ZN5doris10segment_v212EncodingInfoC2INS0_14EncodingTraitsILNS_9FieldTypeE33ELNS0_14EncodingTypePBE6EEEEET_
Line
Count
Source
489
22
        : _create_builder_func(TraitsClass::create_page_builder),
490
22
          _create_decoder_func(TraitsClass::create_page_decoder),
491
22
          _type(TraitsClass::type),
492
22
          _encoding(TraitsClass::encoding) {
493
22
    if (_encoding == BIT_SHUFFLE) {
494
22
        _data_page_pre_decoder = std::make_unique<BitShufflePagePreDecoder>();
495
22
    } else if (_encoding == DICT_ENCODING) {
496
0
        _data_page_pre_decoder = std::make_unique<BinaryDictPagePreDecoder>();
497
0
    } else if (_encoding == PLAIN_ENCODING_V2) {
498
        // Only binary types (Slice) need the predecoder for PLAIN_ENCODING_V2
499
        // to convert varint-encoded lengths to offset array format
500
        if constexpr (std::is_same_v<typename TraitsClass::CppType, Slice>) {
501
            _data_page_pre_decoder = std::make_unique<BinaryPlainPageV2PreDecoder>();
502
        }
503
0
    } else if (_encoding == PLAIN_ENCODING_V3) {
504
        if constexpr (std::is_same_v<typename TraitsClass::CppType, Slice>) {
505
            _data_page_pre_decoder = std::make_unique<BinaryPlainPageV3PreDecoder>();
506
        }
507
0
    }
508
22
}
_ZN5doris10segment_v212EncodingInfoC2INS0_14EncodingTraitsILNS_9FieldTypeE33ELNS0_14EncodingTypePBE2EEEEET_
Line
Count
Source
489
11
        : _create_builder_func(TraitsClass::create_page_builder),
490
11
          _create_decoder_func(TraitsClass::create_page_decoder),
491
11
          _type(TraitsClass::type),
492
11
          _encoding(TraitsClass::encoding) {
493
11
    if (_encoding == BIT_SHUFFLE) {
494
0
        _data_page_pre_decoder = std::make_unique<BitShufflePagePreDecoder>();
495
11
    } else if (_encoding == DICT_ENCODING) {
496
0
        _data_page_pre_decoder = std::make_unique<BinaryDictPagePreDecoder>();
497
11
    } else if (_encoding == PLAIN_ENCODING_V2) {
498
        // Only binary types (Slice) need the predecoder for PLAIN_ENCODING_V2
499
        // to convert varint-encoded lengths to offset array format
500
        if constexpr (std::is_same_v<typename TraitsClass::CppType, Slice>) {
501
            _data_page_pre_decoder = std::make_unique<BinaryPlainPageV2PreDecoder>();
502
        }
503
11
    } else if (_encoding == PLAIN_ENCODING_V3) {
504
        if constexpr (std::is_same_v<typename TraitsClass::CppType, Slice>) {
505
            _data_page_pre_decoder = std::make_unique<BinaryPlainPageV3PreDecoder>();
506
        }
507
0
    }
508
11
}
_ZN5doris10segment_v212EncodingInfoC2INS0_14EncodingTraitsILNS_9FieldTypeE37ELNS0_14EncodingTypePBE6EEEEET_
Line
Count
Source
489
22
        : _create_builder_func(TraitsClass::create_page_builder),
490
22
          _create_decoder_func(TraitsClass::create_page_decoder),
491
22
          _type(TraitsClass::type),
492
22
          _encoding(TraitsClass::encoding) {
493
22
    if (_encoding == BIT_SHUFFLE) {
494
22
        _data_page_pre_decoder = std::make_unique<BitShufflePagePreDecoder>();
495
22
    } else if (_encoding == DICT_ENCODING) {
496
0
        _data_page_pre_decoder = std::make_unique<BinaryDictPagePreDecoder>();
497
0
    } else if (_encoding == PLAIN_ENCODING_V2) {
498
        // Only binary types (Slice) need the predecoder for PLAIN_ENCODING_V2
499
        // to convert varint-encoded lengths to offset array format
500
        if constexpr (std::is_same_v<typename TraitsClass::CppType, Slice>) {
501
            _data_page_pre_decoder = std::make_unique<BinaryPlainPageV2PreDecoder>();
502
        }
503
0
    } else if (_encoding == PLAIN_ENCODING_V3) {
504
        if constexpr (std::is_same_v<typename TraitsClass::CppType, Slice>) {
505
            _data_page_pre_decoder = std::make_unique<BinaryPlainPageV3PreDecoder>();
506
        }
507
0
    }
508
22
}
_ZN5doris10segment_v212EncodingInfoC2INS0_14EncodingTraitsILNS_9FieldTypeE37ELNS0_14EncodingTypePBE2EEEEET_
Line
Count
Source
489
11
        : _create_builder_func(TraitsClass::create_page_builder),
490
11
          _create_decoder_func(TraitsClass::create_page_decoder),
491
11
          _type(TraitsClass::type),
492
11
          _encoding(TraitsClass::encoding) {
493
11
    if (_encoding == BIT_SHUFFLE) {
494
0
        _data_page_pre_decoder = std::make_unique<BitShufflePagePreDecoder>();
495
11
    } else if (_encoding == DICT_ENCODING) {
496
0
        _data_page_pre_decoder = std::make_unique<BinaryDictPagePreDecoder>();
497
11
    } else if (_encoding == PLAIN_ENCODING_V2) {
498
        // Only binary types (Slice) need the predecoder for PLAIN_ENCODING_V2
499
        // to convert varint-encoded lengths to offset array format
500
        if constexpr (std::is_same_v<typename TraitsClass::CppType, Slice>) {
501
            _data_page_pre_decoder = std::make_unique<BinaryPlainPageV2PreDecoder>();
502
        }
503
11
    } else if (_encoding == PLAIN_ENCODING_V3) {
504
        if constexpr (std::is_same_v<typename TraitsClass::CppType, Slice>) {
505
            _data_page_pre_decoder = std::make_unique<BinaryPlainPageV3PreDecoder>();
506
        }
507
0
    }
508
11
}
_ZN5doris10segment_v212EncodingInfoC2INS0_14EncodingTraitsILNS_9FieldTypeE38ELNS0_14EncodingTypePBE6EEEEET_
Line
Count
Source
489
22
        : _create_builder_func(TraitsClass::create_page_builder),
490
22
          _create_decoder_func(TraitsClass::create_page_decoder),
491
22
          _type(TraitsClass::type),
492
22
          _encoding(TraitsClass::encoding) {
493
22
    if (_encoding == BIT_SHUFFLE) {
494
22
        _data_page_pre_decoder = std::make_unique<BitShufflePagePreDecoder>();
495
22
    } else if (_encoding == DICT_ENCODING) {
496
0
        _data_page_pre_decoder = std::make_unique<BinaryDictPagePreDecoder>();
497
0
    } else if (_encoding == PLAIN_ENCODING_V2) {
498
        // Only binary types (Slice) need the predecoder for PLAIN_ENCODING_V2
499
        // to convert varint-encoded lengths to offset array format
500
        if constexpr (std::is_same_v<typename TraitsClass::CppType, Slice>) {
501
            _data_page_pre_decoder = std::make_unique<BinaryPlainPageV2PreDecoder>();
502
        }
503
0
    } else if (_encoding == PLAIN_ENCODING_V3) {
504
        if constexpr (std::is_same_v<typename TraitsClass::CppType, Slice>) {
505
            _data_page_pre_decoder = std::make_unique<BinaryPlainPageV3PreDecoder>();
506
        }
507
0
    }
508
22
}
_ZN5doris10segment_v212EncodingInfoC2INS0_14EncodingTraitsILNS_9FieldTypeE38ELNS0_14EncodingTypePBE2EEEEET_
Line
Count
Source
489
11
        : _create_builder_func(TraitsClass::create_page_builder),
490
11
          _create_decoder_func(TraitsClass::create_page_decoder),
491
11
          _type(TraitsClass::type),
492
11
          _encoding(TraitsClass::encoding) {
493
11
    if (_encoding == BIT_SHUFFLE) {
494
0
        _data_page_pre_decoder = std::make_unique<BitShufflePagePreDecoder>();
495
11
    } else if (_encoding == DICT_ENCODING) {
496
0
        _data_page_pre_decoder = std::make_unique<BinaryDictPagePreDecoder>();
497
11
    } else if (_encoding == PLAIN_ENCODING_V2) {
498
        // Only binary types (Slice) need the predecoder for PLAIN_ENCODING_V2
499
        // to convert varint-encoded lengths to offset array format
500
        if constexpr (std::is_same_v<typename TraitsClass::CppType, Slice>) {
501
            _data_page_pre_decoder = std::make_unique<BinaryPlainPageV2PreDecoder>();
502
        }
503
11
    } else if (_encoding == PLAIN_ENCODING_V3) {
504
        if constexpr (std::is_same_v<typename TraitsClass::CppType, Slice>) {
505
            _data_page_pre_decoder = std::make_unique<BinaryPlainPageV3PreDecoder>();
506
        }
507
0
    }
508
11
}
_ZN5doris10segment_v212EncodingInfoC2INS0_14EncodingTraitsILNS_9FieldTypeE39ELNS0_14EncodingTypePBE6EEEEET_
Line
Count
Source
489
22
        : _create_builder_func(TraitsClass::create_page_builder),
490
22
          _create_decoder_func(TraitsClass::create_page_decoder),
491
22
          _type(TraitsClass::type),
492
22
          _encoding(TraitsClass::encoding) {
493
22
    if (_encoding == BIT_SHUFFLE) {
494
22
        _data_page_pre_decoder = std::make_unique<BitShufflePagePreDecoder>();
495
22
    } else if (_encoding == DICT_ENCODING) {
496
0
        _data_page_pre_decoder = std::make_unique<BinaryDictPagePreDecoder>();
497
0
    } else if (_encoding == PLAIN_ENCODING_V2) {
498
        // Only binary types (Slice) need the predecoder for PLAIN_ENCODING_V2
499
        // to convert varint-encoded lengths to offset array format
500
        if constexpr (std::is_same_v<typename TraitsClass::CppType, Slice>) {
501
            _data_page_pre_decoder = std::make_unique<BinaryPlainPageV2PreDecoder>();
502
        }
503
0
    } else if (_encoding == PLAIN_ENCODING_V3) {
504
        if constexpr (std::is_same_v<typename TraitsClass::CppType, Slice>) {
505
            _data_page_pre_decoder = std::make_unique<BinaryPlainPageV3PreDecoder>();
506
        }
507
0
    }
508
22
}
_ZN5doris10segment_v212EncodingInfoC2INS0_14EncodingTraitsILNS_9FieldTypeE39ELNS0_14EncodingTypePBE2EEEEET_
Line
Count
Source
489
11
        : _create_builder_func(TraitsClass::create_page_builder),
490
11
          _create_decoder_func(TraitsClass::create_page_decoder),
491
11
          _type(TraitsClass::type),
492
11
          _encoding(TraitsClass::encoding) {
493
11
    if (_encoding == BIT_SHUFFLE) {
494
0
        _data_page_pre_decoder = std::make_unique<BitShufflePagePreDecoder>();
495
11
    } else if (_encoding == DICT_ENCODING) {
496
0
        _data_page_pre_decoder = std::make_unique<BinaryDictPagePreDecoder>();
497
11
    } else if (_encoding == PLAIN_ENCODING_V2) {
498
        // Only binary types (Slice) need the predecoder for PLAIN_ENCODING_V2
499
        // to convert varint-encoded lengths to offset array format
500
        if constexpr (std::is_same_v<typename TraitsClass::CppType, Slice>) {
501
            _data_page_pre_decoder = std::make_unique<BinaryPlainPageV2PreDecoder>();
502
        }
503
11
    } else if (_encoding == PLAIN_ENCODING_V3) {
504
        if constexpr (std::is_same_v<typename TraitsClass::CppType, Slice>) {
505
            _data_page_pre_decoder = std::make_unique<BinaryPlainPageV3PreDecoder>();
506
        }
507
0
    }
508
11
}
_ZN5doris10segment_v212EncodingInfoC2INS0_14EncodingTraitsILNS_9FieldTypeE23ELNS0_14EncodingTypePBE2EEEEET_
Line
Count
Source
489
11
        : _create_builder_func(TraitsClass::create_page_builder),
490
11
          _create_decoder_func(TraitsClass::create_page_decoder),
491
11
          _type(TraitsClass::type),
492
11
          _encoding(TraitsClass::encoding) {
493
11
    if (_encoding == BIT_SHUFFLE) {
494
0
        _data_page_pre_decoder = std::make_unique<BitShufflePagePreDecoder>();
495
11
    } else if (_encoding == DICT_ENCODING) {
496
0
        _data_page_pre_decoder = std::make_unique<BinaryDictPagePreDecoder>();
497
11
    } else if (_encoding == PLAIN_ENCODING_V2) {
498
        // Only binary types (Slice) need the predecoder for PLAIN_ENCODING_V2
499
        // to convert varint-encoded lengths to offset array format
500
0
        if constexpr (std::is_same_v<typename TraitsClass::CppType, Slice>) {
501
0
            _data_page_pre_decoder = std::make_unique<BinaryPlainPageV2PreDecoder>();
502
0
        }
503
11
    } else if (_encoding == PLAIN_ENCODING_V3) {
504
0
        if constexpr (std::is_same_v<typename TraitsClass::CppType, Slice>) {
505
0
            _data_page_pre_decoder = std::make_unique<BinaryPlainPageV3PreDecoder>();
506
0
        }
507
0
    }
508
11
}
_ZN5doris10segment_v212EncodingInfoC2INS0_14EncodingTraitsILNS_9FieldTypeE23ELNS0_14EncodingTypePBE8EEEEET_
Line
Count
Source
489
11
        : _create_builder_func(TraitsClass::create_page_builder),
490
11
          _create_decoder_func(TraitsClass::create_page_decoder),
491
11
          _type(TraitsClass::type),
492
11
          _encoding(TraitsClass::encoding) {
493
11
    if (_encoding == BIT_SHUFFLE) {
494
0
        _data_page_pre_decoder = std::make_unique<BitShufflePagePreDecoder>();
495
11
    } else if (_encoding == DICT_ENCODING) {
496
0
        _data_page_pre_decoder = std::make_unique<BinaryDictPagePreDecoder>();
497
11
    } else if (_encoding == PLAIN_ENCODING_V2) {
498
        // Only binary types (Slice) need the predecoder for PLAIN_ENCODING_V2
499
        // to convert varint-encoded lengths to offset array format
500
11
        if constexpr (std::is_same_v<typename TraitsClass::CppType, Slice>) {
501
11
            _data_page_pre_decoder = std::make_unique<BinaryPlainPageV2PreDecoder>();
502
11
        }
503
11
    } else if (_encoding == PLAIN_ENCODING_V3) {
504
0
        if constexpr (std::is_same_v<typename TraitsClass::CppType, Slice>) {
505
0
            _data_page_pre_decoder = std::make_unique<BinaryPlainPageV3PreDecoder>();
506
0
        }
507
0
    }
508
11
}
_ZN5doris10segment_v212EncodingInfoC2INS0_14EncodingTraitsILNS_9FieldTypeE23ELNS0_14EncodingTypePBE9EEEEET_
Line
Count
Source
489
11
        : _create_builder_func(TraitsClass::create_page_builder),
490
11
          _create_decoder_func(TraitsClass::create_page_decoder),
491
11
          _type(TraitsClass::type),
492
11
          _encoding(TraitsClass::encoding) {
493
11
    if (_encoding == BIT_SHUFFLE) {
494
0
        _data_page_pre_decoder = std::make_unique<BitShufflePagePreDecoder>();
495
11
    } else if (_encoding == DICT_ENCODING) {
496
0
        _data_page_pre_decoder = std::make_unique<BinaryDictPagePreDecoder>();
497
11
    } else if (_encoding == PLAIN_ENCODING_V2) {
498
        // Only binary types (Slice) need the predecoder for PLAIN_ENCODING_V2
499
        // to convert varint-encoded lengths to offset array format
500
0
        if constexpr (std::is_same_v<typename TraitsClass::CppType, Slice>) {
501
0
            _data_page_pre_decoder = std::make_unique<BinaryPlainPageV2PreDecoder>();
502
0
        }
503
11
    } else if (_encoding == PLAIN_ENCODING_V3) {
504
11
        if constexpr (std::is_same_v<typename TraitsClass::CppType, Slice>) {
505
11
            _data_page_pre_decoder = std::make_unique<BinaryPlainPageV3PreDecoder>();
506
11
        }
507
11
    }
508
11
}
_ZN5doris10segment_v212EncodingInfoC2INS0_14EncodingTraitsILNS_9FieldTypeE25ELNS0_14EncodingTypePBE2EEEEET_
Line
Count
Source
489
11
        : _create_builder_func(TraitsClass::create_page_builder),
490
11
          _create_decoder_func(TraitsClass::create_page_decoder),
491
11
          _type(TraitsClass::type),
492
11
          _encoding(TraitsClass::encoding) {
493
11
    if (_encoding == BIT_SHUFFLE) {
494
0
        _data_page_pre_decoder = std::make_unique<BitShufflePagePreDecoder>();
495
11
    } else if (_encoding == DICT_ENCODING) {
496
0
        _data_page_pre_decoder = std::make_unique<BinaryDictPagePreDecoder>();
497
11
    } else if (_encoding == PLAIN_ENCODING_V2) {
498
        // Only binary types (Slice) need the predecoder for PLAIN_ENCODING_V2
499
        // to convert varint-encoded lengths to offset array format
500
0
        if constexpr (std::is_same_v<typename TraitsClass::CppType, Slice>) {
501
0
            _data_page_pre_decoder = std::make_unique<BinaryPlainPageV2PreDecoder>();
502
0
        }
503
11
    } else if (_encoding == PLAIN_ENCODING_V3) {
504
0
        if constexpr (std::is_same_v<typename TraitsClass::CppType, Slice>) {
505
0
            _data_page_pre_decoder = std::make_unique<BinaryPlainPageV3PreDecoder>();
506
0
        }
507
0
    }
508
11
}
_ZN5doris10segment_v212EncodingInfoC2INS0_14EncodingTraitsILNS_9FieldTypeE25ELNS0_14EncodingTypePBE8EEEEET_
Line
Count
Source
489
11
        : _create_builder_func(TraitsClass::create_page_builder),
490
11
          _create_decoder_func(TraitsClass::create_page_decoder),
491
11
          _type(TraitsClass::type),
492
11
          _encoding(TraitsClass::encoding) {
493
11
    if (_encoding == BIT_SHUFFLE) {
494
0
        _data_page_pre_decoder = std::make_unique<BitShufflePagePreDecoder>();
495
11
    } else if (_encoding == DICT_ENCODING) {
496
0
        _data_page_pre_decoder = std::make_unique<BinaryDictPagePreDecoder>();
497
11
    } else if (_encoding == PLAIN_ENCODING_V2) {
498
        // Only binary types (Slice) need the predecoder for PLAIN_ENCODING_V2
499
        // to convert varint-encoded lengths to offset array format
500
11
        if constexpr (std::is_same_v<typename TraitsClass::CppType, Slice>) {
501
11
            _data_page_pre_decoder = std::make_unique<BinaryPlainPageV2PreDecoder>();
502
11
        }
503
11
    } else if (_encoding == PLAIN_ENCODING_V3) {
504
0
        if constexpr (std::is_same_v<typename TraitsClass::CppType, Slice>) {
505
0
            _data_page_pre_decoder = std::make_unique<BinaryPlainPageV3PreDecoder>();
506
0
        }
507
0
    }
508
11
}
_ZN5doris10segment_v212EncodingInfoC2INS0_14EncodingTraitsILNS_9FieldTypeE25ELNS0_14EncodingTypePBE9EEEEET_
Line
Count
Source
489
11
        : _create_builder_func(TraitsClass::create_page_builder),
490
11
          _create_decoder_func(TraitsClass::create_page_decoder),
491
11
          _type(TraitsClass::type),
492
11
          _encoding(TraitsClass::encoding) {
493
11
    if (_encoding == BIT_SHUFFLE) {
494
0
        _data_page_pre_decoder = std::make_unique<BitShufflePagePreDecoder>();
495
11
    } else if (_encoding == DICT_ENCODING) {
496
0
        _data_page_pre_decoder = std::make_unique<BinaryDictPagePreDecoder>();
497
11
    } else if (_encoding == PLAIN_ENCODING_V2) {
498
        // Only binary types (Slice) need the predecoder for PLAIN_ENCODING_V2
499
        // to convert varint-encoded lengths to offset array format
500
0
        if constexpr (std::is_same_v<typename TraitsClass::CppType, Slice>) {
501
0
            _data_page_pre_decoder = std::make_unique<BinaryPlainPageV2PreDecoder>();
502
0
        }
503
11
    } else if (_encoding == PLAIN_ENCODING_V3) {
504
11
        if constexpr (std::is_same_v<typename TraitsClass::CppType, Slice>) {
505
11
            _data_page_pre_decoder = std::make_unique<BinaryPlainPageV3PreDecoder>();
506
11
        }
507
11
    }
508
11
}
_ZN5doris10segment_v212EncodingInfoC2INS0_14EncodingTraitsILNS_9FieldTypeE27ELNS0_14EncodingTypePBE2EEEEET_
Line
Count
Source
489
11
        : _create_builder_func(TraitsClass::create_page_builder),
490
11
          _create_decoder_func(TraitsClass::create_page_decoder),
491
11
          _type(TraitsClass::type),
492
11
          _encoding(TraitsClass::encoding) {
493
11
    if (_encoding == BIT_SHUFFLE) {
494
0
        _data_page_pre_decoder = std::make_unique<BitShufflePagePreDecoder>();
495
11
    } else if (_encoding == DICT_ENCODING) {
496
0
        _data_page_pre_decoder = std::make_unique<BinaryDictPagePreDecoder>();
497
11
    } else if (_encoding == PLAIN_ENCODING_V2) {
498
        // Only binary types (Slice) need the predecoder for PLAIN_ENCODING_V2
499
        // to convert varint-encoded lengths to offset array format
500
0
        if constexpr (std::is_same_v<typename TraitsClass::CppType, Slice>) {
501
0
            _data_page_pre_decoder = std::make_unique<BinaryPlainPageV2PreDecoder>();
502
0
        }
503
11
    } else if (_encoding == PLAIN_ENCODING_V3) {
504
0
        if constexpr (std::is_same_v<typename TraitsClass::CppType, Slice>) {
505
0
            _data_page_pre_decoder = std::make_unique<BinaryPlainPageV3PreDecoder>();
506
0
        }
507
0
    }
508
11
}
_ZN5doris10segment_v212EncodingInfoC2INS0_14EncodingTraitsILNS_9FieldTypeE27ELNS0_14EncodingTypePBE8EEEEET_
Line
Count
Source
489
11
        : _create_builder_func(TraitsClass::create_page_builder),
490
11
          _create_decoder_func(TraitsClass::create_page_decoder),
491
11
          _type(TraitsClass::type),
492
11
          _encoding(TraitsClass::encoding) {
493
11
    if (_encoding == BIT_SHUFFLE) {
494
0
        _data_page_pre_decoder = std::make_unique<BitShufflePagePreDecoder>();
495
11
    } else if (_encoding == DICT_ENCODING) {
496
0
        _data_page_pre_decoder = std::make_unique<BinaryDictPagePreDecoder>();
497
11
    } else if (_encoding == PLAIN_ENCODING_V2) {
498
        // Only binary types (Slice) need the predecoder for PLAIN_ENCODING_V2
499
        // to convert varint-encoded lengths to offset array format
500
11
        if constexpr (std::is_same_v<typename TraitsClass::CppType, Slice>) {
501
11
            _data_page_pre_decoder = std::make_unique<BinaryPlainPageV2PreDecoder>();
502
11
        }
503
11
    } else if (_encoding == PLAIN_ENCODING_V3) {
504
0
        if constexpr (std::is_same_v<typename TraitsClass::CppType, Slice>) {
505
0
            _data_page_pre_decoder = std::make_unique<BinaryPlainPageV3PreDecoder>();
506
0
        }
507
0
    }
508
11
}
_ZN5doris10segment_v212EncodingInfoC2INS0_14EncodingTraitsILNS_9FieldTypeE27ELNS0_14EncodingTypePBE9EEEEET_
Line
Count
Source
489
11
        : _create_builder_func(TraitsClass::create_page_builder),
490
11
          _create_decoder_func(TraitsClass::create_page_decoder),
491
11
          _type(TraitsClass::type),
492
11
          _encoding(TraitsClass::encoding) {
493
11
    if (_encoding == BIT_SHUFFLE) {
494
0
        _data_page_pre_decoder = std::make_unique<BitShufflePagePreDecoder>();
495
11
    } else if (_encoding == DICT_ENCODING) {
496
0
        _data_page_pre_decoder = std::make_unique<BinaryDictPagePreDecoder>();
497
11
    } else if (_encoding == PLAIN_ENCODING_V2) {
498
        // Only binary types (Slice) need the predecoder for PLAIN_ENCODING_V2
499
        // to convert varint-encoded lengths to offset array format
500
0
        if constexpr (std::is_same_v<typename TraitsClass::CppType, Slice>) {
501
0
            _data_page_pre_decoder = std::make_unique<BinaryPlainPageV2PreDecoder>();
502
0
        }
503
11
    } else if (_encoding == PLAIN_ENCODING_V3) {
504
11
        if constexpr (std::is_same_v<typename TraitsClass::CppType, Slice>) {
505
11
            _data_page_pre_decoder = std::make_unique<BinaryPlainPageV3PreDecoder>();
506
11
        }
507
11
    }
508
11
}
_ZN5doris10segment_v212EncodingInfoC2INS0_14EncodingTraitsILNS_9FieldTypeE36ELNS0_14EncodingTypePBE2EEEEET_
Line
Count
Source
489
11
        : _create_builder_func(TraitsClass::create_page_builder),
490
11
          _create_decoder_func(TraitsClass::create_page_decoder),
491
11
          _type(TraitsClass::type),
492
11
          _encoding(TraitsClass::encoding) {
493
11
    if (_encoding == BIT_SHUFFLE) {
494
0
        _data_page_pre_decoder = std::make_unique<BitShufflePagePreDecoder>();
495
11
    } else if (_encoding == DICT_ENCODING) {
496
0
        _data_page_pre_decoder = std::make_unique<BinaryDictPagePreDecoder>();
497
11
    } else if (_encoding == PLAIN_ENCODING_V2) {
498
        // Only binary types (Slice) need the predecoder for PLAIN_ENCODING_V2
499
        // to convert varint-encoded lengths to offset array format
500
0
        if constexpr (std::is_same_v<typename TraitsClass::CppType, Slice>) {
501
0
            _data_page_pre_decoder = std::make_unique<BinaryPlainPageV2PreDecoder>();
502
0
        }
503
11
    } else if (_encoding == PLAIN_ENCODING_V3) {
504
0
        if constexpr (std::is_same_v<typename TraitsClass::CppType, Slice>) {
505
0
            _data_page_pre_decoder = std::make_unique<BinaryPlainPageV3PreDecoder>();
506
0
        }
507
0
    }
508
11
}
_ZN5doris10segment_v212EncodingInfoC2INS0_14EncodingTraitsILNS_9FieldTypeE36ELNS0_14EncodingTypePBE8EEEEET_
Line
Count
Source
489
11
        : _create_builder_func(TraitsClass::create_page_builder),
490
11
          _create_decoder_func(TraitsClass::create_page_decoder),
491
11
          _type(TraitsClass::type),
492
11
          _encoding(TraitsClass::encoding) {
493
11
    if (_encoding == BIT_SHUFFLE) {
494
0
        _data_page_pre_decoder = std::make_unique<BitShufflePagePreDecoder>();
495
11
    } else if (_encoding == DICT_ENCODING) {
496
0
        _data_page_pre_decoder = std::make_unique<BinaryDictPagePreDecoder>();
497
11
    } else if (_encoding == PLAIN_ENCODING_V2) {
498
        // Only binary types (Slice) need the predecoder for PLAIN_ENCODING_V2
499
        // to convert varint-encoded lengths to offset array format
500
11
        if constexpr (std::is_same_v<typename TraitsClass::CppType, Slice>) {
501
11
            _data_page_pre_decoder = std::make_unique<BinaryPlainPageV2PreDecoder>();
502
11
        }
503
11
    } else if (_encoding == PLAIN_ENCODING_V3) {
504
0
        if constexpr (std::is_same_v<typename TraitsClass::CppType, Slice>) {
505
0
            _data_page_pre_decoder = std::make_unique<BinaryPlainPageV3PreDecoder>();
506
0
        }
507
0
    }
508
11
}
_ZN5doris10segment_v212EncodingInfoC2INS0_14EncodingTraitsILNS_9FieldTypeE36ELNS0_14EncodingTypePBE9EEEEET_
Line
Count
Source
489
11
        : _create_builder_func(TraitsClass::create_page_builder),
490
11
          _create_decoder_func(TraitsClass::create_page_decoder),
491
11
          _type(TraitsClass::type),
492
11
          _encoding(TraitsClass::encoding) {
493
11
    if (_encoding == BIT_SHUFFLE) {
494
0
        _data_page_pre_decoder = std::make_unique<BitShufflePagePreDecoder>();
495
11
    } else if (_encoding == DICT_ENCODING) {
496
0
        _data_page_pre_decoder = std::make_unique<BinaryDictPagePreDecoder>();
497
11
    } else if (_encoding == PLAIN_ENCODING_V2) {
498
        // Only binary types (Slice) need the predecoder for PLAIN_ENCODING_V2
499
        // to convert varint-encoded lengths to offset array format
500
0
        if constexpr (std::is_same_v<typename TraitsClass::CppType, Slice>) {
501
0
            _data_page_pre_decoder = std::make_unique<BinaryPlainPageV2PreDecoder>();
502
0
        }
503
11
    } else if (_encoding == PLAIN_ENCODING_V3) {
504
11
        if constexpr (std::is_same_v<typename TraitsClass::CppType, Slice>) {
505
11
            _data_page_pre_decoder = std::make_unique<BinaryPlainPageV3PreDecoder>();
506
11
        }
507
11
    }
508
11
}
509
510
#ifdef BE_TEST
511
static EncodingInfoResolver s_encoding_info_resolver;
512
#endif
513
514
Status EncodingInfo::get(FieldType type, EncodingTypePB encoding_type,
515
43.3k
                         EncodingPreference encoding_preference, const EncodingInfo** out) {
516
43.3k
#ifdef BE_TEST
517
43.3k
    return s_encoding_info_resolver.get(type, encoding_type, encoding_preference, out);
518
#else
519
    auto* resolver = ExecEnv::GetInstance()->get_encoding_info_resolver();
520
    if (resolver == nullptr) {
521
        return Status::InternalError("EncodingInfoResolver not initialized");
522
    }
523
    return resolver->get(type, encoding_type, encoding_preference, out);
524
#endif
525
43.3k
}
526
527
EncodingTypePB EncodingInfo::get_default_encoding(FieldType type,
528
                                                  EncodingPreference encoding_preference,
529
10.5k
                                                  bool optimize_value_seek) {
530
10.5k
#ifdef BE_TEST
531
10.5k
    return s_encoding_info_resolver.get_default_encoding(type, encoding_preference,
532
10.5k
                                                         optimize_value_seek);
533
#else
534
    auto* resolver = ExecEnv::GetInstance()->get_encoding_info_resolver();
535
    if (resolver == nullptr) {
536
        return UNKNOWN_ENCODING;
537
    }
538
    return resolver->get_default_encoding(type, encoding_preference, optimize_value_seek);
539
#endif
540
10.5k
}
541
542
Status EncodingInfo::create_page_builder(const PageBuilderOptions& opts,
543
5.38k
                                         std::unique_ptr<PageBuilder>& builder) const {
544
5.38k
    PageBuilder* raw_builder = nullptr;
545
5.38k
    RETURN_IF_ERROR(_create_builder_func(opts, &raw_builder));
546
5.38k
    builder.reset(raw_builder);
547
5.38k
    return Status::OK();
548
5.38k
}
549
550
Status EncodingInfo::create_page_decoder(const Slice& data, const PageDecoderOptions& opts,
551
2.75k
                                         std::unique_ptr<PageDecoder>& decoder) const {
552
2.75k
    PageDecoder* raw_decoder = nullptr;
553
2.75k
    RETURN_IF_ERROR(_create_decoder_func(data, opts, &raw_decoder));
554
2.75k
    decoder.reset(raw_decoder);
555
2.75k
    return Status::OK();
556
2.75k
}
557
558
} // namespace segment_v2
559
} // namespace doris