Marcos Schroh created AVRO-3950:
-----------------------------------

             Summary: [rust] Some code when checking schema compatibility is 
never reached
                 Key: AVRO-3950
                 URL: https://issues.apache.org/jira/browse/AVRO-3950
             Project: Apache Avro
          Issue Type: Improvement
            Reporter: Marcos Schroh


When checking schema compatibility between schemas some code blocks are never 
reached. For example, [this lines 
|https://github.com/apache/avro/tree/main/lang/rust/avro/src#L365-L373] are 
never reached because writer and readers schemas are for sure the same type 
(record) which is [previously 
compared|https://github.com/apache/avro/tree/main/lang/rust/avro/src#L346].

This issue leads to add unnecessary *if let* blocks which can be suppressed and 
`Error` that are never reached.  For example the following code could be 
removed because it is know before hand that the schema is Record which it has a 
name and only one error can be retrieved. 

{code}
 let Schema::Record(RecordSchema { name: w_name, .. }) = writers_schema { ... } 
{code}

*Solution*: Refactor the code and add more unittest to match_schemas function 
to clean up the unreachable code



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

Reply via email to