yinli-systems opened a new pull request, #25303:
URL: https://github.com/apache/datafusion/pull/25303

   ## Which issue does this PR close?\n\n- Part of #24117.\n\n## Rationale for 
this change\n\nThe existing dictionary benchmark only measures pre-encoded 
dictionaries with cardinality expressed as a fraction of row count. That is not 
enough to derive a safe automatic encoding policy: native dictionaries, 
per-batch dictionaries, plain strings, and runtime encoding have materially 
different costs, and the crossover also depends on absolute NDV, value width, 
and batch layout.\n\nThe initial benchmark evidence is recorded in 
https://github.com/apache/datafusion/issues/24117#issuecomment-5671192732. In 
particular, runtime encoding lost in every measured case, while pre-encoded 
dictionaries changed from a substantial win at low NDV to a loss at higher 
NDV.\n\n## What changes are included in this PR?\n\n- Compare pre-encoded 
dictionaries, plain strings, and runtime dictionary casts.\n- Configure 
absolute NDV, value width, and input batch size.\n- Model shared dictionary 
values and independe
 nt per-batch values.\n- Optionally normalize dictionary group keys back to 
Utf8 in the output so output-type preservation is included in the 
measurement.\n- Preserve the existing default benchmark behavior and case 
names.\n- Reject invalid benchmark configurations instead of silently changing 
the requested workload.\n- Verify that all encodings produce identical grouped 
counts.\n\nThis PR only establishes the benchmark surface needed to evaluate 
#24117; it does not add an optimizer rule or select a universal 
threshold.\n\n## What is the testing strategy for this PR?\n\n- 
   running 148 tests
   test dict::tests::query_sql_keeps_user_visible_string_type ... ok
   test dict::tests::rejects_zero_input_batch_size ... ok
   test dict::tests::rejects_invalid_distinct_count_and_dictionary_reuse ... ok
   test dict::tests::per_batch_dictionaries_keep_global_row_pattern ... ok
   test 
sql_benchmark::tests::parse_group_from_path_handles_relative_and_absolute_paths 
... ok
   test 
sql_benchmark::tests::parse_group_from_path_matches_benchmark_directory_case_insensitively
 ... ok
   test 
sql_benchmark::tests::parse_group_from_path_pins_fallback_for_paths_outside_benchmark_directory
 ... ok
   test 
sql_benchmark::tests::parse_group_from_path_returns_group_under_benchmark_directory
 ... ok
   test dict::tests::dictionary_batches_share_values_and_preserve_padding ... ok
   test sql_benchmark::tests::parser_accepts_assert_with_expected_rows ... ok
   test sql_benchmark::tests::parser_accepts_case_insensitive_query_directives 
... ok
   test sql_benchmark::tests::initialize_rejects_benchmark_without_run_query 
... ok
   test sql_benchmark::tests::parser_accepts_indented_comments_and_blank_lines 
... ok
   test sql_benchmark::tests::parser_accepts_include_file ... ok
   test sql_benchmark::tests::parser_accepts_malformed_result_file ... ok
   test sql_benchmark::tests::assert_propagates_query_failures ... ok
   test sql_benchmark::tests::cleanup_propagates_query_failures ... ok
   test sql_benchmark::tests::initialize_propagates_init_query_failures ... ok
   test sql_benchmark::tests::initialize_propagates_load_query_failures ... ok
   test sql_benchmark::tests::parser_accepts_missing_result_file ... ok
   test 
sql_benchmark::tests::parser_accepts_metadata_expect_echo_and_sql_sections ... 
ok
   test sql_benchmark::tests::parser_accepts_multiple_cleanup_directives ... ok
   test sql_benchmark::tests::parser_accepts_multiple_init_directives ... ok
   test sql_benchmark::tests::parser_accepts_multiple_load_directives ... ok
   test sql_benchmark::tests::parser_accepts_query_file_and_splits_statements 
... ok
   test sql_benchmark::tests::parser_accepts_result_query_with_expected_rows 
... ok
   test 
sql_benchmark::tests::parser_ignores_query_file_with_only_comments_and_blank_lines
 ... ok
   test sql_benchmark::tests::parser_preserves_expected_result_cell_whitespace 
... ok
   test sql_benchmark::tests::parser_accepts_template_file_with_parameters ... 
ok
   test 
