Coverage Report

Created: 2026-07-12 14:58

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
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 <gen_cpp/olap_file.pb.h>
21
22
#include <utility>
23
24
#include "common/logging.h"
25
26
namespace doris::cloud {
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
116
RowsetMetaCloudPB doris_rowset_meta_to_cloud(RowsetMetaPB&& in) {
35
116
    RowsetMetaCloudPB out;
36
116
    doris_rowset_meta_to_cloud(&out, std::move(in));
37
116
    return out;
38
116
}
39
40
10
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
10
    out->set_rowset_id(in.rowset_id());
43
10
    out->set_partition_id(in.partition_id());
44
10
    out->set_tablet_id(in.tablet_id());
45
10
    out->set_txn_id(in.txn_id());
46
10
    out->set_tablet_schema_hash(in.tablet_schema_hash());
47
10
    out->set_rowset_type(in.rowset_type());
48
10
    out->set_rowset_state(in.rowset_state());
49
10
    out->set_start_version(in.start_version());
50
10
    out->set_end_version(in.end_version());
51
10
    out->set_version_hash(in.version_hash());
52
10
    out->set_num_rows(in.num_rows());
53
10
    out->set_total_disk_size(in.total_disk_size());
54
10
    out->set_data_disk_size(in.data_disk_size());
55
10
    out->set_index_disk_size(in.index_disk_size());
56
10
    out->mutable_zone_maps()->CopyFrom(in.zone_maps());
57
10
    if (in.has_delete_predicate()) {
58
2
        out->mutable_delete_predicate()->CopyFrom(in.delete_predicate());
59
2
    }
60
10
    out->set_empty(in.empty());
61
10
    if (in.has_load_id()) {
62
2
        out->mutable_load_id()->CopyFrom(in.load_id());
63
2
    }
64
10
    out->set_delete_flag(in.delete_flag());
65
10
    out->set_creation_time(in.creation_time());
66
10
    if (in.has_tablet_uid()) {
67
2
        out->mutable_tablet_uid()->CopyFrom(in.tablet_uid());
68
2
    }
69
10
    out->set_num_segments(in.num_segments());
70
10
    out->set_rowset_id_v2(in.rowset_id_v2());
71
10
    out->set_resource_id(in.resource_id());
72
10
    out->set_newest_write_timestamp(in.newest_write_timestamp());
73
10
    out->mutable_segments_key_bounds()->CopyFrom(in.segments_key_bounds());
74
10
    if (in.has_tablet_schema()) {
75
2
        doris_tablet_schema_to_cloud(out->mutable_tablet_schema(), in.tablet_schema());
76
2
    }
77
10
    if (in.has_schema_dict_key_list()) {
78
2
        out->mutable_schema_dict_key_list()->CopyFrom(in.schema_dict_key_list());
79
2
    }
80
10
    out->set_txn_expiration(in.txn_expiration());
81
10
    out->set_segments_overlap_pb(in.segments_overlap_pb());
82
10
    if (in.has_segments_key_bounds_truncated()) {
83
2
        out->set_segments_key_bounds_truncated(in.segments_key_bounds_truncated());
84
2
    }
85
10
    if (in.has_segments_key_bounds_aggregated()) {
86
2
        out->set_segments_key_bounds_aggregated(in.segments_key_bounds_aggregated());
87
2
    }
88
10
    out->mutable_num_segment_rows()->CopyFrom(in.num_segment_rows());
89
10
    out->mutable_segments_file_size()->CopyFrom(in.segments_file_size());
90
10
    out->set_index_id(in.index_id());
91
10
    if (in.has_schema_version()) {
92
        // See cloud/src/meta-service/meta_service_schema.cpp for details.
93
2
        out->set_schema_version(in.schema_version());
94
2
    }
95
10
    out->set_enable_segments_file_size(in.enable_segments_file_size());
96
10
    out->set_has_variant_type_in_schema(in.has_variant_type_in_schema());
97
10
    out->set_enable_inverted_index_file_info(in.enable_inverted_index_file_info());
98
10
    out->set_compaction_level(in.compaction_level());
99
10
    out->mutable_inverted_index_file_info()->CopyFrom(in.inverted_index_file_info());
100
10
    out->set_source_rowset_id(in.source_rowset_id());
101
10
    out->set_source_tablet_id(in.source_tablet_id());
102
10
    if (in.has___split_schema()) {
103
2
        out->mutable___split_schema()->CopyFrom(in.__split_schema());
104
2
    }
105
10
    if (in.has_visible_ts_ms()) {
106
2
        out->set_visible_ts_ms(in.visible_ts_ms());
107
2
    }
108
10
    if (in.has_reference_instance_id()) {
109
2
        out->set_reference_instance_id(in.reference_instance_id());
110
2
    }
111
10
    auto* slice_locations = out->mutable_packed_slice_locations();
112
10
    slice_locations->clear();
113
10
    slice_locations->insert(in.packed_slice_locations().begin(), in.packed_slice_locations().end());
114
10
    if (in.has_is_recycled()) {
115
2
        out->set_is_recycled(in.is_recycled());
116
2
    }
117
10
    if (in.has_job_id()) {
118
2
        out->set_job_id(in.job_id());
119
2
    }
120
10
    if (in.has_commit_tso()) {
121
2
        out->mutable_commit_tso()->CopyFrom(in.commit_tso());
122
2
    }
123
10
    if (in.has_is_row_binlog()) {
124
2
        out->set_is_row_binlog(in.is_row_binlog());
125
2
    }
126
10
    if (in.has_db_id()) {
127
2
        out->set_db_id(in.db_id());
128
2
    }
129
10
    if (in.has_table_id()) {
130
2
        out->set_table_id(in.table_id());
131
2
    }
132
10
}
133
134
124
void doris_rowset_meta_to_cloud(RowsetMetaCloudPB* out, RowsetMetaPB&& in) {
135
    // ATTN: please keep the set order aligned with the definition of proto `TabletSchemaCloudPB`.
136
124
    out->set_rowset_id(in.rowset_id());
137
124
    out->set_partition_id(in.partition_id());
138
124
    out->set_tablet_id(in.tablet_id());
139
124
    out->set_txn_id(in.txn_id());
140
124
    out->set_tablet_schema_hash(in.tablet_schema_hash());
141
124
    out->set_rowset_type(in.rowset_type());
142
124
    out->set_rowset_state(in.rowset_state());
143
124
    out->set_start_version(in.start_version());
144
124
    out->set_end_version(in.end_version());
145
124
    out->set_version_hash(in.version_hash());
146
124
    out->set_num_rows(in.num_rows());
147
124
    out->set_total_disk_size(in.total_disk_size());
148
124
    out->set_data_disk_size(in.data_disk_size());
149
124
    out->set_index_disk_size(in.index_disk_size());
150
124
    out->mutable_zone_maps()->Swap(in.mutable_zone_maps());
151
124
    if (in.has_delete_predicate()) {
152
4
        out->mutable_delete_predicate()->Swap(in.mutable_delete_predicate());
153
4
    }
154
124
    out->set_empty(in.empty());
155
124
    if (in.has_load_id()) {
156
8
        out->mutable_load_id()->CopyFrom(in.load_id());
157
8
    }
158
124
    out->set_delete_flag(in.delete_flag());
159
124
    out->set_creation_time(in.creation_time());
160
124
    if (in.has_tablet_uid()) {
161
4
        out->mutable_tablet_uid()->CopyFrom(in.tablet_uid());
162
4
    }
163
124
    out->set_num_segments(in.num_segments());
164
124
    out->set_rowset_id_v2(in.rowset_id_v2());
165
124
    out->set_resource_id(in.resource_id());
166
124
    out->set_newest_write_timestamp(in.newest_write_timestamp());
167
124
    out->mutable_segments_key_bounds()->Swap(in.mutable_segments_key_bounds());
168
124
    if (in.has_tablet_schema()) {
169
4
        doris_tablet_schema_to_cloud(out->mutable_tablet_schema(),
170
4
                                     std::move(*in.mutable_tablet_schema()));
171
4
    }
172
124
    if (in.has_schema_dict_key_list()) {
173
4
        out->mutable_schema_dict_key_list()->Swap(in.mutable_schema_dict_key_list());
174
4
    }
175
124
    out->set_txn_expiration(in.txn_expiration());
176
124
    out->set_segments_overlap_pb(in.segments_overlap_pb());
177
124
    if (in.has_segments_key_bounds_truncated()) {
178
4
        out->set_segments_key_bounds_truncated(in.segments_key_bounds_truncated());
179
4
    }
180
124
    if (in.has_segments_key_bounds_aggregated()) {
181
4
        out->set_segments_key_bounds_aggregated(in.segments_key_bounds_aggregated());
182
4
    }
183
124
    out->mutable_num_segment_rows()->Swap(in.mutable_num_segment_rows());
184
124
    out->mutable_segments_file_size()->Swap(in.mutable_segments_file_size());
185
124
    out->set_index_id(in.index_id());
186
124
    if (in.has_schema_version()) {
187
        // See cloud/src/meta-service/meta_service_schema.cpp for details.
188
4
        out->set_schema_version(in.schema_version());
189
4
    }
190
124
    out->set_enable_segments_file_size(in.enable_segments_file_size());
191
124
    out->set_has_variant_type_in_schema(in.has_variant_type_in_schema());
192
124
    out->set_enable_inverted_index_file_info(in.enable_inverted_index_file_info());
193
124
    out->set_compaction_level(in.compaction_level());
194
124
    out->mutable_inverted_index_file_info()->Swap(in.mutable_inverted_index_file_info());
195
124
    out->set_source_rowset_id(in.source_rowset_id());
196
124
    out->set_source_tablet_id(in.source_tablet_id());
197
198
124
    if (in.has___split_schema()) {
199
4
        out->mutable___split_schema()->Swap(in.mutable___split_schema());
200
4
    }
201
124
    if (in.has_visible_ts_ms()) {
202
4
        out->set_visible_ts_ms(in.visible_ts_ms());
203
4
    }
204
124
    if (in.has_reference_instance_id()) {
205
4
        out->set_reference_instance_id(in.reference_instance_id());
206
4
    }
207
124
    auto* slice_locations = out->mutable_packed_slice_locations();
208
124
    slice_locations->clear();
209
124
    slice_locations->insert(in.packed_slice_locations().begin(), in.packed_slice_locations().end());
210
124
    if (in.has_is_recycled()) {
211
4
        out->set_is_recycled(in.is_recycled());
212
4
    }
213
124
    if (in.has_job_id()) {
214
4
        out->set_job_id(in.job_id());
215
4
    }
216
124
    if (in.has_commit_tso()) {
217
4
        out->mutable_commit_tso()->CopyFrom(in.commit_tso());
218
4
    }
219
124
    if (in.has_is_row_binlog()) {
220
4
        out->set_is_row_binlog(in.is_row_binlog());
221
4
    }
222
124
    if (in.has_db_id()) {
223
4
        out->set_db_id(in.db_id());
224
4
    }
225
124
    if (in.has_table_id()) {
226
4
        out->set_table_id(in.table_id());
227
4
    }
228
124
}
229
230
0
RowsetMetaPB cloud_rowset_meta_to_doris(const RowsetMetaCloudPB& in) {
231
0
    RowsetMetaPB out;
232
0
    cloud_rowset_meta_to_doris(&out, in);
233
0
    return out;
234
0
}
235
236
4
RowsetMetaPB cloud_rowset_meta_to_doris(RowsetMetaCloudPB&& in) {
237
4
    RowsetMetaPB out;
238
4
    cloud_rowset_meta_to_doris(&out, std::move(in));
239
4
    return out;
240
4
}
241
242
10
void cloud_rowset_meta_to_doris(RowsetMetaPB* out, const RowsetMetaCloudPB& in) {
243
    // ATTN: please keep the set order aligned with the definition of proto `TabletSchemaCloudPB`.
244
10
    out->set_rowset_id(in.rowset_id());
245
10
    out->set_partition_id(in.partition_id());
246
10
    out->set_tablet_id(in.tablet_id());
247
10
    out->set_txn_id(in.txn_id());
248
10
    out->set_tablet_schema_hash(in.tablet_schema_hash());
249
10
    out->set_rowset_type(in.rowset_type());
250
10
    out->set_rowset_state(in.rowset_state());
251
10
    out->set_start_version(in.start_version());
252
10
    out->set_end_version(in.end_version());
253
10
    out->set_version_hash(in.version_hash());
254
10
    out->set_num_rows(in.num_rows());
255
10
    out->set_total_disk_size(in.total_disk_size());
256
10
    out->set_data_disk_size(in.data_disk_size());
257
10
    out->set_index_disk_size(in.index_disk_size());
258
10
    out->mutable_zone_maps()->CopyFrom(in.zone_maps());
259
10
    if (in.has_delete_predicate()) {
260
2
        out->mutable_delete_predicate()->CopyFrom(in.delete_predicate());
261
2
    }
262
10
    out->set_empty(in.empty());
263
10
    if (in.has_load_id()) {
264
2
        out->mutable_load_id()->CopyFrom(in.load_id());
265
2
    }
266
10
    out->set_delete_flag(in.delete_flag());
267
10
    out->set_creation_time(in.creation_time());
268
10
    if (in.has_tablet_uid()) {
269
2
        out->mutable_tablet_uid()->CopyFrom(in.tablet_uid());
270
2
    }
271
10
    out->set_num_segments(in.num_segments());
272
10
    out->set_rowset_id_v2(in.rowset_id_v2());
273
10
    out->set_resource_id(in.resource_id());
274
10
    out->set_newest_write_timestamp(in.newest_write_timestamp());
275
10
    out->mutable_segments_key_bounds()->CopyFrom(in.segments_key_bounds());
276
10
    if (in.has_tablet_schema()) {
277
2
        cloud_tablet_schema_to_doris(out->mutable_tablet_schema(), in.tablet_schema());
278
2
    }
279
10
    if (in.has_schema_dict_key_list()) {
280
2
        out->mutable_schema_dict_key_list()->CopyFrom(in.schema_dict_key_list());
281
2
    }
282
10
    out->set_txn_expiration(in.txn_expiration());
283
10
    out->set_segments_overlap_pb(in.segments_overlap_pb());
284
10
    if (in.has_segments_key_bounds_truncated()) {
285
2
        out->set_segments_key_bounds_truncated(in.segments_key_bounds_truncated());
286
2
    }
287
10
    if (in.has_segments_key_bounds_aggregated()) {
288
2
        out->set_segments_key_bounds_aggregated(in.segments_key_bounds_aggregated());
289
2
    }
290
10
    out->mutable_num_segment_rows()->CopyFrom(in.num_segment_rows());
291
10
    out->mutable_segments_file_size()->CopyFrom(in.segments_file_size());
292
10
    out->set_index_id(in.index_id());
293
10
    if (in.has_schema_version()) {
294
        // See cloud/src/meta-service/meta_service_schema.cpp for details.
295
2
        out->set_schema_version(in.schema_version());
296
2
    }
297
10
    out->set_enable_segments_file_size(in.enable_segments_file_size());
298
10
    out->set_has_variant_type_in_schema(in.has_variant_type_in_schema());
299
10
    out->set_enable_inverted_index_file_info(in.enable_inverted_index_file_info());
300
10
    out->set_compaction_level(in.compaction_level());
301
10
    out->mutable_inverted_index_file_info()->CopyFrom(in.inverted_index_file_info());
302
10
    out->set_source_rowset_id(in.source_rowset_id());
303
10
    out->set_source_tablet_id(in.source_tablet_id());
304
10
    if (in.has___split_schema()) {
305
2
        out->mutable___split_schema()->CopyFrom(in.__split_schema());
306
2
    }
307
10
    if (in.has_visible_ts_ms()) {
308
2
        out->set_visible_ts_ms(in.visible_ts_ms());
309
2
    }
310
10
    if (in.has_reference_instance_id()) {
311
2
        out->set_reference_instance_id(in.reference_instance_id());
312
2
    }
313
10
    auto* slice_locations = out->mutable_packed_slice_locations();
314
10
    slice_locations->clear();
315
10
    slice_locations->insert(in.packed_slice_locations().begin(), in.packed_slice_locations().end());
316
10
    if (in.has_is_recycled()) {
317
2
        out->set_is_recycled(in.is_recycled());
318
2
    }
319
10
    if (in.has_job_id()) {
320
2
        out->set_job_id(in.job_id());
321
2
    }
322
10
    if (in.has_commit_tso()) {
323
2
        out->mutable_commit_tso()->CopyFrom(in.commit_tso());
324
2
    }
325
10
    if (in.has_is_row_binlog()) {
326
2
        out->set_is_row_binlog(in.is_row_binlog());
327
2
    }
328
10
    if (in.has_db_id()) {
329
2
        out->set_db_id(in.db_id());
330
2
    }
331
10
    if (in.has_table_id()) {
332
2
        out->set_table_id(in.table_id());
333
2
    }
334
10
}
335
336
12
void cloud_rowset_meta_to_doris(RowsetMetaPB* out, RowsetMetaCloudPB&& in) {
337
    // ATTN: please keep the set order aligned with the definition of proto `TabletSchemaCloudPB`.
338
12
    out->set_rowset_id(in.rowset_id());
339
12
    out->set_partition_id(in.partition_id());
340
12
    out->set_tablet_id(in.tablet_id());
341
12
    out->set_txn_id(in.txn_id());
342
12
    out->set_tablet_schema_hash(in.tablet_schema_hash());
343
12
    out->set_rowset_type(in.rowset_type());
344
12
    out->set_rowset_state(in.rowset_state());
345
12
    out->set_start_version(in.start_version());
346
12
    out->set_end_version(in.end_version());
347
12
    out->set_version_hash(in.version_hash());
348
12
    out->set_num_rows(in.num_rows());
349
12
    out->set_total_disk_size(in.total_disk_size());
350
12
    out->set_data_disk_size(in.data_disk_size());
351
12
    out->set_index_disk_size(in.index_disk_size());
352
12
    out->mutable_zone_maps()->Swap(in.mutable_zone_maps());
353
12
    if (in.has_delete_predicate()) {
354
4
        out->mutable_delete_predicate()->Swap(in.mutable_delete_predicate());
355
4
    }
356
12
    out->set_empty(in.empty());
357
12
    if (in.has_load_id()) {
358
4
        out->mutable_load_id()->CopyFrom(in.load_id());
359
4
    }
360
12
    out->set_delete_flag(in.delete_flag());
361
12
    out->set_creation_time(in.creation_time());
362
12
    if (in.has_tablet_uid()) {
363
4
        out->mutable_tablet_uid()->CopyFrom(in.tablet_uid());
364
4
    }
365
12
    out->set_num_segments(in.num_segments());
366
12
    out->set_rowset_id_v2(in.rowset_id_v2());
367
12
    out->set_resource_id(in.resource_id());
368
12
    out->set_newest_write_timestamp(in.newest_write_timestamp());
369
12
    out->mutable_segments_key_bounds()->Swap(in.mutable_segments_key_bounds());
370
12
    if (in.has_tablet_schema()) {
371
4
        cloud_tablet_schema_to_doris(out->mutable_tablet_schema(),
372
4
                                     std::move(*in.mutable_tablet_schema()));
373
4
    }
374
12
    if (in.has_schema_dict_key_list()) {
375
4
        out->mutable_schema_dict_key_list()->Swap(in.mutable_schema_dict_key_list());
376
4
    }
377
12
    out->set_txn_expiration(in.txn_expiration());
378
12
    out->set_segments_overlap_pb(in.segments_overlap_pb());
379
12
    if (in.has_segments_key_bounds_truncated()) {
380
4
        out->set_segments_key_bounds_truncated(in.segments_key_bounds_truncated());
381
4
    }
382
12
    if (in.has_segments_key_bounds_aggregated()) {
383
4
        out->set_segments_key_bounds_aggregated(in.segments_key_bounds_aggregated());
384
4
    }
385
12
    out->mutable_num_segment_rows()->Swap(in.mutable_num_segment_rows());
386
12
    out->mutable_segments_file_size()->Swap(in.mutable_segments_file_size());
387
12
    out->set_index_id(in.index_id());
388
12
    if (in.has_schema_version()) {
389
        // See cloud/src/meta-service/meta_service_schema.cpp for details.
390
4
        out->set_schema_version(in.schema_version());
391
4
    }
392
12
    out->set_enable_segments_file_size(in.enable_segments_file_size());
393
12
    out->set_has_variant_type_in_schema(in.has_variant_type_in_schema());
394
12
    out->set_enable_inverted_index_file_info(in.enable_inverted_index_file_info());
395
12
    out->set_compaction_level(in.compaction_level());
396
12
    out->mutable_inverted_index_file_info()->Swap(in.mutable_inverted_index_file_info());
397
12
    out->set_source_rowset_id(in.source_rowset_id());
398
12
    out->set_source_tablet_id(in.source_tablet_id());
399
12
    if (in.has___split_schema()) {
400
4
        out->mutable___split_schema()->Swap(in.mutable___split_schema());
401
4
    }
402
12
    if (in.has_visible_ts_ms()) {
403
4
        out->set_visible_ts_ms(in.visible_ts_ms());
404
4
    }
405
12
    if (in.has_reference_instance_id()) {
406
4
        out->set_reference_instance_id(in.reference_instance_id());
407
4
    }
408
12
    auto* slice_locations = out->mutable_packed_slice_locations();
409
12
    slice_locations->clear();
410
12
    slice_locations->insert(in.packed_slice_locations().begin(), in.packed_slice_locations().end());
411
12
    if (in.has_is_recycled()) {
412
4
        out->set_is_recycled(in.is_recycled());
413
4
    }
414
12
    if (in.has_job_id()) {
415
4
        out->set_job_id(in.job_id());
416
4
    }
417
12
    if (in.has_commit_tso()) {
418
4
        out->mutable_commit_tso()->CopyFrom(in.commit_tso());
419
4
    }
420
12
    if (in.has_is_row_binlog()) {
421
4
        out->set_is_row_binlog(in.is_row_binlog());
422
4
    }
423
12
    if (in.has_db_id()) {
424
4
        out->set_db_id(in.db_id());
425
4
    }
426
12
    if (in.has_table_id()) {
427
4
        out->set_table_id(in.table_id());
428
4
    }
429
12
}
430
431
0
TabletSchemaCloudPB doris_tablet_schema_to_cloud(const TabletSchemaPB& in) {
432
0
    TabletSchemaCloudPB out;
433
0
    doris_tablet_schema_to_cloud(&out, in);
434
0
    return out;
435
0
}
436
437
4
TabletSchemaCloudPB doris_tablet_schema_to_cloud(TabletSchemaPB&& in) {
438
    // ATTN: please keep the set order aligned with the definition of proto.
439
4
    TabletSchemaCloudPB out;
440
4
    doris_tablet_schema_to_cloud(&out, std::move(in));
441
4
    return out;
442
4
}
443
444
8
void doris_tablet_schema_to_cloud(TabletSchemaCloudPB* out, const TabletSchemaPB& in) {
445
    // ATTN: please keep the set order aligned with the definition of proto.
446
8
    out->set_keys_type(in.keys_type());
447
8
    out->mutable_column()->CopyFrom(in.column());
448
8
    out->set_num_short_key_columns(in.num_short_key_columns());
449
8
    out->set_num_rows_per_row_block(in.num_rows_per_row_block());
450
8
    out->set_compress_kind(in.compress_kind());
451
8
    out->set_bf_fpp(in.bf_fpp());
452
8
    out->set_next_column_unique_id(in.next_column_unique_id());
453
8
    out->set_delete_sign_idx(in.delete_sign_idx());
454
8
    out->set_sequence_col_idx(in.sequence_col_idx());
455
8
    out->set_sort_type(in.sort_type());
456
8
    out->set_sort_col_num(in.sort_col_num());
457
8
    out->set_compression_type(in.compression_type());
458
8
    out->set_schema_version(in.schema_version());
459
8
    out->set_disable_auto_compaction(in.disable_auto_compaction());
460
8
    out->mutable_index()->CopyFrom(in.index());
461
8
    out->set_version_col_idx(in.version_col_idx());
462
8
    out->set_store_row_column(in.store_row_column());
463
8
    out->set_skip_write_index_on_load(in.skip_write_index_on_load());
464
8
    out->mutable_cluster_key_uids()->CopyFrom(in.cluster_key_uids());
465
8
    out->set_is_dynamic_schema(in.is_dynamic_schema());
466
8
    out->set_is_external_segment_column_meta_used(in.is_external_segment_column_meta_used());
467
8
    out->mutable_row_store_column_unique_ids()->CopyFrom(in.row_store_column_unique_ids());
468
8
    out->set_inverted_index_storage_format(in.inverted_index_storage_format());
469
8
    out->set_enable_variant_flatten_nested(in.enable_variant_flatten_nested());
470
8
    out->set_skip_bitmap_col_idx(in.skip_bitmap_col_idx());
471
8
    out->set_storage_page_size(in.storage_page_size());
472
8
    out->set_storage_dict_page_size(in.storage_dict_page_size());
473
8
    out->set_is_in_memory(in.is_in_memory());
474
8
    out->set_row_store_page_size(in.row_store_page_size());
475
8
    if (in.has_integer_type_default_use_plain_encoding()) {
476
8
        out->set_integer_type_default_use_plain_encoding(
477
8
                in.integer_type_default_use_plain_encoding());
478
8
    }
479
8
    if (in.has_binary_plain_encoding_default_impl()) {
480
8
        out->set_binary_plain_encoding_default_impl(in.binary_plain_encoding_default_impl());
481
8
    }
482
8
    if (in.has_storage_format()) {
483
8
        out->set_storage_format(in.storage_format());
484
8
    }
485
8
    if (in.has_seq_map()) {
486
8
        out->mutable_seq_map()->CopyFrom(in.seq_map());
487
8
    }
488
8
    if (in.has_binlog_timestamp_col_idx()) {
489
8
        out->set_binlog_timestamp_col_idx(in.binlog_timestamp_col_idx());
490
8
    }
491
8
    if (in.has_binlog_lsn_col_idx()) {
492
8
        out->set_binlog_lsn_col_idx(in.binlog_lsn_col_idx());
493
8
    }
494
8
    if (in.has_commit_tso_col_idx()) {
495
8
        out->set_commit_tso_col_idx(in.commit_tso_col_idx());
496
8
    }
497
498
8
    if (in.has___split_schema()) {
499
8
        out->mutable___split_schema()->CopyFrom(in.__split_schema());
500
8
    }
501
8
}
502
503
12
void doris_tablet_schema_to_cloud(TabletSchemaCloudPB* out, TabletSchemaPB&& in) {
504
12
    out->set_keys_type(in.keys_type());
505
12
    out->mutable_column()->Swap(in.mutable_column());
506
12
    out->set_num_short_key_columns(in.num_short_key_columns());
507
12
    out->set_num_rows_per_row_block(in.num_rows_per_row_block());
508
12
    out->set_compress_kind(in.compress_kind());
509
12
    out->set_bf_fpp(in.bf_fpp());
510
12
    out->set_next_column_unique_id(in.next_column_unique_id());
511
12
    out->set_delete_sign_idx(in.delete_sign_idx());
512
12
    out->set_sequence_col_idx(in.sequence_col_idx());
513
12
    out->set_sort_type(in.sort_type());
514
12
    out->set_sort_col_num(in.sort_col_num());
515
12
    out->set_compression_type(in.compression_type());
516
12
    out->set_schema_version(in.schema_version());
517
12
    out->set_disable_auto_compaction(in.disable_auto_compaction());
518
12
    out->mutable_index()->Swap(in.mutable_index());
519
12
    out->set_version_col_idx(in.version_col_idx());
520
12
    out->set_store_row_column(in.store_row_column());
521
12
    out->set_skip_write_index_on_load(in.skip_write_index_on_load());
522
12
    out->mutable_cluster_key_uids()->Swap(in.mutable_cluster_key_uids());
523
12
    out->set_is_dynamic_schema(in.is_dynamic_schema());
524
12
    out->set_is_external_segment_column_meta_used(in.is_external_segment_column_meta_used());
525
12
    out->mutable_row_store_column_unique_ids()->Swap(in.mutable_row_store_column_unique_ids());
526
12
    out->set_inverted_index_storage_format(in.inverted_index_storage_format());
527
12
    out->set_enable_variant_flatten_nested(in.enable_variant_flatten_nested());
528
12
    out->set_skip_bitmap_col_idx(in.skip_bitmap_col_idx());
529
12
    out->set_storage_page_size(in.storage_page_size());
530
12
    out->set_storage_dict_page_size(in.storage_dict_page_size());
531
12
    out->set_is_in_memory(in.is_in_memory());
532
12
    out->set_row_store_page_size(in.row_store_page_size());
533
12
    if (in.has_integer_type_default_use_plain_encoding()) {
534
12
        out->set_integer_type_default_use_plain_encoding(
535
12
                in.integer_type_default_use_plain_encoding());
536
12
    }
537
12
    if (in.has_binary_plain_encoding_default_impl()) {
538
12
        out->set_binary_plain_encoding_default_impl(in.binary_plain_encoding_default_impl());
539
12
    }
540
12
    if (in.has_storage_format()) {
541
12
        out->set_storage_format(in.storage_format());
542
12
    }
543
12
    if (in.has_seq_map()) {
544
12
        out->mutable_seq_map()->CopyFrom(in.seq_map());
545
12
    }
546
12
    if (in.has_binlog_timestamp_col_idx()) {
547
12
        out->set_binlog_timestamp_col_idx(in.binlog_timestamp_col_idx());
548
12
    }
549
12
    if (in.has_binlog_lsn_col_idx()) {
550
12
        out->set_binlog_lsn_col_idx(in.binlog_lsn_col_idx());
551
12
    }
552
12
    if (in.has_commit_tso_col_idx()) {
553
12
        out->set_commit_tso_col_idx(in.commit_tso_col_idx());
554
12
    }
555
556
12
    if (in.has___split_schema()) {
557
12
        out->mutable___split_schema()->CopyFrom(in.__split_schema());
558
12
    }
559
12
}
560
561
0
TabletSchemaPB cloud_tablet_schema_to_doris(const TabletSchemaCloudPB& in) {
562
0
    TabletSchemaPB out;
563
0
    cloud_tablet_schema_to_doris(&out, in);
564
0
    return out;
565
0
}
566
567
4
TabletSchemaPB cloud_tablet_schema_to_doris(TabletSchemaCloudPB&& in) {
568
4
    TabletSchemaPB out;
569
4
    cloud_tablet_schema_to_doris(&out, std::move(in));
570
4
    return out;
571
4
}
572
573
8
void cloud_tablet_schema_to_doris(TabletSchemaPB* out, const TabletSchemaCloudPB& in) {
574
    // ATTN: please keep the set order aligned with the definition of proto.
575
8
    out->set_keys_type(in.keys_type());
576
8
    out->mutable_column()->CopyFrom(in.column());
577
8
    out->set_num_short_key_columns(in.num_short_key_columns());
578
8
    out->set_num_rows_per_row_block(in.num_rows_per_row_block());
579
8
    out->set_compress_kind(in.compress_kind());
580
8
    out->set_bf_fpp(in.bf_fpp());
581
8
    out->set_next_column_unique_id(in.next_column_unique_id());
582
8
    out->set_delete_sign_idx(in.delete_sign_idx());
583
8
    out->set_sequence_col_idx(in.sequence_col_idx());
584
8
    out->set_sort_type(in.sort_type());
585
8
    out->set_sort_col_num(in.sort_col_num());
586
8
    out->set_compression_type(in.compression_type());
587
8
    out->set_schema_version(in.schema_version());
588
8
    out->set_disable_auto_compaction(in.disable_auto_compaction());
589
8
    out->mutable_index()->CopyFrom(in.index());
590
8
    out->set_version_col_idx(in.version_col_idx());
591
8
    out->set_store_row_column(in.store_row_column());
592
8
    out->set_skip_write_index_on_load(in.skip_write_index_on_load());
593
8
    out->mutable_cluster_key_uids()->CopyFrom(in.cluster_key_uids());
594
8
    out->set_is_dynamic_schema(in.is_dynamic_schema());
595
8
    out->set_is_external_segment_column_meta_used(in.is_external_segment_column_meta_used());
596
8
    out->mutable_row_store_column_unique_ids()->CopyFrom(in.row_store_column_unique_ids());
597
8
    out->set_inverted_index_storage_format(in.inverted_index_storage_format());
598
8
    out->set_enable_variant_flatten_nested(in.enable_variant_flatten_nested());
599
8
    out->set_skip_bitmap_col_idx(in.skip_bitmap_col_idx());
600
8
    out->set_storage_page_size(in.storage_page_size());
601
8
    out->set_storage_dict_page_size(in.storage_dict_page_size());
602
8
    out->set_is_in_memory(in.is_in_memory());
603
8
    out->set_row_store_page_size(in.row_store_page_size());
604
8
    if (in.has_integer_type_default_use_plain_encoding()) {
605
8
        out->set_integer_type_default_use_plain_encoding(
606
8
                in.integer_type_default_use_plain_encoding());
607
8
    }
608
8
    if (in.has_binary_plain_encoding_default_impl()) {
609
8
        out->set_binary_plain_encoding_default_impl(in.binary_plain_encoding_default_impl());
610
8
    }
611
8
    if (in.has_storage_format()) {
612
8
        out->set_storage_format(in.storage_format());
613
8
    }
614
8
    if (in.has_seq_map()) {
615
8
        out->mutable_seq_map()->CopyFrom(in.seq_map());
616
8
    }
617
8
    if (in.has_binlog_timestamp_col_idx()) {
618
8
        out->set_binlog_timestamp_col_idx(in.binlog_timestamp_col_idx());
619
8
    }
620
8
    if (in.has_binlog_lsn_col_idx()) {
621
8
        out->set_binlog_lsn_col_idx(in.binlog_lsn_col_idx());
622
8
    }
623
8
    if (in.has_commit_tso_col_idx()) {
624
8
        out->set_commit_tso_col_idx(in.commit_tso_col_idx());
625
8
    }
626
627
8
    if (in.has___split_schema()) {
628
8
        out->mutable___split_schema()->CopyFrom(in.__split_schema());
629
8
    }
630
8
}
631
632
12
void cloud_tablet_schema_to_doris(TabletSchemaPB* out, TabletSchemaCloudPB&& in) {
633
    // ATTN: please keep the set order aligned with the definition of proto.
634
12
    out->set_keys_type(in.keys_type());
635
12
    out->mutable_column()->Swap(in.mutable_column());
636
12
    out->set_num_short_key_columns(in.num_short_key_columns());
637
12
    out->set_num_rows_per_row_block(in.num_rows_per_row_block());
638
12
    out->set_compress_kind(in.compress_kind());
639
12
    out->set_bf_fpp(in.bf_fpp());
640
12
    out->set_next_column_unique_id(in.next_column_unique_id());
641
12
    out->set_delete_sign_idx(in.delete_sign_idx());
642
12
    out->set_sequence_col_idx(in.sequence_col_idx());
643
12
    out->set_sort_type(in.sort_type());
644
12
    out->set_sort_col_num(in.sort_col_num());
645
12
    out->set_compression_type(in.compression_type());
646
12
    out->set_schema_version(in.schema_version());
647
12
    out->set_disable_auto_compaction(in.disable_auto_compaction());
648
12
    out->mutable_index()->Swap(in.mutable_index());
649
12
    out->set_version_col_idx(in.version_col_idx());
650
12
    out->set_store_row_column(in.store_row_column());
651
12
    out->set_skip_write_index_on_load(in.skip_write_index_on_load());
652
12
    out->mutable_cluster_key_uids()->Swap(in.mutable_cluster_key_uids());
653
12
    out->set_is_dynamic_schema(in.is_dynamic_schema());
654
12
    out->set_is_external_segment_column_meta_used(in.is_external_segment_column_meta_used());
655
12
    out->mutable_row_store_column_unique_ids()->Swap(in.mutable_row_store_column_unique_ids());
656
12
    out->set_inverted_index_storage_format(in.inverted_index_storage_format());
657
12
    out->set_enable_variant_flatten_nested(in.enable_variant_flatten_nested());
658
12
    out->set_skip_bitmap_col_idx(in.skip_bitmap_col_idx());
659
12
    out->set_storage_page_size(in.storage_page_size());
660
12
    out->set_storage_dict_page_size(in.storage_dict_page_size());
661
12
    out->set_is_in_memory(in.is_in_memory());
662
12
    out->set_row_store_page_size(in.row_store_page_size());
663
12
    if (in.has_integer_type_default_use_plain_encoding()) {
664
12
        out->set_integer_type_default_use_plain_encoding(
665
12
                in.integer_type_default_use_plain_encoding());
666
12
    }
667
12
    if (in.has_binary_plain_encoding_default_impl()) {
668
12
        out->set_binary_plain_encoding_default_impl(in.binary_plain_encoding_default_impl());
669
12
    }
670
12
    if (in.has_storage_format()) {
671
12
        out->set_storage_format(in.storage_format());
672
12
    }
673
12
    if (in.has_seq_map()) {
674
12
        out->mutable_seq_map()->CopyFrom(in.seq_map());
675
12
    }
676
12
    if (in.has_binlog_timestamp_col_idx()) {
677
12
        out->set_binlog_timestamp_col_idx(in.binlog_timestamp_col_idx());
678
12
    }
679
12
    if (in.has_binlog_lsn_col_idx()) {
680
12
        out->set_binlog_lsn_col_idx(in.binlog_lsn_col_idx());
681
12
    }
682
12
    if (in.has_commit_tso_col_idx()) {
683
12
        out->set_commit_tso_col_idx(in.commit_tso_col_idx());
684
12
    }
685
686
12
    if (in.has___split_schema()) {
687
12
        out->mutable___split_schema()->CopyFrom(in.__split_schema());
688
12
    }
689
12
}
690
691
0
TabletMetaCloudPB doris_tablet_meta_to_cloud(const TabletMetaPB& in) {
692
0
    TabletMetaCloudPB out;
693
0
    doris_tablet_meta_to_cloud(&out, in);
694
0
    return out;
695
0
}
696
697
2
TabletMetaCloudPB doris_tablet_meta_to_cloud(TabletMetaPB&& in) {
698
2
    TabletMetaCloudPB out;
699
2
    doris_tablet_meta_to_cloud(&out, std::move(in));
700
2
    return out;
701
2
}
702
703
2
void doris_tablet_meta_to_cloud(TabletMetaCloudPB* out, const TabletMetaPB& in) {
704
    // ATTN: please keep the set order aligned with the definition of proto.
705
2
    out->set_table_id(in.table_id());
706
2
    out->set_partition_id(in.partition_id());
707
2
    out->set_tablet_id(in.tablet_id());
708
2
    out->set_schema_hash(in.schema_hash());
709
2
    out->set_shard_id(in.shard_id());
710
2
    out->set_creation_time(in.creation_time());
711
2
    out->set_cumulative_layer_point(in.cumulative_layer_point());
712
2
    out->set_tablet_state(in.tablet_state());
713
2
    if (in.has_schema()) {
714
2
        doris_tablet_schema_to_cloud(out->mutable_schema(), in.schema());
715
2
    }
716
2
    if (in.rs_metas_size()) {
717
2
        out->mutable_rs_metas()->Reserve(in.rs_metas_size());
718
2
        for (const auto& rs_meta : in.rs_metas()) {
719
2
            doris_rowset_meta_to_cloud(out->add_rs_metas(), rs_meta);
720
2
        }
721
2
    }
722
    // ATTN: inc_rs_metas are deprecated, here is for conversion check
723
2
    if (in.inc_rs_metas_size()) {
724
2
        out->mutable_inc_rs_metas()->Reserve(in.inc_rs_metas_size());
725
2
        for (const auto& rs_meta : in.inc_rs_metas()) {
726
2
            doris_rowset_meta_to_cloud(out->add_inc_rs_metas(), rs_meta);
727
2
        }
728
2
    }
729
2
    if (in.has_alter_task()) {
730
2
        out->mutable_alter_task()->CopyFrom(in.alter_task());
731
2
    }
732
2
    out->set_in_restore_mode(in.in_restore_mode());
733
2
    out->mutable_tablet_uid()->CopyFrom(in.tablet_uid());
734
2
    out->set_end_rowset_id(in.end_rowset_id());
735
2
    out->set_preferred_rowset_type(in.preferred_rowset_type());
736
2
    out->set_tablet_type(in.tablet_type());
737
2
    if (in.stale_rs_metas_size()) {
738
2
        out->mutable_stale_rs_metas()->Reserve(in.stale_rs_metas_size());
739
2
        for (const auto& rs_meta : in.stale_rs_metas()) {
740
2
            doris_rowset_meta_to_cloud(out->add_stale_rs_metas(), rs_meta);
741
2
        }
742
2
    }
743
2
    out->set_replica_id(in.replica_id());
744
2
    if (in.has_delete_bitmap()) {
745
2
        out->mutable_delete_bitmap()->CopyFrom(in.delete_bitmap());
746
2
    }
747
2
    out->set_enable_unique_key_merge_on_write(in.enable_unique_key_merge_on_write());
748
2
    out->set_storage_policy_id(in.storage_policy_id());
749
2
    out->mutable_cooldown_meta_id()->CopyFrom(in.cooldown_meta_id());
750
2
    if (in.has_binlog_config()) {
751
2
        out->mutable_binlog_config()->CopyFrom(in.binlog_config());
752
2
    }
753
2
    if (in.has_row_binlog_schema()) {
754
2
        doris_tablet_schema_to_cloud(out->mutable_row_binlog_schema(), in.row_binlog_schema());
755
2
    }
756
2
    if (in.row_binlog_rs_metas_size()) {
757
2
        out->mutable_row_binlog_rs_metas()->Reserve(in.row_binlog_rs_metas_size());
758
2
        for (const auto& rs_meta : in.row_binlog_rs_metas()) {
759
2
            doris_rowset_meta_to_cloud(out->add_row_binlog_rs_metas(), rs_meta);
760
2
        }
761
2
    }
762
2
    if (in.has_row_binlog_schema_hash()) {
763
2
        out->set_row_binlog_schema_hash(in.row_binlog_schema_hash());
764
2
    }
765
2
    out->set_compaction_policy(in.compaction_policy());
766
2
    out->set_time_series_compaction_goal_size_mbytes(in.time_series_compaction_goal_size_mbytes());
767
2
    out->set_time_series_compaction_file_count_threshold(
768
2
            in.time_series_compaction_file_count_threshold());
769
2
    out->set_time_series_compaction_time_threshold_seconds(
770
2
            in.time_series_compaction_time_threshold_seconds());
771
2
    out->set_time_series_compaction_empty_rowsets_threshold(
772
2
            in.time_series_compaction_empty_rowsets_threshold());
773
2
    out->set_time_series_compaction_level_threshold(in.time_series_compaction_level_threshold());
774
2
    out->set_vertical_compaction_num_columns_per_group(
775
2
            in.vertical_compaction_num_columns_per_group());
776
2
    out->set_index_id(in.index_id());
777
2
    out->set_is_in_memory(in.is_in_memory());
778
2
    out->set_is_persistent(in.is_persistent());
779
2
    out->set_table_name(in.table_name());
780
2
    out->set_ttl_seconds(in.ttl_seconds());
781
2
    if (in.has_schema_version()) {
782
2
        out->set_schema_version(in.schema_version());
783
2
    }
784
2
    if (in.has_encryption_algorithm()) {
785
2
        out->set_encryption_algorithm(in.encryption_algorithm());
786
2
    }
787
2
}
788
789
2
void doris_tablet_meta_to_cloud(TabletMetaCloudPB* out, TabletMetaPB&& in) {
790
    // ATTN: please keep the set order aligned with the definition of proto.
791
2
    out->set_table_id(in.table_id());
792
2
    out->set_partition_id(in.partition_id());
793
2
    out->set_tablet_id(in.tablet_id());
794
2
    out->set_schema_hash(in.schema_hash());
795
2
    out->set_shard_id(in.shard_id());
796
2
    out->set_creation_time(in.creation_time());
797
2
    out->set_cumulative_layer_point(in.cumulative_layer_point());
798
2
    out->set_tablet_state(in.tablet_state());
799
2
    if (in.has_schema()) {
800
2
        doris_tablet_schema_to_cloud(out->mutable_schema(), std::move(*in.mutable_schema()));
801
2
    }
802
2
    if (in.rs_metas_size()) {
803
2
        int32_t rs_metas_size = in.rs_metas_size();
804
2
        out->mutable_rs_metas()->Reserve(rs_metas_size);
805
4
        for (int i = 0; i < rs_metas_size; ++i) {
806
2
            doris_rowset_meta_to_cloud(out->add_rs_metas(), std::move(*in.mutable_rs_metas(i)));
807
2
        }
808
2
    }
809
    // ATTN: inc_rs_metas are deprecated, here is for conversion check
810
2
    if (in.inc_rs_metas_size()) {
811
2
        int rs_metas_size = in.inc_rs_metas_size();
812
2
        out->mutable_inc_rs_metas()->Reserve(rs_metas_size);
813
4
        for (int i = 0; i < rs_metas_size; ++i) {
814
2
            doris_rowset_meta_to_cloud(out->add_inc_rs_metas(),
815
2
                                       std::move(*in.mutable_inc_rs_metas(i)));
816
2
        }
817
2
    }
818
2
    if (in.has_alter_task()) {
819
2
        out->mutable_alter_task()->Swap(in.mutable_alter_task());
820
2
    }
821
2
    out->set_in_restore_mode(in.in_restore_mode());
822
2
    out->mutable_tablet_uid()->CopyFrom(in.tablet_uid());
823
2
    out->set_end_rowset_id(in.end_rowset_id());
824
2
    out->set_preferred_rowset_type(in.preferred_rowset_type());
825
2
    out->set_tablet_type(in.tablet_type());
826
2
    if (in.stale_rs_metas_size()) {
827
2
        int rs_metas_size = in.stale_rs_metas_size();
828
2
        out->mutable_stale_rs_metas()->Reserve(rs_metas_size);
829
4
        for (int i = 0; i < rs_metas_size; i++) {
830
2
            doris_rowset_meta_to_cloud(out->add_stale_rs_metas(),
831
2
                                       std::move(*in.mutable_stale_rs_metas(i)));
832
2
        }
833
2
    }
834
2
    out->set_replica_id(in.replica_id());
835
2
    if (in.has_delete_bitmap()) {
836
2
        out->mutable_delete_bitmap()->Swap(in.mutable_delete_bitmap());
837
2
    }
838
2
    out->set_enable_unique_key_merge_on_write(in.enable_unique_key_merge_on_write());
839
2
    out->set_storage_policy_id(in.storage_policy_id());
840
2
    out->mutable_cooldown_meta_id()->CopyFrom(in.cooldown_meta_id());
841
2
    if (in.has_binlog_config()) {
842
2
        out->mutable_binlog_config()->Swap(in.mutable_binlog_config());
843
2
    }
844
2
    if (in.has_row_binlog_schema()) {
845
2
        doris_tablet_schema_to_cloud(out->mutable_row_binlog_schema(),
846
2
                                     std::move(*in.mutable_row_binlog_schema()));
847
2
    }
848
2
    if (in.row_binlog_rs_metas_size()) {
849
2
        int row_binlog_rs_metas_size = in.row_binlog_rs_metas_size();
850
2
        out->mutable_row_binlog_rs_metas()->Reserve(row_binlog_rs_metas_size);
851
4
        for (int i = 0; i < row_binlog_rs_metas_size; ++i) {
852
2
            doris_rowset_meta_to_cloud(out->add_row_binlog_rs_metas(),
853
2
                                       std::move(*in.mutable_row_binlog_rs_metas(i)));
854
2
        }
855
2
    }
856
2
    if (in.has_row_binlog_schema_hash()) {
857
2
        out->set_row_binlog_schema_hash(in.row_binlog_schema_hash());
858
2
    }
859
2
    out->set_compaction_policy(in.compaction_policy());
860
2
    out->set_time_series_compaction_goal_size_mbytes(in.time_series_compaction_goal_size_mbytes());
861
2
    out->set_time_series_compaction_file_count_threshold(
862
2
            in.time_series_compaction_file_count_threshold());
863
2
    out->set_time_series_compaction_time_threshold_seconds(
864
2
            in.time_series_compaction_time_threshold_seconds());
865
2
    out->set_time_series_compaction_empty_rowsets_threshold(
866
2
            in.time_series_compaction_empty_rowsets_threshold());
867
2
    out->set_time_series_compaction_level_threshold(in.time_series_compaction_level_threshold());
868
2
    out->set_vertical_compaction_num_columns_per_group(
869
2
            in.vertical_compaction_num_columns_per_group());
870
2
    out->set_index_id(in.index_id());
871
2
    out->set_is_in_memory(in.is_in_memory());
872
2
    out->set_is_persistent(in.is_persistent());
873
2
    out->set_table_name(in.table_name());
874
2
    out->set_ttl_seconds(in.ttl_seconds());
875
2
    if (in.has_schema_version()) {
876
2
        out->set_schema_version(in.schema_version());
877
2
    }
878
2
    if (in.has_encryption_algorithm()) {
879
2
        out->set_encryption_algorithm(in.encryption_algorithm());
880
2
    }
881
2
}
882
883
0
TabletMetaPB cloud_tablet_meta_to_doris(const TabletMetaCloudPB& in) {
884
0
    TabletMetaPB out;
885
0
    cloud_tablet_meta_to_doris(&out, in);
886
0
    return out;
887
0
}
888
889
2
TabletMetaPB cloud_tablet_meta_to_doris(TabletMetaCloudPB&& in) {
890
2
    TabletMetaPB out;
891
2
    cloud_tablet_meta_to_doris(&out, std::move(in));
892
2
    return out;
893
2
}
894
895
2
void cloud_tablet_meta_to_doris(TabletMetaPB* out, const TabletMetaCloudPB& in) {
896
    // ATTN: please keep the set order aligned with the definition of proto.
897
2
    out->set_table_id(in.table_id());
898
2
    out->set_partition_id(in.partition_id());
899
2
    out->set_tablet_id(in.tablet_id());
900
2
    out->set_schema_hash(in.schema_hash());
901
2
    out->set_shard_id(in.shard_id());
902
2
    out->set_creation_time(in.creation_time());
903
2
    out->set_cumulative_layer_point(in.cumulative_layer_point());
904
2
    out->set_tablet_state(in.tablet_state());
905
2
    if (in.has_schema()) {
906
2
        cloud_tablet_schema_to_doris(out->mutable_schema(), in.schema());
907
2
    }
908
2
    if (in.rs_metas_size()) {
909
2
        out->mutable_rs_metas()->Reserve(in.rs_metas_size());
910
2
        for (const auto& rs_meta : in.rs_metas()) {
911
2
            cloud_rowset_meta_to_doris(out->add_rs_metas(), rs_meta);
912
2
        }
913
2
    }
914
    // ATTN: inc_rs_metas are deprecated, here is for conversion check
915
2
    if (in.inc_rs_metas_size()) {
916
2
        out->mutable_inc_rs_metas()->Reserve(in.inc_rs_metas_size());
917
2
        for (const auto& rs_meta : in.inc_rs_metas()) {
918
2
            cloud_rowset_meta_to_doris(out->add_inc_rs_metas(), rs_meta);
919
2
        }
920
2
    }
921
2
    if (in.has_alter_task()) {
922
2
        out->mutable_alter_task()->CopyFrom(in.alter_task());
923
2
    }
924
2
    out->set_in_restore_mode(in.in_restore_mode());
925
2
    out->mutable_tablet_uid()->CopyFrom(in.tablet_uid());
926
2
    out->set_end_rowset_id(in.end_rowset_id());
927
2
    out->set_preferred_rowset_type(in.preferred_rowset_type());
928
2
    out->set_tablet_type(in.tablet_type());
929
2
    if (in.stale_rs_metas_size()) {
930
2
        out->mutable_stale_rs_metas()->Reserve(in.stale_rs_metas_size());
931
2
        for (const auto& rs_meta : in.stale_rs_metas()) {
932
2
            cloud_rowset_meta_to_doris(out->add_stale_rs_metas(), rs_meta);
933
2
        }
934
2
    }
935
2
    out->set_replica_id(in.replica_id());
936
2
    if (in.has_delete_bitmap()) {
937
2
        out->mutable_delete_bitmap()->CopyFrom(in.delete_bitmap());
938
2
    }
939
2
    out->set_enable_unique_key_merge_on_write(in.enable_unique_key_merge_on_write());
940
2
    out->set_storage_policy_id(in.storage_policy_id());
941
2
    out->mutable_cooldown_meta_id()->CopyFrom(in.cooldown_meta_id());
942
2
    if (in.has_binlog_config()) {
943
2
        out->mutable_binlog_config()->CopyFrom(in.binlog_config());
944
2
    }
945
2
    if (in.has_row_binlog_schema()) {
946
2
        cloud_tablet_schema_to_doris(out->mutable_row_binlog_schema(), in.row_binlog_schema());
947
2
    }
948
2
    if (in.row_binlog_rs_metas_size()) {
949
2
        out->mutable_row_binlog_rs_metas()->Reserve(in.row_binlog_rs_metas_size());
950
2
        for (const auto& rs_meta : in.row_binlog_rs_metas()) {
951
2
            cloud_rowset_meta_to_doris(out->add_row_binlog_rs_metas(), rs_meta);
952
2
        }
953
2
    }
954
2
    if (in.has_row_binlog_schema_hash()) {
955
2
        out->set_row_binlog_schema_hash(in.row_binlog_schema_hash());
956
2
    }
957
2
    out->set_compaction_policy(in.compaction_policy());
958
2
    out->set_time_series_compaction_goal_size_mbytes(in.time_series_compaction_goal_size_mbytes());
959
2
    out->set_time_series_compaction_file_count_threshold(
960
2
            in.time_series_compaction_file_count_threshold());
961
2
    out->set_time_series_compaction_time_threshold_seconds(
962
2
            in.time_series_compaction_time_threshold_seconds());
963
2
    out->set_time_series_compaction_empty_rowsets_threshold(
964
2
            in.time_series_compaction_empty_rowsets_threshold());
965
2
    out->set_time_series_compaction_level_threshold(in.time_series_compaction_level_threshold());
966
2
    out->set_vertical_compaction_num_columns_per_group(
967
2
            in.vertical_compaction_num_columns_per_group());
968
2
    out->set_index_id(in.index_id());
969
2
    out->set_is_in_memory(in.is_in_memory());
970
2
    out->set_is_persistent(in.is_persistent());
971
2
    out->set_table_name(in.table_name());
972
2
    out->set_ttl_seconds(in.ttl_seconds());
973
2
    if (in.has_schema_version()) {
974
2
        out->set_schema_version(in.schema_version());
975
2
    }
976
2
    if (in.has_encryption_algorithm()) {
977
2
        out->set_encryption_algorithm(in.encryption_algorithm());
978
2
    }
979
2
}
980
981
2
void cloud_tablet_meta_to_doris(TabletMetaPB* out, TabletMetaCloudPB&& in) {
982
    // ATTN: please keep the set order aligned with the definition of proto.
983
2
    out->set_table_id(in.table_id());
984
2
    out->set_partition_id(in.partition_id());
985
2
    out->set_tablet_id(in.tablet_id());
986
2
    out->set_schema_hash(in.schema_hash());
987
2
    out->set_shard_id(in.shard_id());
988
2
    out->set_creation_time(in.creation_time());
989
2
    out->set_cumulative_layer_point(in.cumulative_layer_point());
990
2
    out->set_tablet_state(in.tablet_state());
991
2
    if (in.has_schema()) {
992
2
        cloud_tablet_schema_to_doris(out->mutable_schema(), std::move(*in.mutable_schema()));
993
2
    }
994
2
    if (in.rs_metas_size()) {
995
2
        int rs_metas_size = in.rs_metas_size();
996
2
        out->mutable_rs_metas()->Reserve(rs_metas_size);
997
4
        for (int i = 0; i < rs_metas_size; ++i) {
998
2
            cloud_rowset_meta_to_doris(out->add_rs_metas(), std::move(*in.mutable_rs_metas(i)));
999
2
        }
1000
2
    }
1001
    // ATTN: inc_rs_metas are deprecated, here is for conversion check
1002
2
    if (in.inc_rs_metas_size()) {
1003
2
        int rs_metas_size = in.inc_rs_metas_size();
1004
2
        out->mutable_inc_rs_metas()->Reserve(rs_metas_size);
1005
4
        for (int i = 0; i < rs_metas_size; i++) {
1006
2
            cloud_rowset_meta_to_doris(out->add_inc_rs_metas(),
1007
2
                                       std::move(*in.mutable_inc_rs_metas(i)));
1008
2
        }
1009
2
    }
1010
2
    if (in.has_alter_task()) {
1011
2
        out->mutable_alter_task()->Swap(in.mutable_alter_task());
1012
2
    }
1013
2
    out->set_in_restore_mode(in.in_restore_mode());
1014
2
    out->mutable_tablet_uid()->CopyFrom(in.tablet_uid());
1015
2
    out->set_end_rowset_id(in.end_rowset_id());
1016
2
    out->set_preferred_rowset_type(in.preferred_rowset_type());
1017
2
    out->set_tablet_type(in.tablet_type());
1018
2
    if (in.stale_rs_metas_size()) {
1019
2
        int rs_metas_size = in.stale_rs_metas_size();
1020
2
        out->mutable_stale_rs_metas()->Reserve(rs_metas_size);
1021
4
        for (int i = 0; i < rs_metas_size; i++) {
1022
2
            cloud_rowset_meta_to_doris(out->add_stale_rs_metas(),
1023
2
                                       std::move(*in.mutable_stale_rs_metas(i)));
1024
2
        }
1025
2
    }
1026
2
    out->set_replica_id(in.replica_id());
1027
2
    if (in.has_delete_bitmap()) {
1028
2
        out->mutable_delete_bitmap()->Swap(in.mutable_delete_bitmap());
1029
2
    }
1030
2
    out->set_enable_unique_key_merge_on_write(in.enable_unique_key_merge_on_write());
1031
2
    out->set_storage_policy_id(in.storage_policy_id());
1032
2
    out->mutable_cooldown_meta_id()->CopyFrom(in.cooldown_meta_id());
1033
2
    if (in.has_binlog_config()) {
1034
2
        out->mutable_binlog_config()->Swap(in.mutable_binlog_config());
1035
2
    }
1036
2
    if (in.has_row_binlog_schema()) {
1037
2
        cloud_tablet_schema_to_doris(out->mutable_row_binlog_schema(),
1038
2
                                     std::move(*in.mutable_row_binlog_schema()));
1039
2
    }
1040
2
    if (in.row_binlog_rs_metas_size()) {
1041
2
        int row_binlog_rs_metas_size = in.row_binlog_rs_metas_size();
1042
2
        out->mutable_row_binlog_rs_metas()->Reserve(row_binlog_rs_metas_size);
1043
4
        for (int i = 0; i < row_binlog_rs_metas_size; ++i) {
1044
2
            cloud_rowset_meta_to_doris(out->add_row_binlog_rs_metas(),
1045
2
                                       std::move(*in.mutable_row_binlog_rs_metas(i)));
1046
2
        }
1047
2
    }
1048
2
    if (in.has_row_binlog_schema_hash()) {
1049
2
        out->set_row_binlog_schema_hash(in.row_binlog_schema_hash());
1050
2
    }
1051
2
    out->set_compaction_policy(in.compaction_policy());
1052
2
    out->set_time_series_compaction_goal_size_mbytes(in.time_series_compaction_goal_size_mbytes());
1053
2
    out->set_time_series_compaction_file_count_threshold(
1054
2
            in.time_series_compaction_file_count_threshold());
1055
2
    out->set_time_series_compaction_time_threshold_seconds(
1056
2
            in.time_series_compaction_time_threshold_seconds());
1057
2
    out->set_time_series_compaction_empty_rowsets_threshold(
1058
2
            in.time_series_compaction_empty_rowsets_threshold());
1059
2
    out->set_time_series_compaction_level_threshold(in.time_series_compaction_level_threshold());
1060
2
    out->set_vertical_compaction_num_columns_per_group(
1061
2
            in.vertical_compaction_num_columns_per_group());
1062
2
    out->set_index_id(in.index_id());
1063
2
    out->set_is_in_memory(in.is_in_memory());
1064
2
    out->set_is_persistent(in.is_persistent());
1065
2
    out->set_table_name(in.table_name());
1066
2
    out->set_ttl_seconds(in.ttl_seconds());
1067
2
    if (in.has_schema_version()) {
1068
2
        out->set_schema_version(in.schema_version());
1069
2
    }
1070
2
    if (in.has_encryption_algorithm()) {
1071
2
        out->set_encryption_algorithm(in.encryption_algorithm());
1072
2
    }
1073
2
}
1074
1075
} // namespace doris::cloud