paleolimbot commented on issue #88:
URL: https://github.com/apache/arrow-nanoarrow/issues/88#issuecomment-1385783351

   Some details about the `#include "nanoarrow.h"` (or not) decision now that 
I'm playing with this:
   
   Pros (in favor of including):
   
   - We can re-use `ArrowError`, `ArrowBufferView`, and 
`ArrowDealloator`...these all show up (or will) in the ArrowIpc* functions.
   - There's no extra copy of the nanoarrow runtime for the likely case that 
users are also using nanoarrow.h functions.
   - Namespacing is a little ambiguous...if we include nanoarrow.h, we can just 
apply `NANOARROW_NAMESPACE` and it's done. If we don't, we also have to 
reinvent the namespacing macros (or not implement namespacing).
   
   Cons (in favor of nanoarrow_ipc as standalone):
   
   - The versioning is perhaps a little ambiguous...when we include the 
nanoarrow header we imply that the runtime and built-time versions line up (I 
suppose we can enforce this via inspecting the `NANOARROW_VERSION` define in 
the IPC extension).
   
   Having typed out these pro/cons, I'm inclined to `#include 
"nanoarrow.h"`...particularly because of the namespacing consideration.


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