elide-dev / elide

fast polyglot runtime
https://elide.dev
MIT License
100 stars 16 forks source link

Transition to Rust for sqlite layer #1079

Closed sgammon closed 1 month ago

sgammon commented 1 month ago

Feature description

We have a SQLite layer which is currently based on sqlite-jdbc; this library builds a native JNI layer on top of SQLite, contained in the files NativeDB.c / NativeDB.h.

We've adapted this to build from Rust, by using bindgen. Now the library builds from Rust, but it is still written in C. It would be cool to fully implement SQLite in Rust instead.

This would require transitioning those two files - NativeDB.h and NativeDB.c - to be written in Rust instead. They can largely perform the same functions and logic in Rust, since SQLite symbols are already present.

Rewrite the native SQLite layer to be in pure Rust, in the crate at crates/sqlite.