1pub mod driver;
11pub mod protocol;
12pub mod types;
13
14pub use driver::explain;
15#[cfg(all(feature = "enterprise-gssapi", target_os = "linux"))]
16pub use driver::gss::{
17 LinuxKrb5PreflightReport, LinuxKrb5ProviderConfig, linux_krb5_preflight,
18 linux_krb5_token_provider,
19};
20pub use driver::{
21 AuthSettings, ConnectOptions, EnterpriseAuthMechanism, GssEncMode, GssTokenProvider,
22 GssTokenProviderEx, GssTokenRequest, Notification, PgConnection, PgDriver, PgDriverBuilder,
23 PgError, PgPool, PgResult, PgRow, PgServerError, PoolConfig, PoolStats, PooledConnection,
24 QailRow, QueryResult, ResultFormat, ScramChannelBindingMode, TlsConfig, TlsMode,
25};
26pub use protocol::PgEncoder;
27pub use types::{
28 Cidr, Date, FromPg, Inet, Json, MacAddr, Numeric, Time, Timestamp, ToPg, TypeError, Uuid,
29};
30
31pub fn rls_sql_with_timeout(ctx: &qail_core::rls::RlsContext, timeout_ms: u32) -> String {
36 driver::rls::context_to_sql_with_timeout(ctx, timeout_ms)
37}
38
39pub fn rls_sql_with_timeouts(
43 ctx: &qail_core::rls::RlsContext,
44 statement_timeout_ms: u32,
45 lock_timeout_ms: u32,
46) -> String {
47 driver::rls::context_to_sql_with_timeouts(ctx, statement_timeout_ms, lock_timeout_ms)
48}