Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/vlcn-io/sqlite-rs-embedded
Rust bindings for SQLite that are no_std and wasm compatible
https://github.com/vlcn-io/sqlite-rs-embedded
bindings no-std rust sqlite wasm
Last synced: 3 months ago
JSON representation
Rust bindings for SQLite that are no_std and wasm compatible
- Host: GitHub
- URL: https://github.com/vlcn-io/sqlite-rs-embedded
- Owner: vlcn-io
- Created: 2023-01-13T00:32:08.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2023-12-21T19:57:05.000Z (11 months ago)
- Last Synced: 2024-07-18T23:36:16.459Z (4 months ago)
- Topics: bindings, no-std, rust, sqlite, wasm
- Language: Rust
- Homepage:
- Size: 280 KB
- Stars: 39
- Watchers: 3
- Forks: 3
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# SQLite no_std
> Note: these bindings are faithful to the base SQLite C-API as much as possible for minimum rust<->c overhead. This, however, means that the bindings are not entirely safe. E.g., the SQLite statement object will clear returned values out from under you if you step or finalize it while those references exist in your Rust program.
SQLite is lite. Its bindings should be lite too. They should be able to be used _anywhere_ SQLite is used, _not_ incur any performance impact, _not_ include any extra dependencies, and be usable against _any_ SQLite version.
Thus this repository was born.
These bindings:
- Do not require the rust standard library
- Use the SQLite memory subsystem if no allocator exists
- Can be used to write SQLite extensions that compile to WASM and run in the browser
- Does 0 copying. E.g., through some tricks, Rust strings are passed directly to SQLite with no conversion to or copying to CString.