waynexia commented on PR #6378: URL: https://github.com/apache/arrow-datafusion/pull/6378#issuecomment-1556647924
>I wonder if we could simplify the interface by making no changes to UserDefinedLogicalNode and putting all serialization / deserialization code into ExtensionDeserializer? (maybe with a different name) Good suggestion 👍 This is the nasty part. I pushed a new commit [55c70b5](https://github.com/apache/arrow-datafusion/pull/6378/commits/55c70b5733c67ff390f3faedd1c4300b914f0091) that moves those methods into `SerializerRegistry` (which is the registry for all serialization and deserialization code). The deserialization part works like the previous, but it brings one more dispatch (the downcast) to serialization. I also considered only moving deserialization into registry and leaving the serializer in the `UserDefinedLogicalPlan` trait, however this also looks bad. I think I would go with the current `SerializerRegistry` one. About the naming, I use `SerializerRegistry` for now. Do you have other candidates? As the registry is not only for serialization, nor a real "dynamic registry"... -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
