@@ -50,6 +50,18 @@ pub struct ManifestFileMeta {
5050 /// schema id when writing this manifest file.
5151 #[ serde( rename = "_SCHEMA_ID" ) ]
5252 schema_id : i64 ,
53+
54+ #[ serde( rename = "_MIN_BUCKET" , skip_serializing_if = "Option::is_none" ) ]
55+ min_bucket : Option < i32 > ,
56+
57+ #[ serde( rename = "_MAX_BUCKET" , skip_serializing_if = "Option::is_none" ) ]
58+ max_bucket : Option < i32 > ,
59+
60+ #[ serde( rename = "_MIN_LEVEL" , skip_serializing_if = "Option::is_none" ) ]
61+ min_level : Option < i32 > ,
62+
63+ #[ serde( rename = "_MAX_LEVEL" , skip_serializing_if = "Option::is_none" ) ]
64+ max_level : Option < i32 > ,
5365}
5466
5567impl ManifestFileMeta {
@@ -94,6 +106,43 @@ impl ManifestFileMeta {
94106 self . version
95107 }
96108
109+ #[ inline]
110+ pub fn min_bucket ( & self ) -> Option < i32 > {
111+ self . min_bucket
112+ }
113+
114+ #[ inline]
115+ pub fn max_bucket ( & self ) -> Option < i32 > {
116+ self . max_bucket
117+ }
118+ #[ inline]
119+ pub fn min_level ( & self ) -> Option < i32 > {
120+ self . min_level
121+ }
122+ #[ inline]
123+ pub fn max_level ( & self ) -> Option < i32 > {
124+ self . max_level
125+ }
126+ pub fn with_min_bucket ( mut self , min_bucket : Option < i32 > ) -> Self {
127+ self . min_bucket = min_bucket;
128+ self
129+ }
130+
131+ pub fn with_max_bucket ( mut self , max_bucket : Option < i32 > ) -> Self {
132+ self . max_bucket = max_bucket;
133+ self
134+ }
135+
136+ pub fn with_min_level ( mut self , min_level : Option < i32 > ) -> Self {
137+ self . min_level = min_level;
138+ self
139+ }
140+
141+ pub fn with_max_level ( mut self , max_level : Option < i32 > ) -> Self {
142+ self . max_level = max_level;
143+ self
144+ }
145+
97146 #[ inline]
98147 pub fn new (
99148 file_name : String ,
@@ -111,6 +160,10 @@ impl ManifestFileMeta {
111160 num_deleted_files,
112161 partition_stats,
113162 schema_id,
163+ min_bucket : None ,
164+ max_bucket : None ,
165+ min_level : None ,
166+ max_level : None ,
114167 }
115168 }
116169}
0 commit comments