#![cfg_attr(not(feature = "std"), no_std)]
#![cfg_attr(docsrs, feature(doc_cfg, rustdoc_internals))]
#![allow(
unexpected_cfgs,
unused_imports,
unused_macros,
unused_mut,
dead_code,
clippy::redundant_closure,
clippy::needless_question_mark,
clippy::await_holding_refcell_ref,
clippy::duplicated_attributes,
clippy::single_component_path_imports
)]
#[cfg(all(not(feature = "std"), feature = "alloc"))]
extern crate alloc;
#[macro_use]
mod builder;
#[macro_use]
mod macros;
#[macro_use]
mod transaction;
#[doc(hidden)]
pub(crate) use drizzle_builder_join_impl;
#[doc(hidden)]
pub(crate) use drizzle_pg_builder_join_impl;
#[doc(hidden)]
pub(crate) use drizzle_pg_builder_join_using_impl;
#[doc(hidden)]
pub(crate) use transaction_builder_join_impl;
#[doc(inline)]
pub use drizzle_core::error::Result;
#[cfg(feature = "std")]
#[doc(inline)]
pub use drizzle_macros::include_migrations;
#[doc(inline)]
pub use drizzle_macros::sql;
#[doc(inline)]
pub use drizzle_macros::test;
#[doc(inline)]
pub use drizzle_types::Dialect;
#[doc(inline)]
pub use drizzle_types::Casing;
#[doc(hidden)]
pub use const_format;
pub mod error {
#[doc(inline)]
pub use drizzle_core::error::DrizzleError;
}
pub mod ddl {
#[doc(inline)]
pub use drizzle_types::postgres;
#[doc(inline)]
pub use drizzle_types::sqlite;
}
#[cfg(feature = "std")]
pub mod migrations {
#[doc(inline)]
pub use drizzle_migrations::*;
}
pub mod core {
#[doc(inline)]
pub use drizzle_core::{
ColumnDialect, ColumnFlags, ColumnRef, ConstraintRef, ForeignKeyRef, OrderBy, Param,
ParamBind, ParamSet, Placeholder, PrimaryKeyRef, SQL, SQLChunk, TableDialect, TableRef,
Token, TypedPlaceholder, asc, desc,
};
#[doc(inline)]
pub use drizzle_core::ToSQL;
#[doc(inline)]
pub use drizzle_core::traits::*;
#[doc(inline)]
pub use drizzle_core::relation::{Joinable, Relation, SchemaHasTable};
pub mod relation {
#[doc(inline)]
pub use drizzle_core::relation::*;
}
#[doc(inline)]
pub use drizzle_core::prepared::{OwnedPreparedStatement, PreparedStatement};
#[doc(inline)]
pub use drizzle_core::types;
#[doc(inline)]
pub use drizzle_core::expr;
#[doc(hidden)]
pub use drizzle_core::impl_try_from_int;
#[doc(hidden)]
pub use drizzle_core::schema::SQLEnumInfo;
#[doc(inline)]
pub use drizzle_core::ValueTypeForDialect;
pub mod dialect {
#[doc(inline)]
pub use drizzle_core::dialect::*;
}
#[cfg(feature = "query")]
pub mod query {
#[doc(inline)]
pub use drizzle_core::query::*;
}
#[cfg(any(feature = "serde", feature = "query"))]
#[doc(hidden)]
pub use drizzle_core::serde;
#[cfg(any(feature = "serde", feature = "query"))]
#[doc(hidden)]
pub use drizzle_core::serde_json;
#[doc(inline)]
pub use drizzle_core::row::{
AfterFullJoin, AfterJoin, AfterLeftJoin, AfterRightJoin, DecodeSelectedRef, ExprValueType,
FromDrizzleRow, GroupByIdentity, HasSelectModel, IntoGroupBy, IntoSelectTarget,
MarkerColumnCountValid, MarkerScopeValidFor, NullProbeRow, ResolveRow, RowColumnList,
SQLTypeToRust, ScopePush, Scoped, SelectAs, SelectAsFrom, SelectCols, SelectExpr,
SelectRequiredTables, SelectStar, WrapNullable,
};
}
#[cfg(feature = "sqlite")]
#[cfg_attr(docsrs, doc(cfg(feature = "sqlite")))]
pub mod sqlite {
#[doc(inline)]
pub use drizzle_macros::{
SQLiteEnum, SQLiteFromRow, SQLiteIndex, SQLiteSchema, SQLiteTable, SQLiteView,
};
#[doc(inline)]
pub use drizzle_sqlite::{
attrs, builder, common, connection, expr, helpers, pragma, traits, types, values,
};
#[cfg(feature = "rusqlite")]
#[cfg_attr(docsrs, doc(cfg(feature = "rusqlite")))]
pub mod rusqlite {
#[doc(inline)]
pub use crate::builder::sqlite::rusqlite::{Drizzle, DrizzleBuilder};
#[doc(inline)]
pub use crate::transaction::sqlite::rusqlite::Transaction;
#[doc(hidden)]
pub use ::rusqlite::{Error, Result, Row, types};
}
#[cfg(feature = "libsql")]
#[cfg_attr(docsrs, doc(cfg(feature = "libsql")))]
pub mod libsql {
#[doc(inline)]
pub use crate::builder::sqlite::libsql::{Drizzle, DrizzleBuilder};
#[doc(inline)]
pub use crate::transaction::sqlite::libsql::Transaction;
#[doc(hidden)]
pub use ::libsql::{Row, Value};
}
#[cfg(feature = "turso")]
#[cfg_attr(docsrs, doc(cfg(feature = "turso")))]
pub mod turso {
#[doc(inline)]
pub use crate::builder::sqlite::turso::{Drizzle, DrizzleBuilder};
#[doc(inline)]
pub use crate::transaction::sqlite::turso::Transaction;
#[doc(hidden)]
pub use ::turso::{Error, IntoValue, Result, Row, Value};
}
#[cfg(all(feature = "d1", target_arch = "wasm32"))]
#[cfg_attr(docsrs, doc(cfg(all(feature = "d1", target_arch = "wasm32"))))]
pub mod d1 {
#[doc(inline)]
pub use crate::builder::sqlite::d1::{Drizzle, DrizzleBuilder};
}
#[cfg(all(feature = "durable", target_arch = "wasm32"))]
#[cfg_attr(docsrs, doc(cfg(all(feature = "durable", target_arch = "wasm32"))))]
pub mod durable {
#[doc(inline)]
pub use crate::builder::sqlite::durable::{Drizzle, DrizzleBuilder};
#[doc(inline)]
pub use crate::transaction::sqlite::durable::Transaction;
}
pub mod prelude {
pub use crate::core::ToSQL;
pub use crate::core::{Joinable, Relation, SchemaHasTable};
pub use crate::core::{
OrderBy, Param, ParamBind, ParamSet, Placeholder, SQL, SQLChunk, Token,
TypedPlaceholder, asc, desc,
};
pub use crate::core::{OwnedPreparedStatement, PreparedStatement};
pub use drizzle_core::tag;
pub use drizzle_core::traits::*;
pub use drizzle_macros::{
SQLiteEnum, SQLiteFromRow, SQLiteIndex, SQLiteSchema, SQLiteTable, SQLiteView,
};
pub use drizzle_sqlite::attrs::*;
pub use drizzle_sqlite::common::SQLiteSchemaType;
pub use drizzle_sqlite::traits::{DrizzleSQLiteColumn, SQLiteColumn, SQLiteTable};
pub use drizzle_sqlite::values::{
OwnedSQLiteValue, SQLiteInsertValue, SQLiteUpdateValue, SQLiteValue, SQLiteValueRef,
};
}
}
#[cfg(feature = "postgres")]
#[cfg_attr(docsrs, doc(cfg(feature = "postgres")))]
pub mod postgres {
#[doc(inline)]
pub use drizzle_macros::{
PostgresEnum, PostgresFromRow, PostgresIndex, PostgresPolicy, PostgresSchema,
PostgresTable, PostgresView,
};
#[doc(hidden)]
pub use drizzle_postgres::driver_types;
#[doc(inline)]
pub use drizzle_postgres::{attrs, builder, common, expr, helpers, traits, types, values};
#[cfg(all(feature = "postgres-sync", not(feature = "tokio-postgres")))]
#[doc(inline)]
pub use drizzle_postgres::Row;
#[cfg(feature = "tokio-postgres")]
#[doc(inline)]
pub use drizzle_postgres::Row;
#[cfg(feature = "aws-data-api")]
#[cfg_attr(docsrs, doc(cfg(feature = "aws-data-api")))]
#[doc(inline)]
pub use drizzle_postgres::aws_data_api;
#[cfg(feature = "postgres-sync")]
#[cfg_attr(docsrs, doc(cfg(feature = "postgres-sync")))]
pub mod sync {
#[doc(inline)]
pub use crate::builder::postgres::postgres_sync::{Drizzle, DrizzleBuilder};
#[doc(inline)]
pub use crate::transaction::postgres::postgres_sync::Transaction;
}
#[cfg(feature = "tokio-postgres")]
#[cfg_attr(docsrs, doc(cfg(feature = "tokio-postgres")))]
pub mod tokio {
#[doc(inline)]
pub use crate::builder::postgres::tokio_postgres::{Drizzle, DrizzleBuilder};
#[doc(inline)]
pub use crate::transaction::postgres::tokio_postgres::Transaction;
}
#[cfg(feature = "aws-data-api")]
#[cfg_attr(docsrs, doc(cfg(feature = "aws-data-api")))]
pub mod aws {
#[doc(inline)]
pub use crate::builder::postgres::aws_data_api::{Drizzle, DrizzleBuilder, Rows};
#[doc(inline)]
pub use crate::transaction::postgres::aws_data_api::{Transaction, TransactionBuilder};
}
pub mod prelude {
pub use crate::core::ToSQL;
pub use crate::core::{Joinable, Relation, SchemaHasTable};
pub use crate::core::{
OrderBy, Param, ParamBind, ParamSet, Placeholder, SQL, SQLChunk, Token,
TypedPlaceholder, asc, desc,
};
pub use crate::core::{OwnedPreparedStatement, PreparedStatement};
pub use drizzle_core::tag;
pub use drizzle_core::traits::*;
pub use drizzle_macros::{
PostgresEnum, PostgresFromRow, PostgresIndex, PostgresPolicy, PostgresSchema,
PostgresTable, PostgresView,
};
pub use drizzle_postgres::attrs::*;
pub use drizzle_postgres::common::PostgresSchemaType;
pub use drizzle_postgres::traits::{DrizzlePostgresColumn, PostgresColumn, PostgresTable};
pub use drizzle_postgres::values::{
OwnedPostgresValue, PostgresInsertValue, PostgresUpdateValue, PostgresValue,
};
}
}
#[cfg(feature = "mysql")]
#[cfg_attr(docsrs, doc(cfg(feature = "mysql")))]
pub mod mysql {}
#[cfg(doctest)]
struct _CompileFailTests;