Skip to main content

Crate uls_db

Crate uls_db 

Source
Expand description

SQLite database layer for FCC ULS data storage.

This crate provides functionality to store and query FCC ULS data in a SQLite database. It supports both full database builds from weekly files and incremental updates from daily transaction files.

§Example

use uls_db::{Database, DatabaseConfig};

fn main() -> Result<(), Box<dyn std::error::Error>> {
    let db = Database::open("uls.db")?;
     
    // Look up a callsign
    if let Some(license) = db.get_license_by_callsign("W1AW")? {
        println!("Found: {} - {}", license.call_sign, license.licensee_name);
    }
     
    Ok(())
}

Re-exports§

pub use bulk_inserter::BulkInserter;
pub use config::DatabaseConfig;
pub use error::DbError;
pub use error::Result;
pub use freshness::AppliedPatch;
pub use freshness::DataFreshness;
pub use freshness::StalenessConfig;
pub use freshness::DEFAULT_STALE_THRESHOLD_DAYS;
pub use importer::ImportMode;
pub use importer::ImportProgress;
pub use importer::ImportStats;
pub use importer::Importer;
pub use models::License;
pub use models::LicenseStats;
pub use models::Operator;
pub use repository::Database;
pub use repository::Transaction;
pub use schema::Schema;

Modules§

bulk_inserter
Bulk inserter with prepared statements for high-performance imports.
config
Database configuration.
enum_adapters
Database adapters for enum columns.
error
Database error types.
freshness
Data freshness detection and staleness utilities.
importer
Import orchestration for FCC ULS data.
models
High-level domain models for ULS data.
repository
Database repository for ULS data operations.
schema
Database schema definition and management.