Coverage Report

Created: 2026-06-29 16:04

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