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.