sql_benchmark::tests::parser_records_result_file_without_parsing_contents ... ok
   test sql_benchmark::tests::parser_accepts_replacements_in_query_file_path 
... ok
   test sql_benchmark::tests::parser_accepts_replacement_in_result_file_path 
... ok
   test sql_benchmark::tests::parser_rejects_duplicate_run_directives ... ok
   test sql_benchmark::tests::parser_rejects_assert_without_column_count ... ok
   test sql_benchmark::tests::parser_rejects_assert_without_result_separator 
... ok
   test 
sql_benchmark::tests::parser_rejects_inline_sql_when_cleanup_file_is_provided 
... ok
   test 
sql_benchmark::tests::parser_rejects_inline_sql_when_init_file_is_provided ... 
ok
   test 
sql_benchmark::tests::parser_rejects_include_and_template_with_too_many_arguments
 ... ok
   test 
sql_benchmark::tests::parser_rejects_inline_sql_when_load_file_is_provided ... 
ok
   test 
sql_benchmark::tests::parser_rejects_inline_sql_when_query_file_is_provided ... 
ok
   test sql_benchmark::tests::parser_rejects_missing_query_file ... ok
   test 
sql_benchmark::tests::parser_rejects_missing_replacement_in_result_file_path 
... ok
   test sql_benchmark::tests::parser_rejects_multiple_result_queries ... ok
   test sql_benchmark::tests::parser_rejects_missing_include_file ... ok
   test sql_benchmark::tests::parser_rejects_missing_template_file ... ok
   test 
sql_benchmark::tests::parser_rejects_result_query_with_wrong_column_count ... ok
   test 
sql_benchmark::tests::parser_splits_inline_run_block_on_semicolon_newline ... ok
   test sql_benchmark::tests::parser_rejects_unknown_command ... ok
   test 
sql_benchmark::tests::parser_rejects_template_with_invalid_parameter_assignment 
... ok
   test sql_benchmark::tests::parser_rejects_result_query_without_separator ... 
ok
   test 
sql_benchmark::tests::path_ends_with_ignore_ascii_case_matches_component_suffixes
 ... ok
   test 
sql_benchmark::tests::parser_splits_query_file_with_windows_line_endings ... ok
   test sql_benchmark::tests::parser_uses_metadata_values_as_replacements ... ok
   test sql_benchmark::tests::parser_trims_template_parameter_keys_and_values 
... ok
   test 
sql_benchmark::tests::parser_rejects_metadata_and_result_directives_without_values
 ... ok
   test 
sql_benchmark::tests::process_replacements_applies_true_false_false_branch ... 
ok
   test 
sql_benchmark::tests::process_replacements_applies_true_false_true_branch ... ok
   test 
sql_benchmark::tests::process_replacements_leaves_unsupported_placeholder_syntax_unchanged
 ... ok
   test sql_benchmark::tests::process_replacements_prefers_map_over_env ... ok
   test 
sql_benchmark::tests::process_replacements_prefers_map_over_env_for_true_false_branch
 ... ok
   test 
sql_benchmark::tests::process_replacements_replaces_map_values_case_insensitively
 ... ok
   test 
sql_benchmark::tests::process_replacements_reports_missing_true_false_variable_without_default
 ... ok
   test 
sql_benchmark::tests::process_replacements_reports_missing_variable_without_default
 ... ok
   test 
sql_benchmark::tests::process_replacements_resolves_variables_after_true_false_replacement
 ... ok
   test 
sql_benchmark::tests::process_replacements_uses_default_for_missing_variable 
... ok
   test 
sql_benchmark::tests::process_replacements_uses_env_when_map_value_is_missing 
... ok
   test 
sql_benchmark::tests::process_replacements_uses_map_for_true_false_branch ... ok
   test 
sql_benchmark::tests::process_replacements_uses_true_false_default_for_missing_false_value
 ... ok
   test 
sql_benchmark::tests::process_replacements_uses_true_false_default_for_missing_true_value
 ... ok
   test 
sql_benchmark::tests::resolves_sql_benchmarks_paths_from_manifest_directory ... 
ok
   test 
sql_benchmark::tests::assert_succeeds_with_zero_actual_and_expected_rows ... ok
   test sql_benchmark::tests::assert_accepts_empty_marker_for_null_actual ... ok
   test sql_benchmark::tests::assert_accepts_null_expected_for_empty_actual ... 
ok
   test sql_benchmark::tests::assert_accepts_empty_marker_for_empty_actual ... 
ok
   test 
sql_benchmark::tests::parser_applies_data_dir_replacement_in_load_query_file 
... ok
   test sql_benchmark::tests::persist_without_result_query_returns_ok ... ok
   test sql_benchmark::tests::assert_reports_column_count_mismatch ... ok
   test sql_benchmark::tests::assert_executes_assert_queries_successfully ... ok
   test sql_benchmark::tests::persist_writes_header_for_zero_row_select_results 
... ok
   test sql_benchmark::tests::assert_reports_row_count_mismatch ... ok
   test sql_benchmark::tests::persist_rejects_result_query_without_file_path 
... ok
   test sql_benchmark::tests::assert_reports_value_mismatch ... ok
   test 
sql_benchmark::tests::run_does_not_save_results_for_non_select_statement ... ok
   test sql_benchmark::tests::persist_rejects_run_without_saved_result_batches 
... ok
   test 
sql_benchmark::tests::run_propagates_query_failures_when_buffering_results ... 
ok
   test 
sql_benchmark::tests::run_propagates_query_failures_when_streaming_results ... 
ok
   test sql_benchmark::tests::run_saves_uppercase_select_results ... ok
   test sql_benchmark::tests::persist_writes_header_and_pipe_delimited_rows ... 
ok
   test sql_benchmark::tests::verify_errors_when_benchmark_has_not_run ... ok
   test sql_benchmark::tests::run_saves_with_query_results ... ok
   test 
sql_benchmark::tests::run_inline_multi_statement_only_keeps_last_select_or_with_result
 ... ok
   test sql_benchmark::tests::run_only_keeps_last_select_or_with_result ... ok
   test 
sql_benchmark_runner::tests::criterion_group_names_include_safe_namespaces ... 
ok
   test sql_benchmark::tests::verify_propagates_result_query_failures ... ok
   test 
sql_benchmark_runner::tests::criterion_group_names_reject_unsafe_namespaces ... 
ok
   test 
sql_benchmark_runner::tests::criterion_group_names_reject_components_criterion_would_truncate
 ... ok
   test 
sql_benchmark_runner::tests::criterion_group_names_reject_windows_case_collisions
 ... ok
   test 
sql_benchmark::tests::verify_executes_result_query_instead_of_last_results ... 
ok
   test 
sql_benchmark::tests::run_accepts_matching_expect_plan_for_buffered_and_streaming_modes
 ... ok
   test 
sql_benchmark_runner::tests::criterion_replacements_use_explicit_data_directory 
... ok
   test 
sql_benchmark_runner::tests::criterion_replacements_use_benchmarks_data_directory
 ... ok
   test sql_benchmark_runner::tests::normalizes_query_like_existing_sql_harness 
... ok
   test sql_benchmark::tests::verify_without_result_query_returns_ok ... ok
   test sql_benchmark::tests::cleanup_executes_cleanup_queries ... ok
   test 
sql_benchmark::tests::streaming_run_reports_last_select_row_count_after_ddl ... 
ok
   test sql_benchmark::tests::verify_rejects_missing_result_file ... ok
   test sql_benchmark::tests::run_returns_row_count_when_saving_results ... ok
   test sql_benchmark::tests::run_returns_row_count_when_not_saving_results ... 
ok
   test sql_benchmark::tests::verify_reports_result_mismatch_context ... ok
   test sql_benchmark_suite::tests::propagates_directory_entry_errors ... ok
   test 
sql_benchmark::tests::run_rejects_missing_expect_plan_for_buffered_and_streaming_modes
 ... ok
   test sql_benchmark_runner::tests::caller_replacements_reach_parser ... ok
   test sql_benchmark::tests::verify_rejects_malformed_result_file ... ok
   test sql_benchmark_suite::tests::validates_value_sets ... ok
   test 
sql_benchmark_runner::tests::query_filename_accepts_alphanumeric_pattern ... ok
   test 
sql_benchmark::tests::initialize_executes_load_before_init_and_is_idempotent 
... ok
   test sql_benchmark_runner::tests::criterion_names_match_existing_sql_harness 
... ok
   test 
