Skip to main content

drizzle_postgres/
lib.rs

1//! `PostgreSQL` support for drizzle-rs
2//!
3//! This crate provides PostgreSQL-specific types, query builders, and utilities.
4
5#![allow(unexpected_cfgs)]
6#![cfg_attr(not(feature = "std"), no_std)]
7
8#[cfg(not(feature = "std"))]
9extern crate alloc;
10
11pub(crate) mod prelude {
12    #[cfg(feature = "std")]
13    pub use std::{
14        borrow::Cow,
15        boxed::Box,
16        format,
17        rc::Rc,
18        string::{String, ToString},
19        sync::Arc,
20        vec::Vec,
21    };
22
23    #[cfg(not(feature = "std"))]
24    pub use alloc::{
25        borrow::Cow,
26        boxed::Box,
27        format,
28        rc::Rc,
29        string::{String, ToString},
30        sync::Arc,
31        vec::Vec,
32    };
33}
34
35pub mod attrs;
36#[cfg(feature = "aws-data-api")]
37pub mod aws_data_api;
38pub mod builder;
39pub mod common;
40pub mod expr;
41pub mod helpers;
42pub mod traits;
43pub mod types {
44    pub use drizzle_types::postgres::types::*;
45}
46pub mod values;
47
48#[cfg(all(test, feature = "query"))]
49mod relational_sql_tests;
50
51#[cfg(all(feature = "postgres-sync", not(feature = "tokio-postgres")))]
52pub use postgres::Row;
53#[cfg(feature = "tokio-postgres")]
54pub use tokio_postgres::Row;
55
56#[doc(hidden)]
57pub mod driver_types {
58    #[cfg(all(
59        any(feature = "serde", feature = "query"),
60        feature = "postgres-sync",
61        not(feature = "tokio-postgres")
62    ))]
63    pub use postgres::types::Json;
64    #[cfg(all(any(feature = "serde", feature = "query"), feature = "tokio-postgres"))]
65    pub use tokio_postgres::types::Json;
66}
67
68pub use drizzle_core::ParamBind;