Over time we've had some things leak into the diff methods that make it more cumbersome to use BigDiffy via code instead of CLI.
For example diffAvro here https://github.com/spotify/ratatool/blob/master/ratatool-diffy/src/main/scala/com/spotify/ratatool/diffy/BigDiffy.scala#L284
User has to manually pass in schema otherwise we they receive a non-informative error regarding null schema, additionally user has to construct MultiKey manually even if still using a single key. We should probably automatically retrieve the schema and pass in a keys string instead which will better match other parameters such as those passed into AvroDiffy.
Trying to run the diff also has an unclear two step process (First create the diff, then call saveStats). We should document this properly or simplify the process.
Also, passing in some SpecificRecord T results in a strange casting error, and instead the user needs to pass a GenericRecord.
Over time we've had some things leak into the diff methods that make it more cumbersome to use BigDiffy via code instead of CLI.
For example
diffAvrohere https://github.com/spotify/ratatool/blob/master/ratatool-diffy/src/main/scala/com/spotify/ratatool/diffy/BigDiffy.scala#L284User has to manually pass in schema otherwise we they receive a non-informative error regarding null schema, additionally user has to construct MultiKey manually even if still using a single key. We should probably automatically retrieve the schema and pass in a keys string instead which will better match other parameters such as those passed into
AvroDiffy.Trying to run the diff also has an unclear two step process (First create the diff, then call saveStats). We should document this properly or simplify the process.
Also, passing in some SpecificRecord
Tresults in a strange casting error, and instead the user needs to pass a GenericRecord.