@@ -1044,7 +1044,7 @@ pub struct DataFile {
10441044 ///
10451045 /// Implementation-specific key metadata for encryption
10461046 #[ builder( default ) ]
1047- pub ( crate ) key_metadata : Vec < u8 > ,
1047+ pub ( crate ) key_metadata : Option < Vec < u8 > > ,
10481048 /// field id: 132
10491049 /// element field id: 133
10501050 ///
@@ -1134,7 +1134,7 @@ impl DataFile {
11341134 & self . upper_bounds
11351135 }
11361136 /// Get the Implementation-specific key metadata for the data file.
1137- pub fn key_metadata ( & self ) -> & [ u8 ] {
1137+ pub fn key_metadata ( & self ) -> & Option < Vec < u8 > > {
11381138 & self . key_metadata
11391139 }
11401140 /// Get the split offsets of the data file.
@@ -1348,12 +1348,13 @@ mod _serde {
13481348 nan_value_counts : Some ( to_i64_entry ( value. nan_value_counts ) ?) ,
13491349 lower_bounds : Some ( to_bytes_entry ( value. lower_bounds ) ?) ,
13501350 upper_bounds : Some ( to_bytes_entry ( value. upper_bounds ) ?) ,
1351- key_metadata : Some ( serde_bytes:: ByteBuf :: from ( value . key_metadata ) ) ,
1351+ key_metadata : value . key_metadata . map ( serde_bytes:: ByteBuf :: from) ,
13521352 split_offsets : Some ( value. split_offsets ) ,
13531353 equality_ids : Some ( value. equality_ids ) ,
13541354 sort_order_id : value. sort_order_id ,
13551355 } )
13561356 }
1357+
13571358 pub fn try_into (
13581359 self ,
13591360 partition_type : & StructType ,
@@ -1411,7 +1412,7 @@ mod _serde {
14111412 . map ( |v| parse_bytes_entry ( v, schema) )
14121413 . transpose ( ) ?
14131414 . unwrap_or_default ( ) ,
1414- key_metadata : self . key_metadata . map ( |v| v. to_vec ( ) ) . unwrap_or_default ( ) ,
1415+ key_metadata : self . key_metadata . map ( |v| v. to_vec ( ) ) ,
14151416 split_offsets : self . split_offsets . unwrap_or_default ( ) ,
14161417 equality_ids : self . equality_ids . unwrap_or_default ( ) ,
14171418 sort_order_id : self . sort_order_id ,
@@ -1627,7 +1628,7 @@ mod tests {
16271628 nan_value_counts: HashMap :: new( ) ,
16281629 lower_bounds: HashMap :: new( ) ,
16291630 upper_bounds: HashMap :: new( ) ,
1630- key_metadata: Vec :: new( ) ,
1631+ key_metadata: Some ( Vec :: new( ) ) ,
16311632 split_offsets: vec![ 4 ] ,
16321633 equality_ids: Vec :: new( ) ,
16331634 sort_order_id: None ,
@@ -1783,7 +1784,7 @@ mod tests {
17831784 nan_value_counts: HashMap :: new( ) ,
17841785 lower_bounds: HashMap :: new( ) ,
17851786 upper_bounds: HashMap :: new( ) ,
1786- key_metadata: vec![ ] ,
1787+ key_metadata: Some ( vec![ ] ) ,
17871788 split_offsets: vec![ 4 ] ,
17881789 equality_ids: vec![ ] ,
17891790 sort_order_id: None ,
@@ -1850,7 +1851,7 @@ mod tests {
18501851 nan_value_counts: HashMap :: new( ) ,
18511852 lower_bounds: HashMap :: from( [ ( 1 , Datum :: int( 1 ) ) , ( 2 , Datum :: string( "a" ) ) , ( 3 , Datum :: string( "AC/DC" ) ) ] ) ,
18521853 upper_bounds: HashMap :: from( [ ( 1 , Datum :: int( 1 ) ) , ( 2 , Datum :: string( "a" ) ) , ( 3 , Datum :: string( "AC/DC" ) ) ] ) ,
1853- key_metadata: vec![ ] ,
1854+ key_metadata: Some ( vec![ ] ) ,
18541855 split_offsets: vec![ 4 ] ,
18551856 equality_ids: vec![ ] ,
18561857 sort_order_id: Some ( 0 ) ,
@@ -1930,7 +1931,7 @@ mod tests {
19301931 ( 2 , Datum :: string( "a" ) ) ,
19311932 ( 3 , Datum :: string( "x" ) )
19321933 ] ) ,
1933- key_metadata: vec![ ] ,
1934+ key_metadata: Some ( vec![ ] ) ,
19341935 split_offsets: vec![ 4 ] ,
19351936 equality_ids: vec![ ] ,
19361937 sort_order_id: Some ( 0 ) ,
@@ -2005,7 +2006,7 @@ mod tests {
20052006 ( 2 , Datum :: int( 2 ) ) ,
20062007 ( 3 , Datum :: string( "x" ) )
20072008 ] ) ,
2008- key_metadata: vec![ ] ,
2009+ key_metadata: Some ( vec![ ] ) ,
20092010 split_offsets: vec![ 4 ] ,
20102011 equality_ids: vec![ ] ,
20112012 sort_order_id: None ,
@@ -2075,7 +2076,7 @@ mod tests {
20752076 ( 1 , Datum :: long( 1 ) ) ,
20762077 ( 2 , Datum :: int( 2 ) ) ,
20772078 ] ) ,
2078- key_metadata: vec![ ] ,
2079+ key_metadata: Some ( vec![ ] ) ,
20792080 split_offsets: vec![ 4 ] ,
20802081 equality_ids: vec![ ] ,
20812082 sort_order_id: None ,
0 commit comments