You are viewing a plain text version of this content. The canonical link for it is here.
Posted to github@arrow.apache.org by GitBox <gi...@apache.org> on 2022/03/22 18:35:42 UTC
[GitHub] [arrow] jorisvandenbossche commented on pull request #12467: ARROW-15471: [R] ExtensionType support in R
jorisvandenbossche commented on pull request #12467:
URL: https://github.com/apache/arrow/pull/12467#issuecomment-1075489604
> I think so! This example is probably better
That example indeed nicely shows that it is possible.
I suppose one thing that confused me is that `new_extension_type(..)` rather creates a new *instance* of a given type, and not a new type itself (and thus this allows you to create instances of a given extension type with different metadata).
> It isn't all that straightforward to do (the way I've implemented it in R) and I'm not sure I like how it's implemented (but I'm also not sure how to make it better).
I think the fact that you already determine the serialized metadata upfront in R is fine / nice (the fact that in Python this is C++ calling back into python is kind of a complication, as the metadata could be known at the point when instantiating the python extension type instance).
One thing I was wondering: the reason you can't define a `.Serialize` method on the QuantizedType that can hold this logic to create the serialized metadata (instead of doing that inside `new_extension_type( ..., extension_metadata=... )`), is that this class instance is only created after the underlying C++ extension type, for which you already need the serialized metadata? It's not possible to first initialize the QuantizedType object, and let that call Serialize to then create the underlying C++ object? (disclaimer: I know nothing about R classes :))
--
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