Chris Hoffman created AVRO-2651:
-----------------------------------

             Summary: Ruby Avro::Schema equality testing is broke
                 Key: AVRO-2651
                 URL: https://issues.apache.org/jira/browse/AVRO-2651
             Project: Apache Avro
          Issue Type: Bug
          Components: ruby
    Affects Versions: 1.9.1
            Reporter: Chris Hoffman


Currently, if one wants to compare `Avro::Schema` object A to `Avro::Schema` 
object B, the only checks `Avro::Schema#==` makes are:
 # is B actually an instance of the `Avro::Schema` class (or any of its 
subclasses)?
 # do A & B share the same Avro type name?

Furthermore, none of the subclasses of `Avro::Schema`, like 
`Avro::Schema::RecordSchema` for example, implement overrides of 
`Avro::Schema#==`, so they all get the same behavior.

This means that the Ruby Avro gem considers (and I'm sure there are others I 
don't mention):
 * all `Avro::Schema::RecordSchema` objects to be equal to each other
 * all `Avro::Schema::UnionSchema` objects to be equal to each other
 * all `Avro::Schema::EnumSchema` objects to be equal to each other



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to