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]

Reply via email to