Show query plans in the Linux SQL editor
Maintainer thường phản hồi trong vòng 1 ngày
@J2TeamNNL đang làm issue này rồi.
Từ ngày 31/10/2026.
Đánh giá
- Độ khó
- 5/5
- Thời gian dự kiến
- Hơn một tuần
- Mức phù hợp với người mới
- 35/100
Hướng nghiên cứu
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.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
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
- Ngôn ngữ chính
- Swift
- Star
- 6.2k
- Fork
- 412
- Merge trung bình
- 3 giờ 56 phút
- Pull request đã merge (30 ngày)
- 669
Chuẩn bị môi trường
Dự án này không cung cấp dev container, Dockerfile hay hướng dẫn đóng góp, nên bạn cần tự thiết lập môi trường: hãy bắt đầu từ README và xem hướng dẫn đóng góp lần đầu của chúng tôi để biết các bước chung.
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của TableProApp/TablePro
-
Linux: Remember Password fails silently when there is no default keyringCó thể đã có người làm @datlechin đã nhận hôm nay. Đang mởbug platform-linux
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100
TableProApp/TablePro#4098 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
bug platform-linux
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 35/100
TableProApp/TablePro#4101 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
bug platform-linux
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 48/100
TableProApp/TablePro#4099 · 3 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
enhancement platform-macos
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 25/100
TableProApp/TablePro#4071 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
enhancement platform-macos
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 66/100
TableProApp/TablePro#4070 ·
Maintainer thường phản hồi trong vòng 1 ngày
Tất cả issue của TableProApp/TablePro
Issue tương tự
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 83/100
OneBusAway/vehicle-positions#260 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 85/100
eliasstravik/herdr-projects#789 · 1 bình luận ·
-
follow-up needs-triage S3: minor
Độ khó 1/5 1-3 giờ Mức phù hợp với người mới 85/100
manaflow-ai/cmux#38032 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 67/100
arkavo-org/ArkavoKit#70 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 70/100
vorssaint/vorssaint-utils#3933 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 2 ngày