Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions plan-dumper/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@ The available modes are:
* `simple` → a plain JSON `EXPLAIN`.
* `analyze` → an executing plan with runtime measurements.
Hyper, Postgres, DuckDB, Umbra, CedarDB, and MariaDB use their JSON `EXPLAIN ANALYZE` variants.
* `external-analyze` → Hyper's external JSON executing plan (`FORMAT JSON, ANALYZE`).
* `steps` → optimizer internals:
* Hyper: `EXPLAIN (FORMAT INTERNAL, OPTIMIZE STEPS)`.
* DuckDB: logical, optimized, and physical plans from `explain_output='all'`.
Expand Down
3 changes: 2 additions & 1 deletion plan-dumper/dump-plans.py
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ def parse_unsupported(sql):
return {db.strip().lower() for db in match.group(1).split(",")}


# A `-- MODES: simple, analyze, pipelines` comment anywhere in a query file lists the
# A `-- MODES: simple, analyze, external-analyze, pipelines` comment anywhere in a query file lists the
# EXPLAIN modes to dump it under (one output file per mode); defaults to `analyze` alone
# when absent, since that's what most queries want.
modes_re = re.compile(r"^--\s*MODES:\s*(.+)$", re.MULTILINE | re.IGNORECASE)
Expand Down Expand Up @@ -341,6 +341,7 @@ def get_plan(sql, mode):
"simple": "FORMAT INTERNAL",
"steps": "FORMAT INTERNAL, OPTIMIZE STEPS",
"analyze": "FORMAT INTERNAL, ANALYZE",
"external-analyze": "FORMAT JSON, ANALYZE, EXPAND_VIEWS true",
"pipelines": (
"FORMAT INTERNAL, PIPELINES, EXPAND_VIEWS true, EXPRESSIONS SQL"
),
Expand Down
1 change: 1 addition & 0 deletions plan-dumper/queries/tpch/tpch-q1.sql
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
-- MODES: analyze, external-analyze
-- This query is derived from TPC-H query 1
-- THE TPC SOFTWARE IS AVAILABLE WITHOUT CHARGE FROM TPC.

Expand Down
37 changes: 19 additions & 18 deletions standalone-app/examples/hyper/cte-analyze.plan.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

22 changes: 11 additions & 11 deletions standalone-app/examples/hyper/cte-recursive-analyze.plan.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

43 changes: 22 additions & 21 deletions standalone-app/examples/hyper/forkshare-pipelines.plan.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

21 changes: 11 additions & 10 deletions standalone-app/examples/hyper/groupby-analyze.plan.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading
Loading