statistics::tests::parses_statements_without_losing_external_table_details ... 
ok
   test statistics::tests::parses_statements_with_session_sql_dialect ... ok
   test sql_benchmark_suite::tests::rejects_mismatched_suite_filename ... ok
   test sql_benchmark::tests::verify_uses_last_results_for_result_file_entries 
... ok
   test sql_benchmark_suite::tests::loads_complete_suite ... ok
   test 
tpch::run::scale_factor_tests::defaults_to_sf1_when_path_has_no_scale_factor 
... ok
   test tpch::run::scale_factor_tests::uses_explicit_scale_factor_when_provided 
... ok
   test 
tpch::run::scale_factor_tests::infers_scale_factor_from_standard_tpch_path ... 
ok
   test sql_benchmark_suite::tests::rejects_unknown_field ... ok
   test tpch::run::scale_factor_tests::rejects_invalid_scale_factors ... ok
   test util::options::tests::test_parse_capacity_limit_all ... ok
   test util::run::tests::a_failed_query_still_reports_its_peak ... ok
   test util::run::tests::a_later_pool_replaces_an_earlier_one ... ok
   test util::options::tests::test_runtime_env_builder_reads_env_var ... ok
   test util::run::tests::each_case_reports_its_own_peak ... ok
   test util::run::tests::the_peak_is_omitted_without_a_recording_pool ... ok
   test 
statistics::tests::applies_session_changing_statements_before_reporting_queries 
... ok
   test tpch::tests::q11_uses_scale_factor_substitution ... ok
   test 
sql_benchmark::tests::verify_uses_last_results_for_zero_row_result_file_entries 
... ok
   test sql_benchmark_suite::tests::formats_query_filenames ... ok
   test tpch::tests::interval_queries_use_interval_arithmetic ... ok
   test statistics::tests::persists_failed_reports ... ok
   test 
sql_benchmark_runner::tests::query_filename_filters_paths_before_parsing ... ok
   test 
sql_benchmark_suite::tests::discovers_sorted_suites_and_counts_benchmarks ... ok
   test statistics::tests::rejects_duplicate_table_names ... ok
   test 
sql_benchmark_runner::tests::query_filename_keeps_matches_in_multiple_subgroups 
... ok
   test sql_benchmark_suite::tests::rejects_duplicate_and_colliding_options ... 
ok
   test 
sql_benchmark_runner::tests::criterion_harness_reads_namespace_from_env_in_subprocess
 ... ok
   test sql_benchmark_suite::tests::rejects_invalid_metadata ... ok
   test dict::tests::encodings_produce_identical_grouped_counts ... ok
   test 
sql_benchmark_suite::tests::checked_in_suites_cover_benchmark_directories ... ok
   
   test result: ok. 148 passed; 0 failed; 0 ignored; 0 measured; 0 filtered 
out; finished in 0.17s (148 passed)\n- 
   running 148 tests
   test dict::tests::query_sql_keeps_user_visible_string_type ... ok
   test dict::tests::rejects_zero_input_batch_size ... ok
   test dict::tests::rejects_invalid_distinct_count_and_dictionary_reuse ... ok
   test dict::tests::per_batch_dictionaries_keep_global_row_pattern ... ok
   test 
sql_benchmark::tests::parse_group_from_path_handles_relative_and_absolute_paths 
... ok
   test 
sql_benchmark::tests::parse_group_from_path_matches_benchmark_directory_case_insensitively
 ... ok
   test 
sql_benchmark::tests::parse_group_from_path_pins_fallback_for_paths_outside_benchmark_directory
 ... ok
   test 
sql_benchmark::tests::parse_group_from_path_returns_group_under_benchmark_directory
 ... ok
   test dict::tests::dictionary_batches_share_values_and_preserve_padding ... ok
   test sql_benchmark::tests::parser_accepts_assert_with_expected_rows ... ok
   test sql_benchmark::tests::parser_accepts_case_insensitive_query_directives 
... ok
   test sql_benchmark::tests::initialize_rejects_benchmark_without_run_query 
... ok
   test sql_benchmark::tests::parser_accepts_indented_comments_and_blank_lines 
... ok
   test sql_benchmark::tests::parser_accepts_include_file ... ok
   test sql_benchmark::tests::parser_accepts_malformed_result_file ... ok
   test sql_benchmark::tests::parser_accepts_multiple_cleanup_directives ... ok
   test sql_benchmark::tests::assert_propagates_query_failures ... ok
   test sql_benchmark::tests::parser_accepts_missing_result_file ... ok
   test sql_benchmark::tests::cleanup_propagates_query_failures ... ok
   test sql_benchmark::tests::initialize_propagates_init_query_failures ... ok
   test sql_benchmark::tests::initialize_propagates_load_query_failures ... ok
   test 
