Expand description
PostgreSQL wire protocol 3.0 through 3.2 primitives for UQA-compatible servers.
This crate intentionally stops at protocol parsing and message encoding. It does not own sockets, tasks, TLS, authentication storage, query planning, or SQL execution. Integrators feed byte slices into the frontend decoders and translate decoded protocol messages into their own server and engine logic.
Consequently this crate preserves cancellation requests, explicit error responses, and failed-transaction status bytes, but it cannot decide when an engine error or rollback must produce them. That mapping is a required responsibility of the embedding server; there is no query-execution bridge in this crate that could turn an execution failure into an empty success.
Re-exports§
pub use auth::AuthenticationExchange;pub use auth::AuthenticationResponse;pub use auth::AuthenticationResponseKind;pub use backend::encode_all;pub use backend::encode_all_for_protocol;pub use backend::Authentication;pub use backend::BackendKeyData;pub use backend::BackendMessage;pub use backend::CopyResponse;pub use backend::ErrorOrNotice;pub use backend::FieldDescription;pub use backend::GSSEncResponse;pub use backend::NoticeSeverity;pub use backend::NotificationResponse;pub use backend::SSLResponse;pub use frontend::decode_frontend;pub use frontend::decode_frontend_with_max;pub use frontend::decode_startup;pub use frontend::decode_startup_with_max;pub use frontend::Bind;pub use frontend::CloseTarget;pub use frontend::DescribeTarget;pub use frontend::Execute;pub use frontend::FrontendMessage;pub use frontend::FunctionCall;pub use frontend::Parse;pub use frontend::PasswordMessage;pub use frontend::StartupFrame;pub use frontend::StartupMessage;pub use frontend::StartupNegotiation;pub use protocol::CancelKey;pub use protocol::DecodeError;pub use protocol::DecodeOutcome;pub use protocol::FormatCode;pub use protocol::PgWireError;pub use protocol::ProtocolVersion;pub use protocol::TransactionStatus;pub use protocol::CANCEL_REQUEST_CODE;pub use protocol::GSSENC_REQUEST_CODE;pub use protocol::MAX_CANCEL_KEY_LEN;pub use protocol::MIN_BACKEND_KEY_DATA_KEY_LEN;pub use protocol::MIN_CANCEL_REQUEST_KEY_LEN;pub use protocol::PROTOCOL_VERSION_3_0;pub use protocol::PROTOCOL_VERSION_3_2;pub use protocol::SSL_REQUEST_CODE;