@@ -1205,15 +1205,34 @@ impl ColumnChunkMetaData {
1205
1205
1206
1206
/// Converts this [`ColumnChunkMetaData`] into a [`ColumnChunkMetaDataBuilder`]
1207
1207
pub fn into_builder ( self ) -> ColumnChunkMetaDataBuilder {
1208
- ColumnChunkMetaDataBuilder ( self )
1208
+ ColumnChunkMetaDataBuilder :: from ( self )
1209
1209
}
1210
1210
}
1211
1211
1212
- /// Builder for column chunk metadata.
1212
+ /// Builder for [`ColumnChunkMetaData`]
1213
+ ///
1214
+ /// This builder is used to create a new column chunk metadata or modify an
1215
+ /// existing one.
1216
+ ///
1217
+ /// # Example
1218
+ /// ```no_run
1219
+ /// # use parquet::file::metadata::{ColumnChunkMetaData, ColumnChunkMetaDataBuilder};
1220
+ /// # fn get_column_chunk_metadata() -> ColumnChunkMetaData { unimplemented!(); }
1221
+ /// let column_chunk_metadata = get_column_chunk_metadata();
1222
+ /// // create a new builder from existing column chunk metadata
1223
+ /// let builder = ColumnChunkMetaDataBuilder::from(column_chunk_metadata);
1224
+ /// // clear the statistics:
1225
+ /// let column_chunk_metadata: ColumnChunkMetaData = builder
1226
+ /// .clear_statistics()
1227
+ /// .build()
1228
+ /// .unwrap();
1229
+ /// ```
1213
1230
pub struct ColumnChunkMetaDataBuilder ( ColumnChunkMetaData ) ;
1214
1231
1215
1232
impl ColumnChunkMetaDataBuilder {
1216
1233
/// Creates new column chunk metadata builder.
1234
+ ///
1235
+ /// See also [`ColumnChunkMetaData::builder`]
1217
1236
fn new ( column_descr : ColumnDescPtr ) -> Self {
1218
1237
Self ( ColumnChunkMetaData {
1219
1238
column_descr,
@@ -1297,7 +1316,7 @@ impl ColumnChunkMetaDataBuilder {
1297
1316
self
1298
1317
}
1299
1318
1300
- /// Sets optional dictionary page ofset in bytes.
1319
+ /// Sets optional dictionary page offset in bytes.
1301
1320
pub fn set_dictionary_page_offset ( mut self , value : Option < i64 > ) -> Self {
1302
1321
self . 0 . dictionary_page_offset = value;
1303
1322
self
@@ -1315,12 +1334,24 @@ impl ColumnChunkMetaDataBuilder {
1315
1334
self
1316
1335
}
1317
1336
1337
+ /// Clears the statistics for this column chunk.
1338
+ pub fn clear_statistics ( mut self ) -> Self {
1339
+ self . 0 . statistics = None ;
1340
+ self
1341
+ }
1342
+
1318
1343
/// Sets page encoding stats for this column chunk.
1319
1344
pub fn set_page_encoding_stats ( mut self , value : Vec < PageEncodingStats > ) -> Self {
1320
1345
self . 0 . encoding_stats = Some ( value) ;
1321
1346
self
1322
1347
}
1323
1348
1349
+ /// Clears the page encoding stats for this column chunk.
1350
+ pub fn clear_page_encoding_stats ( mut self ) -> Self {
1351
+ self . 0 . encoding_stats = None ;
1352
+ self
1353
+ }
1354
+
1324
1355
/// Sets optional bloom filter offset in bytes.
1325
1356
pub fn set_bloom_filter_offset ( mut self , value : Option < i64 > ) -> Self {
1326
1357
self . 0 . bloom_filter_offset = value;
@@ -1492,6 +1523,12 @@ impl ColumnIndexBuilder {
1492
1523
}
1493
1524
}
1494
1525
1526
+ impl From < ColumnChunkMetaData > for ColumnChunkMetaDataBuilder {
1527
+ fn from ( value : ColumnChunkMetaData ) -> Self {
1528
+ ColumnChunkMetaDataBuilder ( value)
1529
+ }
1530
+ }
1531
+
1495
1532
/// Builder for offset index, part of the Parquet [PageIndex].
1496
1533
///
1497
1534
/// [PageIndex]: https://github.com/apache/parquet-format/blob/master/PageIndex.md
0 commit comments