neuxdb 0.1.0

A super simple, embedded, encrypted database like SQLite, using pipe-separated files and age encryption.
Documentation
use crate::core::storage::load_schema;
use crate::core::storage::{read_table, write_table};
use crate::error::{NeuxDbError, Result};
use crate::types::Value;
pub fn insert_row(table: &str, values: Vec<Value>) -> Result<()> {
    let schema = load_schema(table)?;
    let (headers, mut rows) = read_table(table)?;
    if values.len() != headers.len() {
        return Err(NeuxDbError::ValueCountMismatch {
            expected: headers.len(),
            actual: values.len(),
        });
    }
    for (i, val) in values.iter().enumerate() {
        schema.validate_value(i, val)?;
    }
    rows.push(values);
    write_table(table, &headers, &rows)?;
    Ok(())
}