pub async fn execute_query(
engine: StandardEngine,
query: String,
identity: Identity,
params: Params,
timeout: Duration,
) -> ExecuteResult<Vec<Frame>>Expand description
Execute a query with timeout.
This function:
- Starts the async query execution (internally uses spawn_blocking)
- Collects the stream with a timeout
- Returns the query results or an appropriate error
§Arguments
engine- The database engine to execute the query onquery- The RQL query stringidentity- The identity context for permission checkingparams- Query parameterstimeout- Maximum time to wait for query completion
§Returns
Ok(Vec<Frame>)- Query results on successErr(ExecuteError::Timeout)- If the query exceeds the timeoutErr(ExecuteError::Cancelled)- If the query was cancelledErr(ExecuteError::Engine)- If the engine returns an error
§Example
ⓘ
let result = execute_query(
engine,
"SELECT * FROM users".to_string(),
identity,
Params::None,
Duration::from_secs(30),
).await?;