Coverage Report

Created: 2025-06-23 16:45

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