sql_benchmark::tests::parser_accepts_metadata_expect_echo_and_sql_sections ... 
ok
   test sql_benchmark::tests::parser_accepts_multiple_load_directives ... ok
   test sql_benchmark::tests::parser_accepts_multiple_init_directives ... ok
   test sql_benchmark::tests::parser_accepts_result_query_with_expected_rows 
... ok
   test sql_benchmark::tests::parser_accepts_query_file_and_splits_statements 
... ok
   test sql_benchmark::tests::parser_preserves_expected_result_cell_whitespace 
... ok
   test 
sql_benchmark::tests::parser_ignores_query_file_with_only_comments_and_blank_lines
 ... ok
   test sql_benchmark::tests::parser_accepts_template_file_with_parameters ... 
ok
   test sql_benchmark::tests::parser_accepts_replacement_in_result_file_path 
... ok
   test 
sql_benchmark::tests::parser_records_result_file_without_parsing_contents ... ok
   test sql_benchmark::tests::parser_accepts_replacements_in_query_file_path 
... ok
   test sql_benchmark::tests::parser_rejects_assert_without_result_separator 
... ok
   test sql_benchmark::tests::parser_rejects_assert_without_column_count ... ok
   test sql_benchmark::tests::parser_rejects_duplicate_run_directives ... ok
   test 
sql_benchmark::tests::parser_rejects_inline_sql_when_cleanup_file_is_provided 
... ok
   test 
sql_benchmark::tests::parser_rejects_inline_sql_when_init_file_is_provided ... 
ok
   test 
sql_benchmark::tests::parser_rejects_inline_sql_when_load_file_is_provided ... 
ok
   test 
sql_benchmark::tests::parser_rejects_inline_sql_when_query_file_is_provided ... 
ok
   test 
sql_benchmark::tests::parser_rejects_include_and_template_with_too_many_arguments
 ... ok
   test sql_benchmark::tests::parser_rejects_missing_query_file ... ok
   test 
sql_benchmark::tests::parser_rejects_missing_replacement_in_result_file_path 
... ok
   test sql_benchmark::tests::parser_rejects_missing_template_file ... ok
   test sql_benchmark::tests::parser_rejects_missing_include_file ... ok
   test sql_benchmark::tests::parser_rejects_multiple_result_queries ... ok
   test 
sql_benchmark::tests::parser_rejects_result_query_with_wrong_column_count ... ok
   test sql_benchmark::tests::parser_rejects_result_query_without_separator ... 
ok
   test 
sql_benchmark::tests::parser_splits_inline_run_block_on_semicolon_newline ... ok
   test sql_benchmark::tests::parser_rejects_unknown_command ... ok
   test 
sql_benchmark::tests::parser_rejects_template_with_invalid_parameter_assignment 
... ok
   test 
sql_benchmark::tests::path_ends_with_ignore_ascii_case_matches_component_suffixes
 ... ok
   test sql_benchmark::tests::parser_uses_metadata_values_as_replacements ... ok
   test 
sql_benchmark::tests::parser_splits_query_file_with_windows_line_endings ... ok
   test sql_benchmark::tests::parser_trims_template_parameter_keys_and_values 
... ok
   test 
sql_benchmark::tests::parser_rejects_metadata_and_result_directives_without_values
 ... ok
   test 
sql_benchmark::tests::process_replacements_applies_true_false_false_branch ... 
ok
   test 
sql_benchmark::tests::process_replacements_applies_true_false_true_branch ... ok
   test 
sql_benchmark::tests::process_replacements_leaves_unsupported_placeholder_syntax_unchanged
 ... ok
   test sql_benchmark::tests::process_replacements_prefers_map_over_env ... ok
   test 
sql_benchmark::tests::process_replacements_prefers_map_over_env_for_true_false_branch
 ... ok
   test 
sql_benchmark::tests::process_replacements_replaces_map_values_case_insensitively
 ... ok
   test 
sql_benchmark::tests::process_replacements_reports_missing_true_false_variable_without_default
 ... ok
   test 
