Skip to content

Expand SQL plan coverage - #226

Merged
vogelsgesang merged 5 commits into
mainfrom
avogelsgesang-update-plan-dumps-duckdb
Oct 24, 2026
Merged

vogelsgesang merged 5 commits into
mainfrom
avogelsgesang-update-plan-dumps-duckdb

Conversation

@vogelsgesang

Copy link
Copy Markdown
Collaborator

Add dumped plans so we exercise more relational operators, optimizer shapes, and PGQ constructs.

The SQL coverage now includes:

  • all set-operation variants with nested and n-ary patterns
  • the redundant UNION ALL fixture is removed.
  • layered and multiply referenced CTEs
  • scalar and correlated subqueries
  • TABLESAMPLE
  • DML for INSERT, UPDATE, and DELETE including RETURNING, FROM, and USING forms.
  • SQL/PGQ tests (Hyper-only)

The Hyper-only PGQ fixtures use meaningful TPC-H part, supplier, and partsupp relationships. They cover labels, projected properties, vertex-local and edge-local WHERE predicates, graph-level filtering, optional edges, ONE ROW PER STEP, and optimizer-step plans with SQL-position annotations.

@vogelsgesang
vogelsgesang force-pushed the avogelsgesang-update-plan-dumps-duckdb branch 7 times, most recently from 3c525ef to d5bdeb6 Compare October 24, 2026 01:29
Broaden the repository SQL fixtures and checked-in plans so the example gallery exercises more relational operators, optimizer shapes, and PGQ constructs across the current database versions available in the plan-dumper environment.

The SQL coverage includes all set-operation variants with nested and n-ary patterns, layered and multiply referenced CTEs, scalar and correlated subqueries, TABLESAMPLE, and DML for INSERT, UPDATE, and DELETE including RETURNING, FROM, and USING forms. DML fixtures are organized in their own directory, and the redundant UNION ALL fixture is removed. Hyper-only PGQ fixtures use meaningful TPC-H part, supplier, and partsupp relationships and cover labels, projected properties, vertex-local and edge-local WHERE predicates, graph-level filtering, optional edges, ONE ROW PER STEP, and optimizer-step plans with SQL-position annotations.

Refresh the available plan dumps and index metadata for PostgreSQL, DuckDB, Hyper, Umbra, and CedarDB. CedarDB now uses v2026-10-22, and Umbra was refreshed from the umbradb/umbra:26.10 image. Retain structural changes while removing measurement-only timing, memory, scheduler, and pipeline-metric churn with filter-timing-diff.py. CedarDB pipeline-profile comparisons also ignore nondeterministic operator-list and parallelism ordering. Record TABLESAMPLE as unsupported for Umbra, CedarDB, and MariaDB.

MariaDB now authenticates through the local default Unix socket, but its ANALYZE FORMAT=JSON dump consistently stalls on TPC-H Q9 before completing, so its existing plans remain unchanged pending an engine-side or runner-side timeout fix. Update loader expectations for the refreshed plan formats and keep regression coverage for DuckDB, Hyper, and the timing-diff filter.
@vogelsgesang
vogelsgesang force-pushed the avogelsgesang-update-plan-dumps-duckdb branch from d5bdeb6 to 7baf60d Compare October 24, 2026 01:55
Comment thread plan-dumper/queries/dml/delete-using.sql Outdated
Comment thread plan-dumper/queries/dml/delete.sql Outdated
Comment thread plan-dumper/queries/pgq-path.sql Outdated
@vogelsgesang
vogelsgesang merged commit 70d399e into main Oct 24, 2026
5 checks passed
@vogelsgesang
vogelsgesang deleted the avogelsgesang-update-plan-dumps-duckdb branch October 24, 2026 02:09
@vogelsgesang vogelsgesang changed the title Expand SQL plan coverage and refresh DuckDB and Hyper dumps Expand SQL plan coverage Oct 24, 2026
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