FiV0 opened a new pull request, #41731:
URL: https://github.com/apache/arrow/pull/41731

   ### Rationale for this change
   
   For me personally I mainly want to fix #41728, but this change also includes 
some larger changes to the writer interface. This will likely include some 
design work and some back and forth as I can't make these decisions.
   
   ### What changes are included in this PR?
   
   A commit that extends the writer interfaces with an `ExtensionWriter` as 
well as dealing with the `MinorType.EXTENSIONTYPE` in various places. The 
`ExtensionWriter` was left rather skeleton like as this needs some design 
decisions to be made before implementing the concrete details. I will leave 
some comments throughout the code of where I think stuff needs to be decided. 
   
   This next bit are my 2cents (hence taken with a grain of salt) of how I 
would do things as I have the impression that one will eventually hit a wall 
with the current writer interfaces.  For example the `PromotableWriter` 
currently makes the assumption that the parent vector is a struct or a list 
vector, making it difficult to extend this to composite extension types. 
   I would just create one single writer interface (`VectorWriter` or whatever 
you want to call) implemented by all concrete writers. If a writer doesn't 
support an operation just keep it abstract or throw an UOE. 
   
   ### Are these changes tested?
   
   There are two tests that test the issue of #41728. I have not tested 
(because of the lack of a concrete implementation) the `ExtensionWriter` 
interface.
   
   ### Are there any user-facing changes?
   
   Yes. `ExtensionWriter` will be exposed for the first time. This is only an 
additive change and shouldn't break any existing API. 


-- 
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