Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Auto-load / auto-install in go-duckdb? And packaging JSON? #228

Closed
carlopi opened this issue Jun 5, 2024 · 1 comment · Fixed by #280 · May be fixed by #248
Closed

Auto-load / auto-install in go-duckdb? And packaging JSON? #228

carlopi opened this issue Jun 5, 2024 · 1 comment · Fixed by #280 · May be fixed by #248

Comments

@carlopi
Copy link
Contributor

carlopi commented Jun 5, 2024

Hi!

I was reviewing various DuckDB clients (congrats on moving to 1.0.0 already!), and noticed there is some homogeneity in how some build variables are configured.

  1. Other clients often come with auto-install and auto-load enabled, should that turned on also for go?

  2. Other clients package the the JSON extensions as statically-linked extension, would that make sense here?
    Idea is that it's among the most common file formats (together with CSV and parquet, but they comes as bundled-in in any case).
    Many clients also package ICU as statically-linked extension.

Unsure what's the view of go-duckdb on both point, once I saw there was a difference I thought it was worth writing this.

Keep up the good work, Carlo


Code side changing this should be simple, for autoinstall and autoloading it should be a matter of adding ENABLE_EXTENSION_AUTOLOADING=1 and ENABLE_EXTENSION_AUTOINSTALL=1 to DUCKDB_COMMON_BUILD_FLAGS in the Makefile.
Bundled extensions should be doable via BUILD_EXTENSIONS="json" (also to the Makefile's build flags), but some testing (maybe adding a test for this behaviour in CI is to be considered) could be nice.

@carlopi
Copy link
Contributor Author

carlopi commented Jun 5, 2024

On autoloading and autoinstall, the defaults at Makefile level will eventually become having both enabled, but for now they need explicit opt-in by whoever builds and distribute DuckDB-based libraries.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
1 participant