Coverage Report

Created: 2025-12-02 15:08

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