python/sedonadb: Make explain plans easier to programatically inspect
- Dominant language
- Rust
- Stars
- 503
- Forks
- 61
- Avg merge
- 2d 4h
- Merged PRs (30d)
- 90
Description
In #733 and a few other places (I think Parquet pruning) we use the explain output to assert that something is or isn't happening in the internals of the engine. We currently don't have a great way to inspect these.
We should probably have `.explain()` return an object like:
```python
class ExplainPlan:
def __init__(self, df, options):
pass
def __repr__(self):
# Current output or close
pass
```
...to which we could add methods to more robustly inspect the structure/metrics.
Contributor guide
Research direction
The issue names no files or tests. Start by locating the Python `.explain()` implementation and tracing its current output; done should include an inspectable explain-plan object, methods for structure or metrics, and a representation that preserves the current output or stays close to it.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python, rust
- Domain
- api, database
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Needs clarification
- Newbie friendliness
- 38/100