@@ -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,44 @@ 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+
137+ pub fn with_min_level ( mut self , min_level : Option < i32 > ) -> Self {
138+ self . min_level = min_level;
139+ self
140+ }
141+
142+ pub fn with_max_level ( mut self , max_level : Option < i32 > ) -> Self {
143+ self . max_level = max_level;
144+ self
145+ }
146+
97147 #[ inline]
98148 pub fn new (
99149 file_name : String ,
@@ -111,6 +161,10 @@ impl ManifestFileMeta {
111161 num_deleted_files,
112162 partition_stats,
113163 schema_id,
164+ min_bucket : None ,
165+ max_bucket : None ,
166+ min_level : None ,
167+ max_level : None ,
114168 }
115169 }
116170}
0 commit comments