1#![forbid(unsafe_code)]
13#![deny(missing_docs)]
14#![allow(clippy::doc_markdown)]
18#![allow(clippy::match_same_arms)]
22#![allow(clippy::too_many_arguments)]
27#![allow(clippy::match_wildcard_for_single_variants)]
32
33pub type Result<T> = std::result::Result<T, fraiseql_error::FraiseQLError>;
35
36pub mod changelog;
38pub mod dialect;
39pub mod introspector;
40pub mod types;
41pub mod where_generator;
42
43pub mod utils;
47
48pub mod identifier;
50pub mod order_by;
51pub mod path_escape;
52pub mod projection_generator;
53pub mod traits;
54pub mod view_name;
55pub mod where_clause;
56pub mod where_sql_generator;
57
58#[cfg(feature = "postgres")]
59pub mod postgres;
60
61#[cfg(feature = "wire-backend")]
62pub mod wire_pool;
63
64#[cfg(feature = "wire-backend")]
65pub mod fraiseql_wire_adapter;
66
67pub use changelog::{
69 CDC_MEDIATED_ON, CDC_MEDIATED_VAR, CLOCK_TIMESTAMP_DIRECTIVE, DURATION_CALC_VERSION,
70 STARTED_AT_VAR, duration_ms_sql,
71};
72pub use dialect::{PostgresDialect, SqlDialect, UnsupportedOperator};
73#[cfg(feature = "wire-backend")]
74pub use fraiseql_wire_adapter::FraiseWireAdapter;
75pub use identifier::quote_postgres_identifier;
76pub use introspector::{DatabaseIntrospector, RelationInfo, RelationKind};
77#[cfg(feature = "postgres")]
78pub use postgres::{PostgresAdapter, PostgresIntrospector};
79pub use projection_generator::{FieldKind, PostgresProjectionGenerator, ProjectionField};
80pub use serde_json;
82#[cfg(feature = "postgres")]
84pub use tokio_postgres;
85pub use traits::{
86 AdminSqlOutcome, AdminSqlRequest, ArcDatabaseAdapter, BoxDatabaseAdapter,
87 COMPOSED_DOCUMENT_KEY, COMPOSED_EMBEDS_KEY, ChangeLogWrite, ColumnRowStream, ComposedEmbed,
88 ComposedKeyset, ComposedLevel, CursorValue, DatabaseAdapter, EmbedShape, EmbedSource,
89 JsonbRowStream, LevelKeys, MutationRowGate, ProjectionRequest, RelayDatabaseAdapter,
90 RelayPageResult, ResultCacheStats, WriteMode, WriteRequest, Writer, composed_read_unsupported,
91};
92pub use types::{
93 DatabaseType, JsonbValue, PoolMetrics, QueryStatEntry,
94 sql_hints::{
95 OrderByClause, OrderDirection, RelevanceOrder, ScalarFieldType, SqlProjectionHint,
96 VectorDistanceOrder, VectorOperandKind,
97 },
98};
99pub use uuid;
101pub use view_name::ViewName;
102pub use where_clause::{HavingClause, WhereClause, WhereOperator};
103pub use where_generator::GenericWhereGenerator;
104pub use where_sql_generator::WhereSqlGenerator;