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)