sql_benchmark::tests::process_replacements_reports_missing_variable_without_default
 ... ok
   test 
sql_benchmark::tests::process_replacements_resolves_variables_after_true_false_replacement
 ... ok
   test 
sql_benchmark::tests::process_replacements_uses_default_for_missing_variable 
... ok
   test 
sql_benchmark::tests::process_replacements_uses_env_when_map_value_is_missing 
... ok
   test 
sql_benchmark::tests::process_replacements_uses_map_for_true_false_branch ... ok
   test 
sql_benchmark::tests::process_replacements_uses_true_false_default_for_missing_false_value
 ... ok
   test 
sql_benchmark::tests::process_replacements_uses_true_false_default_for_missing_true_value
 ... ok
   test 
sql_benchmark::tests::resolves_sql_benchmarks_paths_from_manifest_directory ... 
ok
   test 
sql_benchmark::tests::assert_succeeds_with_zero_actual_and_expected_rows ... ok
   test sql_benchmark::tests::assert_accepts_empty_marker_for_null_actual ... ok
   test sql_benchmark::tests::persist_writes_header_for_zero_row_select_results 
... ok
   test sql_benchmark::tests::assert_accepts_empty_marker_for_empty_actual ... 
ok
   test sql_benchmark::tests::assert_accepts_null_expected_for_empty_actual ... 
ok
   test 
sql_benchmark::tests::parser_applies_data_dir_replacement_in_load_query_file 
... ok
   test sql_benchmark::tests::persist_rejects_result_query_without_file_path 
... ok
   test sql_benchmark::tests::persist_without_result_query_returns_ok ... ok
   test sql_benchmark::tests::assert_reports_value_mismatch ... ok
   test sql_benchmark::tests::assert_reports_column_count_mismatch ... ok
   test sql_benchmark::tests::assert_executes_assert_queries_successfully ... ok
   test sql_benchmark::tests::assert_reports_row_count_mismatch ... ok
   test 
sql_benchmark::tests::run_does_not_save_results_for_non_select_statement ... ok
   test sql_benchmark::tests::persist_rejects_run_without_saved_result_batches 
... ok
   test 
sql_benchmark::tests::run_propagates_query_failures_when_buffering_results ... 
ok
   test 
sql_benchmark::tests::run_propagates_query_failures_when_streaming_results ... 
ok
   test sql_benchmark::tests::verify_errors_when_benchmark_has_not_run ... ok
   test sql_benchmark::tests::persist_writes_header_and_pipe_delimited_rows ... 
ok
   test sql_benchmark::tests::run_saves_uppercase_select_results ... ok
   test 
sql_benchmark::tests::run_inline_multi_statement_only_keeps_last_select_or_with_result
 ... ok
   test sql_benchmark::tests::run_saves_with_query_results ... ok
   test 
sql_benchmark::tests::run_accepts_matching_expect_plan_for_buffered_and_streaming_modes
 ... ok
   test 
sql_benchmark_runner::tests::criterion_group_names_include_safe_namespaces ... 
ok
   test sql_benchmark::tests::verify_propagates_result_query_failures ... ok
   test 
sql_benchmark::tests::verify_executes_result_query_instead_of_last_results ... 
ok
   test 
sql_benchmark_runner::tests::criterion_group_names_reject_components_criterion_would_truncate
 ... ok
   test 
sql_benchmark_runner::tests::criterion_group_names_reject_windows_case_collisions
 ... ok
   test 
sql_benchmark_runner::tests::criterion_group_names_reject_unsafe_namespaces ... 
ok
   test 
sql_benchmark::tests::run_rejects_missing_expect_plan_for_buffered_and_streaming_modes
 ... ok
   test sql_benchmark::tests::run_only_keeps_last_select_or_with_result ... ok
   test sql_benchmark_runner::tests::normalizes_query_like_existing_sql_harness 
... ok
   test 
sql_benchmark_runner::tests::criterion_replacements_use_explicit_data_directory 
... ok
   test 
sql_benchmark_runner::tests::criterion_replacements_use_benchmarks_data_directory
 ... ok
   test sql_benchmark::tests::verify_rejects_missing_result_file ... ok
   test sql_benchmark::tests::verify_without_result_query_returns_ok ... ok
   test 
