This is an automated email from the ASF dual-hosted git repository.

mgrigorov pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/avro-rs.git

commit 7509847e36aedf144e51643f67c40ee8022c7f89
Author: Kriskras99 <[email protected]>
AuthorDate: Thu Nov 13 08:37:39 2025 +0100

    fix: Further improve `StructFieldEq`
    
    Changes suggested by `martin-g`
---
 avro/src/schema_equality.rs | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/avro/src/schema_equality.rs b/avro/src/schema_equality.rs
index 6763a3a..c14e5fb 100644
--- a/avro/src/schema_equality.rs
+++ b/avro/src/schema_equality.rs
@@ -140,17 +140,17 @@ impl SchemataEq for StructFieldEq {
             }
             (Schema::Union(_), _) => false,
             (
-                Schema::Decimal(DecimalSchema { precision: precision_one, 
scale: scale_one, ..}),
-                Schema::Decimal(DecimalSchema { precision: precision_two, 
scale: scale_two, .. })
+                Schema::Decimal(DecimalSchema { precision: precision_one, 
scale: scale_one, inner: inner_one }),
+                Schema::Decimal(DecimalSchema { precision: precision_two, 
scale: scale_two, inner: inner_two })
             ) => {
-                precision_one == precision_two && scale_one == scale_two
+                precision_one == precision_two && scale_one == scale_two && 
self.compare(inner_one, inner_two)
             }
             (Schema::Decimal(_), _) => false,
             (
                 Schema::Array(ArraySchema { items: items_one, ..}),
                 Schema::Array(ArraySchema { items: items_two, ..})
             ) => {
-                items_one == items_two
+                self.compare(items_one, items_two)
             }
             (Schema::Array(_), _) => false,
             (
@@ -177,7 +177,7 @@ impl StructFieldEq {
             && fields_one
                 .iter()
                 .zip(fields_two.iter())
-                .all(|(f1, f2)| self.compare(&f1.schema, &f2.schema))
+                .all(|(f1, f2)| f1.name == f2.name && self.compare(&f1.schema, 
&f2.schema))
     }
 }
 

Reply via email to