You are viewing a plain text version of this content. The canonical link for it is here.
Posted to github@arrow.apache.org by "waynexia (via GitHub)" <gi...@apache.org> on 2023/05/22 07:01:11 UTC

[GitHub] [arrow-datafusion] waynexia commented on pull request #6378: feat: implement serialize/deserialize for extension logical plan

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: github-unsubscribe@arrow.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org