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

C Extension API #381

Merged
merged 42 commits into from
Oct 8, 2024
Merged
Changes from 1 commit
Commits
Show all changes
42 commits
Select commit Hold shift + click to select a range
eeca07d
PoC for a C EXTENSION API based extension
samansmink Aug 13, 2024
0e09e86
fix paths
0xcaff Aug 16, 2024
45e301f
use workspace versions
0xcaff Aug 16, 2024
df030a1
run cargo fmt
0xcaff Aug 16, 2024
7b046ca
fix submodule import
0xcaff Aug 16, 2024
fec044d
update bundled build code
0xcaff Aug 16, 2024
5d963e3
add updated generated assets
0xcaff Aug 16, 2024
ece9daf
remove bash -e
0xcaff Aug 16, 2024
29231f3
remove duplicate code
0xcaff Aug 16, 2024
c251b19
remove LIBDUCKDB_SYS_BUNDLING
0xcaff Aug 16, 2024
6b237da
split build and test
0xcaff Aug 16, 2024
30ff005
add todo
0xcaff Aug 16, 2024
d6a9ffc
remove update none
0xcaff Aug 16, 2024
424312a
add updated bundled bindgen
0xcaff Aug 16, 2024
f07a11d
Merge pull request #1 from 0xcaff/martin/sam-bundled-build
samansmink Aug 27, 2024
c8d93c4
wip
samansmink Aug 27, 2024
54e2618
bump duckdb, fix tests, fix loadable extension bindings
samansmink Sep 12, 2024
7621ce5
fix build, regen bindings
samansmink Sep 16, 2024
1a0089c
Merge branch 'main' into poc-rust-c-extension-api
samansmink Sep 16, 2024
cf9555c
format
samansmink Sep 16, 2024
81fe50c
remove makefile target for now
samansmink Sep 16, 2024
d8e47ab
apply proposed fix by @0xcaff for incorrect entrypoint signature
samansmink Sep 16, 2024
0bc3647
remove commented out lines of code
samansmink Sep 16, 2024
f333e73
bump duckdb, handle errors during initialization
samansmink Oct 4, 2024
147af76
format
samansmink Oct 4, 2024
07f522d
make clippy happy
samansmink Oct 4, 2024
6899dc2
add building the loadable capi extension to ci
samansmink Oct 4, 2024
1243fce
fix for polars changes api
samansmink Oct 4, 2024
488e769
workaround issue with polars and clippy
samansmink Oct 4, 2024
3f4297f
fix incompatiblity with newer polars version
samansmink Oct 4, 2024
a482097
fix small test breakage
samansmink Oct 4, 2024
260750f
workaround or windows too
samansmink Oct 4, 2024
27c503c
add feature dependency for example
samansmink Oct 4, 2024
eff7f8e
rerun bindgen using ubuntu
samansmink Oct 7, 2024
38286cc
make feature name consistent
samansmink Oct 7, 2024
a52d673
use space separated param
samansmink Oct 7, 2024
776d0ae
fix incorrect feature name here
samansmink Oct 7, 2024
0034648
remove incorrect required feature
samansmink Oct 7, 2024
1a96802
add warnings add correct feature dependency
samansmink Oct 7, 2024
ae3c1d3
downgrade polars again, due to tarpaulin issue
samansmink Oct 7, 2024
1743632
disable polars in asan for now
samansmink Oct 7, 2024
b2f5bf8
try skipping the proc macro package in asan job
samansmink Oct 8, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
use workspace versions
optional dependency too
0xcaff committed Aug 16, 2024
commit 45e301f9b043edc46488b4d2c99ef18920f3a130
1 change: 1 addition & 0 deletions Cargo.toml
Original file line number Diff line number Diff line change
@@ -43,6 +43,7 @@ pkg-config = "0.3.24"
polars = "0.35.4"
polars-core = "0.35.4"
pretty_assertions = "1.4.0"
prettyplease = "0.2.20"
proc-macro2 = "1.0.56"
quote = "1.0.21"
r2d2 = "0.8.9"
8 changes: 4 additions & 4 deletions crates/libduckdb-sys/Cargo.toml
Original file line number Diff line number Diff line change
@@ -22,7 +22,7 @@ buildtime_bindgen = ["bindgen", "pkg-config", "vcpkg"]
json = ["bundled"]
parquet = ["bundled"]
extensions-full = ["json", "parquet"]
loadable_extension = ["buildtime_bindgen"]
loadable_extension = ["prettyplease", "quote", "syn", "buildtime_bindgen"]

[dependencies]

@@ -36,9 +36,9 @@ vcpkg = { workspace = true, optional = true }
serde = { workspace = true, features = ["derive"] }
serde_json = { workspace = true }
tar = { workspace = true }
prettyplease = "0.2.20"
syn = "2.0"
quote = "1.0"
syn = { workspace = true, optional = true }
quote = { workspace = true, optional = true }
prettyplease = { workspace = true, optional = true }

[dev-dependencies]
arrow = { workspace = true, features = ["ffi"] }