Skip to content

Plan-dumper: Add Umbra, CedarDB and MariaDB - #164

Merged
vogelsgesang merged 14 commits into
mainfrom
plan-dumper-more-dbs
Aug 25, 2026
Merged

Plan-dumper: Add Umbra, CedarDB and MariaDB#164
vogelsgesang merged 14 commits into
mainfrom
plan-dumper-more-dbs

Conversation

@vogelsgesang

@vogelsgesang vogelsgesang commented Aug 24, 2026

Copy link
Copy Markdown
Collaborator

I am planning to add support for additional database engines. In preparation for that, add reproducible query-plan fixtures for Umbra, CedarDB, and MariaDB.

  • Add plain and analyzed plans for all three engines.
  • Add CedarDB optimizer-phase snapshots and MariaDB optimizer traces.
  • DuckDB plans were also re-generated. They contain more details now.
  • Use engine-specific SQL setup scripts for schema creation, data loading, and statistics collection.
  • Add \include and \copy setup directives where native SQL loading is insufficient.
  • Improve filtering of volatile runtime measurements for new databases.
  • Remove obsolete manually maintained Hyper fixtures.

I am planning to add support for additional database engines.
In preparation for that, this commit adds plan dumps for Umbra, CedarDB,
MariaDB, and Trino.

To do so, the plan-dumper is extended to support those new databsaes.
Comment thread plan-dumper/queries/tpch/tpch-q15.sql
Comment thread plan-dumper/queries/cte-recursive.sql Outdated
Comment thread plan-dumper/queries/insert.sql
Comment thread plan-dumper/queries/metadata-describe-table.sql Outdated
Comment thread plan-dumper/queries/tablefunction.sql Outdated
Comment thread plan-dumper/requirements.txt
Comment thread plan-dumper/README.md Outdated
Comment thread plan-dumper/README.md Outdated
Comment thread plan-dumper/README.md Outdated
Comment thread plan-dumper/README.md Outdated
Preserve fixtures that the active engine build cannot regenerate, collect
stable MariaDB statistics, and filter engine-specific memory, scheduler,
and identifier fields alongside timing measurements.
Document engine-specific limitations, align all server connections behind
explicit CLI arguments, and shorten the recursive CTE so Trino can produce
an analyzed fixture.
Generate each engine into an empty staging directory so stale outputs cannot
survive a run, and fail atomically when a requested mode is unavailable.
Keep the sole legacy fixture as an explicit manual input and drop the obsolete
TDE example.
Drop the obsolete camel-case Hyper example and keep every staged engine
folder derived solely from its requested SQL plans. Remove the unused mode
mapping hook left behind by Trino's former analyze fallback.
Comment thread plan-dumper/filter-timing-diff.py Outdated
Comment thread plan-dumper/filter-timing-diff.py Outdated
Comment thread plan-dumper/dump-plans.py Outdated
Describe the hunk-level behavior directly and list each engine's volatile
runtime fields in a scan-friendly format.
Comment thread plan-dumper/dump-plans.py Outdated
Import the declared dependencies directly so incomplete installations fail
immediately instead of silently skipping configured databases.
Use uppercase snake case for module-level constants and regular expressions so
the dumper follows standard Python naming conventions throughout.
Keep dialect differences in dedicated SQL files so the dumper executes setup
statements verbatim instead of parsing and rewriting their DDL.
Keep schema, imports, and statistics in one selected setup script per engine,
with lightweight include and client-copy directives for shared setup concerns.
Implement the setup \copy directive with PostgreSQL's client-side COPY
protocol instead of materializing rows and issuing batched inserts.
@vogelsgesang
vogelsgesang force-pushed the plan-dumper-more-dbs branch 2 times, most recently from 8924a42 to 69a68b7 Compare August 25, 2026 08:51
@vogelsgesang vogelsgesang changed the title Plan-dumper: Add Umbra, CedarDB, MariaDB, and Trino Plan-dumper: Add Umbra, CedarDB and MariaDB Aug 25, 2026
@vogelsgesang
vogelsgesang merged commit af9f5e4 into main Aug 25, 2026
5 checks passed
@vogelsgesang
vogelsgesang deleted the plan-dumper-more-dbs branch August 25, 2026 09:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant