Le 23/08/2021 à 18:22, Matthew Topol a écrit :
That's a fair point, and part of the work I've done so far is a local Go implementation of at least consuming the C data interface. It will also eventually involve creating the necessary implementation to produce the C-Data interface too. But specifically I'm asking for opinions on using that C-Data interface to build a C *programming* interface to the C++ Dataset API in the same vein as the JNI interface, so that Go could use the dataset api without having to reimplement the entirety of it. Given the difference between a *programming* interface and a *data* interface, I suppose the recommendation would be that creating a C Programming Interface for the Dataset API (using the C-Data interface for producing/consuming the actual Arrow data) should be a separate component like libarrow_dataset_jni rather than integrating it directly into the dataset component. Right? If it's not necessary for there to be Go specific things in the interface, then it could just be called *libarrow_dataset_c* or something equivalent, but would still be a separate component which just relies on the dataset api rather than being integrated into it. Does that make sense?
That does make sense, though I wonder how usable a C API to datasets would be. Being able to integrate with the C++ API from Go would probably make more sense.
Regards Antoine.