sql_benchmark::tests::streaming_run_reports_last_select_row_count_after_ddl ... 
ok
   test sql_benchmark::tests::verify_rejects_malformed_result_file ... ok
   test sql_benchmark::tests::verify_reports_result_mismatch_context ... ok
   test sql_benchmark::tests::run_returns_row_count_when_not_saving_results ... 
ok
   test sql_benchmark::tests::run_returns_row_count_when_saving_results ... ok
   test sql_benchmark_suite::tests::propagates_directory_entry_errors ... ok
   test sql_benchmark::tests::cleanup_executes_cleanup_queries ... ok
   test 
sql_benchmark_runner::tests::query_filename_accepts_alphanumeric_pattern ... ok
   test sql_benchmark_suite::tests::validates_value_sets ... ok
   test sql_benchmark_runner::tests::caller_replacements_reach_parser ... ok
   test sql_benchmark_runner::tests::criterion_names_match_existing_sql_harness 
... ok
   test statistics::tests::parses_statements_with_session_sql_dialect ... ok
   test 
statistics::tests::parses_statements_without_losing_external_table_details ... 
ok
   test sql_benchmark_suite::tests::rejects_unknown_field ... ok
   test 
tpch::run::scale_factor_tests::defaults_to_sf1_when_path_has_no_scale_factor 
... ok
   test 
sql_benchmark::tests::verify_uses_last_results_for_zero_row_result_file_entries 
... ok
   test 
tpch::run::scale_factor_tests::infers_scale_factor_from_standard_tpch_path ... 
ok
   test sql_benchmark_suite::tests::loads_complete_suite ... ok
   test tpch::run::scale_factor_tests::rejects_invalid_scale_factors ... ok
   test tpch::run::scale_factor_tests::uses_explicit_scale_factor_when_provided 
... ok
   test sql_benchmark_suite::tests::rejects_mismatched_suite_filename ... ok
   test util::options::tests::test_parse_capacity_limit_all ... ok
   test 
sql_benchmark::tests::initialize_executes_load_before_init_and_is_idempotent 
... ok
   test util::options::tests::test_runtime_env_builder_reads_env_var ... ok
   test 
statistics::tests::applies_session_changing_statements_before_reporting_queries 
... ok
   test util::run::tests::a_failed_query_still_reports_its_peak ... ok
   test sql_benchmark::tests::verify_uses_last_results_for_result_file_entries 
... ok
   test sql_benchmark_suite::tests::formats_query_filenames ... ok
   test util::run::tests::the_peak_is_omitted_without_a_recording_pool ... ok
   test tpch::tests::interval_queries_use_interval_arithmetic ... ok
   test tpch::tests::q11_uses_scale_factor_substitution ... ok
   test util::run::tests::each_case_reports_its_own_peak ... ok
   test util::run::tests::a_later_pool_replaces_an_earlier_one ... ok
   test statistics::tests::persists_failed_reports ... ok
   test 
sql_benchmark_runner::tests::query_filename_filters_paths_before_parsing ... ok
   test 
sql_benchmark_runner::tests::query_filename_keeps_matches_in_multiple_subgroups 
... ok
   test 
sql_benchmark_suite::tests::discovers_sorted_suites_and_counts_benchmarks ... ok
   test statistics::tests::rejects_duplicate_table_names ... ok
   test sql_benchmark_suite::tests::rejects_duplicate_and_colliding_options ... 
ok
   test 
sql_benchmark_runner::tests::criterion_harness_reads_namespace_from_env_in_subprocess
 ... ok
   test sql_benchmark_suite::tests::rejects_invalid_metadata ... ok
   test 
sql_benchmark_suite::tests::checked_in_suites_cover_benchmark_directories ... ok
   test dict::tests::encodings_produce_identical_grouped_counts ... ok
   
   test result: ok. 148 passed; 0 failed; 0 ignored; 0 measured; 0 filtered 
out; finished in 0.14s (148 passed)\n- \n- \n- \n- Runtime-dictionary CLI smoke 
test with fixed NDV, input batching, value width, and output normalization\n\nA 
full transitive clippy run currently stops on the pre-existing  lint in  after 
the Rust 1.98 toolchain update; the benchmark crate itself is clean with both 
default and all features.\n\n## Are there any user-facing changes?\n\nNo 
DataFusion runtime or public API behavior changes. This only adds benchmark CLI 
controls.


-- 
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]

Reply via email to