You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
While it is possible to do a multitude of things with Duckdb’s extension api with c++ you can currently only do a relatively small subset of that using the c api. This limits the fuller extensibly capabilities for those outsize the c++ community.
I learned these limitations while working on a zig library for writing duckdb extensions but I believe the same limitations hold for rust and other language communities that could otherwise extend duckdb through their support for c interop, zig’s is particularly good.
This feature request would be to extend the list of extension capabilities available in the c api to match those which already exist in the c++ api so that a wider range of communities can contribute to the overall duckdb ecosystem.
I was going to start with the unary functions but it looks like someone beat me to it! That’s great news.
I’d start next walking down the list of functions in extensionutil and asking what does the equivalent look like for those using the c api.
as a thought exercise I’d be curious
how many of the default extensions could be implemented using the same api.
lastly I’m curious about how the motherduck extension works it’s not a function but an attach target. I believe it’s also an extension but I’m not sure what flavor class of functions it’s registered as.
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
-
While it is possible to do a multitude of things with Duckdb’s extension api with c++ you can currently only do a relatively small subset of that using the c api. This limits the fuller extensibly capabilities for those outsize the c++ community.
I learned these limitations while working on a zig library for writing duckdb extensions but I believe the same limitations hold for rust and other language communities that could otherwise extend duckdb through their support for c interop, zig’s is particularly good.
For example you can create table functions using the c api, you can not create scalar functions as you can with c++. This extensions apis don’t exist in the c api.
This feature request would be to extend the list of extension capabilities available in the c api to match those which already exist in the c++ api so that a wider range of communities can contribute to the overall duckdb ecosystem.
Beta Was this translation helpful? Give feedback.
All reactions