icydb 0.213.38

IcyDB — A schema-first typed query engine and persistence runtime for Internet Computer canisters
Documentation
use icydb::{
    db::{DbSession, StructuralMutation, StructuralPatch, WriteCell},
    traits::CanisterKind,
    value::InputValue,
};

fn trusted_sql_query_compiles<C>(db: &DbSession<C>, sql: &str)
where
    C: CanisterKind,
{
    let _ = db.execute_trusted_sql_query(sql);
}

fn trusted_sql_mutation_compiles<C>(db: &DbSession<C>, sql: &str)
where
    C: CanisterKind,
{
    let _ = db.execute_trusted_sql_mutation(sql);
}

fn trusted_structural_mutation_compiles<C>(db: &DbSession<C>)
where
    C: CanisterKind,
{
    let patch = StructuralPatch::new()
        .field("name", WriteCell::Value(InputValue::Text("Ada".to_string())))
        .field("nickname", WriteCell::Null)
        .field("status", WriteCell::Default)
        .field("unchanged", WriteCell::Omitted);
    let _ = db.execute_trusted_structural_mutation(StructuralMutation::Insert {
        entity: "app::User".to_string(),
        patch,
    });
}

fn trusted_sql_update_contracts_compile<C>(db: &DbSession<C>, sql: &str)
where
    C: CanisterKind,
{
    let _ = db.execute_trusted_sql_exact_update(sql, 10);
    let _ = db.execute_trusted_sql_prefix_update(sql);
    let operation_id = icydb::types::Ulid::MIN;
    if let Ok(continuation) = db.prepare_trusted_sql_resumable_update(operation_id, sql) {
        let _ = icydb::db::TrustedResumableUpdateContinuation::try_from_bytes(
            continuation.as_bytes().to_vec(),
        );
        let _ = db.resume_trusted_sql_resumable_update(operation_id, sql, &continuation);
    }
}

fn admin_sql_ddl_compiles<C>(db: &DbSession<C>, sql: &str)
where
    C: CanisterKind,
{
    let _ = db.execute_admin_sql_ddl(sql);
}

fn admin_integrity_sql_compiles<C>(db: &DbSession<C>, sql: &str)
where
    C: CanisterKind,
{
    let owner =
        icydb::db::IntegrityJobOwner::new("compile-test").expect("static owner should admit");
    let _ = db.execute_admin_integrity_sql(sql, owner);
}

fn main() {}