Sot is a database written in Rust.
Use cargo to install the library.
cargo add sotdb
```rust use sotdb::{actions::, structs::};
fn main() -> Result<(), std::io::Error> {
// Create object (requires name, path to .sotdb file, and vec of data: (var name, datatype(data)))
let path = ".sotdb"
createobject(
"name",
&mut vec![
// text, intnum, floatnum, boolean - name of vars
// Str("Text".to_string()), Int(0), Float(0.0), Bool(false) - datatype
s with with their data
("text".tostring(), DataType::Str("test".tostring())),
("intnum".tostring(), DataType::Int(0)),
("floatnum".tostring(), DataType::Float(0.0)),
("boolean".tostring(), DataType::Bool(false)),
],
path,
)?;
// Get one object (requires name and path to *.sotdb file)
let object = getobject("name", path)?;
// Get all objects from file (reguires path to *.sotdb file)
let _allobjects = getallobjects(path)?;
// Add data to object (requires name, path to *.sotdb file, and vec of data: (String, DataType))
adddatatoobject(
object.getname(),
path,
vec![("boolean".tostring(), DataType::Bool(true))],
)?;
// Remove data from object (requires name, path to *.sotdb file, and vec of data: (var name, datatype(data)))
removedatafromobject(object.getname(), path, object.getdata())?;
// Delete object (requires name and path to *.sotdb file)
deleteobject(object.getname(), path)?;
Ok(())
// Program writes to file:
// [object-name]:name
// [name:<str>]:text=test
// [name:<int>]:intnum=0
// [name:<float>]:floatnum=0
// [name:<bool>]:boolean=false
// |=============================|
// And delete this all! :)
} ```