saddle-db 0.2.0-rc.19

Saddle managed asynchronous database access and transactions
Documentation
//! Saddle-managed MySQL/MariaDB access and single-source transactions.
//!
//! Applications receive this capability from Saddle. They do not create a
//! pool, acquire a connection, or manage a sqlx transaction directly.

mod c1_deployment_observation;
mod c1_normal_return;
mod c1_service_attestation;
mod c1_write_transaction;
mod c6_query_optional;
mod cleanup;
mod database;
mod error;
mod production_fact;
mod row;
mod startup_pool;
mod statement;
mod termination_work;
mod transaction;

pub use database::{Database, DatabaseConfig, MAX_INBOUND_PACKET_BYTES, MAX_QUERY_ROWS};
pub use row::{DbRow, MAX_FIELD_BYTES, MAX_RESULT_BYTES, WriteResult};
pub use saddle_core::{CallContext, Result, SaddleError};
pub use statement::{
    DbValue, MAX_PARAMETER_BYTES, MAX_PARAMETERS, MAX_PARAMETERS_TOTAL_BYTES, MAX_SQL_BYTES,
    Statement,
};
pub use transaction::{Transaction, TransactionFuture};

/// Generator-only contracts for the closed 0.2 execution graph.
///
/// These types and the production `query_optional` execution they seal are
/// intentionally separate from the public 0.1 `Statement`, `DbValue`, `DbRow`,
/// and transaction path.
#[doc(hidden)]
pub mod internal {
    pub use crate::c1_deployment_observation::{
        ApprovedDbReturnBounds, DbDeploymentObservationError, DbDeploymentObserverIdentity,
        DbPoisonDiscardWorkProof, ObservedDeploymentDbAttestation, db_poison_discard_work_proof,
        observe_deployment_db_service, parse_deployment_db_observation,
    };
    pub use crate::c1_normal_return::{DbNormalReturnWorkProof, db_normal_return_work_proof};
    pub use crate::c1_service_attestation::{
        DbDeploymentIdentity, DbReturnCalibration, DbReturnServiceDomain, DbReturnServiceProof,
        DbReturnServiceRates, DbServiceProofError, DbServiceTarget, DeploymentDbServiceAttestation,
        VerifiedDbServiceProof, derive_db_return_service, verify_db_service,
    };
    pub use crate::c1_write_transaction::{
        ManagedWriteResult, StaticWriteOperation, TransactionDecision, TransactionExecution,
        TransactionExecutionError, TransactionInvocation, TransactionOperationProof,
        WriteCreditDemand, WriteExecution, WriteExecutionError, WriteInvocation, WriteLayout,
        WriteOperationProof, WriteTransactionFinalizationProof,
        write_transaction_finalization_proof,
    };
    pub use crate::c6_query_optional::{
        DbBool, DbI64, DbPair, DbU64, FixedDbBytes, ManagedOptionalRow, ManagedQueryParameters,
        ManagedQueryRow, QueryOptionalContractError, QueryOptionalCreditDemand,
        QueryOptionalExecution, QueryOptionalExecutionError, QueryOptionalFinalizationProof,
        QueryOptionalInvocation, QueryOptionalLayout, QueryOptionalOperationProof,
        QueryOptionalParameterShape, QueryOptionalRowShape, StaticQueryOptionalOperation,
        query_optional_finalization_proof,
    };
    pub use crate::production_fact::{
        DatabaseProductionFactError, DatabaseProductionFactInput, DatabaseSourceCandidateInput,
        DatabaseSourceCandidateRejection, VerifiedDatabaseSourceCandidateOwner,
        bind_database_source_candidate, database_production_fact_input,
        database_source_candidate_input, rollback_database_source_candidate,
    };
    pub use crate::startup_pool::{
        StartupManagedDatabaseBootstrap, StartupManagedDatabaseError,
        StartupManagedDatabaseFactory, StartupManagedDatabaseOwner,
    };
    pub use crate::termination_work::{
        VerifiedDbTerminationWorkOwner, issue_verified_db_termination_work_owner,
        validate_verified_db_termination_work_owner,
    };
}