pub mod auth;
pub(crate) mod config;
pub mod query;
pub mod result;
use std::collections::BTreeMap;
pub use config::Config;
use crate::messages::ProtocolVersion;
use crate::messages::response::TransactionStatus;
use crate::messages::startup::SecretKey;
pub trait ClientInfo {
fn config(&self) -> &Config;
fn server_parameters(&self) -> &BTreeMap<String, String>;
fn set_server_parameter(&mut self, name: String, value: String);
fn process_id(&self) -> i32;
fn secret_key(&self) -> &SecretKey;
fn protocol_version(&self) -> ProtocolVersion;
fn set_protocol_version(&mut self, version: ProtocolVersion);
fn transaction_status(&self) -> TransactionStatus;
fn set_transaction_status(&mut self, status: TransactionStatus);
}
#[derive(Debug, Default)]
pub struct ServerInformation {
pub parameters: BTreeMap<String, String>,
pub process_id: i32,
pub secret_key: SecretKey,
}
pub enum ReadyState<D> {
Pending,
Ready(D),
}