Martin Tzvetanov Grigorov created AVRO-3939:
-----------------------------------------------

             Summary: [Rust] Make it possible to use custom schema comparators
                 Key: AVRO-3939
                 URL: https://issues.apache.org/jira/browse/AVRO-3939
             Project: Apache Avro
          Issue Type: Improvement
          Components: rust
            Reporter: Martin Tzvetanov Grigorov
            Assignee: Martin Tzvetanov Grigorov


Currently comparing two schemas for equality compares their canonical forms - 
https://github.com/apache/avro/blob/main/lang/rust/avro/src/schema.rs#L160.
I.e. the schemas are first serialized to their canonical forms and then 
compared as strings.

The main issue here is the performance! The serialization takes it time!
Comparing the schemas field by field (following the same rules as the canonical 
forms - 
https://avro.apache.org/docs/1.11.1/specification/#parsing-canonical-form-for-schemas)
 will return as soon as a field is different. For example: record schema with a 
different name will return false without comparing all the fields.

Another request by users is to compare the schemas even with fields which are 
not part of the canonical form, e.g. the custom attributes - 
https://github.com/apache/avro/pull/2708#discussion_r1467183416



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to