1515// specific language governing permissions and limitations 
1616// under the License. 
1717
18- use  crate :: schema:: { Attributes ,  ComplexType ,  PrimitiveType ,  Record ,  Schema ,  TypeName } ; 
18+ use  crate :: schema:: { Attributes ,  AvroSchema ,   ComplexType ,  PrimitiveType ,  Record ,  Schema ,  TypeName } ; 
1919use  arrow_schema:: { 
2020    ArrowError ,  DataType ,  Field ,  Fields ,  IntervalUnit ,  TimeUnit ,  DECIMAL128_MAX_PRECISION , 
2121    DECIMAL128_MAX_SCALE , 
@@ -145,7 +145,7 @@ impl AvroField {
145145/// This is the primary entry point for handling schema evolution. It produces an 
146146/// `AvroField` that contains all the necessary information to read data written 
147147/// with the `writer` schema as if it were written with the `reader` schema. 
148- pub  fn  resolve_from_writer_and_reader < ' a > ( 
148+ pub ( crate )  fn  resolve_from_writer_and_reader < ' a > ( 
149149        writer_schema :  & ' a  Schema < ' a > , 
150150        reader_schema :  & ' a  Schema < ' a > , 
151151        use_utf8view :  bool , 
@@ -181,7 +181,7 @@ impl<'a> TryFrom<&Schema<'a>> for AvroField {
181181#[ derive( Debug ) ]  
182182pub  struct  AvroFieldBuilder < ' a >  { 
183183    writer_schema :  & ' a  Schema < ' a > , 
184-     reader_schema :  Option < & ' a   Schema < ' a > > , 
184+     reader_schema :  Option < AvroSchema > , 
185185    use_utf8view :  bool , 
186186    strict_mode :  bool , 
187187} 
@@ -202,7 +202,7 @@ impl<'a> AvroFieldBuilder<'a> {
202202/// If a reader schema is provided, the builder will produce a resolved `AvroField` 
203203/// that can handle differences between the writer's and reader's schemas. 
204204#[ inline]  
205-     pub  fn  with_reader_schema ( mut  self ,  reader_schema :  & ' a   Schema < ' a > )  -> Self  { 
205+     pub  fn  with_reader_schema ( mut  self ,  reader_schema :  AvroSchema )  -> Self  { 
206206        self . reader_schema  = Some ( reader_schema) ; 
207207        self 
208208    } 
0 commit comments