Coverage Report

Created: 2025-07-26 02:43

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/root/doris/be/src/cloud/pb_convert.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 "cloud/pb_convert.h"
19
20
#include <common/logging.h>
21
#include <gen_cpp/olap_file.pb.h>
22
23
#include <utility>
24
25
namespace doris::cloud {
26
#include "common/compile_check_begin.h"
27
28
0
RowsetMetaCloudPB doris_rowset_meta_to_cloud(const RowsetMetaPB& in) {
29
0
    RowsetMetaCloudPB out;
30
0
    doris_rowset_meta_to_cloud(&out, in);
31
0
    return out;
32
0
}
33
34
2
RowsetMetaCloudPB doris_rowset_meta_to_cloud(RowsetMetaPB&& in) {
35
2
    RowsetMetaCloudPB out;
36
2
    doris_rowset_meta_to_cloud(&out, std::move(in));
37
2
    return out;
38
2
}
39
40
4
void doris_rowset_meta_to_cloud(RowsetMetaCloudPB* out, const RowsetMetaPB& in) {
41
    // ATTN: please keep the set order aligned with the definition of proto `TabletSchemaCloudPB`.
42
4
    out->set_rowset_id(in.rowset_id());
43
4
    out->set_partition_id(in.partition_id());
44
4
    out->set_tablet_id(in.tablet_id());
45
4
    out->set_txn_id(in.txn_id());
46
4
    out->set_tablet_schema_hash(in.tablet_schema_hash());
47
4
    out->set_rowset_type(in.rowset_type());
48
4
    out->set_rowset_state(in.rowset_state());
49
4
    out->set_start_version(in.start_version());
50
4
    out->set_end_version(in.end_version());
51
4
    out->set_version_hash(in.version_hash());
52
4
    out->set_num_rows(in.num_rows());
53
4
    out->set_total_disk_size(in.total_disk_size());
54
4
    out->set_data_disk_size(in.data_disk_size());
55
4
    out->set_index_disk_size(in.index_disk_size());
56
4
    out->mutable_zone_maps()->CopyFrom(in.zone_maps());
57
4
    if (in.has_delete_predicate()) {
58
1
        out->mutable_delete_predicate()->CopyFrom(in.delete_predicate());
59
1
    }
60
4
    out->set_empty(in.empty());
61
4
    if (in.has_load_id()) {
62
1
        out->mutable_load_id()->CopyFrom(in.load_id());
63
1
    }
64
4
    out->set_delete_flag(in.delete_flag());
65
4
    out->set_creation_time(in.creation_time());
66
4
    if (in.has_tablet_uid()) {
67
1
        out->mutable_tablet_uid()->CopyFrom(in.tablet_uid());
68
1
    }
69
4
    out->set_num_segments(in.num_segments());
70
4
    out->set_rowset_id_v2(in.rowset_id_v2());
71
4
    out->set_resource_id(in.resource_id());
72
4
    out->set_newest_write_timestamp(in.newest_write_timestamp());
73
4
    out->mutable_segments_key_bounds()->CopyFrom(in.segments_key_bounds());
74
4
    if (in.has_tablet_schema()) {
75
1
        doris_tablet_schema_to_cloud(out->mutable_tablet_schema(), in.tablet_schema());
76
1
    }
77
4
    if (in.has_schema_dict_key_list()) {
78
1
        out->mutable_schema_dict_key_list()->CopyFrom(in.schema_dict_key_list());
79
1
    }
80
4
    out->set_txn_expiration(in.txn_expiration());
81
4
    out->set_segments_overlap_pb(in.segments_overlap_pb());
82
4
    out->set_segments_key_bounds_truncated(in.segments_key_bounds_truncated());
83
4
    out->mutable_segments_file_size()->CopyFrom(in.segments_file_size());
84
4
    out->set_index_id(in.index_id());
85
4
    if (in.has_schema_version()) {
86
        // See cloud/src/meta-service/meta_service_schema.cpp for details.
87
1
        out->set_schema_version(in.schema_version());
88
1
    }
89
4
    out->set_enable_segments_file_size(in.enable_segments_file_size());
90
4
    out->set_has_variant_type_in_schema(in.has_variant_type_in_schema());
91
4
    out->set_enable_inverted_index_file_info(in.enable_inverted_index_file_info());
92
4
    out->set_compaction_level(in.compaction_level());
93
4
    out->mutable_inverted_index_file_info()->CopyFrom(in.inverted_index_file_info());
94
4
    out->set_source_rowset_id(in.source_rowset_id());
95
4
    out->set_source_tablet_id(in.source_tablet_id());
96
4
    if (in.has___split_schema()) {
97
1
        out->mutable___split_schema()->CopyFrom(in.__split_schema());
98
1
    }
99
4
}
100
101
5
void doris_rowset_meta_to_cloud(RowsetMetaCloudPB* out, RowsetMetaPB&& in) {
102
    // ATTN: please keep the set order aligned with the definition of proto `TabletSchemaCloudPB`.
103
5
    out->set_rowset_id(in.rowset_id());
104
5
    out->set_partition_id(in.partition_id());
105
5
    out->set_tablet_id(in.tablet_id());
106
5
    out->set_txn_id(in.txn_id());
107
5
    out->set_tablet_schema_hash(in.tablet_schema_hash());
108
5
    out->set_rowset_type(in.rowset_type());
109
5
    out->set_rowset_state(in.rowset_state());
110
5
    out->set_start_version(in.start_version());
111
5
    out->set_end_version(in.end_version());
112
5
    out->set_version_hash(in.version_hash());
113
5
    out->set_num_rows(in.num_rows());
114
5
    out->set_total_disk_size(in.total_disk_size());
115
5
    out->set_data_disk_size(in.data_disk_size());
116
5
    out->set_index_disk_size(in.index_disk_size());
117
5
    out->mutable_zone_maps()->Swap(in.mutable_zone_maps());
118
5
    if (in.has_delete_predicate()) {
119
2
        out->mutable_delete_predicate()->Swap(in.mutable_delete_predicate());
120
2
    }
121
5
    out->set_empty(in.empty());
122
5
    if (in.has_load_id()) {
123
2
        out->mutable_load_id()->CopyFrom(in.load_id());
124
2
    }
125
5
    out->set_delete_flag(in.delete_flag());
126
5
    out->set_creation_time(in.creation_time());
127
5
    if (in.has_tablet_uid()) {
128
2
        out->mutable_tablet_uid()->CopyFrom(in.tablet_uid());
129
2
    }
130
5
    out->set_num_segments(in.num_segments());
131
5
    out->set_rowset_id_v2(in.rowset_id_v2());
132
5
    out->set_resource_id(in.resource_id());
133
5
    out->set_newest_write_timestamp(in.newest_write_timestamp());
134
5
    out->mutable_segments_key_bounds()->Swap(in.mutable_segments_key_bounds());
135
5
    if (in.has_tablet_schema()) {
136
2
        doris_tablet_schema_to_cloud(out->mutable_tablet_schema(),
137
2
                                     std::move(*in.mutable_tablet_schema()));
138
2
    }
139
5
    if (in.has_schema_dict_key_list()) {
140
2
        out->mutable_schema_dict_key_list()->Swap(in.mutable_schema_dict_key_list());
141
2
    }
142
5
    out->set_txn_expiration(in.txn_expiration());
143
5
    out->set_segments_overlap_pb(in.segments_overlap_pb());
144
5
    out->set_segments_key_bounds_truncated(in.segments_key_bounds_truncated());
145
5
    out->mutable_segments_file_size()->Swap(in.mutable_segments_file_size());
146
5
    out->set_index_id(in.index_id());
147
5
    if (in.has_schema_version()) {
148
        // See cloud/src/meta-service/meta_service_schema.cpp for details.
149
2
        out->set_schema_version(in.schema_version());
150
2
    }
151
5
    out->set_enable_segments_file_size(in.enable_segments_file_size());
152
5
    out->set_has_variant_type_in_schema(in.has_variant_type_in_schema());
153
5
    out->set_enable_inverted_index_file_info(in.enable_inverted_index_file_info());
154
5
    out->set_compaction_level(in.compaction_level());
155
5
    out->mutable_inverted_index_file_info()->Swap(in.mutable_inverted_index_file_info());
156
5
    out->set_source_rowset_id(in.source_rowset_id());
157
5
    out->set_source_tablet_id(in.source_tablet_id());
158
159
5
    if (in.has___split_schema()) {
160
2
        out->mutable___split_schema()->Swap(in.mutable___split_schema());
161
2
    }
162
5
}
163
164
0
RowsetMetaPB cloud_rowset_meta_to_doris(const RowsetMetaCloudPB& in) {
165
0
    RowsetMetaPB out;
166
0
    cloud_rowset_meta_to_doris(&out, in);
167
0
    return out;
168
0
}
169
170
2
RowsetMetaPB cloud_rowset_meta_to_doris(RowsetMetaCloudPB&& in) {
171
2
    RowsetMetaPB out;
172
2
    cloud_rowset_meta_to_doris(&out, std::move(in));
173
2
    return out;
174
2
}
175
176
4
void cloud_rowset_meta_to_doris(RowsetMetaPB* out, const RowsetMetaCloudPB& in) {
177
    // ATTN: please keep the set order aligned with the definition of proto `TabletSchemaCloudPB`.
178
4
    out->set_rowset_id(in.rowset_id());
179
4
    out->set_partition_id(in.partition_id());
180
4
    out->set_tablet_id(in.tablet_id());
181
4
    out->set_txn_id(in.txn_id());
182
4
    out->set_tablet_schema_hash(in.tablet_schema_hash());
183
4
    out->set_rowset_type(in.rowset_type());
184
4
    out->set_rowset_state(in.rowset_state());
185
4
    out->set_start_version(in.start_version());
186
4
    out->set_end_version(in.end_version());
187
4
    out->set_version_hash(in.version_hash());
188
4
    out->set_num_rows(in.num_rows());
189
4
    out->set_total_disk_size(in.total_disk_size());
190
4
    out->set_data_disk_size(in.data_disk_size());
191
4
    out->set_index_disk_size(in.index_disk_size());
192
4
    out->mutable_zone_maps()->CopyFrom(in.zone_maps());
193
4
    if (in.has_delete_predicate()) {
194
1
        out->mutable_delete_predicate()->CopyFrom(in.delete_predicate());
195
1
    }
196
4
    out->set_empty(in.empty());
197
4
    if (in.has_load_id()) {
198
1
        out->mutable_load_id()->CopyFrom(in.load_id());
199
1
    }
200
4
    out->set_delete_flag(in.delete_flag());
201
4
    out->set_creation_time(in.creation_time());
202
4
    if (in.has_tablet_uid()) {
203
1
        out->mutable_tablet_uid()->CopyFrom(in.tablet_uid());
204
1
    }
205
4
    out->set_num_segments(in.num_segments());
206
4
    out->set_rowset_id_v2(in.rowset_id_v2());
207
4
    out->set_resource_id(in.resource_id());
208
4
    out->set_newest_write_timestamp(in.newest_write_timestamp());
209
4
    out->mutable_segments_key_bounds()->CopyFrom(in.segments_key_bounds());
210
4
    if (in.has_tablet_schema()) {
211
1
        cloud_tablet_schema_to_doris(out->mutable_tablet_schema(), in.tablet_schema());
212
1
    }
213
4
    if (in.has_schema_dict_key_list()) {
214
1
        out->mutable_schema_dict_key_list()->CopyFrom(in.schema_dict_key_list());
215
1
    }
216
4
    out->set_txn_expiration(in.txn_expiration());
217
4
    out->set_segments_overlap_pb(in.segments_overlap_pb());
218
4
    out->set_segments_key_bounds_truncated(in.segments_key_bounds_truncated());
219
4
    out->mutable_segments_file_size()->CopyFrom(in.segments_file_size());
220
4
    out->set_index_id(in.index_id());
221
4
    if (in.has_schema_version()) {
222
        // See cloud/src/meta-service/meta_service_schema.cpp for details.
223
1
        out->set_schema_version(in.schema_version());
224
1
    }
225
4
    out->set_enable_segments_file_size(in.enable_segments_file_size());
226
4
    out->set_has_variant_type_in_schema(in.has_variant_type_in_schema());
227
4
    out->set_enable_inverted_index_file_info(in.enable_inverted_index_file_info());
228
4
    out->set_compaction_level(in.compaction_level());
229
4
    out->mutable_inverted_index_file_info()->CopyFrom(in.inverted_index_file_info());
230
4
    out->set_source_rowset_id(in.source_rowset_id());
231
4
    out->set_source_tablet_id(in.source_tablet_id());
232
4
    if (in.has___split_schema()) {
233
1
        out->mutable___split_schema()->CopyFrom(in.__split_schema());
234
1
    }
235
4
}
236
237
5
void cloud_rowset_meta_to_doris(RowsetMetaPB* out, RowsetMetaCloudPB&& in) {
238
    // ATTN: please keep the set order aligned with the definition of proto `TabletSchemaCloudPB`.
239
5
    out->set_rowset_id(in.rowset_id());
240
5
    out->set_partition_id(in.partition_id());
241
5
    out->set_tablet_id(in.tablet_id());
242
5
    out->set_txn_id(in.txn_id());
243
5
    out->set_tablet_schema_hash(in.tablet_schema_hash());
244
5
    out->set_rowset_type(in.rowset_type());
245
5
    out->set_rowset_state(in.rowset_state());
246
5
    out->set_start_version(in.start_version());
247
5
    out->set_end_version(in.end_version());
248
5
    out->set_version_hash(in.version_hash());
249
5
    out->set_num_rows(in.num_rows());
250
5
    out->set_total_disk_size(in.total_disk_size());
251
5
    out->set_data_disk_size(in.data_disk_size());
252
5
    out->set_index_disk_size(in.index_disk_size());
253
5
    out->mutable_zone_maps()->Swap(in.mutable_zone_maps());
254
5
    if (in.has_delete_predicate()) {
255
2
        out->mutable_delete_predicate()->Swap(in.mutable_delete_predicate());
256
2
    }
257
5
    out->set_empty(in.empty());
258
5
    if (in.has_load_id()) {
259
2
        out->mutable_load_id()->CopyFrom(in.load_id());
260
2
    }
261
5
    out->set_delete_flag(in.delete_flag());
262
5
    out->set_creation_time(in.creation_time());
263
5
    if (in.has_tablet_uid()) {
264
2
        out->mutable_tablet_uid()->CopyFrom(in.tablet_uid());
265
2
    }
266
5
    out->set_num_segments(in.num_segments());
267
5
    out->set_rowset_id_v2(in.rowset_id_v2());
268
5
    out->set_resource_id(in.resource_id());
269
5
    out->set_newest_write_timestamp(in.newest_write_timestamp());
270
5
    out->mutable_segments_key_bounds()->Swap(in.mutable_segments_key_bounds());
271
5
    if (in.has_tablet_schema()) {
272
2
        cloud_tablet_schema_to_doris(out->mutable_tablet_schema(),
273
2
                                     std::move(*in.mutable_tablet_schema()));
274
2
    }
275
5
    if (in.has_schema_dict_key_list()) {
276
2
        out->mutable_schema_dict_key_list()->Swap(in.mutable_schema_dict_key_list());
277
2
    }
278
5
    out->set_txn_expiration(in.txn_expiration());
279
5
    out->set_segments_overlap_pb(in.segments_overlap_pb());
280
5
    out->set_segments_key_bounds_truncated(in.segments_key_bounds_truncated());
281
5
    out->mutable_segments_file_size()->Swap(in.mutable_segments_file_size());
282
5
    out->set_index_id(in.index_id());
283
5
    if (in.has_schema_version()) {
284
        // See cloud/src/meta-service/meta_service_schema.cpp for details.
285
2
        out->set_schema_version(in.schema_version());
286
2
    }
287
5
    out->set_enable_segments_file_size(in.enable_segments_file_size());
288
5
    out->set_has_variant_type_in_schema(in.has_variant_type_in_schema());
289
5
    out->set_enable_inverted_index_file_info(in.enable_inverted_index_file_info());
290
5
    out->set_compaction_level(in.compaction_level());
291
5
    out->mutable_inverted_index_file_info()->Swap(in.mutable_inverted_index_file_info());
292
5
    out->set_source_rowset_id(in.source_rowset_id());
293
5
    out->set_source_tablet_id(in.source_tablet_id());
294
5
    if (in.has___split_schema()) {
295
2
        out->mutable___split_schema()->Swap(in.mutable___split_schema());
296
2
    }
297
5
}
298
299
0
TabletSchemaCloudPB doris_tablet_schema_to_cloud(const TabletSchemaPB& in) {
300
0
    TabletSchemaCloudPB out;
301
0
    doris_tablet_schema_to_cloud(&out, in);
302
0
    return out;
303
0
}
304
305
2
TabletSchemaCloudPB doris_tablet_schema_to_cloud(TabletSchemaPB&& in) {
306
    // ATTN: please keep the set order aligned with the definition of proto.
307
2
    TabletSchemaCloudPB out;
308
2
    doris_tablet_schema_to_cloud(&out, std::move(in));
309
2
    return out;
310
2
}
311
312
3
void doris_tablet_schema_to_cloud(TabletSchemaCloudPB* out, const TabletSchemaPB& in) {
313
    // ATTN: please keep the set order aligned with the definition of proto.
314
3
    out->set_keys_type(in.keys_type());
315
3
    out->mutable_column()->CopyFrom(in.column());
316
3
    out->set_num_short_key_columns(in.num_short_key_columns());
317
3
    out->set_num_rows_per_row_block(in.num_rows_per_row_block());
318
3
    out->set_compress_kind(in.compress_kind());
319
3
    out->set_bf_fpp(in.bf_fpp());
320
3
    out->set_next_column_unique_id(in.next_column_unique_id());
321
3
    out->set_delete_sign_idx(in.delete_sign_idx());
322
3
    out->set_sequence_col_idx(in.sequence_col_idx());
323
3
    out->set_sort_type(in.sort_type());
324
3
    out->set_sort_col_num(in.sort_col_num());
325
3
    out->set_compression_type(in.compression_type());
326
3
    out->set_schema_version(in.schema_version());
327
3
    out->set_disable_auto_compaction(in.disable_auto_compaction());
328
3
    out->mutable_index()->CopyFrom(in.index());
329
3
    out->set_version_col_idx(in.version_col_idx());
330
3
    out->set_store_row_column(in.store_row_column());
331
3
    out->set_enable_single_replica_compaction(in.enable_single_replica_compaction());
332
3
    out->set_skip_write_index_on_load(in.skip_write_index_on_load());
333
3
    out->mutable_cluster_key_uids()->CopyFrom(in.cluster_key_uids());
334
3
    out->set_is_dynamic_schema(in.is_dynamic_schema());
335
3
    out->mutable_row_store_column_unique_ids()->CopyFrom(in.row_store_column_unique_ids());
336
3
    out->set_inverted_index_storage_format(in.inverted_index_storage_format());
337
3
    out->set_enable_variant_flatten_nested(in.enable_variant_flatten_nested());
338
3
    out->set_skip_bitmap_col_idx(in.skip_bitmap_col_idx());
339
3
    out->set_storage_page_size(in.storage_page_size());
340
3
    out->set_storage_dict_page_size(in.storage_dict_page_size());
341
3
    out->set_is_in_memory(in.is_in_memory());
342
3
    out->set_row_store_page_size(in.row_store_page_size());
343
3
}
344
345
5
void doris_tablet_schema_to_cloud(TabletSchemaCloudPB* out, TabletSchemaPB&& in) {
346
5
    out->set_keys_type(in.keys_type());
347
5
    out->mutable_column()->Swap(in.mutable_column());
348
5
    out->set_num_short_key_columns(in.num_short_key_columns());
349
5
    out->set_num_rows_per_row_block(in.num_rows_per_row_block());
350
5
    out->set_compress_kind(in.compress_kind());
351
5
    out->set_bf_fpp(in.bf_fpp());
352
5
    out->set_next_column_unique_id(in.next_column_unique_id());
353
5
    out->set_delete_sign_idx(in.delete_sign_idx());
354
5
    out->set_sequence_col_idx(in.sequence_col_idx());
355
5
    out->set_sort_type(in.sort_type());
356
5
    out->set_sort_col_num(in.sort_col_num());
357
5
    out->set_compression_type(in.compression_type());
358
5
    out->set_schema_version(in.schema_version());
359
5
    out->set_disable_auto_compaction(in.disable_auto_compaction());
360
5
    out->mutable_index()->Swap(in.mutable_index());
361
5
    out->set_version_col_idx(in.version_col_idx());
362
5
    out->set_store_row_column(in.store_row_column());
363
5
    out->set_enable_single_replica_compaction(in.enable_single_replica_compaction());
364
5
    out->set_skip_write_index_on_load(in.skip_write_index_on_load());
365
5
    out->mutable_cluster_key_uids()->Swap(in.mutable_cluster_key_uids());
366
5
    out->set_is_dynamic_schema(in.is_dynamic_schema());
367
5
    out->mutable_row_store_column_unique_ids()->Swap(in.mutable_row_store_column_unique_ids());
368
5
    out->set_inverted_index_storage_format(in.inverted_index_storage_format());
369
5
    out->set_enable_variant_flatten_nested(in.enable_variant_flatten_nested());
370
5
    out->set_skip_bitmap_col_idx(in.skip_bitmap_col_idx());
371
5
    out->set_storage_page_size(in.storage_page_size());
372
5
    out->set_storage_dict_page_size(in.storage_dict_page_size());
373
5
    out->set_is_in_memory(in.is_in_memory());
374
5
    out->set_row_store_page_size(in.row_store_page_size());
375
5
}
376
377
0
TabletSchemaPB cloud_tablet_schema_to_doris(const TabletSchemaCloudPB& in) {
378
0
    TabletSchemaPB out;
379
0
    cloud_tablet_schema_to_doris(&out, in);
380
0
    return out;
381
0
}
382
383
2
TabletSchemaPB cloud_tablet_schema_to_doris(TabletSchemaCloudPB&& in) {
384
2
    TabletSchemaPB out;
385
2
    cloud_tablet_schema_to_doris(&out, std::move(in));
386
2
    return out;
387
2
}
388
389
3
void cloud_tablet_schema_to_doris(TabletSchemaPB* out, const TabletSchemaCloudPB& in) {
390
    // ATTN: please keep the set order aligned with the definition of proto.
391
3
    out->set_keys_type(in.keys_type());
392
3
    out->mutable_column()->CopyFrom(in.column());
393
3
    out->set_num_short_key_columns(in.num_short_key_columns());
394
3
    out->set_num_rows_per_row_block(in.num_rows_per_row_block());
395
3
    out->set_compress_kind(in.compress_kind());
396
3
    out->set_bf_fpp(in.bf_fpp());
397
3
    out->set_next_column_unique_id(in.next_column_unique_id());
398
3
    out->set_delete_sign_idx(in.delete_sign_idx());
399
3
    out->set_sequence_col_idx(in.sequence_col_idx());
400
3
    out->set_sort_type(in.sort_type());
401
3
    out->set_sort_col_num(in.sort_col_num());
402
3
    out->set_compression_type(in.compression_type());
403
3
    out->set_schema_version(in.schema_version());
404
3
    out->set_disable_auto_compaction(in.disable_auto_compaction());
405
3
    out->mutable_index()->CopyFrom(in.index());
406
3
    out->set_version_col_idx(in.version_col_idx());
407
3
    out->set_store_row_column(in.store_row_column());
408
3
    out->set_enable_single_replica_compaction(in.enable_single_replica_compaction());
409
3
    out->set_skip_write_index_on_load(in.skip_write_index_on_load());
410
3
    out->mutable_cluster_key_uids()->CopyFrom(in.cluster_key_uids());
411
3
    out->set_is_dynamic_schema(in.is_dynamic_schema());
412
3
    out->mutable_row_store_column_unique_ids()->CopyFrom(in.row_store_column_unique_ids());
413
3
    out->set_inverted_index_storage_format(in.inverted_index_storage_format());
414
3
    out->set_enable_variant_flatten_nested(in.enable_variant_flatten_nested());
415
3
    out->set_skip_bitmap_col_idx(in.skip_bitmap_col_idx());
416
3
    out->set_storage_page_size(in.storage_page_size());
417
3
    out->set_storage_dict_page_size(in.storage_dict_page_size());
418
3
    out->set_is_in_memory(in.is_in_memory());
419
3
    out->set_row_store_page_size(in.row_store_page_size());
420
3
}
421
422
5
void cloud_tablet_schema_to_doris(TabletSchemaPB* out, TabletSchemaCloudPB&& in) {
423
    // ATTN: please keep the set order aligned with the definition of proto.
424
5
    out->set_keys_type(in.keys_type());
425
5
    out->mutable_column()->Swap(in.mutable_column());
426
5
    out->set_num_short_key_columns(in.num_short_key_columns());
427
5
    out->set_num_rows_per_row_block(in.num_rows_per_row_block());
428
5
    out->set_compress_kind(in.compress_kind());
429
5
    out->set_bf_fpp(in.bf_fpp());
430
5
    out->set_next_column_unique_id(in.next_column_unique_id());
431
5
    out->set_delete_sign_idx(in.delete_sign_idx());
432
5
    out->set_sequence_col_idx(in.sequence_col_idx());
433
5
    out->set_sort_type(in.sort_type());
434
5
    out->set_sort_col_num(in.sort_col_num());
435
5
    out->set_compression_type(in.compression_type());
436
5
    out->set_schema_version(in.schema_version());
437
5
    out->set_disable_auto_compaction(in.disable_auto_compaction());
438
5
    out->mutable_index()->Swap(in.mutable_index());
439
5
    out->set_version_col_idx(in.version_col_idx());
440
5
    out->set_store_row_column(in.store_row_column());
441
5
    out->set_enable_single_replica_compaction(in.enable_single_replica_compaction());
442
5
    out->set_skip_write_index_on_load(in.skip_write_index_on_load());
443
5
    out->mutable_cluster_key_uids()->Swap(in.mutable_cluster_key_uids());
444
5
    out->set_is_dynamic_schema(in.is_dynamic_schema());
445
5
    out->mutable_row_store_column_unique_ids()->Swap(in.mutable_row_store_column_unique_ids());
446
5
    out->set_inverted_index_storage_format(in.inverted_index_storage_format());
447
5
    out->set_enable_variant_flatten_nested(in.enable_variant_flatten_nested());
448
5
    out->set_skip_bitmap_col_idx(in.skip_bitmap_col_idx());
449
5
    out->set_storage_page_size(in.storage_page_size());
450
5
    out->set_storage_dict_page_size(in.storage_dict_page_size());
451
5
    out->set_is_in_memory(in.is_in_memory());
452
5
    out->set_row_store_page_size(in.row_store_page_size());
453
5
}
454
455
0
TabletMetaCloudPB doris_tablet_meta_to_cloud(const TabletMetaPB& in) {
456
0
    TabletMetaCloudPB out;
457
0
    doris_tablet_meta_to_cloud(&out, in);
458
0
    return out;
459
0
}
460
461
1
TabletMetaCloudPB doris_tablet_meta_to_cloud(TabletMetaPB&& in) {
462
1
    TabletMetaCloudPB out;
463
1
    doris_tablet_meta_to_cloud(&out, std::move(in));
464
1
    return out;
465
1
}
466
467
1
void doris_tablet_meta_to_cloud(TabletMetaCloudPB* out, const TabletMetaPB& in) {
468
    // ATTN: please keep the set order aligned with the definition of proto.
469
1
    out->set_table_id(in.table_id());
470
1
    out->set_partition_id(in.partition_id());
471
1
    out->set_tablet_id(in.tablet_id());
472
1
    out->set_schema_hash(in.schema_hash());
473
1
    out->set_shard_id(in.shard_id());
474
1
    out->set_creation_time(in.creation_time());
475
1
    out->set_cumulative_layer_point(in.cumulative_layer_point());
476
1
    out->set_tablet_state(in.tablet_state());
477
1
    if (in.has_schema()) {
478
1
        doris_tablet_schema_to_cloud(out->mutable_schema(), in.schema());
479
1
    }
480
1
    if (in.rs_metas_size()) {
481
1
        out->mutable_rs_metas()->Reserve(in.rs_metas_size());
482
1
        for (const auto& rs_meta : in.rs_metas()) {
483
1
            doris_rowset_meta_to_cloud(out->add_rs_metas(), rs_meta);
484
1
        }
485
1
    }
486
    // ATTN: inc_rs_metas are deprecated, here is for conversion check
487
1
    if (in.inc_rs_metas_size()) {
488
1
        out->mutable_inc_rs_metas()->Reserve(in.inc_rs_metas_size());
489
1
        for (const auto& rs_meta : in.inc_rs_metas()) {
490
1
            doris_rowset_meta_to_cloud(out->add_inc_rs_metas(), rs_meta);
491
1
        }
492
1
    }
493
1
    if (in.has_alter_task()) {
494
1
        out->mutable_alter_task()->CopyFrom(in.alter_task());
495
1
    }
496
1
    out->set_in_restore_mode(in.in_restore_mode());
497
1
    out->mutable_tablet_uid()->CopyFrom(in.tablet_uid());
498
1
    out->set_end_rowset_id(in.end_rowset_id());
499
1
    out->set_preferred_rowset_type(in.preferred_rowset_type());
500
1
    out->set_tablet_type(in.tablet_type());
501
1
    if (in.stale_rs_metas_size()) {
502
1
        out->mutable_stale_rs_metas()->Reserve(in.stale_rs_metas_size());
503
1
        for (const auto& rs_meta : in.stale_rs_metas()) {
504
1
            doris_rowset_meta_to_cloud(out->add_stale_rs_metas(), rs_meta);
505
1
        }
506
1
    }
507
1
    out->set_replica_id(in.replica_id());
508
1
    if (in.has_delete_bitmap()) {
509
1
        out->mutable_delete_bitmap()->CopyFrom(in.delete_bitmap());
510
1
    }
511
1
    out->set_enable_unique_key_merge_on_write(in.enable_unique_key_merge_on_write());
512
1
    out->set_storage_policy_id(in.storage_policy_id());
513
1
    out->mutable_cooldown_meta_id()->CopyFrom(in.cooldown_meta_id());
514
1
    if (in.has_binlog_config()) {
515
1
        out->mutable_binlog_config()->CopyFrom(in.binlog_config());
516
1
    }
517
1
    out->set_compaction_policy(in.compaction_policy());
518
1
    out->set_time_series_compaction_goal_size_mbytes(in.time_series_compaction_goal_size_mbytes());
519
1
    out->set_time_series_compaction_file_count_threshold(
520
1
            in.time_series_compaction_file_count_threshold());
521
1
    out->set_time_series_compaction_time_threshold_seconds(
522
1
            in.time_series_compaction_time_threshold_seconds());
523
1
    out->set_time_series_compaction_empty_rowsets_threshold(
524
1
            in.time_series_compaction_empty_rowsets_threshold());
525
1
    out->set_time_series_compaction_level_threshold(in.time_series_compaction_level_threshold());
526
1
    out->set_index_id(in.index_id());
527
1
    out->set_is_in_memory(in.is_in_memory());
528
1
    out->set_is_persistent(in.is_persistent());
529
1
    out->set_table_name(in.table_name());
530
1
    out->set_ttl_seconds(in.ttl_seconds());
531
1
    if (in.has_schema_version()) {
532
1
        out->set_schema_version(in.schema_version());
533
1
    }
534
1
}
535
536
1
void doris_tablet_meta_to_cloud(TabletMetaCloudPB* out, TabletMetaPB&& in) {
537
    // ATTN: please keep the set order aligned with the definition of proto.
538
1
    out->set_table_id(in.table_id());
539
1
    out->set_partition_id(in.partition_id());
540
1
    out->set_tablet_id(in.tablet_id());
541
1
    out->set_schema_hash(in.schema_hash());
542
1
    out->set_shard_id(in.shard_id());
543
1
    out->set_creation_time(in.creation_time());
544
1
    out->set_cumulative_layer_point(in.cumulative_layer_point());
545
1
    out->set_tablet_state(in.tablet_state());
546
1
    if (in.has_schema()) {
547
1
        doris_tablet_schema_to_cloud(out->mutable_schema(), std::move(*in.mutable_schema()));
548
1
    }
549
1
    if (in.rs_metas_size()) {
550
1
        int32_t rs_metas_size = in.rs_metas_size();
551
1
        out->mutable_rs_metas()->Reserve(rs_metas_size);
552
2
        for (int i = 0; i < rs_metas_size; ++i) {
553
1
            doris_rowset_meta_to_cloud(out->add_rs_metas(), std::move(*in.mutable_rs_metas(i)));
554
1
        }
555
1
    }
556
    // ATTN: inc_rs_metas are deprecated, here is for conversion check
557
1
    if (in.inc_rs_metas_size()) {
558
1
        int rs_metas_size = in.inc_rs_metas_size();
559
1
        out->mutable_inc_rs_metas()->Reserve(rs_metas_size);
560
2
        for (int i = 0; i < rs_metas_size; ++i) {
561
1
            doris_rowset_meta_to_cloud(out->add_inc_rs_metas(),
562
1
                                       std::move(*in.mutable_inc_rs_metas(i)));
563
1
        }
564
1
    }
565
1
    if (in.has_alter_task()) {
566
1
        out->mutable_alter_task()->Swap(in.mutable_alter_task());
567
1
    }
568
1
    out->set_in_restore_mode(in.in_restore_mode());
569
1
    out->mutable_tablet_uid()->CopyFrom(in.tablet_uid());
570
1
    out->set_end_rowset_id(in.end_rowset_id());
571
1
    out->set_preferred_rowset_type(in.preferred_rowset_type());
572
1
    out->set_tablet_type(in.tablet_type());
573
1
    if (in.stale_rs_metas_size()) {
574
1
        int rs_metas_size = in.stale_rs_metas_size();
575
1
        out->mutable_stale_rs_metas()->Reserve(rs_metas_size);
576
2
        for (int i = 0; i < rs_metas_size; i++) {
577
1
            doris_rowset_meta_to_cloud(out->add_stale_rs_metas(),
578
1
                                       std::move(*in.mutable_stale_rs_metas(i)));
579
1
        }
580
1
    }
581
1
    out->set_replica_id(in.replica_id());
582
1
    if (in.has_delete_bitmap()) {
583
1
        out->mutable_delete_bitmap()->Swap(in.mutable_delete_bitmap());
584
1
    }
585
1
    out->set_enable_unique_key_merge_on_write(in.enable_unique_key_merge_on_write());
586
1
    out->set_storage_policy_id(in.storage_policy_id());
587
1
    out->mutable_cooldown_meta_id()->CopyFrom(in.cooldown_meta_id());
588
1
    if (in.has_binlog_config()) {
589
1
        out->mutable_binlog_config()->Swap(in.mutable_binlog_config());
590
1
    }
591
1
    out->set_compaction_policy(in.compaction_policy());
592
1
    out->set_time_series_compaction_goal_size_mbytes(in.time_series_compaction_goal_size_mbytes());
593
1
    out->set_time_series_compaction_file_count_threshold(
594
1
            in.time_series_compaction_file_count_threshold());
595
1
    out->set_time_series_compaction_time_threshold_seconds(
596
1
            in.time_series_compaction_time_threshold_seconds());
597
1
    out->set_time_series_compaction_empty_rowsets_threshold(
598
1
            in.time_series_compaction_empty_rowsets_threshold());
599
1
    out->set_time_series_compaction_level_threshold(in.time_series_compaction_level_threshold());
600
1
    out->set_index_id(in.index_id());
601
1
    out->set_is_in_memory(in.is_in_memory());
602
1
    out->set_is_persistent(in.is_persistent());
603
1
    out->set_table_name(in.table_name());
604
1
    out->set_ttl_seconds(in.ttl_seconds());
605
1
    if (in.has_schema_version()) {
606
1
        out->set_schema_version(in.schema_version());
607
1
    }
608
1
}
609
610
0
TabletMetaPB cloud_tablet_meta_to_doris(const TabletMetaCloudPB& in) {
611
0
    TabletMetaPB out;
612
0
    cloud_tablet_meta_to_doris(&out, in);
613
0
    return out;
614
0
}
615
616
1
TabletMetaPB cloud_tablet_meta_to_doris(TabletMetaCloudPB&& in) {
617
1
    TabletMetaPB out;
618
1
    cloud_tablet_meta_to_doris(&out, std::move(in));
619
1
    return out;
620
1
}
621
622
1
void cloud_tablet_meta_to_doris(TabletMetaPB* out, const TabletMetaCloudPB& in) {
623
    // ATTN: please keep the set order aligned with the definition of proto.
624
1
    out->set_table_id(in.table_id());
625
1
    out->set_partition_id(in.partition_id());
626
1
    out->set_tablet_id(in.tablet_id());
627
1
    out->set_schema_hash(in.schema_hash());
628
1
    out->set_shard_id(in.shard_id());
629
1
    out->set_creation_time(in.creation_time());
630
1
    out->set_cumulative_layer_point(in.cumulative_layer_point());
631
1
    out->set_tablet_state(in.tablet_state());
632
1
    if (in.has_schema()) {
633
1
        cloud_tablet_schema_to_doris(out->mutable_schema(), in.schema());
634
1
    }
635
1
    if (in.rs_metas_size()) {
636
1
        out->mutable_rs_metas()->Reserve(in.rs_metas_size());
637
1
        for (const auto& rs_meta : in.rs_metas()) {
638
1
            cloud_rowset_meta_to_doris(out->add_rs_metas(), rs_meta);
639
1
        }
640
1
    }
641
    // ATTN: inc_rs_metas are deprecated, here is for conversion check
642
1
    if (in.inc_rs_metas_size()) {
643
1
        out->mutable_inc_rs_metas()->Reserve(in.inc_rs_metas_size());
644
1
        for (const auto& rs_meta : in.inc_rs_metas()) {
645
1
            cloud_rowset_meta_to_doris(out->add_inc_rs_metas(), rs_meta);
646
1
        }
647
1
    }
648
1
    if (in.has_alter_task()) {
649
1
        out->mutable_alter_task()->CopyFrom(in.alter_task());
650
1
    }
651
1
    out->set_in_restore_mode(in.in_restore_mode());
652
1
    out->mutable_tablet_uid()->CopyFrom(in.tablet_uid());
653
1
    out->set_end_rowset_id(in.end_rowset_id());
654
1
    out->set_preferred_rowset_type(in.preferred_rowset_type());
655
1
    out->set_tablet_type(in.tablet_type());
656
1
    if (in.stale_rs_metas_size()) {
657
1
        out->mutable_stale_rs_metas()->Reserve(in.stale_rs_metas_size());
658
1
        for (const auto& rs_meta : in.stale_rs_metas()) {
659
1
            cloud_rowset_meta_to_doris(out->add_stale_rs_metas(), rs_meta);
660
1
        }
661
1
    }
662
1
    out->set_replica_id(in.replica_id());
663
1
    if (in.has_delete_bitmap()) {
664
1
        out->mutable_delete_bitmap()->CopyFrom(in.delete_bitmap());
665
1
    }
666
1
    out->set_enable_unique_key_merge_on_write(in.enable_unique_key_merge_on_write());
667
1
    out->set_storage_policy_id(in.storage_policy_id());
668
1
    out->mutable_cooldown_meta_id()->CopyFrom(in.cooldown_meta_id());
669
1
    if (in.has_binlog_config()) {
670
1
        out->mutable_binlog_config()->CopyFrom(in.binlog_config());
671
1
    }
672
1
    out->set_compaction_policy(in.compaction_policy());
673
1
    out->set_time_series_compaction_goal_size_mbytes(in.time_series_compaction_goal_size_mbytes());
674
1
    out->set_time_series_compaction_file_count_threshold(
675
1
            in.time_series_compaction_file_count_threshold());
676
1
    out->set_time_series_compaction_time_threshold_seconds(
677
1
            in.time_series_compaction_time_threshold_seconds());
678
1
    out->set_time_series_compaction_empty_rowsets_threshold(
679
1
            in.time_series_compaction_empty_rowsets_threshold());
680
1
    out->set_time_series_compaction_level_threshold(in.time_series_compaction_level_threshold());
681
1
    out->set_index_id(in.index_id());
682
1
    out->set_is_in_memory(in.is_in_memory());
683
1
    out->set_is_persistent(in.is_persistent());
684
1
    out->set_table_name(in.table_name());
685
1
    out->set_ttl_seconds(in.ttl_seconds());
686
1
    if (in.has_schema_version()) {
687
1
        out->set_schema_version(in.schema_version());
688
1
    }
689
1
}
690
691
1
void cloud_tablet_meta_to_doris(TabletMetaPB* out, TabletMetaCloudPB&& in) {
692
    // ATTN: please keep the set order aligned with the definition of proto.
693
1
    out->set_table_id(in.table_id());
694
1
    out->set_partition_id(in.partition_id());
695
1
    out->set_tablet_id(in.tablet_id());
696
1
    out->set_schema_hash(in.schema_hash());
697
1
    out->set_shard_id(in.shard_id());
698
1
    out->set_creation_time(in.creation_time());
699
1
    out->set_cumulative_layer_point(in.cumulative_layer_point());
700
1
    out->set_tablet_state(in.tablet_state());
701
1
    if (in.has_schema()) {
702
1
        cloud_tablet_schema_to_doris(out->mutable_schema(), std::move(*in.mutable_schema()));
703
1
    }
704
1
    if (in.rs_metas_size()) {
705
1
        int rs_metas_size = in.rs_metas_size();
706
1
        out->mutable_rs_metas()->Reserve(rs_metas_size);
707
2
        for (int i = 0; i < rs_metas_size; ++i) {
708
1
            cloud_rowset_meta_to_doris(out->add_rs_metas(), std::move(*in.mutable_rs_metas(i)));
709
1
        }
710
1
    }
711
    // ATTN: inc_rs_metas are deprecated, here is for conversion check
712
1
    if (in.inc_rs_metas_size()) {
713
1
        int rs_metas_size = in.inc_rs_metas_size();
714
1
        out->mutable_inc_rs_metas()->Reserve(rs_metas_size);
715
2
        for (int i = 0; i < rs_metas_size; i++) {
716
1
            cloud_rowset_meta_to_doris(out->add_inc_rs_metas(),
717
1
                                       std::move(*in.mutable_inc_rs_metas(i)));
718
1
        }
719
1
    }
720
1
    if (in.has_alter_task()) {
721
1
        out->mutable_alter_task()->Swap(in.mutable_alter_task());
722
1
    }
723
1
    out->set_in_restore_mode(in.in_restore_mode());
724
1
    out->mutable_tablet_uid()->CopyFrom(in.tablet_uid());
725
1
    out->set_end_rowset_id(in.end_rowset_id());
726
1
    out->set_preferred_rowset_type(in.preferred_rowset_type());
727
1
    out->set_tablet_type(in.tablet_type());
728
1
    if (in.stale_rs_metas_size()) {
729
1
        int rs_metas_size = in.stale_rs_metas_size();
730
1
        out->mutable_stale_rs_metas()->Reserve(rs_metas_size);
731
2
        for (int i = 0; i < rs_metas_size; i++) {
732
1
            cloud_rowset_meta_to_doris(out->add_stale_rs_metas(),
733
1
                                       std::move(*in.mutable_stale_rs_metas(i)));
734
1
        }
735
1
    }
736
1
    out->set_replica_id(in.replica_id());
737
1
    if (in.has_delete_bitmap()) {
738
1
        out->mutable_delete_bitmap()->Swap(in.mutable_delete_bitmap());
739
1
    }
740
1
    out->set_enable_unique_key_merge_on_write(in.enable_unique_key_merge_on_write());
741
1
    out->set_storage_policy_id(in.storage_policy_id());
742
1
    out->mutable_cooldown_meta_id()->CopyFrom(in.cooldown_meta_id());
743
1
    if (in.has_binlog_config()) {
744
1
        out->mutable_binlog_config()->Swap(in.mutable_binlog_config());
745
1
    }
746
1
    out->set_compaction_policy(in.compaction_policy());
747
1
    out->set_time_series_compaction_goal_size_mbytes(in.time_series_compaction_goal_size_mbytes());
748
1
    out->set_time_series_compaction_file_count_threshold(
749
1
            in.time_series_compaction_file_count_threshold());
750
1
    out->set_time_series_compaction_time_threshold_seconds(
751
1
            in.time_series_compaction_time_threshold_seconds());
752
1
    out->set_time_series_compaction_empty_rowsets_threshold(
753
1
            in.time_series_compaction_empty_rowsets_threshold());
754
1
    out->set_time_series_compaction_level_threshold(in.time_series_compaction_level_threshold());
755
1
    out->set_index_id(in.index_id());
756
1
    out->set_is_in_memory(in.is_in_memory());
757
1
    out->set_is_persistent(in.is_persistent());
758
1
    out->set_table_name(in.table_name());
759
1
    out->set_ttl_seconds(in.ttl_seconds());
760
1
    if (in.has_schema_version()) {
761
1
        out->set_schema_version(in.schema_version());
762
1
    }
763
1
}
764
#include "common/compile_check_end.h"
765
766
} // namespace doris::cloud