diff --git a/docs/Release Notes/Change Log.md b/docs/Release Notes/Change Log.md index 8199d746..391916e9 100644 --- a/docs/Release Notes/Change Log.md +++ b/docs/Release Notes/Change Log.md @@ -31,6 +31,10 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), - [[#199](https://github.com/mabel-dev/opteryx/issues/199)] `SHOW EXTENDED COLUMNS` blows memory allocations on large tables ([@joocer](https://github.com/joocer])) +**Fixed** + +- [[#169](https://github.com/mabel-dev/opteryx/issues/169)] Selection nodes in `EXPLAIN` have nested parentheses. ([@joocer](https://github.com/joocer])) + ### [0.0.2] - 2022-06-03 **Added** diff --git a/opteryx/engine/planner/operations/selection_node.py b/opteryx/engine/planner/operations/selection_node.py index 0340bf6e..ead4c0cb 100644 --- a/opteryx/engine/planner/operations/selection_node.py +++ b/opteryx/engine/planner/operations/selection_node.py @@ -242,6 +242,8 @@ def _inner_config(predicate): return f"{predicate[0]}" return "(" + " ".join(_inner_config(p) for p in predicate) + ")" if isinstance(predicate, list): + if len(predicate) == 1: + return _inner_config(predicate[0]) return "[" + ",".join(_inner_config(p) for p in predicate) + "]" return f"{predicate}"