Skip to main content

Crate fraiseql_db

Crate fraiseql_db 

Source
Expand description

§fraiseql-db

Database abstraction layer for FraiseQL v2.

This crate provides database-agnostic access to multiple database backends:

  • PostgreSQL (primary, full feature set)
  • SQL Server (enterprise)

It also provides the shared DB-level types used by the compilation and execution layers: SQL hint types and extended filter operators.

Re-exports§

pub use changelog::CDC_MEDIATED_ON;
pub use changelog::CDC_MEDIATED_VAR;
pub use changelog::CLOCK_TIMESTAMP_DIRECTIVE;
pub use changelog::DURATION_CALC_VERSION;
pub use changelog::STARTED_AT_VAR;
pub use changelog::duration_ms_sql;
pub use dialect::PostgresDialect;
pub use dialect::SqlDialect;
pub use dialect::UnsupportedOperator;
pub use fraiseql_wire_adapter::FraiseWireAdapter;
pub use identifier::quote_postgres_identifier;
pub use introspector::DatabaseIntrospector;
pub use introspector::RelationInfo;
pub use introspector::RelationKind;
pub use postgres::PostgresAdapter;
pub use postgres::PostgresIntrospector;
pub use projection_generator::FieldKind;
pub use projection_generator::PostgresProjectionGenerator;
pub use projection_generator::ProjectionField;
pub use traits::AdminSqlOutcome;
pub use traits::AdminSqlRequest;
pub use traits::ArcDatabaseAdapter;
pub use traits::BoxDatabaseAdapter;
pub use traits::COMPOSED_DOCUMENT_KEY;
pub use traits::COMPOSED_EMBEDS_KEY;
pub use traits::ChangeLogWrite;
pub use traits::ColumnRowStream;
pub use traits::ComposedEmbed;
pub use traits::ComposedKeyset;
pub use traits::ComposedLevel;
pub use traits::CursorValue;
pub use traits::DatabaseAdapter;
pub use traits::EmbedShape;
pub use traits::EmbedSource;
pub use traits::JsonbRowStream;
pub use traits::LevelKeys;
pub use traits::MutationRowGate;
pub use traits::ProjectionRequest;
pub use traits::RelayDatabaseAdapter;
pub use traits::RelayPageResult;
pub use traits::ResultCacheStats;
pub use traits::WriteMode;
pub use traits::WriteRequest;
pub use traits::Writer;
pub use traits::composed_read_unsupported;
pub use types::DatabaseType;
pub use types::JsonbValue;
pub use types::PoolMetrics;
pub use types::QueryStatEntry;
pub use types::sql_hints::OrderByClause;
pub use types::sql_hints::OrderDirection;
pub use types::sql_hints::RelevanceOrder;
pub use types::sql_hints::ScalarFieldType;
pub use types::sql_hints::SqlProjectionHint;
pub use types::sql_hints::VectorDistanceOrder;
pub use types::sql_hints::VectorOperandKind;
pub use view_name::ViewName;
pub use where_clause::HavingClause;
pub use where_clause::WhereClause;
pub use where_clause::WhereOperator;
pub use where_generator::GenericWhereGenerator;
pub use serde_json;
pub use tokio_postgres;
pub use uuid;

Modules§

changelog
Change-log contract: the canonical duration_ms computation, the fraiseql.started_at session-var convention, and the data-quality marker.
dialect
SQL dialect abstractions for WHERE clause generation.
fraiseql_wire_adapter
FraiseQL-Wire adapter implementation.
identifier
Database identifier quoting utilities.
introspector
Database introspection trait for querying table metadata.
order_by
Shared ORDER BY clause builder for all database adapters.
path_escape
Escape utilities for JSON path SQL injection prevention.
postgres
PostgreSQL database adapter.
projection_generator
SQL Projection Query Generator
traits
Database adapter trait definitions.
types
Type definitions for fraiseql-db.
utils
Shared utility functions for the fraiseql-db crate.
view_name
ViewName — a typed identifier for SQL views and tables.
where_clause
WHERE clause abstract syntax tree.
where_generator
Generic WHERE clause generator.
where_sql_generator
WHERE clause to SQL string generator for fraiseql-wire.
wire_pool
Connection pool for fraiseql-wire clients.

Type Aliases§

Result
A type alias for Result<T, fraiseql_error::FraiseQLError>, used throughout this crate.