This is an automated email from the ASF dual-hosted git repository. blaginin pushed a commit to branch bash-push in repository https://gitbox.apache.org/repos/asf/datafusion.git
commit 6f330d43c2ac2eb67d9c73ff7d06fa8144ef96f8 Merge: 432a85312c d12797311b Author: blaginin <[email protected]> AuthorDate: Thu Oct 23 21:31:39 2025 +0100 Merge branch 'main' into sandbox-main # Conflicts: # .github/workflows/audit.yml # .github/workflows/rust.yml # Cargo.lock # Cargo.toml # datafusion/common/src/dfschema.rs # datafusion/common/src/scalar/mod.rs # datafusion/core/Cargo.toml # datafusion/core/src/dataframe/parquet.rs # datafusion/core/src/physical_planner.rs # datafusion/core/tests/dataframe/mod.rs # datafusion/core/tests/physical_optimizer/enforce_sorting.rs # datafusion/datasource/src/file_scan_config.rs # datafusion/expr-common/src/type_coercion/aggregates.rs # datafusion/expr-common/src/type_coercion/binary.rs # datafusion/expr/src/lib.rs # datafusion/expr/src/registry.rs # datafusion/expr/src/test/function_stub.rs # datafusion/expr/src/udwf.rs # datafusion/functions-aggregate/src/average.rs # datafusion/functions-nested/src/array_has.rs # datafusion/optimizer/src/simplify_expressions/expr_simplifier.rs # datafusion/physical-expr/src/expressions/binary.rs # datafusion/physical-expr/src/expressions/in_list.rs # datafusion/proto/Cargo.toml # datafusion/proto/src/bytes/mod.rs # datafusion/proto/src/logical_plan/file_formats.rs # datafusion/proto/src/physical_plan/from_proto.rs # datafusion/proto/src/physical_plan/mod.rs # datafusion/spark/src/function/datetime/make_dt_interval.rs # datafusion/spark/src/function/datetime/make_interval.rs # datafusion/sql/src/parser.rs # datafusion/sql/src/planner.rs # datafusion/sql/src/query.rs # datafusion/sql/src/unparser/dialect.rs # datafusion/sqllogictest/test_files/array.slt # datafusion/sqllogictest/test_files/pipe_operator.slt # datafusion/sqllogictest/test_files/window.slt # datafusion/substrait/src/logical_plan/producer/expr/literal.rs # datafusion/substrait/src/logical_plan/producer/types.rs # datafusion/wasmtest/Cargo.toml # docs/source/_static/theme_overrides.css # docs/source/contributor-guide/governance.md # docs/source/library-user-guide/upgrading.md # docs/source/user-guide/introduction.md # docs/source/user-guide/sql/select.md .asf.yaml | 1 + .../setup-macos-aarch64-builder/action.yaml | 2 +- .github/dependabot.yml | 5 + .github/workflows/audit.yml | 2 +- .github/workflows/dependencies.yml | 11 + .github/workflows/dev.yml | 2 +- .github/workflows/extended.yml | 8 + .github/workflows/labeler/labeler-config.yml | 2 +- .github/workflows/rust.yml | 23 +- .github/workflows/stale.yml | 2 +- Cargo.lock | 334 +- Cargo.toml | 85 +- benchmarks/src/imdb/run.rs | 2 +- benchmarks/src/nlj.rs | 39 + benchmarks/src/tpch/run.rs | 2 +- ci/scripts/rust_clippy.sh | 2 +- datafusion-cli/Cargo.toml | 10 +- datafusion-cli/examples/cli-session-context.rs | 5 +- datafusion-cli/src/command.rs | 102 +- datafusion-cli/src/helper.rs | 19 +- datafusion-cli/src/highlighter.rs | 10 +- datafusion-cli/src/lib.rs | 2 +- datafusion-cli/src/main.rs | 17 + datafusion-cli/src/object_storage.rs | 7 +- datafusion-cli/src/object_storage/instrumented.rs | 1261 ++++++++ datafusion-cli/src/print_options.rs | 93 +- datafusion-cli/tests/cli_integration.rs | 89 +- .../snapshots/[email protected] | 2 +- .../cli_top_memory_consumers@top3_default.snap | 2 +- .../tests/snapshots/object_store_profiling.snap | 83 + .../examples/advanced_parquet_index.rs | 13 +- datafusion-examples/examples/advanced_udwf.rs | 19 +- datafusion-examples/examples/custom_file_casts.rs | 2 +- datafusion-examples/examples/function_factory.rs | 6 +- datafusion-examples/examples/json_shredding.rs | 16 +- .../examples/memory_pool_execution_plan.rs | 11 +- datafusion-examples/examples/remote_catalog.rs | 4 +- datafusion-testing | 2 +- datafusion/catalog-listing/Cargo.toml | 7 +- datafusion/catalog-listing/src/config.rs | 360 +++ datafusion/catalog-listing/src/helpers.rs | 23 +- datafusion/catalog-listing/src/mod.rs | 9 +- datafusion/catalog-listing/src/options.rs | 411 +++ datafusion/catalog-listing/src/table.rs | 788 +++++ datafusion/catalog/src/lib.rs | 2 +- datafusion/catalog/src/listing_schema.rs | 18 +- datafusion/catalog/src/stream.rs | 17 +- datafusion/common-runtime/src/lib.rs | 6 +- datafusion/common/src/config.rs | 140 +- datafusion/common/src/dfschema.rs | 28 +- datafusion/common/src/format.rs | 45 + datafusion/common/src/join_type.rs | 2 + datafusion/common/src/lib.rs | 8 +- datafusion/common/src/scalar/mod.rs | 206 +- datafusion/common/src/stats.rs | 49 +- datafusion/common/src/utils/memory.rs | 9 +- datafusion/common/src/utils/mod.rs | 18 +- datafusion/core/Cargo.toml | 13 +- datafusion/core/benches/aggregate_query_sql.rs | 32 + datafusion/core/benches/data_utils/mod.rs | 11 +- datafusion/core/benches/sql_planner.rs | 7 +- datafusion/core/src/dataframe/mod.rs | 12 +- datafusion/core/src/dataframe/parquet.rs | 3 +- datafusion/core/src/datasource/dynamic_file.rs | 1 + .../core/src/datasource/file_format/arrow.rs | 508 +-- datafusion/core/src/datasource/file_format/csv.rs | 112 +- datafusion/core/src/datasource/listing/mod.rs | 3 +- datafusion/core/src/datasource/listing/table.rs | 1698 +--------- .../src/datasource/physical_plan/arrow.rs} | 9 +- .../core/src/datasource/physical_plan/csv.rs | 29 +- .../core/src/datasource/physical_plan/mod.rs | 6 +- .../core/src/datasource/physical_plan/parquet.rs | 10 +- datafusion/core/src/execution/context/mod.rs | 129 +- datafusion/core/src/execution/session_state.rs | 56 +- datafusion/core/src/lib.rs | 2 +- datafusion/core/src/physical_planner.rs | 423 ++- datafusion/core/tests/catalog/memory.rs | 2 +- datafusion/core/tests/core_integration.rs | 3 + .../empty_files/some_empty_with_header/a_empty.csv | 1 + .../data/empty_files/some_empty_with_header/b.csv | 3 + .../some_empty_with_header/c_nulls_column.csv | 2 + datafusion/core/tests/dataframe/mod.rs | 8 +- datafusion/core/tests/datasource/csv.rs | 122 + .../tests/datasource}/mod.rs | 9 +- datafusion/core/tests/execution/coop.rs | 4 +- datafusion/core/tests/expr_api/simplification.rs | 3 +- .../tests/fuzz_cases/aggregation_fuzzer/fuzzer.rs | 6 +- .../core/tests/fuzz_cases/equivalence/utils.rs | 10 +- datafusion/core/tests/fuzz_cases/join_fuzz.rs | 8 +- datafusion/core/tests/fuzz_cases/once_exec.rs | 6 +- .../memory_limit_validation/sort_mem_validation.rs | 2 +- datafusion/core/tests/memory_limit/mod.rs | 31 +- .../tests/memory_limit/repartition_mem_limit.rs | 116 + datafusion/core/tests/optimizer/mod.rs | 3 +- datafusion/core/tests/parquet/custom_reader.rs | 10 +- datafusion/core/tests/parquet/encryption.rs | 8 +- datafusion/core/tests/parquet/schema_adapter.rs | 181 +- .../{parquet_config.rs => parquet_integration.rs} | 0 .../tests/physical_optimizer/enforce_sorting.rs | 3346 ++++++-------------- .../enforce_sorting_monotonicity.rs | 1715 ++++++++++ .../physical_optimizer/filter_pushdown/mod.rs | 167 +- .../physical_optimizer/filter_pushdown/util.rs | 10 +- .../tests/physical_optimizer/join_selection.rs | 94 +- datafusion/core/tests/physical_optimizer/mod.rs | 1 + .../physical_optimizer/partition_statistics.rs | 144 +- .../replace_with_order_preserving_variants.rs | 1664 +++++----- .../core/tests/physical_optimizer/test_utils.rs | 52 +- datafusion/core/tests/sql/aggregates/basic.rs | 2 +- datafusion/core/tests/sql/explain_analyze.rs | 160 + datafusion/core/tests/sql/select.rs | 10 +- .../core/tests/user_defined/insert_operation.rs | 5 +- .../tests/user_defined/user_defined_aggregates.rs | 3 + .../user_defined/user_defined_scalar_functions.rs | 10 +- .../user_defined/user_defined_window_functions.rs | 17 +- .../Cargo.toml | 19 +- datafusion/datasource-arrow/LICENSE.txt | 212 ++ datafusion/datasource-arrow/NOTICE.txt | 5 + datafusion/datasource-arrow/README.md | 34 + .../src/file_format.rs} | 120 +- .../aggregate => datasource-arrow/src}/mod.rs | 12 +- .../src/source.rs} | 28 +- .../tests/data/example.arrow | Bin datafusion/datasource-avro/src/mod.rs | 2 +- datafusion/datasource-avro/src/source.rs | 14 +- datafusion/datasource-csv/src/file_format.rs | 138 +- datafusion/datasource-csv/src/source.rs | 19 +- datafusion/datasource-json/src/source.rs | 16 +- datafusion/datasource-parquet/src/opener.rs | 183 +- datafusion/datasource-parquet/src/reader.rs | 39 +- datafusion/datasource-parquet/src/source.rs | 36 +- .../tests/apply_schema_adapter_tests.rs | 206 -- datafusion/datasource/Cargo.toml | 4 +- datafusion/datasource/src/file_groups.rs | 4 +- datafusion/datasource/src/file_meta.rs | 53 - datafusion/datasource/src/file_scan_config.rs | 147 +- datafusion/datasource/src/file_stream.rs | 21 +- datafusion/datasource/src/memory.rs | 24 +- datafusion/datasource/src/mod.rs | 18 +- datafusion/datasource/src/sink.rs | 5 + datafusion/datasource/src/table_schema.rs | 146 + datafusion/datasource/src/write/demux.rs | 47 +- datafusion/datasource/src/write/orchestration.rs | 12 +- datafusion/doc/src/lib.rs | 10 +- datafusion/execution/src/lib.rs | 2 +- datafusion/execution/src/memory_pool/pool.rs | 22 +- datafusion/execution/src/object_store.rs | 26 +- datafusion/execution/src/parquet_encryption.rs | 6 +- datafusion/execution/src/runtime_env.rs | 8 +- datafusion/execution/src/task.rs | 6 +- datafusion/expr-common/src/lib.rs | 2 +- datafusion/expr-common/src/signature.rs | 1 - .../expr-common/src/type_coercion/aggregates.rs | 300 +- datafusion/expr-common/src/type_coercion/binary.rs | 180 +- .../src/type_coercion/binary/tests/arithmetic.rs | 134 +- .../src/type_coercion/binary/tests/comparison.rs | 88 + datafusion/expr/src/async_udf.rs | 134 +- datafusion/expr/src/conditional_expressions.rs | 1 + datafusion/expr/src/expr.rs | 60 + datafusion/expr/src/expr_fn.rs | 9 +- datafusion/expr/src/lib.rs | 4 +- datafusion/expr/src/logical_plan/builder.rs | 17 +- datafusion/expr/src/logical_plan/ddl.rs | 22 +- datafusion/expr/src/logical_plan/display.rs | 15 +- datafusion/expr/src/logical_plan/plan.rs | 17 +- datafusion/expr/src/operation.rs | 15 +- datafusion/expr/src/registry.rs | 14 +- datafusion/expr/src/simplify.rs | 10 +- datafusion/expr/src/test/function_stub.rs | 67 +- datafusion/expr/src/udaf.rs | 7 + datafusion/expr/src/udf.rs | 94 +- datafusion/expr/src/udwf.rs | 47 +- datafusion/expr/src/window_state.rs | 8 +- datafusion/ffi/Cargo.toml | 1 + datafusion/ffi/src/lib.rs | 2 +- datafusion/ffi/src/record_batch_stream.rs | 16 +- datafusion/ffi/src/tests/async_provider.rs | 15 +- datafusion/ffi/src/udaf/accumulator_args.rs | 10 +- datafusion/ffi/src/udaf/mod.rs | 5 +- datafusion/ffi/src/udwf/mod.rs | 13 +- .../ffi/src/udwf/partition_evaluator_args.rs | 3 +- datafusion/ffi/src/util.rs | 16 +- datafusion/functions-aggregate-common/src/lib.rs | 2 +- .../functions-aggregate-common/src/merge_arrays.rs | 26 +- datafusion/functions-aggregate-common/src/utils.rs | 16 +- datafusion/functions-aggregate/Cargo.toml | 4 + .../functions-aggregate/benches/min_max_bytes.rs | 92 + .../functions-aggregate/src/approx_distinct.rs | 11 +- .../src/approx_percentile_cont.rs | 65 +- datafusion/functions-aggregate/src/array_agg.rs | 11 +- datafusion/functions-aggregate/src/average.rs | 67 +- datafusion/functions-aggregate/src/lib.rs | 12 +- .../src/min_max/min_max_bytes.rs | 50 +- datafusion/functions-aggregate/src/nth_value.rs | 6 +- .../functions-aggregate/src/percentile_cont.rs | 814 +++++ datafusion/functions-aggregate/src/string_agg.rs | 165 +- datafusion/functions-aggregate/src/utils.rs | 72 + datafusion/functions-nested/src/array_has.rs | 135 +- datafusion/functions-nested/src/extract.rs | 8 +- datafusion/functions-nested/src/lib.rs | 2 +- datafusion/functions-nested/src/set_ops.rs | 63 +- datafusion/functions-nested/src/string.rs | 58 +- datafusion/functions-table/src/generate_series.rs | 4 +- datafusion/functions-table/src/lib.rs | 2 +- datafusion/functions-window-common/src/expr.rs | 2 +- datafusion/functions-window-common/src/lib.rs | 2 +- .../functions-window-common/src/partition.rs | 2 +- datafusion/functions-window/src/cume_dist.rs | 7 +- datafusion/functions-window/src/lead_lag.rs | 37 +- datafusion/functions-window/src/lib.rs | 2 +- datafusion/functions-window/src/nth_value.rs | 40 +- datafusion/functions-window/src/ntile.rs | 22 +- datafusion/functions-window/src/rank.rs | 11 +- datafusion/functions-window/src/row_number.rs | 10 +- datafusion/functions/src/core/coalesce.rs | 11 +- datafusion/functions/src/core/nvl.rs | 240 +- datafusion/functions/src/datetime/common.rs | 11 +- datafusion/functions/src/datetime/current_date.rs | 38 +- datafusion/functions/src/datetime/current_time.rs | 123 +- datafusion/functions/src/datetime/date_trunc.rs | 18 +- datafusion/functions/src/datetime/mod.rs | 8 +- datafusion/functions/src/datetime/now.rs | 28 +- datafusion/functions/src/datetime/to_local_time.rs | 13 +- datafusion/functions/src/datetime/to_timestamp.rs | 4 +- datafusion/functions/src/encoding/inner.rs | 27 +- datafusion/functions/src/lib.rs | 2 +- datafusion/functions/src/macros.rs | 26 + datafusion/functions/src/math/abs.rs | 12 +- datafusion/functions/src/math/round.rs | 2 +- datafusion/functions/src/planner.rs | 2 +- datafusion/functions/src/regex/regexplike.rs | 72 +- datafusion/functions/src/string/ascii.rs | 6 +- datafusion/macros/src/user_doc.rs | 2 +- datafusion/optimizer/src/analyzer/type_coercion.rs | 17 +- .../optimizer/src/common_subexpr_eliminate.rs | 6 +- .../src/decorrelate_predicate_subquery.rs | 49 +- datafusion/optimizer/src/lib.rs | 2 +- .../optimizer/src/optimize_projections/mod.rs | 84 +- .../optimizer/src/replace_distinct_aggregate.rs | 43 +- .../optimizer/src/scalar_subquery_to_join.rs | 254 +- .../src/simplify_expressions/expr_simplifier.rs | 275 +- .../src/simplify_expressions/simplify_exprs.rs | 148 + .../simplify_expressions/simplify_predicates.rs | 6 +- .../optimizer/tests/optimizer_integration.rs | 161 + datafusion/physical-expr-adapter/src/lib.rs | 2 +- datafusion/physical-expr-common/src/lib.rs | 2 +- .../physical-expr-common/src/physical_expr.rs | 268 +- datafusion/physical-expr/Cargo.toml | 2 +- datafusion/physical-expr/benches/case_when.rs | 532 +++- datafusion/physical-expr/src/equivalence/class.rs | 7 +- datafusion/physical-expr/src/equivalence/mod.rs | 32 +- .../physical-expr/src/equivalence/projection.rs | 998 ------ .../src/equivalence/properties/dependency.rs | 4 +- datafusion/physical-expr/src/expressions/binary.rs | 224 +- .../src/expressions/binary/kernels.rs | 208 +- datafusion/physical-expr/src/expressions/case.rs | 88 +- datafusion/physical-expr/src/expressions/cast.rs | 9 +- .../physical-expr/src/expressions/cast_column.rs | 409 +++ .../physical-expr/src/expressions/in_list.rs | 63 +- datafusion/physical-expr/src/expressions/mod.rs | 2 + datafusion/physical-expr/src/lib.rs | 9 +- datafusion/physical-expr/src/physical_expr.rs | 29 +- datafusion/physical-expr/src/projection.rs | 2154 +++++++++++++ datafusion/physical-expr/src/utils/mod.rs | 10 +- datafusion/physical-expr/src/window/aggregate.rs | 9 +- .../src/window/standard_window_function_expr.rs | 4 +- datafusion/physical-expr/src/window/window_expr.rs | 10 +- datafusion/physical-optimizer/Cargo.toml | 1 + .../physical-optimizer/src/filter_pushdown.rs | 46 +- .../physical-optimizer/src/join_selection.rs | 6 +- datafusion/physical-optimizer/src/lib.rs | 2 +- .../src/limit_pushdown_past_window.rs | 195 +- .../physical-optimizer/src/projection_pushdown.rs | 748 ++++- .../physical-plan/benches/aggregate_vectorized.rs | 359 ++- .../src/aggregates/group_values/mod.rs | 17 +- .../multi_group_by/{primitive.rs => boolean.rs} | 232 +- .../group_values/multi_group_by/bytes.rs | 24 +- .../group_values/multi_group_by/bytes_view.rs | 16 +- .../aggregates/group_values/multi_group_by/mod.rs | 33 +- .../group_values/multi_group_by/primitive.rs | 72 +- .../group_values/single_group_by/boolean.rs | 154 + .../group_values/single_group_by/bytes.rs | 6 +- .../aggregates/group_values/single_group_by/mod.rs | 1 + .../src/aggregates/topk/hash_table.rs | 6 +- .../physical-plan/src/aggregates/topk/heap.rs | 6 +- .../physical-plan/src/aggregates/topk_stream.rs | 4 +- datafusion/physical-plan/src/analyze.rs | 19 +- .../physical-plan/src/coalesce_partitions.rs | 132 +- datafusion/physical-plan/src/display.rs | 39 +- datafusion/physical-plan/src/joins/cross_join.rs | 2 +- .../physical-plan/src/joins/hash_join/exec.rs | 8 +- .../physical-plan/src/joins/hash_join/stream.rs | 1 + datafusion/physical-plan/src/joins/mod.rs | 2 + .../physical-plan/src/joins/nested_loop_join.rs | 39 +- .../src/joins/piecewise_merge_join/classic_join.rs | 1550 +++++++++ .../src/joins/piecewise_merge_join/exec.rs | 748 +++++ .../src/joins/piecewise_merge_join}/mod.rs | 11 +- .../src/joins/piecewise_merge_join/utils.rs | 61 + .../src/joins/sort_merge_join/stream.rs | 171 +- .../src/joins/sort_merge_join/tests.rs | 40 +- .../physical-plan/src/joins/symmetric_hash_join.rs | 9 + datafusion/physical-plan/src/joins/utils.rs | 135 +- datafusion/physical-plan/src/lib.rs | 2 +- datafusion/physical-plan/src/metrics/baseline.rs | 12 +- datafusion/physical-plan/src/metrics/builder.rs | 21 +- datafusion/physical-plan/src/metrics/mod.rs | 54 +- datafusion/physical-plan/src/projection.rs | 338 +- datafusion/physical-plan/src/recursive_query.rs | 6 +- datafusion/physical-plan/src/repartition/mod.rs | 605 +++- datafusion/physical-plan/src/sorts/sort.rs | 2 +- .../src/sorts/sort_preserving_merge.rs | 7 +- datafusion/physical-plan/src/union.rs | 44 +- datafusion/physical-plan/src/unnest.rs | 98 +- .../src/windows/bounded_window_agg_exec.rs | 36 +- datafusion/physical-plan/src/windows/mod.rs | 6 +- datafusion/proto-common/src/lib.rs | 2 +- datafusion/proto/Cargo.toml | 22 +- datafusion/proto/proto/datafusion.proto | 11 +- datafusion/proto/src/bytes/mod.rs | 22 +- datafusion/proto/src/bytes/registry.rs | 2 +- datafusion/proto/src/common.rs | 6 +- datafusion/proto/src/generated/pbjson.rs | 145 + datafusion/proto/src/generated/prost.rs | 36 +- datafusion/proto/src/lib.rs | 8 +- datafusion/proto/src/logical_plan/file_formats.rs | 114 +- datafusion/proto/src/logical_plan/from_proto.rs | 89 +- datafusion/proto/src/logical_plan/mod.rs | 161 +- datafusion/proto/src/logical_plan/to_proto.rs | 33 +- datafusion/proto/src/physical_plan/from_proto.rs | 62 +- datafusion/proto/src/physical_plan/mod.rs | 152 +- datafusion/proto/src/physical_plan/to_proto.rs | 54 +- datafusion/proto/tests/cases/mod.rs | 10 +- .../proto/tests/cases/roundtrip_logical_plan.rs | 251 +- .../proto/tests/cases/roundtrip_physical_plan.rs | 70 +- datafusion/proto/tests/cases/serialize.rs | 2 +- datafusion/pruning/src/file_pruner.rs | 10 +- datafusion/pruning/src/pruning_predicate.rs | 8 +- datafusion/spark/Cargo.toml | 3 +- datafusion/spark/src/function/aggregate/avg.rs | 362 +++ datafusion/spark/src/function/aggregate/mod.rs | 14 +- datafusion/spark/src/function/array/mod.rs | 9 +- datafusion/spark/src/function/array/shuffle.rs | 191 ++ .../spark/src/function/bitwise/bitwise_not.rs | 109 + datafusion/spark/src/function/bitwise/mod.rs | 8 + datafusion/spark/src/function/datetime/date_add.rs | 25 +- datafusion/spark/src/function/datetime/date_sub.rs | 25 +- .../src/function/datetime/make_dt_interval.rs | 20 +- .../spark/src/function/datetime/make_interval.rs | 50 +- datafusion/spark/src/function/math/factorial.rs | 6 +- datafusion/spark/src/function/math/hex.rs | 6 +- datafusion/spark/src/function/math/modulus.rs | 18 +- datafusion/spark/src/function/math/width_bucket.rs | 12 +- datafusion/spark/src/function/string/ascii.rs | 117 +- datafusion/spark/src/function/string/concat.rs | 269 ++ datafusion/spark/src/function/string/elt.rs | 251 ++ .../spark/src/function/string/format_string.rs | 2350 ++++++++++++++ datafusion/spark/src/function/string/mod.rs | 33 +- datafusion/spark/src/function/url/mod.rs | 15 +- datafusion/spark/src/function/url/parse_url.rs | 228 +- datafusion/spark/src/function/url/try_parse_url.rs | 83 + datafusion/spark/src/lib.rs | 13 +- datafusion/sql/src/expr/function.rs | 5 + datafusion/sql/src/expr/identifier.rs | 8 +- datafusion/sql/src/expr/mod.rs | 8 +- datafusion/sql/src/lib.rs | 2 +- datafusion/sql/src/parser.rs | 8 +- datafusion/sql/src/planner.rs | 18 +- datafusion/sql/src/query.rs | 118 +- datafusion/sql/src/relation/join.rs | 6 +- datafusion/sql/src/statement.rs | 37 +- datafusion/sql/src/unparser/dialect.rs | 23 + datafusion/sql/src/unparser/expr.rs | 12 +- datafusion/sql/src/unparser/plan.rs | 21 +- datafusion/sql/src/unparser/rewrite.rs | 66 + datafusion/sql/src/utils.rs | 8 +- datafusion/sql/tests/cases/plan_to_sql.rs | 86 + datafusion/sqllogictest/bin/sqllogictests.rs | 10 +- datafusion/sqllogictest/data/composite_order.csv | 8 + .../sqllogictest/regenerate/sqllogictests.rs | 2 +- .../src/engines/datafusion_engine/normalize.rs | 12 +- datafusion/sqllogictest/src/lib.rs | 2 +- datafusion/sqllogictest/test_files/aggregate.slt | 342 +- datafusion/sqllogictest/test_files/array.slt | 22 +- datafusion/sqllogictest/test_files/arrow_files.slt | 8 +- datafusion/sqllogictest/test_files/case.slt | 103 + datafusion/sqllogictest/test_files/copy.slt | 15 + datafusion/sqllogictest/test_files/cte.slt | 18 +- .../test_files/current_date_timezone.slt | 82 + .../test_files/current_time_timezone.slt | 100 + datafusion/sqllogictest/test_files/ddl.slt | 12 +- .../test_files/dynamic_filter_pushdown_config.slt | 339 ++ .../sqllogictest/test_files/explain_tree.slt | 48 + .../sqllogictest/test_files/information_schema.slt | 10 +- datafusion/sqllogictest/test_files/join.slt.part | 5 +- datafusion/sqllogictest/test_files/join_lists.slt | 63 + datafusion/sqllogictest/test_files/joins.slt | 79 +- datafusion/sqllogictest/test_files/nullif.slt | 36 + datafusion/sqllogictest/test_files/nvl.slt | 35 + datafusion/sqllogictest/test_files/order.slt | 37 + .../sqllogictest/test_files/pipe_operator.slt | 106 + datafusion/sqllogictest/test_files/pwmj.slt | 354 +++ .../sqllogictest/test_files/regexp/regexp_like.slt | 60 + .../sqllogictest/test_files/repartition_scan.slt | 4 +- .../test_files/simplify_predicates.slt | 12 + .../test_files/spark/aggregate/avg.slt | 56 +- .../test_files/spark/array/shuffle.slt | 113 + .../test_files/spark/bitwise/bitwise_not.slt | 201 ++ .../test_files/spark/datetime/date_add.slt | 16 + .../test_files/spark/string/concat.slt | 45 +- .../sqllogictest/test_files/spark/string/elt.slt | 37 +- .../test_files/spark/string/format_string.slt | 2296 +++++++++++++- .../test_files/spark/string/printf.slt | 7 +- .../test_files/spark/url/parse_url.slt | 104 +- .../test_files/spark/url/try_parse_url.slt | 127 + .../sqllogictest/test_files/string/string_view.slt | 4 +- datafusion/sqllogictest/test_files/subquery.slt | 2 +- datafusion/sqllogictest/test_files/timestamps.slt | 46 +- .../test_files/tpch/plans/q11.slt.part | 97 +- .../test_files/tpch/plans/q16.slt.part | 2 +- .../test_files/tpch/plans/q19.slt.part | 4 +- .../test_files/tpch/plans/q22.slt.part | 41 +- datafusion/sqllogictest/test_files/unnest.slt | 272 ++ datafusion/sqllogictest/test_files/window.slt | 27 +- .../sqllogictest/test_files/window_limits.slt | 769 +++++ datafusion/substrait/Cargo.toml | 1 + datafusion/substrait/src/lib.rs | 2 +- .../src/logical_plan/consumer/expr/literal.rs | 34 +- .../src/logical_plan/consumer/rel/aggregate_rel.rs | 1 + .../substrait/src/logical_plan/consumer/types.rs | 6 +- .../src/logical_plan/producer/expr/cast.rs | 21 +- .../src/logical_plan/producer/expr/literal.rs | 53 +- .../src/logical_plan/producer/expr/mod.rs | 2 +- .../substrait/src/logical_plan/producer/plan.rs | 2 +- .../src/logical_plan/producer/rel/read_rel.rs | 11 +- .../logical_plan/producer/substrait_producer.rs | 19 +- .../substrait/src/logical_plan/producer/types.rs | 48 +- datafusion/substrait/src/physical_plan/producer.rs | 2 +- datafusion/substrait/src/variation_const.rs | 3 + .../substrait/tests/cases/aggregation_tests.rs | 71 + datafusion/substrait/tests/cases/mod.rs | 1 + .../tests/cases/roundtrip_logical_plan.rs | 2 + .../aggregate_groupings/no_groupings.json | 92 + .../aggregate_groupings/single_grouping.json | 109 + datafusion/wasmtest/Cargo.toml | 3 + datafusion/wasmtest/src/lib.rs | 2 +- dev/changelog/50.1.0.md | 47 + dev/changelog/50.2.0.md | 43 + dev/changelog/50.3.0.md | 47 + dev/release/README.md | 1 + docs/.gitignore | 5 +- docs/Makefile | 2 +- docs/README.md | 20 +- docs/build.sh | 9 +- docs/make.bat | 3 +- docs/requirements.txt | 14 +- docs/rustdoc_trim.py | 37 +- docs/source/_static/images/original_dark.svg | 31 + docs/source/_static/theme_overrides.css | 19 + docs/source/_templates/docs-sidebar.html | 30 +- docs/source/conf.py | 52 +- docs/source/contributor-guide/governance.md | 5 +- docs/source/contributor-guide/inviting.md | 11 +- docs/source/index.rst | 10 +- .../library-user-guide/building-logical-plans.md | 6 +- docs/source/library-user-guide/upgrading.md | 49 + .../library-user-guide/working-with-exprs.md | 8 +- docs/source/user-guide/cli/usage.md | 39 + docs/source/user-guide/configs.md | 8 +- docs/source/user-guide/explain-usage.md | 8 +- docs/source/user-guide/features.md | 2 +- docs/source/user-guide/introduction.md | 18 +- docs/source/user-guide/metrics.md | 37 + docs/source/user-guide/sql/aggregate_functions.md | 45 + docs/source/user-guide/sql/explain.md | 11 +- docs/source/user-guide/sql/scalar_functions.md | 12 +- docs/source/user-guide/sql/select.md | 117 + typos.toml | 3 + 476 files changed, 35157 insertions(+), 11307 deletions(-) diff --cc .asf.yaml index 1bd5043927,99fd6fac22..33aa45eb51 --- a/.asf.yaml +++ b/.asf.yaml @@@ -27,9 -27,21 +27,10 @@@ notifications discussions: [email protected] jira_options: link label worklog github: - description: "Apache DataFusion SQL Query Engine" - homepage: https://datafusion.apache.org/ - labels: - - arrow - - big-data - - dataframe - - datafusion - - olap - - python - - query-engine - - rust - - sql + description: "DataFusion Test Sandbox" enabled_merge_buttons: squash: true + squash_commit_message: PR_TITLE_AND_DESC merge: false rebase: false features: diff --cc datafusion/doc/src/lib.rs index 943be7a71c,977130ffc0..4aea7aa14d --- a/datafusion/doc/src/lib.rs +++ b/datafusion/doc/src/lib.rs @@@ -19,16 -19,16 +19,24 @@@ html_logo_url = "https://raw.githubusercontent.com/apache/datafusion/19fe44cf2f30cbdd63d4a4f52c74055163c6cc38/docs/logos/standalone_logo/logo_original.svg", html_favicon_url = "https://raw.githubusercontent.com/apache/datafusion/19fe44cf2f30cbdd63d4a4f52c74055163c6cc38/docs/logos/standalone_logo/logo_original.svg" )] - #![cfg_attr(docsrs, feature(doc_auto_cfg))] + #![cfg_attr(docsrs, feature(doc_cfg))] + + mod udaf; + mod udf; + mod udwf; + + pub use udaf::aggregate_doc_sections; + pub use udf::scalar_doc_sections; + pub use udwf::window_doc_sections; +mod udaf; +mod udf; +mod udwf; + +pub use udaf::aggregate_doc_sections; +pub use udf::scalar_doc_sections; +pub use udwf::window_doc_sections; + #[allow(rustdoc::broken_intra_doc_links)] /// Documentation for use by [`ScalarUDFImpl`](ScalarUDFImpl), /// [`AggregateUDFImpl`](AggregateUDFImpl) and [`WindowUDFImpl`](WindowUDFImpl) functions. --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
