#![forbid(unsafe_code)]
#![deny(missing_docs)]
#![allow(clippy::doc_markdown)]
#![allow(clippy::match_same_arms)]
#![allow(clippy::too_many_arguments)]
#![allow(clippy::match_wildcard_for_single_variants)]
pub type Result<T> = std::result::Result<T, fraiseql_error::FraiseQLError>;
pub mod changelog;
pub mod dialect;
pub mod introspector;
pub mod types;
pub mod where_generator;
pub mod utils;
pub mod identifier;
pub mod order_by;
pub mod path_escape;
pub mod projection_generator;
pub mod traits;
pub mod view_name;
pub mod where_clause;
pub mod where_sql_generator;
#[cfg(feature = "postgres")]
pub mod postgres;
#[cfg(feature = "wire-backend")]
pub mod wire_pool;
#[cfg(feature = "wire-backend")]
pub mod fraiseql_wire_adapter;
pub use changelog::{
CDC_MEDIATED_ON, CDC_MEDIATED_VAR, CLOCK_TIMESTAMP_DIRECTIVE, DURATION_CALC_VERSION,
STARTED_AT_VAR, duration_ms_sql,
};
pub use dialect::{PostgresDialect, SqlDialect, UnsupportedOperator};
#[cfg(feature = "wire-backend")]
pub use fraiseql_wire_adapter::FraiseWireAdapter;
pub use identifier::quote_postgres_identifier;
pub use introspector::{DatabaseIntrospector, RelationInfo, RelationKind};
#[cfg(feature = "postgres")]
pub use postgres::{PostgresAdapter, PostgresIntrospector};
pub use projection_generator::{FieldKind, PostgresProjectionGenerator, ProjectionField};
pub use serde_json;
#[cfg(feature = "postgres")]
pub use tokio_postgres;
pub use traits::{
AdminSqlOutcome, AdminSqlRequest, ArcDatabaseAdapter, BoxDatabaseAdapter,
COMPOSED_DOCUMENT_KEY, COMPOSED_EMBEDS_KEY, ChangeLogWrite, ColumnRowStream, ComposedEmbed,
ComposedKeyset, ComposedLevel, CursorValue, DatabaseAdapter, EmbedShape, EmbedSource,
JsonbRowStream, LevelKeys, MutationRowGate, ProjectionRequest, RelayDatabaseAdapter,
RelayPageResult, ResultCacheStats, WriteMode, WriteRequest, Writer, composed_read_unsupported,
};
pub use types::{
DatabaseType, JsonbValue, PoolMetrics, QueryStatEntry,
sql_hints::{
OrderByClause, OrderDirection, RelevanceOrder, ScalarFieldType, SqlProjectionHint,
VectorDistanceOrder, VectorOperandKind,
},
};
pub use uuid;
pub use view_name::ViewName;
pub use where_clause::{HavingClause, WhereClause, WhereOperator};
pub use where_generator::GenericWhereGenerator;
pub use where_sql_generator::WhereSqlGenerator;