Omega359 opened a new pull request, #22032: URL: https://github.com/apache/datafusion/pull/22032
## Which issue does this PR close? <!-- We generally require a GitHub issue to be filed for all bug fixes and enhancements and this helps us generate change logs for our releases. You can link an issue to this PR using the GitHub syntax. For example `Closes #123` indicates that this PR will close issue #123. --> - https://github.com/apache/datafusion/issues/21937 (partial) ## Rationale for this change This continues the `benchmark_runner` CLI work by adding non-execution inspection commands for SQL benchmark suites and native benchmarks. The goal is to let users discover benchmark metadata and inspect parsed SQL without running benchmarks. This also gives SQL suite metadata a single `.suite`-driven source of truth for CLI options, examples, and query file resolution. See https://github.com/apache/datafusion/pull/22001#issuecomment-4373963246 for future planned steps. ## What changes are included in this PR? This PR adds support for: - `benchmark_runner info <SUITE>` - `benchmark_runner info <SUITE> <QUERY_ID>` - `benchmark_runner info <NATIVE_BENCHMARK>` - `benchmark_runner query <SUITE> <QUERY_ID>` It also includes: - dynamic suite option registration from `.suite` metadata - suite option validation for `info` and `query` - multi-character suite option alias normalization, such as `-sf` - configurable suite `query_pattern` support - SQL benchmark selector resolution by suite and query id - native benchmark metadata support for `list` and `info` - styled `info` and `query` output - full SQL info output sections showing the relevant run usage/options surface Benchmark execution is intentionally not included in this PR. The `run` command is left for the next stacked PR. ## Are these changes tested? Yes. This PR adds and updates tests for: - SQL suite discovery - dynamic suite options - suite option validation - query id resolution - configurable `query_pattern` handling - `info` output for suites and individual queries - `query` output grouped by benchmark directive - native benchmark list/info behavior - native benchmark name collision handling - CLI parsing and suite option alias normalization ## Are there any user-facing changes? Yes. The benchmark_runner binary gains new inspection commands: • info • query These commands are additive and do not change public Rust APIs. ## Use of AI This code was partially written by Codex but edited, reviewed and tested by @Omega359 -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
