pub trait ExecutorAdapter: Send + Sync {
// Required method
fn execute_with_context<'a>(
&'a self,
query: &'a str,
variables: Option<&'a Value>,
ctx: &'a ExecutionContext,
) -> Pin<Box<dyn Future<Output = Result<String>> + Send + 'a>>;
}Expand description
Type-erased executor interface.
Allows code that drives query execution (fraiseql-server, tests) to hold
Arc<dyn ExecutorAdapter> without being generic over DatabaseAdapter.
Concrete implementations should implement this trait on their
Executor<A> type to participate in the type-erased execution path.
Required Methods§
Sourcefn execute_with_context<'a>(
&'a self,
query: &'a str,
variables: Option<&'a Value>,
ctx: &'a ExecutionContext,
) -> Pin<Box<dyn Future<Output = Result<String>> + Send + 'a>>
fn execute_with_context<'a>( &'a self, query: &'a str, variables: Option<&'a Value>, ctx: &'a ExecutionContext, ) -> Pin<Box<dyn Future<Output = Result<String>> + Send + 'a>>
Execute a GraphQL query string with an execution context.
§Arguments
query— the raw GraphQL query documentvariables— optional JSON object of query variablesctx— execution context carrying the query ID and cancellation token
§Returns
A JSON-serialised GraphQL response string on success.
§Errors
Returns a crate::error::FraiseQLError if parsing, validation, or
SQL execution fails, or if the context’s cancellation token has already
been triggered.