remove DuckDB native integration
ober
0ec12c3cf3722194ccbf636438d5cb6eee745db0
--- a/.jerbuild +++ b/.jerbuild @@ -3,5 +3,5 @@ (entry "jerbuild.ss") (output "jerbuild-local") (requires "cc") -(notes "jerbuild itself is pure Scheme. jerboa-native-rs and DuckDB are not required.") +(notes "jerbuild itself is pure Scheme. jerboa-native-rs is not required.") (libdirs "lib") --- a/Containerfile +++ b/Containerfile @@ -131,13 +131,11 @@ COPY lib /build/mine/jerboa/lib COPY support /build/mine/jerboa/support COPY jerboa-native-rs /build/mine/jerboa/jerboa-native-rs -# ── Pre-build libjerboa_native.a (musl, no duckdb) ─────────────────────────── +# ── Pre-build libjerboa_native.a (musl) ────────────────────────────────────── # Warms the Cargo registry cache under /build/.cargo so downstream builds that # patch regex_native.rs only need to recompile that one module, not fetch crates. # Uses CARGO_HOME=/build/.cargo so no /root/.cargo paths leak into the .a. RUN cd /build/mine/jerboa/jerboa-native-rs && \ - grep -q '#\[cfg(feature = "duckdb")\]' src/lib.rs || \ - sed -i 's/^mod duckdb_native;/#[cfg(feature = "duckdb")]\nmod duckdb_native;/' src/lib.rs && \ CARGO_HOME=/build/.cargo \ RUSTFLAGS="--remap-path-prefix /build/.cargo/registry/src=crate --remap-path-prefix /build/mine=src" \ cargo build --locked --release --target x86_64-unknown-linux-musl --no-default-features && \ --- a/Makefile +++ b/Makefile @@ -1149,8 +1149,8 @@ RUST_TARGET_tarm64osx = aarch64-apple-darwin RUST_TARGET_ta6fb = x86_64-unknown-freebsd RUST_TARGET ?= $(RUST_TARGET_$(CHEZ_TARGET_MACHINE)) -# Feature set for cross builds. Many `full` features (duckdb, postgres, -# mozjs) don't cross-compile cleanly; default to a minimal build. +# Feature set for cross builds. Many `full` features (postgres, mozjs) don't +# cross-compile cleanly; default to a minimal build. # Override e.g. CROSS_NATIVE_FEATURES="tls,crypto" to enable specific ones. CROSS_NATIVE_FEATURES ?= @@ -1480,7 +1480,6 @@ TEST_QUARANTINE_FILES := \ tests/test-wasm-sandbox.ss \ tests/test-workpool.ss \ tests/test-wrapper-crypto.ss \ - tests/test-wrapper-duckdb.ss \ tests/test-wrapper-epoll.ss \ tests/test-wrapper-inotify.ss \ tests/test-wrapper-pcre2.ss \ --- a/data/anti-patterns.sexp +++ b/data/anti-patterns.sexp @@ -917,8 +917,8 @@ . "(?i)\\bpodman\\b.*\\b(linux|build|cross|jerboa|jerbuild)\\b") ("severity" . "high") - ("tags" "podman" "linux.cons.io" "cross-build" - "jerboa" "jerboa-emacs") + ("tags" "podman" "linux.cons.io" "cross-build" "jerboa" + "jerboa-emacs") ("title" . "Do not use containers for Linux builds") ("tools" "exec_command")) (("advice" @@ -5888,7 +5888,24 @@ ("title" . "ORDER BY sort predicate returns numeric comparator") + ("tools" "jerboa_howto" "jerboa_run_tests" "jerboa_verify")) + (("advice" + . + "When debugging fully static binaries, scan both linked objects with nm and Scheme source forms including `(foreign-procedure __collect_safe \"name\" ...)`, `(foreign-entry? \"name\")`, and `(c-lambda (...) ret \"name\")`. Regenerate Sforeign_symbol registrations after all shim objects are compiled.") + ("avoid" + . + "Do not assume a static symbol generator that scans only simple `(foreign-procedure \"name\" ...)` forms covers all Jerboa FFI declarations.") + ("id" . "incomplete-static-ffi-source-scan") + ("kinds" "ffi" "debug-error") + ("pattern" + . + "no entry for \\\"[^\\\"]+\\\"|foreign-procedure __collect_safe|c-lambda .* \\\"[^\\\"]+\\\"") + ("severity" . "high") + ("tags" "static" "ffi" "c-lambda" "foreign-procedure" + "podman") + ("title" . "Incomplete static FFI symbol scan") ("tools" - "jerboa_howto" - "jerboa_run_tests" - "jerboa_verify"))) + "jerboa_check_balance" + "jerboa_compile_check" + "jerboa_security_scan")) + ) --- a/data/api-signatures.sexp +++ b/data/api-signatures.sexp @@ -1,4 +1,4 @@ -(("errors") ("generated" . "2026-07-28") +(("errors") ("generated" . "2026-07-30") ("modules" ("(jerboa build musl)" ("exports" "build-musl-binary" "make-musl-cross-target" @@ -652,44 +652,47 @@ ("exports" "make-typed-ir-begin" "make-typed-ir-binding" "make-typed-ir-break" "make-typed-ir-bytes-build" "make-typed-ir-call" "make-typed-ir-continue" - "make-typed-ir-for-fold" "make-typed-ir-function-ref" - "make-typed-ir-if" "make-typed-ir-lambda" - "make-typed-ir-let" "make-typed-ir-lit" - "make-typed-ir-match" "make-typed-ir-match-clause" - "make-typed-ir-mutable-let" "make-typed-ir-new" - "make-typed-ir-object" "make-typed-ir-object-method" - "make-typed-ir-return" "make-typed-ir-set" - "make-typed-ir-throw" "make-typed-ir-try" - "make-typed-ir-try-finally" "make-typed-ir-var" - "make-typed-ir-while" "typed-ir-begin-exprs" - "typed-ir-begin-source" "typed-ir-begin-type" - "typed-ir-begin?" "typed-ir-binding-expr" - "typed-ir-binding-name" "typed-ir-binding?" - "typed-ir-break-source" "typed-ir-break-type" - "typed-ir-break?" "typed-ir-bytes-build-body" - "typed-ir-bytes-build-size" "typed-ir-bytes-build-source" - "typed-ir-bytes-build-type" "typed-ir-bytes-build-var-name" - "typed-ir-bytes-build?" "typed-ir-call-args" - "typed-ir-call-info" "typed-ir-call-kind" - "typed-ir-call-kinds" "typed-ir-call-operator" - "typed-ir-call-source" "typed-ir-call-type" "typed-ir-call?" + "make-typed-ir-for" "make-typed-ir-for-fold" + "make-typed-ir-function-ref" "make-typed-ir-if" + "make-typed-ir-lambda" "make-typed-ir-let" + "make-typed-ir-lit" "make-typed-ir-match" + "make-typed-ir-match-clause" "make-typed-ir-mutable-let" + "make-typed-ir-new" "make-typed-ir-object" + "make-typed-ir-object-method" "make-typed-ir-return" + "make-typed-ir-set" "make-typed-ir-throw" + "make-typed-ir-try" "make-typed-ir-try-finally" + "make-typed-ir-var" "make-typed-ir-while" + "typed-ir-begin-exprs" "typed-ir-begin-source" + "typed-ir-begin-type" "typed-ir-begin?" + "typed-ir-binding-expr" "typed-ir-binding-name" + "typed-ir-binding?" "typed-ir-break-source" + "typed-ir-break-type" "typed-ir-break?" + "typed-ir-bytes-build-body" "typed-ir-bytes-build-size" + "typed-ir-bytes-build-source" "typed-ir-bytes-build-type" + "typed-ir-bytes-build-var-name" "typed-ir-bytes-build?" + "typed-ir-call-args" "typed-ir-call-info" + "typed-ir-call-kind" "typed-ir-call-kinds" + "typed-ir-call-operator" "typed-ir-call-source" + "typed-ir-call-type" "typed-ir-call?" "typed-ir-continue-source" "typed-ir-continue-type" - "typed-ir-continue?" "typed-ir-for-fold-acc-init" - "typed-ir-for-fold-acc-name" "typed-ir-for-fold-body" - "typed-ir-for-fold-range-end" + "typed-ir-continue?" "typed-ir-for-body" + "typed-ir-for-fold-acc-init" "typed-ir-for-fold-acc-name" + "typed-ir-for-fold-body" "typed-ir-for-fold-range-end" "typed-ir-for-fold-range-start" "typed-ir-for-fold-source" "typed-ir-for-fold-type" "typed-ir-for-fold-var-name" - "typed-ir-for-fold?" "typed-ir-function-ref-name" - "typed-ir-function-ref-source" "typed-ir-function-ref-type" - "typed-ir-function-ref?" "typed-ir-if-else" - "typed-ir-if-source" "typed-ir-if-test" "typed-ir-if-then" - "typed-ir-if-type" "typed-ir-if?" "typed-ir-lambda-body" - "typed-ir-lambda-params" "typed-ir-lambda-source" - "typed-ir-lambda-type" "typed-ir-lambda?" - "typed-ir-let-bindings" "typed-ir-let-body" - "typed-ir-let-source" "typed-ir-let-type" "typed-ir-let?" - "typed-ir-lit-source" "typed-ir-lit-type" - "typed-ir-lit-value" "typed-ir-lit?" + "typed-ir-for-fold?" "typed-ir-for-range-end" + "typed-ir-for-range-start" "typed-ir-for-source" + "typed-ir-for-type" "typed-ir-for-var-name" "typed-ir-for?" + "typed-ir-function-ref-name" "typed-ir-function-ref-source" + "typed-ir-function-ref-type" "typed-ir-function-ref?" + "typed-ir-if-else" "typed-ir-if-source" "typed-ir-if-test" + "typed-ir-if-then" "typed-ir-if-type" "typed-ir-if?" + "typed-ir-lambda-body" "typed-ir-lambda-params" + "typed-ir-lambda-source" "typed-ir-lambda-type" + "typed-ir-lambda?" "typed-ir-let-bindings" + "typed-ir-let-body" "typed-ir-let-source" + "typed-ir-let-type" "typed-ir-let?" "typed-ir-lit-source" + "typed-ir-lit-type" "typed-ir-lit-value" "typed-ir-lit?" "typed-ir-match-clause-bindings" "typed-ir-match-clause-body" "typed-ir-match-clause-case" "typed-ir-match-clause-field-types" "typed-ir-match-clause?" @@ -819,8 +822,8 @@ ("tier" . "core")) ("(jerboa typed llvmir)" ("exports" "llvm-float-literal" "llvm-function-symbol" - "llvm-module-mangle" "llvm-symbol-name" - "typed-library-form->llvmir-string" + "llvm-module-mangle" "llvm-native-string-runtime?" + "llvm-symbol-name" "typed-library-form->llvmir-string" "typed-library-forms->llvmir-module" "typed-library-forms->llvmir-string" "typed-module->llvmir-string" @@ -2667,33 +2670,6 @@ "dbi-with-transaction" "make-dbi-connection") ("file" . "lib/std/db/dbi.ss") ("tier" . "stable")) - ("(std db duckdb)" - ("exports" "DUCKDB_BLOB" "DUCKDB_BOOLEAN" "DUCKDB_FLOAT" - "DUCKDB_INTEGER" "DUCKDB_NULL" "DUCKDB_TEXT" "duckdb-bind!" - "duckdb-close" "duckdb-column-name" "duckdb-column-type" - "duckdb-eval" "duckdb-exec" "duckdb-execute" - "duckdb-finalize" "duckdb-free-result" "duckdb-ncols" - "duckdb-nrows" "duckdb-open" "duckdb-prepare" "duckdb-query" - "duckdb-read-csv" "duckdb-read-parquet" "duckdb-reset" - "duckdb-value" "duckdb-value-is-null?" "duckdb-version" - "duckdb-write-csv" "duckdb-write-parquet") - ("file" . "lib/std/db/duckdb.ss") - ("tier" . "stable")) - ("(std db duckdb-native)" - ("exports" "DUCKDB_BLOB" "DUCKDB_BOOLEAN" "DUCKDB_FLOAT" - "DUCKDB_INTEGER" "DUCKDB_NULL" "DUCKDB_TEXT" - "duckdb-bind-blob" "duckdb-bind-bool" "duckdb-bind-double" - "duckdb-bind-int" "duckdb-bind-null" "duckdb-bind-text" - "duckdb-close" "duckdb-column-name" "duckdb-column-type" - "duckdb-eval" "duckdb-exec" "duckdb-execute" - "duckdb-finalize" "duckdb-free-result" "duckdb-ncols" - "duckdb-nrows" "duckdb-open" "duckdb-prepare" "duckdb-query" - "duckdb-reset" "duckdb-value-blob" "duckdb-value-bool" - "duckdb-value-double" "duckdb-value-int" - "duckdb-value-is-null?" "duckdb-value-text" - "duckdb-version") - ("file" . "lib/std/db/duckdb-native.ss") - ("tier" . "stable")) ("(std db leveldb)" ("exports" "leveldb-approximate-size" "leveldb-close" "leveldb-compact-range" "leveldb-default-options" @@ -7441,13 +7417,13 @@ ("file" . "lib/std/zipper.ss") ("tier" . "stable"))) ("source_root" . "/Users/user/mine/jerboa") - ("stats" ("modules" . 736) ("parse_errors" . 0) ("symbols" . 11031) + ("stats" ("modules" . 734) ("parse_errors" . 0) ("symbols" . 11001) ("tiers" ("compat" . 47) ("core" . 54) - ("stable" . 557) + ("stable" . 555) ("unstable" . 78)) - ("total_exports" . 14328)) + ("total_exports" . 14276)) ("symbol_index" ("%chan-enqueue-raw!" "(std csp)") ("&actor-dead" "(std error conditions)") ("&actor-timeout" "(std error conditions)") @@ -7726,16 +7702,6 @@ "(std prelude)") ("DIAG-ERROR" "(lsp types)") ("DIAG-HINT" "(lsp types)") ("DIAG-INFO" "(lsp types)") ("DIAG-WARNING" "(lsp types)") - ("DUCKDB_BLOB" "(std db duckdb)" "(std db duckdb-native)") - ("DUCKDB_BOOLEAN" - "(std db duckdb)" - "(std db duckdb-native)") - ("DUCKDB_FLOAT" "(std db duckdb)" "(std db duckdb-native)") - ("DUCKDB_INTEGER" - "(std db duckdb)" - "(std db duckdb-native)") - ("DUCKDB_NULL" "(std db duckdb)" "(std db duckdb-native)") - ("DUCKDB_TEXT" "(std db duckdb)" "(std db duckdb-native)") ("Datafiable" "(jerboa clojure)" "(std datafy)") ("E2BIG" "(std os errno)") ("EACCES" "(std os errno)") ("EAGAIN" "(std os errno)") ("EBADF" "(std os errno)") @@ -10558,55 +10524,6 @@ ("dsupervisor-start-child!" "(std actor cluster)") ("dsupervisor-stop-child!" "(std actor cluster)") ("dsupervisor-which-children" "(std actor cluster)") - ("duckdb-bind!" "(std db duckdb)") - ("duckdb-bind-blob" "(std db duckdb-native)") - ("duckdb-bind-bool" "(std db duckdb-native)") - ("duckdb-bind-double" "(std db duckdb-native)") - ("duckdb-bind-int" "(std db duckdb-native)") - ("duckdb-bind-null" "(std db duckdb-native)") - ("duckdb-bind-text" "(std db duckdb-native)") - ("duckdb-close" "(std db duckdb)" "(std db duckdb-native)") - ("duckdb-column-name" - "(std db duckdb)" - "(std db duckdb-native)") - ("duckdb-column-type" - "(std db duckdb)" - "(std db duckdb-native)") - ("duckdb-eval" "(std db duckdb)" "(std db duckdb-native)") - ("duckdb-exec" "(std db duckdb)" "(std db duckdb-native)") - ("duckdb-execute" - "(std db duckdb)" - "(std db duckdb-native)") - ("duckdb-finalize" - "(std db duckdb)" - "(std db duckdb-native)") - ("duckdb-free-result" - "(std db duckdb)" - "(std db duckdb-native)") - ("duckdb-ncols" "(std db duckdb)" "(std db duckdb-native)") - ("duckdb-nrows" "(std db duckdb)" "(std db duckdb-native)") - ("duckdb-open" "(std db duckdb)" "(std db duckdb-native)") - ("duckdb-prepare" - "(std db duckdb)" - "(std db duckdb-native)") - ("duckdb-query" "(std db duckdb)" "(std db duckdb-native)") - ("duckdb-read-csv" "(std db duckdb)") - ("duckdb-read-parquet" "(std db duckdb)") - ("duckdb-reset" "(std db duckdb)" "(std db duckdb-native)") - ("duckdb-value" "(std db duckdb)") - ("duckdb-value-blob" "(std db duckdb-native)") - ("duckdb-value-bool" "(std db duckdb-native)") - ("duckdb-value-double" "(std db duckdb-native)") - ("duckdb-value-int" "(std db duckdb-native)") - ("duckdb-value-is-null?" - "(std db duckdb)" - "(std db duckdb-native)") - ("duckdb-value-text" "(std db duckdb-native)") - ("duckdb-version" - "(std db duckdb)" - "(std db duckdb-native)") - ("duckdb-write-csv" "(std db duckdb)") - ("duckdb-write-parquet" "(std db duckdb)") ("dump-ir-between-passes!" "(std compiler passes)") ("dump-specialization-stats" "(std compiler partial-eval)") ("duplicates" @@ -13237,6 +13154,7 @@ ("llvm-float-literal" "(jerboa typed llvmir)") ("llvm-function-symbol" "(jerboa typed llvmir)") ("llvm-module-mangle" "(jerboa typed llvmir)") + ("llvm-native-string-runtime?" "(jerboa typed llvmir)") ("llvm-symbol-name" "(jerboa typed llvmir)") ("lmap" "(std lazy)") ("lnull" "(std lazy)") ("lnull?" "(std lazy)") @@ -14061,6 +13979,7 @@ ("make-typed-ir-bytes-build" "(jerboa typed core)") ("make-typed-ir-call" "(jerboa typed core)") ("make-typed-ir-continue" "(jerboa typed core)") + ("make-typed-ir-for" "(jerboa typed core)") ("make-typed-ir-for-fold" "(jerboa typed core)") ("make-typed-ir-function-ref" "(jerboa typed core)") ("make-typed-ir-if" "(jerboa typed core)") @@ -19287,6 +19206,7 @@ ("typed-ir-continue-source" "(jerboa typed core)") ("typed-ir-continue-type" "(jerboa typed core)") ("typed-ir-continue?" "(jerboa typed core)") + ("typed-ir-for-body" "(jerboa typed core)") ("typed-ir-for-fold-acc-init" "(jerboa typed core)") ("typed-ir-for-fold-acc-name" "(jerboa typed core)") ("typed-ir-for-fold-body" "(jerboa typed core)") @@ -19296,6 +19216,12 @@ ("typed-ir-for-fold-type" "(jerboa typed core)") ("typed-ir-for-fold-var-name" "(jerboa typed core)") ("typed-ir-for-fold?" "(jerboa typed core)") + ("typed-ir-for-range-end" "(jerboa typed core)") + ("typed-ir-for-range-start" "(jerboa typed core)") + ("typed-ir-for-source" "(jerboa typed core)") + ("typed-ir-for-type" "(jerboa typed core)") + ("typed-ir-for-var-name" "(jerboa typed core)") + ("typed-ir-for?" "(jerboa typed core)") ("typed-ir-function-ref-name" "(jerboa typed core)") ("typed-ir-function-ref-source" "(jerboa typed core)") ("typed-ir-function-ref-type" "(jerboa typed core)") --- a/data/error-fixes.sexp +++ b/data/error-fixes.sexp @@ -3336,4 +3336,18 @@ ("pattern" . "string->number accepts non-decimal radix prefixes (#x10, #o10, #b10) and scientific notation (1e5).") - ("type" . "security-scan"))) + ("type" . "security-scan")) + (("code_example" + . + "gcc -c -O2 -o jemacs-qt-jerboa-native-stubs.o support/jerboa_native_stubs.c\n# link jemacs-qt-jerboa-native-stubs.o and regenerate Sforeign_symbol table from linked objects before final link") + ("explanation" + . + "Newer (std native) probes jerboa_last_error via foreign-procedure to decide whether native symbols are embedded. If the static binary does not include that stub object, the probe fails and jerboa-native-load! falls through to the bundled-library path, which is absent in single-file static builds.") + ("fix" + . + "For static jemacs/Qt binaries that intentionally do not ship libjerboa_native, compile and link support/jerboa_native_stubs.c so jerboa_last_error is a registered static symbol before (std native) initializes. Ensure the static symbol generator scans linked objects after the stub object is built.") + ("id" . "static-qt-libjerboa-native-loader-missing") + ("pattern" + . + "jerboa-native-load!.*libjerboa_native was not found beneath JERBOA_HOME/lib") + ("type" . "runtime"))) --- a/docs/reviews/2026-07-27-native-export-review.sexp +++ b/docs/reviews/2026-07-27-native-export-review.sexp @@ -2,7 +2,7 @@ (schema "jerboa.native-export-review/1") (generated-by "support/check-native-export-review.sh") (policy scheme-callers-or-documented) - (summary (exports 194) (scheme-referenced 187) (no-scheme-reference 7)) + (summary (exports 169) (scheme-referenced 162) (no-scheme-reference 7)) (exports (export (symbol "ed25519_derive_pubkey_standalone") (file "jerboa-native-rs/src/ed25519.rs") (line 50) (scheme-callers 0 (none))) (export (symbol "ed25519_sign_standalone") (file "jerboa-native-rs/src/ed25519.rs") (line 9) (scheme-callers 0 (none))) @@ -29,31 +29,6 @@ (export (symbol "jerboa_chacha20_open") (file "jerboa-native-rs/src/crypto.rs") (line 606) (scheme-callers 1 (caller (file "lib/std/crypto/native-rust.ss") (line 257)))) (export (symbol "jerboa_chacha20_seal") (file "jerboa-native-rs/src/crypto.rs") (line 519) (scheme-callers 1 (caller (file "lib/std/crypto/native-rust.ss") (line 236)))) (export (symbol "jerboa_deflate") (file "jerboa-native-rs/src/compress.rs") (line 9) (scheme-callers 1 (caller (file "lib/std/compress/native-rust.ss") (line 61)))) - (export (symbol "jerboa_duckdb_bind_blob") (file "jerboa-native-rs/src/duckdb_native.rs") (line 443) (scheme-callers 1 (caller (file "lib/std/db/duckdb-native.ss") (line 62)))) - (export (symbol "jerboa_duckdb_bind_bool") (file "jerboa-native-rs/src/duckdb_native.rs") (line 500) (scheme-callers 1 (caller (file "lib/std/db/duckdb-native.ss") (line 66)))) - (export (symbol "jerboa_duckdb_bind_double") (file "jerboa-native-rs/src/duckdb_native.rs") (line 386) (scheme-callers 1 (caller (file "lib/std/db/duckdb-native.ss") (line 58)))) - (export (symbol "jerboa_duckdb_bind_int") (file "jerboa-native-rs/src/duckdb_native.rs") (line 362) (scheme-callers 1 (caller (file "lib/std/db/duckdb-native.ss") (line 56)))) - (export (symbol "jerboa_duckdb_bind_null") (file "jerboa-native-rs/src/duckdb_native.rs") (line 476) (scheme-callers 1 (caller (file "lib/std/db/duckdb-native.ss") (line 64)))) - (export (symbol "jerboa_duckdb_bind_text") (file "jerboa-native-rs/src/duckdb_native.rs") (line 410) (scheme-callers 1 (caller (file "lib/std/db/duckdb-native.ss") (line 60)))) - (export (symbol "jerboa_duckdb_close") (file "jerboa-native-rs/src/duckdb_native.rs") (line 227) (scheme-callers 1 (caller (file "lib/std/db/duckdb-native.ss") (line 45)))) - (export (symbol "jerboa_duckdb_column_name") (file "jerboa-native-rs/src/duckdb_native.rs") (line 854) (scheme-callers 1 (caller (file "lib/std/db/duckdb-native.ss") (line 76)))) - (export (symbol "jerboa_duckdb_column_type") (file "jerboa-native-rs/src/duckdb_native.rs") (line 896) (scheme-callers 1 (caller (file "lib/std/db/duckdb-native.ss") (line 79)))) - (export (symbol "jerboa_duckdb_exec") (file "jerboa-native-rs/src/duckdb_native.rs") (line 263) (scheme-callers 2 (caller (file "lib/std/db/duckdb-native.ss") (line 47)) (caller (file "lib/std/db/duckdb-native.ss") (line 69)))) - (export (symbol "jerboa_duckdb_execute") (file "jerboa-native-rs/src/duckdb_native.rs") (line 597) (scheme-callers 1 (caller (file "lib/std/db/duckdb-native.ss") (line 69)))) - (export (symbol "jerboa_duckdb_finalize") (file "jerboa-native-rs/src/duckdb_native.rs") (line 1123) (scheme-callers 1 (caller (file "lib/std/db/duckdb-native.ss") (line 51)))) - (export (symbol "jerboa_duckdb_free_result") (file "jerboa-native-rs/src/duckdb_native.rs") (line 1106) (scheme-callers 1 (caller (file "lib/std/db/duckdb-native.ss") (line 96)))) - (export (symbol "jerboa_duckdb_ncols") (file "jerboa-native-rs/src/duckdb_native.rs") (line 842) (scheme-callers 1 (caller (file "lib/std/db/duckdb-native.ss") (line 74)))) - (export (symbol "jerboa_duckdb_nrows") (file "jerboa-native-rs/src/duckdb_native.rs") (line 830) (scheme-callers 1 (caller (file "lib/std/db/duckdb-native.ss") (line 72)))) - (export (symbol "jerboa_duckdb_open") (file "jerboa-native-rs/src/duckdb_native.rs") (line 184) (scheme-callers 1 (caller (file "lib/std/db/duckdb-native.ss") (line 43)))) - (export (symbol "jerboa_duckdb_prepare") (file "jerboa-native-rs/src/duckdb_native.rs") (line 295) (scheme-callers 1 (caller (file "lib/std/db/duckdb-native.ss") (line 49)))) - (export (symbol "jerboa_duckdb_reset") (file "jerboa-native-rs/src/duckdb_native.rs") (line 1141) (scheme-callers 1 (caller (file "lib/std/db/duckdb-native.ss") (line 53)))) - (export (symbol "jerboa_duckdb_value_blob") (file "jerboa-native-rs/src/duckdb_native.rs") (line 1068) (scheme-callers 1 (caller (file "lib/std/db/duckdb-native.ss") (line 92)))) - (export (symbol "jerboa_duckdb_value_bool") (file "jerboa-native-rs/src/duckdb_native.rs") (line 988) (scheme-callers 1 (caller (file "lib/std/db/duckdb-native.ss") (line 87)))) - (export (symbol "jerboa_duckdb_value_double") (file "jerboa-native-rs/src/duckdb_native.rs") (line 966) (scheme-callers 1 (caller (file "lib/std/db/duckdb-native.ss") (line 85)))) - (export (symbol "jerboa_duckdb_value_int") (file "jerboa-native-rs/src/duckdb_native.rs") (line 938) (scheme-callers 1 (caller (file "lib/std/db/duckdb-native.ss") (line 83)))) - (export (symbol "jerboa_duckdb_value_is_null") (file "jerboa-native-rs/src/duckdb_native.rs") (line 917) (scheme-callers 1 (caller (file "lib/std/db/duckdb-native.ss") (line 81)))) - (export (symbol "jerboa_duckdb_value_text") (file "jerboa-native-rs/src/duckdb_native.rs") (line 1022) (scheme-callers 1 (caller (file "lib/std/db/duckdb-native.ss") (line 89)))) - (export (symbol "jerboa_duckdb_version") (file "jerboa-native-rs/src/duckdb_native.rs") (line 1166) (scheme-callers 1 (caller (file "lib/std/db/duckdb-native.ss") (line 98)))) (export (symbol "jerboa_epoll_close") (file "jerboa-native-rs/src/epoll.rs") (line 106) (scheme-callers 1 (caller (file "lib/std/os/epoll-native.ss") (line 59)))) (export (symbol "jerboa_epoll_create") (file "jerboa-native-rs/src/epoll.rs") (line 7) (scheme-callers 2 (caller (file "lib/std/os/epoll-native.ss") (line 30)) (caller (file "lib/std/os/epoll-native.ss") (line 50)))) (export (symbol "jerboa_epoll_ctl") (file "jerboa-native-rs/src/epoll.rs") (line 25) (scheme-callers 1 (caller (file "lib/std/os/epoll-native.ss") (line 53)))) --- a/jerboa-native-rs/Cargo.lock +++ b/jerboa-native-rs/Cargo.lock @@ -10,24 +10,11 @@ checksum = "320119579fcad9c21884f5c4861d16174d0e06250625266f50fe6898340abefa" [[package]] name = "ahash" -version = "0.7.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "891477e0c6a8957309ee5c45a6368af3ae14bb510732d2684ffa19af310920f9" -dependencies = [ - "getrandom 0.2.17", - "once_cell", - "version_check", -] - -[[package]] -name = "ahash" version = "0.8.12" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5a15f179cd60c4584b8a8c596927aadc462e27f2ca70c04e0071964a73ba7a75" dependencies = [ "cfg-if", - "const-random", - "getrandom 0.3.4", "once_cell", "version_check", "zerocopy", @@ -43,24 +30,6 @@ dependencies = [ ] [[package]] -name = "android_system_properties" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311" -dependencies = [ - "libc", -] - -[[package]] -name = "arbitrary" -version = "1.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c3d036a3c4ab069c7b410a2ce876bd74808d2d0888a82667669f8e783a898bf1" -dependencies = [ - "derive_arbitrary", -] - -[[package]] name = "argon2" version = "0.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" @@ -79,169 +48,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7c02d123df017efcdfbd739ef81735b36c5ba83ec3c59c80a9d7ecc718f92e50" [[package]] -name = "arrow" -version = "58.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d441fdda254b65f3e9025910eb2c2066b6295d9c8ed409522b8d2ace1ff8574c" -dependencies = [ - "arrow-arith", - "arrow-array", - "arrow-buffer", - "arrow-cast", - "arrow-data", - "arrow-ord", - "arrow-row", - "arrow-schema", - "arrow-select", - "arrow-string", -] - -[[package]] -name = "arrow-arith" -version = "58.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ced5406f8b720cc0bc3aa9cf5758f93e8593cda5490677aa194e4b4b383f9a59" -dependencies = [ - "arrow-array", - "arrow-buffer", - "arrow-data", - "arrow-schema", - "chrono", - "num-traits", -] - -[[package]] -name = "arrow-array" -version = "58.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "772bd34cacdda8baec9418d80d23d0fb4d50ef0735685bd45158b83dfeb6e62d" -dependencies = [ - "ahash 0.8.12", - "arrow-buffer", - "arrow-data", - "arrow-schema", - "chrono", - "half", - "hashbrown 0.16.1", - "num-complex", - "num-integer", - "num-traits", -] - -[[package]] -name = "arrow-buffer" -version = "58.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "898f4cf1e9598fdb77f356fdf2134feedfd0ee8d5a4e0a5f573e7d0aec16baa4" -dependencies = [ - "bytes", - "half", - "num-bigint", - "num-traits", -] - -[[package]] -name = "arrow-cast" -version = "58.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b0127816c96533d20fc938729f48c52d3e48f99717e7a0b5ade77d742510736d" -dependencies = [ - "arrow-array", - "arrow-buffer", - "arrow-data", - "arrow-ord", - "arrow-schema", - "arrow-select", - "atoi", - "base64", - "chrono", - "comfy-table", - "half", - "lexical-core", - "num-traits", - "ryu", -] - -[[package]] -name = "arrow-data" -version = "58.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "42d10beeab2b1c3bb0b53a00f7c944a178b622173a5c7bcabc3cb45d90238df4" -dependencies = [ - "arrow-buffer", - "arrow-schema", - "half", - "num-integer", - "num-traits", -] - -[[package]] -name = "arrow-ord" -version = "58.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "763a7ba279b20b52dad300e68cfc37c17efa65e68623169076855b3a9e941ca5" -dependencies = [ - "arrow-array", - "arrow-buffer", - "arrow-data", - "arrow-schema", - "arrow-select", -] - -[[package]] -name = "arrow-row" -version = "58.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e14fe367802f16d7668163ff647830258e6e0aeea9a4d79aaedf273af3bdcd3e" -dependencies = [ - "arrow-array", - "arrow-buffer", - "arrow-data", - "arrow-schema", - "half", -] - -[[package]] -name = "arrow-schema" -version = "58.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c30a1365d7a7dc50cc847e54154e6af49e4c4b0fddc9f607b687f29212082743" -dependencies = [ - "bitflags", -] - -[[package]] -name = "arrow-select" -version = "58.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "78694888660a9e8ac949853db393af2a8b8fc82c19ce333132dfa2e72cc1a7fe" -dependencies = [ - "ahash 0.8.12", - "arrow-array", - "arrow-buffer", - "arrow-data", - "arrow-schema", - "num-traits", -] - -[[package]] -name = "arrow-string" -version = "58.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61e04a01f8bb73ce54437514c5fd3ee2aa3e8abe4c777ee5cc55853b1652f79e" -dependencies = [ - "arrow-array", - "arrow-buffer", - "arrow-data", - "arrow-schema", - "arrow-select", - "memchr", - "num-traits", - "regex", - "regex-syntax", -] - -[[package]] name = "asn1-rs" version = "0.6.2" source = "registry+https://github.com/rust-lang/crates.io-index" @@ -253,7 +59,7 @@ dependencies = [ "nom", "num-traits", "rusticata-macros", - "thiserror 1.0.69", + "thiserror", "time", ] @@ -265,7 +71,7 @@ checksum = "965c2d33e53cb6b267e148a4cb0760bc01f4904c1cd4bb4002a085bb016d1490" dependencies = [ "proc-macro2", "quote", - "syn 2.0.117", + "syn", "synstructure", ] @@ -277,7 +83,7 @@ checksum = "7b18050c2cd6fe86c3a76584ef5e0baf286d038cda203eb6223df2cc413565f7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.117", + "syn", ] [[package]] @@ -288,25 +94,10 @@ checksum = "9035ad2d096bed7955a320ee7e2230574d28fd3c3a0f186cbea1ff3c7eed5dbb" dependencies = [ "proc-macro2", "quote", - "syn 2.0.117", -] - -[[package]] -name = "atoi" -version = "2.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f28d99ec8bfea296261ca1af174f24225171fea9664ba9003cbebee704810528" -dependencies = [ - "num-traits", + "syn", ] [[package]] -name = "atomic-waker" -version = "1.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0" - -[[package]] name = "autocfg" version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" @@ -339,7 +130,7 @@ dependencies = [ "regex", "rustc-hash", "shlex", - "syn 2.0.117", + "syn", ] [[package]] @@ -349,18 +140,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "843867be96c8daad0d758b57df9392b6d8d271134fce549de6ce169ff98a92af" [[package]] -name = "bitvec" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1bc2832c24239b0141d5674bb9174f9d68a8b5b3f2753311927c172ca46f7e9c" -dependencies = [ - "funty", - "radium", - "tap", - "wyz", -] - -[[package]] name = "blake2" version = "0.10.6" source = "registry+https://github.com/rust-lang/crates.io-index" @@ -388,58 +167,12 @@ dependencies = [ ] [[package]] -name = "borsh" -version = "1.6.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cfd1e3f8955a5d7de9fab72fc8373fade9fb8a703968cb200ae3dc6cf08e185a" -dependencies = [ - "borsh-derive", - "bytes", - "cfg_aliases", -] - -[[package]] -name = "borsh-derive" -version = "1.6.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bfcfdc083699101d5a7965e49925975f2f55060f94f9a05e7187be95d530ca59" -dependencies = [ - "once_cell", - "proc-macro-crate", - "proc-macro2", - "quote", - "syn 2.0.117", -] - -[[package]] name = "bumpalo" version = "3.20.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5d20789868f4b01b2f2caec9f5c4e0213b41e3e5702a50157d699ae31ced2fcb" [[package]] -name = "bytecheck" -version = "0.6.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23cdc57ce23ac53c931e88a43d06d070a6fd142f2617be5855eb75efc9beb1c2" -dependencies = [ - "bytecheck_derive", - "ptr_meta", - "simdutf8", -] - -[[package]] -name = "bytecheck_derive" -version = "0.6.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3db406d29fbcd95542e92559bed4d8ad92636d1ca8b3b72ede10b4bcc010e659" -dependencies = [ - "proc-macro2", - "quote", - "syn 1.0.109", -] - -[[package]] name = "byteorder" version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" @@ -452,20 +185,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1e748733b7cbc798e1434b6ac524f0c1ff2ab456fe201501e6497c8417a4fc33" [[package]] -name = "cast" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "37b2a672a2cb129a2e41c10b1224bb368f9f37a2b16b612598138befd7b37eb5" - -[[package]] name = "cc" version = "1.2.57" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7a0dd1ca384932ff3641c8718a02769f1698e7563dc6974ffd03346116310423" dependencies = [ "find-msvc-tools", - "jobserver", - "libc", "shlex", ] @@ -485,12 +210,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801" [[package]] -name = "cfg_aliases" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "613afe47fcd5fac7ccf1db93babcb082c5994d996f20b8b159f2ad1658eb5724" - -[[package]] name = "chacha20" version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" @@ -502,17 +221,6 @@ dependencies = [ ] [[package]] -name = "chrono" -version = "0.4.44" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c673075a2e0e5f4a1dde27ce9dee1ea4558c7ffe648f576438a20ca1d2acc4b0" -dependencies = [ - "iana-time-zone", - "num-traits", - "windows-link", -] - -[[package]] name = "cipher" version = "0.4.4" source = "registry+https://github.com/rust-lang/crates.io-index" @@ -540,16 +248,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0c9ea0ac24bc397ab3c98583a3c9ba74fa56b09a4449bbe172b9b1ddb016027a" [[package]] -name = "comfy-table" -version = "7.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "958c5d6ecf1f214b4c2bbbbf6ab9523a864bd136dcf71a7e8904799acfe1ad47" -dependencies = [ - "unicode-segmentation", - "unicode-width", -] - -[[package]] name = "const-oid" version = "0.9.6" source = "registry+https://github.com/rust-lang/crates.io-index" @@ -562,32 +260,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a6ef517f0926dd24a1582492c791b6a4818a4d94e789a334894aa15b0d12f55c" [[package]] -name = "const-random" -version = "0.1.18" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87e00182fe74b066627d63b85fd550ac2998d4b0bd86bfed477a0ae4c7c71359" -dependencies = [ - "const-random-macro", -] - -[[package]] -name = "const-random-macro" -version = "0.1.16" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f9d839f2a20b0aee515dc581a6172f2321f96cab76c1a38a4c584a194955390e" -dependencies = [ - "getrandom 0.2.17", - "once_cell", - "tiny-keccak", -] - -[[package]] -name = "core-foundation-sys" -version = "0.8.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b" - -[[package]] name = "cpufeatures" version = "0.2.17" source = "registry+https://github.com/rust-lang/crates.io-index" @@ -615,12 +287,6 @@ dependencies = [ ] [[package]] -name = "crunchy" -version = "0.2.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "460fbee9c2c2f33933d720630a6a0bac33ba7053db5344fac858d4b8952d77d5" - -[[package]] name = "crypto-common" version = "0.1.7" source = "registry+https://github.com/rust-lang/crates.io-index" @@ -672,7 +338,7 @@ checksum = "f46882e17999c6cc590af592290432be3bce0428cb0d5f8b6715e4dc7b383eb3" dependencies = [ "proc-macro2", "quote", - "syn 2.0.117", + "syn", ] [[package]] @@ -715,7 +381,7 @@ checksum = "8034092389675178f570469e6c3b0465d3d30b4505c294a6550db47f3c17ad18" dependencies = [ "proc-macro2", "quote", - "syn 2.0.117", + "syn", ] [[package]] @@ -728,17 +394,6 @@ dependencies = [ ] [[package]] -name = "derive_arbitrary" -version = "1.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e567bd82dcff979e4b03460c307b3cdc9e96fde3d73bed1496d2bc75d9dd62a" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.117", -] - -[[package]] name = "digest" version = "0.10.7" source = "registry+https://github.com/rust-lang/crates.io-index" @@ -769,7 +424,7 @@ checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0" dependencies = [ "proc-macro2", "quote", - "syn 2.0.117", + "syn", ] [[package]] @@ -779,23 +434,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "75b325c5dbd37f80359721ad39aca5a29fb04c89279657cffdda8736d0c0b9d2" [[package]] -name = "duckdb" -version = "1.10501.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f13bc6d6487032fc2825a62ef8b4924b2378a2eb3166e132e5f3141ae9dd633f" -dependencies = [ - "arrow", - "cast", - "fallible-iterator 0.3.0", - "fallible-streaming-iterator", - "hashlink 0.10.0", - "libduckdb-sys", - "num-integer", - "rust_decimal", - "strum", -] - -[[package]] name = "ed25519" version = "2.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" @@ -923,7 +561,6 @@ checksum = "843fba2746e448b37e26a819579957415c8cef339bf08564fe8b7ddbd959573c" dependencies = [ "crc32fast", "miniz_oxide", - "zlib-rs", ] [[package]] @@ -933,21 +570,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d9c4f5dac5e15c24eb999c26181a6ca40b39fe946cbe4c263c7209467bc83af2" [[package]] -name = "form_urlencoded" -version = "1.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cb4cb245038516f5f85277875cdaa4f7d2c9a0fa0468de06ed190163b1581fcf" -dependencies = [ - "percent-encoding", -] - -[[package]] -name = "funty" -version = "2.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e6d5a32815ae3f33302d95fdcb2ce17862f8c65363dcfd29360480ba1001fc9c" - -[[package]] name = "futures-channel" version = "0.3.32" source = "registry+https://github.com/rust-lang/crates.io-index" @@ -964,12 +586,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7e3450815272ef58cec6d564423f6e755e25379b217b0bc688e295ba24df6b1d" [[package]] -name = "futures-io" -version = "0.3.32" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cecba35d7ad927e23624b22ad55235f2239cfa44fd10428eecbeba6d6a717718" - -[[package]] name = "futures-sink" version = "0.3.32" source = "registry+https://github.com/rust-lang/crates.io-index" @@ -988,12 +604,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index"