v0.3.2-pre.005

This commit is contained in:
2026-08-29 19:33:43 +02:00
parent de3cec6a23
commit d93184d41d
20 changed files with 945 additions and 120 deletions

View File

@@ -1,25 +1,36 @@
// file: crates/ksp-store-postgres-lib/src/lib.rs
// version: 2
// version: 3
#![warn(missing_docs)]
#![deny(unreachable_pub)]
#![forbid(unsafe_code)]
//! Official PostgreSQL backend implementation scaffold for KSP Store.
//! Official PostgreSQL backend implementation for KSP Store.
//!
//! `0.3.2-pre.002` establishes only the backend crate boundary. PostgreSQL
//! driver, pooling, TLS, SQL, migrations and health behavior are intentionally
//! absent until their dedicated prereleases.
//! `0.3.2-pre.005` owns the physical `tokio-postgres` connection, bounded
//! Deadpool pool and explicit Rustls TLS policy. SQL migrations and business
//! persistence remain absent until their dedicated prereleases.
//!
//! This crate depends on `ksp-store-api` and never on `ksp-store-lib`, which
//! keeps backend implementation ownership acyclic and reusable behind the
//! common facade.
//! This crate depends on `ksp-store-api` and never on `ksp-store-lib`. The
//! common facade consumes only this crate's narrow backend bridge and never
//! exposes PostgreSQL pool, client, row or statement types.
mod constants;
mod error;
mod runtime;
/// Crate-owned tracing target reserved for later PostgreSQL backend behavior.
/// Safe backend-local error returned to the common Store facade.
pub use self::error::PostgresBackendError;
/// Safe backend-local error classification used by the common Store facade.
pub use self::error::PostgresBackendErrorKind;
/// Opaque physical PostgreSQL backend owning its connection pool.
pub use self::runtime::PostgresBackend;
/// Physical PostgreSQL settings bridge consumed only by the backend crate.
pub use self::runtime::PostgresBackendSettings;
/// TLS mode accepted by the physical PostgreSQL settings bridge.
pub use self::runtime::PostgresBackendTlsMode;
/// Crate-owned tracing target for PostgreSQL backend behavior.
pub(crate) use self::constants::TRACING_TARGET;
// Keep the mandatory crate-owned tracing target part of the compiled scaffold
// without inventing runtime logging before the first behavioral tranche.
const _: &str = TRACING_TARGET;
const _: &str = crate::TRACING_TARGET;