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
Originally posted by michalfita December 11, 2024
One of key features of original SQLite is that in can be built for bare metal system and used without OS in place on microcontrollers. To achieve the same, the core of Limbo would have to be no_std with ability to plug in a storage backend that's non-Linux thing. But I don't see #![no_std] clause in core's lib.rs.
Is this no-feature for Limbo being oriented for cloud solutions?
The text was updated successfully, but these errors were encountered:
Hi, I'm new to this project, learned about it this week and was very interested. I stumbled on this issue and tried to tackle it to see if it is doable.
I refactored core to use #![no_std] and managed to get 34 errors (I'll list the kinds of errors below). I just hacked trough the files using alloc and core instead of the std modules. this can be simplified by creating a new module that acts as a middle man (see below). The things i couldn't resolve were the things that actually depended on std:
use of std::collections::HashMap and std::collections::HashSet
use of std::sync::RwLock and std::sync::OnceLock,
use of std::fs::*
use of std::io::*
use of std::env::*
use of println! and eprintln
I think i got all the dependencies to compile with no_std but im not sure since building ends after the above errors are emitted.
Im not familiar with the architecture at the moment or the implementation choices, but for some of the issues listed i think we can use the no_std_compat crate and remove the println and eprintln uses, but im not sure i don't know the implications of that.
Discussed in #441
Originally posted by michalfita December 11, 2024
One of key features of original SQLite is that in can be built for bare metal system and used without OS in place on microcontrollers. To achieve the same, the core of Limbo would have to be
no_std
with ability to plug in a storage backend that's non-Linux thing. But I don't see#![no_std]
clause in core'slib.rs
.Is this no-feature for Limbo being oriented for cloud solutions?
The text was updated successfully, but these errors were encountered: