Skip to content

Commit ff990fd

Browse files
authored
Merge pull request #168 from aquamatthias/mv/fix_explain_vars
Add bind_vars parameter to AQL.explain method.
2 parents 9212461 + 864e759 commit ff990fd

File tree

1 file changed

+8
-1
lines changed

1 file changed

+8
-1
lines changed

arango/aql.py

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -171,6 +171,7 @@ def explain(
171171
all_plans: bool = False,
172172
max_plans: Optional[int] = None,
173173
opt_rules: Optional[Sequence[str]] = None,
174+
bind_vars: Optional[MutableMapping[str, str]] = None,
174175
) -> Result[Union[Json, Jsons]]:
175176
"""Inspect the query and return its metadata without executing it.
176177
@@ -184,6 +185,8 @@ def explain(
184185
:type max_plans: int
185186
:param opt_rules: List of optimizer rules.
186187
:type opt_rules: list
188+
:param bind_vars: Bind variables for the query.
189+
:type bind_vars: dict
187190
:return: Execution plan, or plans if **all_plans** was set to True.
188191
:rtype: dict | list
189192
:raise arango.exceptions.AQLQueryExplainError: If explain fails.
@@ -194,10 +197,14 @@ def explain(
194197
if opt_rules is not None:
195198
options["optimizer"] = {"rules": opt_rules}
196199

200+
data: Json = {"query": query, "options": options}
201+
if bind_vars is not None:
202+
data["bindVars"] = bind_vars
203+
197204
request = Request(
198205
method="post",
199206
endpoint="/_api/explain",
200-
data={"query": query, "options": options},
207+
data=data,
201208
)
202209

203210
def response_handler(resp: Response) -> Union[Json, Jsons]:

0 commit comments

Comments
 (0)