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