You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
[EPIC] Integrate SQLStorm test suite into DataFusion #17698
It includes 10k+ queries for well-known datasets like TPC-H, TPC-DS, and JOB. These queries have been tested against DuckDB and PostgreSQL to ensure validity.
Running SQLStorm queries against DataFusion can improve test coverage and help identify optimization opportunities.
Describe the solution you'd like
Implement a runner to execute SQLStorm-generated queries
Report failures, and queries that are significantly slower (or more memory-consuming) than DuckDB
I think most of them will be caused by bad join order since DF don't have an optimizer for join ordering, we can first identify slow queries caused by other reasons first
Add those queries to (extended) CI for testing
I just did an initial implementation, with many query failures found. I’ll spend some time reporting the bugs and will provide an update soon.
Describe alternatives you've considered
No response
Additional context
No response
Reacted by Jonathan Chen, Jacob Sherin, Tobias Schwarzinger and Bruce Ritchie
It has found 2500/17000 failures on valid queries (likely many duplicates)
Here is the speed comparison with DuckDB. There are many queries (represented by the dots in the top-right corner of the figure) that are 100× slower than DuckDB. There may be even worse cases, since there is a 10-second timeout and timed-out queries are not counted.
There is still a lot of work to do to triage bugs and investigate significantly slower queries.
(Is there any convenient way to filter out slow queries caused by bad join orders?)
Activity
2010YOUY01 commentedon Sep 23, 2025
Tested it on
TPCHdataset (code at https://github.com/2010YOUY01/datafusion-sqlstorm)It has found 2500/17000 failures on valid queries (likely many duplicates)
Here is the speed comparison with DuckDB. There are many queries (represented by the dots in the top-right corner of the figure) that are 100× slower than DuckDB. There may be even worse cases, since there is a 10-second timeout and timed-out queries are not counted.
There is still a lot of work to do to triage bugs and investigate significantly slower queries.
(Is there any convenient way to filter out slow queries caused by bad join orders?)