That's precisely what I was suggesting and expecting. Sounds good. I'll clean 
up my POC and make a proper PR sometime soon.

Thanks much for the discussion!

--Matt

-----Original Message-----
From: Antoine Pitrou <anto...@python.org> 
Sent: Monday, August 23, 2021 2:18 PM
To: dev@arrow.apache.org
Subject: Re: [C++][Go] CGO For Dataset API Integration


Then we could provide a small C dataset API somewhere in the C++ source tree 
(perhaps `arrow/dataset/c/api.h`?).  It would be unstable/experimental and 
could undergo changes or even removal without notice.

Regards

Antoine.


Le 23/08/2021 à 20:07, Matthew Topol a écrit :
> Because go is always statically compiled for whatever platform you're on at 
> the time, the default behavior is for importing go libraries using `go get` 
> from the command line actually does a git clone of the code and compiles it 
> on the fly (because go's compiler is pretty darn fast) and caches statically 
> compiled versions of dependencies for builds. Go-Arrow follows this same 
> typical golang pattern that you don't distribute a shared object binary but 
> rather the go tool pulls the code and compiles the relevant code as needed. 
> Because the import path tells it the full path to the go.mod file (the top of 
> the module) it knows that it only needs the go/arrow directory tree for the 
> module and as such it doesn't clone the entire git repo.
> 
> -----Original Message-----
> From: Antoine Pitrou <anto...@python.org>
> Sent: Monday, August 23, 2021 2:00 PM
> To: dev@arrow.apache.org
> Subject: Re: [C++][Go] CGO For Dataset API Integration
> 
> 
> Le 23/08/2021 à 19:53, Matthew Topol a écrit :
>> The only thing I don't like it being a private module in the Go 
>> implementation is distribution. For native go code, consumers can just 
>> perform `go get` and have it work. But for this interface, it would require 
>> both consumers of the module and any consumers of those consumers to have a 
>> local built version of this library locally when building their Go code. 
>> Easy to static link in for distributing binaries, but not for library 
>> builders.
> 
> Hmm, I think I'm lacking some context.  Do consumers of Go-Arrow code 
> typically recompile Go-Arrow instead of using an existing binary?
> 

Reply via email to