Skip to main content

Module runtime

Module runtime 

Source
Expand description

Runtime query executor - executes compiled queries.

§Architecture

The runtime loads a CompiledSchema and executes incoming GraphQL queries by:

  1. Parsing the GraphQL query
  2. Matching it to a compiled query template
  3. Binding variables
  4. Executing the pre-compiled SQL
  5. 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_response composite 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§

AggregateQueryParser
Aggregate query parser
AggregationProjector
Aggregation result projector
ExecutionContext
Execution context for query cancellation support.
ExecutionPlan
Execution plan for a query.
Executor
Query executor - executes compiled GraphQL queries.
FieldMapping
Field mapping for projection with alias support.
ProjectionMapper
Projection mapper - maps JSONB fields to GraphQL selection set.
QueryMatch
A matched query with extracted information.
QueryMatcher
Query pattern matcher.
QueryPlanner
Query planner - selects optimal execution strategy.
ResultProjector
Result projector - high-level result transformation.
RuntimeConfig
Runtime configuration.
WindowProjector
Window function result projector.
WindowQueryParser
Window query parser