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)
  • MySQL (secondary support)
  • SQLite (local dev, testing)
  • SQL Server (enterprise)

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

Re-exports§

pub use collation::CollationCapabilities;
pub use collation::CollationMapper;
pub use collation_config::CollationConfig;
pub use collation_config::DatabaseCollationOverrides;
pub use collation_config::InvalidLocaleStrategy;
pub use collation_config::MySqlCollationConfig;
pub use collation_config::PostgresCollationConfig;
pub use collation_config::SqlServerCollationConfig;
pub use collation_config::SqliteCollationConfig;
pub use dialect::DialectCapabilityGuard;
pub use dialect::Feature;
pub use dialect::MySqlDialect;
pub use dialect::PostgresDialect;
pub use dialect::SqlDialect;
pub use dialect::SqlServerDialect;
pub use dialect::SqliteDialect;
pub use dialect::UnsupportedOperator;
pub use identifier::quote_mysql_identifier;
pub use identifier::quote_postgres_identifier;
pub use identifier::quote_sqlite_identifier;
pub use identifier::quote_sqlserver_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::MySqlProjectionGenerator;
pub use projection_generator::PostgresProjectionGenerator;
pub use projection_generator::ProjectionField;
pub use projection_generator::SqliteProjectionGenerator;
pub use traits::ArcDatabaseAdapter;
pub use traits::BoxDatabaseAdapter;
pub use traits::CursorValue;
pub use traits::DatabaseAdapter;
pub use traits::DatabaseCapabilities;
pub use traits::DirectMutationContext;
pub use traits::DirectMutationOp;
pub use traits::MutationStrategy;
pub use traits::RelayDatabaseAdapter;
pub use traits::RelayPageResult;
pub use traits::SupportsMutations;
pub use types::DatabaseType;
pub use types::JsonbValue;
pub use types::PoolMetrics;
pub use types::sql_hints::OrderByClause;
pub use types::sql_hints::OrderDirection;
pub use types::sql_hints::SqlProjectionHint;
pub use where_clause::HavingClause;
pub use where_clause::WhereClause;
pub use where_clause::WhereOperator;
pub use where_generator::GenericWhereGenerator;

Modules§

collation
Database-specific collation mapping.
collation_config
Collation configuration for user-aware sorting.
dialect
SQL dialect abstractions for WHERE clause generation.
filters
Rich type filter operators and handlers.
identifier
Database identifier quoting utilities.
introspector
Database introspection trait for querying table metadata.
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.
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.

Type Aliases§

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