apache / apache/sedona-db

python/sedonadb: Make explain plans easier to programatically inspect

Open
#734 0 comments 2 reactions 0 assignees View on GitHub
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.