Show query plans in the Linux SQL editor
Mantenedores costumam responder em até 1 dia
@J2TeamNNL já está trabalhando nisso.
Desde 31/10/2026.
Avaliação
- Dificuldade
- 5/5
- Tempo estimado
- Mais de uma semana
- Facilidade para iniciantes
- 35/100
Direção de pesquisa
Start with linux/crates/core/src/statement/statement_builder.rs and the macOS reference features/explain-visualization.mdx; the issue also points to linux/ROADMAP.md. Trace how statements and results are built in the Linux app, then compare each engine’s required plan format. Done means Explain renders a PostgreSQL join as a tree with row estimates and works across the listed engines.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
Problem
The Linux app has no way to show a query plan. The user can type EXPLAIN in the editor and read the plan as rows of text, but nothing draws it, and each engine has its own format: text or JSON on PostgreSQL and MySQL, XML on SQL Server, a list of steps on SQLite. The only EXPLAIN in the code is a unit test (linux/crates/core/src/statement/statement_builder.rs:166).
It is not on the roadmap: neither the backlog nor the Ideas list (linux/ROADMAP.md, Backlog, Ideas) mentions it. The macOS app draws plans (features/explain-visualization.mdx).
Proposed solution
- Explain in the editor, for the statement at the cursor or the selection, with a shortcut.
- Each engine runs its own form:
EXPLAIN (FORMAT JSON)on PostgreSQL,EXPLAIN FORMAT=JSONon MySQL and MariaDB,SET SHOWPLAN_XML ONon SQL Server,EXPLAINon ClickHouse, andEXPLAIN QUERY PLANon SQLite. - The plan shows as a tree of nodes in a results entry, built from GTK list widgets, with each node's estimated rows and cost where the engine gives them, and the costliest node marked.
- Explain Analyze, where the engine has it, runs the statement, so it asks first. On a statement that writes, it is refused on a read-only connection and otherwise runs inside a transaction that is rolled back.
- The raw plan text stays one click away, for copying.
Done means: on PostgreSQL, Explain on a join shows a tree with row estimates, and the same action works on the other engines with their own plan formats.
Alternatives considered
Run EXPLAIN by hand in the editor and read the rows.
Platform
Linux
Related database type
N/A / General
- Linguagem predominante
- Swift
- Estrelas
- 6.2k
- Forks
- 412
- Merge médio
- 3h 56min
- PRs com merge (30d)
- 669
Preparar o ambiente
Este projeto não oferece contêiner de desenvolvimento, Dockerfile nem guia de contribuição, então a configuração fica por sua conta: comece pelo README e veja nosso guia da primeira contribuição para os passos gerais.
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de TableProApp/TablePro
-
Linux: Remember Password fails silently when there is no default keyringTalvez já em andamento @datlechin assumiu hoje. Abertabug platform-linux
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 75/100
TableProApp/TablePro#4098 ·
Mantenedores costumam responder em até 1 dia
-
bug platform-linux
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 35/100
TableProApp/TablePro#4101 ·
Mantenedores costumam responder em até 1 dia
-
bug platform-linux
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 48/100
TableProApp/TablePro#4099 · 3 comentários ·
Mantenedores costumam responder em até 1 dia
-
enhancement platform-macos
Dificuldade 5/5 Mais de uma semana Facilidade para iniciantes 25/100
TableProApp/TablePro#4071 ·
Mantenedores costumam responder em até 1 dia
-
enhancement platform-macos
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 66/100
TableProApp/TablePro#4070 ·
Mantenedores costumam responder em até 1 dia
Todas as issues de TableProApp/TablePro
Issues semelhantes
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 83/100
OneBusAway/vehicle-positions#260 ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 85/100
eliasstravik/herdr-projects#789 · 1 comentário ·
-
follow-up needs-triage S3: minor
Dificuldade 1/5 1-3 horas Facilidade para iniciantes 85/100
manaflow-ai/cmux#38032 · 1 comentário ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 67/100
arkavo-org/ArkavoKit#70 ·
Mantenedores costumam responder em até 1 dia
-
bug
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 70/100
vorssaint/vorssaint-utils#3933 · 1 comentário ·
Mantenedores costumam responder em até 2 dias