Expand description
Runtime query executor - executes compiled queries.
§Architecture
The runtime loads a CompiledSchema and executes incoming GraphQL queries by:
- Parsing the GraphQL query
- Matching it to a compiled query template
- Binding variables
- Executing the pre-compiled SQL
- Projecting JSONB results to GraphQL response
§Key Concepts
- Zero runtime compilation: All SQL is pre-compiled
- Pattern matching: Match incoming query structure to templates
- Variable binding: Safe parameter substitution
- Result projection: JSONB → GraphQL JSON transformation
§Example
ⓘ
use fraiseql_core::runtime::Executor;
use fraiseql_core::schema::CompiledSchema;
// Load compiled schema
let schema = CompiledSchema::from_json(include_str!("schema.compiled.json"))?;
// Create executor (connects to database)
let executor = Executor::new(schema, db_pool).await?;
// Execute GraphQL query
let query = r#"query { users { id name } }"#;
let result = executor.execute(query, None).await?;
println!("{}", result);Re-exports§
pub use aggregation::AggregationSql;pub use aggregation::AggregationSqlGenerator;pub use field_filter::can_access_field;pub use field_filter::filter_fields;pub use jsonb_strategy::JsonbOptimizationOptions;pub use jsonb_strategy::JsonbStrategy;pub use query_tracing::QueryExecutionTrace;pub use query_tracing::QueryPhaseSpan;pub use query_tracing::QueryTraceBuilder;pub use query_tracing::create_phase_span;pub use query_tracing::create_query_span;pub use sql_logger::SqlOperation;pub use sql_logger::SqlQueryLog;pub use sql_logger::SqlQueryLogBuilder;pub use sql_logger::create_sql_span;pub use subscription::ActiveSubscription;pub use subscription::DeliveryResult;pub use subscription::KafkaAdapter;pub use subscription::KafkaConfig;pub use subscription::KafkaMessage;pub use subscription::SubscriptionError;pub use subscription::SubscriptionEvent;pub use subscription::SubscriptionId;pub use subscription::SubscriptionManager;pub use subscription::SubscriptionOperation;pub use subscription::SubscriptionPayload;pub use subscription::TransportAdapter;pub use subscription::TransportManager;pub use subscription::WebhookAdapter;pub use subscription::WebhookConfig;pub use subscription::WebhookPayload;pub use subscription::protocol;pub use tenant_enforcer::TenantEnforcer;pub use window::WindowSql;pub use window::WindowSqlGenerator;
Modules§
- aggregation
- Runtime Aggregation SQL Generation Module
- field_
filter - Field-level RBAC filtering for runtime field projection.
- input_
validator - Input validation for GraphQL mutations and queries.
- jsonb_
strategy - JSONB field handling strategy selection
- mutation_
result - Mutation response parser for
app.mutation_responsecomposite rows. - query_
tracing - Query execution tracing and observability instrumentation.
- sql_
logger - Structured SQL query logging and tracing.
- subscription
- Subscription runtime for event-driven GraphQL subscriptions.
- tenant_
enforcer - window
- Window Function SQL Generation
Structs§
- Aggregate
Query Parser - Aggregate query parser
- Aggregation
Projector - Aggregation result projector
- Execution
Context - Execution context for query cancellation support.
- Execution
Plan - Execution plan for a query.
- Executor
- Query executor - executes compiled GraphQL queries.
- Field
Mapping - Field mapping for projection with alias support.
- Projection
Mapper - Projection mapper - maps JSONB fields to GraphQL selection set.
- Query
Match - A matched query with extracted information.
- Query
Matcher - Query pattern matcher.
- Query
Planner - Query planner - selects optimal execution strategy.
- Result
Projector - Result projector - high-level result transformation.
- Runtime
Config - Runtime configuration.
- Window
Projector - Window function result projector.
- Window
Query Parser - Window query parser