Skip to content

taniabogatsch/goofy-duck

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Repo Information

At this stage, this repo (goofy-duck) is a proof of concept for writing Go duckdb extensions using the C API instead of the C++ interface. Without the need to write any C code or cgo. I am not entirely there yet, as seen by the C code here:

void callback(void *info, void *in, void *out);

duckdb-go-api is a lightweight Go wrapper for duckdb's C API functions. In its current state, it is far from any official wrapper, and I mainly use it for the goofy-duck proof of concept.

It differs from go-duckdb because it does not implement Go's SQL driver interface. It only wraps the C API functions in Go functions. Conceptionally, this means that (at some more distant point in time) go-duckdb could use these wrapper functions to replace most of its C code. However, they are not a substitute for each other.

Some copy-pasta for development.

go build --buildmode=c-shared ./
python3 append_extension_metadata.py -l main -n goofy_duck -dv v0.0.1 -ev v0.0.1 -p osx_arm64
../duckdb/build/release/duckdb -unsigned 
 load './goofy_duck.duckdb_extension';

append_extension_metadata.py is copied over from the duckdb repo.

About

A small Go extension for DuckDB

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published