/// <summary>Explain an AQL query and return information about it</summary> /// <seealso><a href="https://docs.arangodb.com/current/HTTP/AqlQuery/index.html#explain-an-aql-query">API /// * Documentation</a></seealso> /// <param name="query">the query which you want explained</param> /// <param name="bindVars">key/value pairs representing the bind parameters</param> /// <param name="options">Additional options, can be null</param> /// <returns>information about the query</returns> /// <exception cref="ArangoDBException"/> /// <exception cref="ArangoDBException"/> public virtual AqlExecutionExplainEntity explainQuery(string query, System.Collections.Generic.IDictionary <string, object> bindVars, AqlQueryExplainOptions options) { return(executor.execute(this.explainQueryRequest(query, bindVars, options), typeof(AqlExecutionExplainEntity))); }
protected internal virtual Request explainQueryRequest( string query, System.Collections.Generic.IDictionary <string, object> bindVars, AqlQueryExplainOptions options) { return(new Request(name, RequestType .POST, ArangoDBConstants.PATH_API_EXPLAIN).setBody(this.executor .Serialize(OptionsBuilder.build(options != null ? options : new AqlQueryExplainOptions(), query, bindVars)))); }