You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@arrow.apache.org by ag...@apache.org on 2023/11/12 16:39:24 UTC

(arrow-datafusion) branch branch-33 updated (262f08778b -> b248bc703a)

This is an automated email from the ASF dual-hosted git repository.

agrove pushed a change to branch branch-33
in repository https://gitbox.apache.org/repos/asf/arrow-datafusion.git


    from 262f08778b update changelog
     add 40a3cd05ff Minor: improve documentation for IsNotNull, DISTINCT, etc (#8052)
     add e95e3f89c9 Prepare 33.0.0 Release (#8057)
     add af3ce6ba51 Minor: improve error message by adding types to message (#8065)
     add 308c354049 Minor: Remove redundant BuiltinScalarFunction::supports_zero_argument() (#8059)
     add 223a7fb469 Add example to ci (#8060)
     add 07c08a3040 Update substrait requirement from 0.18.0 to 0.19.0 (#8076)
     add 06fd26b86d Fix incorrect results in COUNT(*) queries with LIMIT (#8049)
     add 56f6437317 feat: Support determining extensions from names like `foo.parquet.snappy` as well as `foo.parquet` (#7972)
     add f3c9009e50 Use FairSpillPool for TaskContext with spillable config (#8072)
     add 0506a5cff2 Minor: Improve HashJoinStream docstrings (#8070)
     add 724bafd4de Fixing broken link (#8085)
     add 34463822b8 fix: DataFusion suggests invalid functions (#8083)
     add aefee03e11 Replace macro with function for  `array_repeat` (#8071)
     add 15d8c9bf48 Minor: remove unnecessary projection in `single_distinct_to_group_by` rule (#8061)
     add b7251e414b minor: Remove duplicate version numbers for arrow, object_store, and parquet dependencies (#8095)
     add 21b2af126d fix: add match encode/decode  scalar function type (#8089)
     add 965b3182fb feat: Protobuf serde for Json file sink (#8062)
     add a70369ca9a Minor: use `Expr::alias` in a few places to make the code more concise (#8097)
     add 2e384898e8 Minor: Cleanup BuiltinScalarFunction::return_type() (#8088)
     add 4512805c20 Update sqllogictest requirement from 0.17.0 to 0.18.0 (#8102)
     add 1c17c47b4e Projection Pushdown rule and test changes (#8073)
     add 43cc870a95 Push limit into aggregation for DISTINCT ... LIMIT queries (#8038)
     add e54894c392 Bug-fix in Filter and Limit statistics (#8094)
     add a564af59ed feat: support target table alias in update statement (#8080)
     add 1803b25c39 Simlify downcast functions in cast.rs. (#8103)
     add 91a44c1e5a Fix ArrayAgg schema mismatch issue (#8055)
     add 93af4401d7 Minor: Support `nulls` in  `array_replace`, avoid a copy (#8054)
     add 91c9d6f847 Minor: Improve the document format of JoinHashMap (#8090)
     add e305bcf197 Simplify ProjectionPushdown and make it more general (#8109)
     add fdf3f6c330 Minor: clean up the code regarding clippy (#8122)
     add 7fde76e33d Support remaining functions in protobuf serialization, add `expr_fn` for `StructFunction` (#8100)
     add e727bbf370 cleanup scalar function impl (#8114)
     add 4e8777d438 rewrite `array_append/array_prepend` to remove deplicate codes  (#8108)
     add 8966dc0056 Implementation of `array_intersect` (#8081)
     add bd4b3f42e0 fix build by adding ScalarFunction::ArrayIntersect match (#8136)
     add 21b96261b4 Improve documentation for calculate_prune_length method in `SymmetricHashJoin` (#8125)
     add 4068b06148 Minor: remove duplicated `array_replace` tests  (#8066)
     add ceb09b2576 use tmp directory in test (#8115)
     add e642cc2a94 chore: remove panics in datafusion-common::scalar (#7901)
     add 6fe00ce2e3 Fix join order for TPCH Q17 & Q18 by improving FilterExec statistics (#8126)
     add 5a2e0ba646 Fix: Do not try and preserve order when there is no order to preserve in RepartitionExec (#8127)
     add 9e012a6c1c feat: add column statistics into explain (#8112)
     add e18c709914 Add subtrait support for `IS NULL` and `IS NOT NULL` (#8093)
     add 96ef1af62f Combine `Wildcard` and `QualifiedWildcard`, add `wildcard()` expr fn (#8105)
     add f67c20f9d2 docs: show creation of DFSchema (#8132)
     add 824bb66370 feat: support UDAF in substrait producer/consumer (#8119)
     add f33244a646 Improve documentation site to make it easier to find communication on Slack/Discord (#8138)
     add f0845b29a5 Update changelog for 33.0.0-rc2
     add 1d21681e4e Update changelog for 33.0.0-rc2
     new b248bc703a prep 33rc2

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .github/workflows/rust.yml                         |   14 +-
 Cargo.toml                                         |    4 +-
 README.md                                          |   17 +-
 benchmarks/Cargo.toml                              |    2 +-
 ci/scripts/{rust_fmt.sh => rust_example.sh}        |   16 +-
 datafusion-cli/Cargo.lock                          |   74 +-
 datafusion-examples/Cargo.toml                     |    2 +-
 datafusion-examples/README.md                      |    8 +-
 .../examples/{ => external_dependency}/catalog.rs  |    0
 .../{ => external_dependency}/dataframe-to-s3.rs   |    0
 .../{ => external_dependency}/query-aws-s3.rs      |    0
 .../examples/{ => flight}/flight_client.rs         |    0
 .../examples/{ => flight}/flight_server.rs         |    0
 .../examples/{ => flight}/flight_sql_server.rs     |    0
 datafusion-examples/examples/simple_udwf.rs        |    2 +-
 datafusion/common/Cargo.toml                       |    4 +-
 datafusion/common/src/cast.rs                      |   12 +-
 datafusion/common/src/config.rs                    |    5 +
 datafusion/common/src/dfschema.rs                  |   72 +-
 datafusion/common/src/pyarrow.rs                   |    2 +-
 datafusion/common/src/scalar.rs                    |  598 +++---
 datafusion/common/src/stats.rs                     |   45 +-
 datafusion/common/src/tree_node.rs                 |   24 +
 datafusion/core/Cargo.toml                         |    6 +-
 datafusion/core/benches/data_utils/mod.rs          |   85 +
 datafusion/core/benches/distinct_query_sql.rs      |  208 ++
 datafusion/core/benches/scalar.rs                  |   10 +-
 datafusion/core/benches/topk_aggregate.rs          |   92 +-
 datafusion/core/src/dataframe/mod.rs               |   86 +
 .../datasource/avro_to_arrow/arrow_array_reader.rs |   20 +-
 datafusion/core/src/datasource/file_format/json.rs |   10 +-
 datafusion/core/src/datasource/listing/helpers.rs  |    8 +-
 .../datasource/physical_plan/file_scan_config.rs   |   12 +-
 .../datasource/physical_plan/parquet/row_filter.rs |    2 +-
 .../datasource/physical_plan/parquet/row_groups.rs |    4 +-
 datafusion/core/src/datasource/statistics.rs       |    6 +-
 datafusion/core/src/execution/context/mod.rs       |   17 +
 datafusion/core/src/execution/context/parquet.rs   |  143 ++
 .../src/physical_optimizer/aggregate_statistics.rs |    8 +-
 .../combine_partial_final_agg.rs                   |   48 +
 .../src/physical_optimizer/enforce_distribution.rs |   28 +-
 .../core/src/physical_optimizer/enforce_sorting.rs |    4 +-
 .../limited_distinct_aggregation.rs                |  626 ++++++
 datafusion/core/src/physical_optimizer/mod.rs      |    2 +
 .../core/src/physical_optimizer/optimizer.rs       |   13 +
 .../src/physical_optimizer/output_requirements.rs  |    6 +-
 .../src/physical_optimizer/projection_pushdown.rs  | 2117 ++++++++++++++++++++
 .../replace_with_order_preserving_variants.rs      |    5 +-
 .../core/src/physical_optimizer/test_utils.rs      |    2 +-
 .../src/physical_optimizer/topk_aggregation.rs     |   13 +-
 datafusion/core/src/physical_planner.rs            |    5 +-
 datafusion/core/tests/dataframe/mod.rs             |   29 +-
 .../fuzz_cases/sort_preserving_repartition_fuzz.rs |    4 +-
 datafusion/core/tests/sql/explain_analyze.rs       |    5 +-
 datafusion/expr/src/aggregate_function.rs          |   31 +-
 datafusion/expr/src/built_in_function.rs           |   64 +-
 datafusion/expr/src/columnar_value.rs              |   14 +-
 datafusion/expr/src/expr.rs                        |   45 +-
 datafusion/expr/src/expr_fn.rs                     |   26 +
 datafusion/expr/src/expr_schema.rs                 |   34 +-
 datafusion/expr/src/logical_plan/builder.rs        |   15 +-
 datafusion/expr/src/operator.rs                    |    8 +-
 datafusion/expr/src/signature.rs                   |   75 +-
 datafusion/expr/src/tree_node/expr.rs              |    8 +-
 datafusion/expr/src/type_coercion/functions.rs     |   11 +-
 datafusion/expr/src/utils.rs                       |    3 +-
 datafusion/expr/src/window_function.rs             |   15 +
 datafusion/expr/src/window_state.rs                |    2 +-
 .../optimizer/src/analyzer/count_wildcard_rule.rs  |   66 +-
 .../optimizer/src/analyzer/inline_table_scan.rs    |    2 +-
 .../optimizer/src/common_subexpr_eliminate.rs      |    2 +-
 datafusion/optimizer/src/decorrelate.rs            |    7 +-
 datafusion/optimizer/src/push_down_filter.rs       |    3 +-
 .../src/simplify_expressions/expr_simplifier.rs    |    3 +-
 .../optimizer/src/single_distinct_to_groupby.rs    |   95 +-
 .../optimizer/src/unwrap_cast_in_comparison.rs     |    8 +-
 .../physical-expr/src/aggregate/array_agg.rs       |   43 +-
 .../src/aggregate/array_agg_distinct.rs            |   13 +-
 .../src/aggregate/array_agg_ordered.rs             |   20 +-
 datafusion/physical-expr/src/aggregate/build_in.rs |   18 +-
 .../physical-expr/src/aggregate/correlation.rs     |   12 +-
 .../physical-expr/src/aggregate/covariance.rs      |   12 +-
 .../physical-expr/src/aggregate/first_last.rs      |   10 +-
 datafusion/physical-expr/src/aggregate/stddev.rs   |   12 +-
 datafusion/physical-expr/src/aggregate/utils.rs    |    4 +-
 datafusion/physical-expr/src/aggregate/variance.rs |   12 +-
 datafusion/physical-expr/src/array_expressions.rs  |  916 ++++-----
 .../physical-expr/src/conditional_expressions.rs   |    2 +-
 .../physical-expr/src/datetime_expressions.rs      |  152 +-
 datafusion/physical-expr/src/expressions/binary.rs |   49 +-
 datafusion/physical-expr/src/expressions/case.rs   |   64 +-
 datafusion/physical-expr/src/expressions/cast.rs   |   17 +-
 datafusion/physical-expr/src/expressions/datum.rs  |   14 +-
 .../src/expressions/get_indexed_field.rs           |   33 +-
 .../physical-expr/src/expressions/in_list.rs       |   11 +-
 .../physical-expr/src/expressions/is_not_null.rs   |    5 +-
 .../physical-expr/src/expressions/is_null.rs       |    5 +-
 datafusion/physical-expr/src/expressions/like.rs   |    5 +-
 .../physical-expr/src/expressions/literal.rs       |    5 +-
 datafusion/physical-expr/src/expressions/mod.rs    |   12 +-
 .../physical-expr/src/expressions/negative.rs      |    2 +-
 datafusion/physical-expr/src/expressions/not.rs    |    5 +-
 datafusion/physical-expr/src/expressions/nullif.rs |   20 +-
 .../physical-expr/src/expressions/try_cast.rs      |   12 +-
 datafusion/physical-expr/src/functions.rs          |  265 +--
 .../src/intervals/interval_aritmetic.rs            |    2 +-
 datafusion/physical-expr/src/math_expressions.rs   |   15 +-
 datafusion/physical-expr/src/planner.rs            |    2 +-
 datafusion/physical-expr/src/scalar_function.rs    |   10 +-
 datafusion/physical-expr/src/struct_expressions.rs |   15 +-
 .../src/window/built_in_window_function_expr.rs    |    6 +-
 datafusion/physical-expr/src/window/lead_lag.rs    |    1 +
 datafusion/physical-expr/src/window/window_expr.rs |    6 +-
 datafusion/physical-plan/src/aggregates/mod.rs     |   83 +-
 .../physical-plan/src/aggregates/no_grouping.rs    |    6 +-
 .../physical-plan/src/aggregates/row_hash.rs       |   61 +-
 datafusion/physical-plan/src/filter.rs             |   56 +-
 datafusion/physical-plan/src/insert.rs             |   12 +-
 datafusion/physical-plan/src/joins/cross_join.rs   |    2 +-
 datafusion/physical-plan/src/joins/hash_join.rs    |  129 +-
 .../physical-plan/src/joins/hash_join_utils.rs     |  116 +-
 .../physical-plan/src/joins/symmetric_hash_join.rs |   27 +-
 datafusion/physical-plan/src/joins/utils.rs        |    4 +-
 datafusion/physical-plan/src/limit.rs              |  159 +-
 datafusion/physical-plan/src/memory.rs             |   12 +
 datafusion/physical-plan/src/projection.rs         |    8 +-
 datafusion/physical-plan/src/repartition/mod.rs    |  236 ++-
 datafusion/physical-plan/src/sorts/stream.rs       |    4 +-
 datafusion/physical-plan/src/topk/mod.rs           |    2 +-
 datafusion/physical-plan/src/unnest.rs             |    2 +-
 datafusion/proto/Cargo.toml                        |    2 +-
 datafusion/proto/proto/datafusion.proto            |   61 +-
 datafusion/proto/src/generated/pbjson.rs           | 1338 +++++++++++--
 datafusion/proto/src/generated/prost.rs            |  152 +-
 datafusion/proto/src/logical_plan/from_proto.rs    |   56 +-
 datafusion/proto/src/logical_plan/to_proto.rs      |   12 +-
 datafusion/proto/src/physical_plan/from_proto.rs   |   95 +-
 datafusion/proto/src/physical_plan/mod.rs          |   81 +-
 datafusion/proto/src/physical_plan/to_proto.rs     |  128 +-
 .../proto/tests/cases/roundtrip_logical_plan.rs    |   12 +-
 .../proto/tests/cases/roundtrip_physical_plan.rs   |   55 +-
 datafusion/sql/src/expr/function.rs                |    6 +-
 datafusion/sql/src/select.rs                       |    2 +-
 datafusion/sql/src/statement.rs                    |   20 +-
 datafusion/sqllogictest/Cargo.toml                 |    2 +-
 datafusion/sqllogictest/test_files/aggregate.slt   |  198 ++
 datafusion/sqllogictest/test_files/array.slt       |  416 +++-
 datafusion/sqllogictest/test_files/copy.slt        |    2 +-
 datafusion/sqllogictest/test_files/errors.slt      |    4 +
 datafusion/sqllogictest/test_files/explain.slt     |   17 +-
 datafusion/sqllogictest/test_files/functions.slt   |    4 +
 datafusion/sqllogictest/test_files/groupby.slt     |   37 +-
 .../sqllogictest/test_files/information_schema.slt |    2 +
 datafusion/sqllogictest/test_files/insert.slt      |   13 +-
 .../sqllogictest/test_files/insert_to_external.slt |   13 +-
 datafusion/sqllogictest/test_files/joins.slt       |  238 +--
 datafusion/sqllogictest/test_files/limit.slt       |   85 +
 datafusion/sqllogictest/test_files/subquery.slt    |   77 +-
 .../sqllogictest/test_files/tpch/q16.slt.part      |   10 +-
 datafusion/sqllogictest/test_files/union.slt       |   60 +-
 datafusion/sqllogictest/test_files/update.slt      |   15 +-
 datafusion/sqllogictest/test_files/window.slt      |   12 +-
 datafusion/substrait/Cargo.toml                    |    2 +-
 datafusion/substrait/src/logical_plan/consumer.rs  |   87 +-
 datafusion/substrait/src/logical_plan/producer.rs  |   89 +-
 .../tests/cases/roundtrip_logical_plan.rs          |   74 +-
 datafusion/wasmtest/Cargo.toml                     |    2 +-
 dev/changelog/33.0.0.md                            |   70 +-
 dev/release/generate-changelog.py                  |    4 +
 docs/source/contributor-guide/communication.md     |   50 +-
 docs/source/contributor-guide/index.md             |    4 +-
 docs/source/index.rst                              |    3 +-
 docs/source/user-guide/configs.md                  |    1 +
 docs/source/user-guide/expressions.md              |    1 +
 174 files changed, 8981 insertions(+), 2419 deletions(-)
 copy ci/scripts/{rust_fmt.sh => rust_example.sh} (60%)
 rename datafusion-examples/examples/{ => external_dependency}/catalog.rs (100%)
 rename datafusion-examples/examples/{ => external_dependency}/dataframe-to-s3.rs (100%)
 rename datafusion-examples/examples/{ => external_dependency}/query-aws-s3.rs (100%)
 rename datafusion-examples/examples/{ => flight}/flight_client.rs (100%)
 rename datafusion-examples/examples/{ => flight}/flight_server.rs (100%)
 rename datafusion-examples/examples/{ => flight}/flight_sql_server.rs (100%)
 create mode 100644 datafusion/core/benches/distinct_query_sql.rs
 create mode 100644 datafusion/core/src/physical_optimizer/limited_distinct_aggregation.rs
 create mode 100644 datafusion/core/src/physical_optimizer/projection_pushdown.rs


(arrow-datafusion) 01/01: prep 33rc2

Posted by ag...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

agrove pushed a commit to branch branch-33
in repository https://gitbox.apache.org/repos/asf/arrow-datafusion.git

commit b248bc703ab52f057f408686aa1e59f4b75f1413
Merge: 262f08778b 1d21681e4e
Author: Andy Grove <an...@gmail.com>
AuthorDate: Sun Nov 12 09:39:11 2023 -0700

    prep 33rc2

 .github/workflows/rust.yml                         |   14 +-
 Cargo.toml                                         |    4 +-
 README.md                                          |   17 +-
 benchmarks/Cargo.toml                              |    2 +-
 .../Cargo.toml => ci/scripts/rust_example.sh       |   41 +-
 datafusion-cli/Cargo.lock                          |   74 +-
 datafusion-examples/Cargo.toml                     |    2 +-
 datafusion-examples/README.md                      |    8 +-
 .../examples/{ => external_dependency}/catalog.rs  |    0
 .../{ => external_dependency}/dataframe-to-s3.rs   |    0
 .../{ => external_dependency}/query-aws-s3.rs      |    0
 .../examples/{ => flight}/flight_client.rs         |    0
 .../examples/{ => flight}/flight_server.rs         |    0
 .../examples/{ => flight}/flight_sql_server.rs     |    0
 datafusion-examples/examples/simple_udwf.rs        |    2 +-
 datafusion/common/Cargo.toml                       |    4 +-
 datafusion/common/src/cast.rs                      |   12 +-
 datafusion/common/src/config.rs                    |    5 +
 datafusion/common/src/dfschema.rs                  |   72 +-
 datafusion/common/src/pyarrow.rs                   |    2 +-
 datafusion/common/src/scalar.rs                    |  598 +++---
 datafusion/common/src/stats.rs                     |   45 +-
 datafusion/common/src/tree_node.rs                 |   24 +
 datafusion/core/Cargo.toml                         |    6 +-
 datafusion/core/benches/data_utils/mod.rs          |   85 +
 datafusion/core/benches/distinct_query_sql.rs      |  208 ++
 datafusion/core/benches/scalar.rs                  |   10 +-
 datafusion/core/benches/topk_aggregate.rs          |   92 +-
 datafusion/core/src/dataframe/mod.rs               |   86 +
 .../datasource/avro_to_arrow/arrow_array_reader.rs |   20 +-
 datafusion/core/src/datasource/file_format/json.rs |   10 +-
 datafusion/core/src/datasource/listing/helpers.rs  |    8 +-
 .../datasource/physical_plan/file_scan_config.rs   |   12 +-
 .../datasource/physical_plan/parquet/row_filter.rs |    2 +-
 .../datasource/physical_plan/parquet/row_groups.rs |    4 +-
 datafusion/core/src/datasource/statistics.rs       |    6 +-
 datafusion/core/src/execution/context/mod.rs       |   17 +
 datafusion/core/src/execution/context/parquet.rs   |  143 ++
 .../src/physical_optimizer/aggregate_statistics.rs |    8 +-
 .../combine_partial_final_agg.rs                   |   48 +
 .../src/physical_optimizer/enforce_distribution.rs |   28 +-
 .../core/src/physical_optimizer/enforce_sorting.rs |    4 +-
 .../limited_distinct_aggregation.rs                |  626 ++++++
 datafusion/core/src/physical_optimizer/mod.rs      |    2 +
 .../core/src/physical_optimizer/optimizer.rs       |   13 +
 .../src/physical_optimizer/output_requirements.rs  |    6 +-
 .../src/physical_optimizer/projection_pushdown.rs  | 2117 ++++++++++++++++++++
 .../replace_with_order_preserving_variants.rs      |    5 +-
 .../core/src/physical_optimizer/test_utils.rs      |    2 +-
 .../src/physical_optimizer/topk_aggregation.rs     |   13 +-
 datafusion/core/src/physical_planner.rs            |    5 +-
 datafusion/core/tests/dataframe/mod.rs             |   29 +-
 .../fuzz_cases/sort_preserving_repartition_fuzz.rs |    4 +-
 datafusion/core/tests/sql/explain_analyze.rs       |    5 +-
 datafusion/expr/src/aggregate_function.rs          |   31 +-
 datafusion/expr/src/built_in_function.rs           |   64 +-
 datafusion/expr/src/columnar_value.rs              |   14 +-
 datafusion/expr/src/expr.rs                        |   45 +-
 datafusion/expr/src/expr_fn.rs                     |   26 +
 datafusion/expr/src/expr_schema.rs                 |   34 +-
 datafusion/expr/src/logical_plan/builder.rs        |   15 +-
 datafusion/expr/src/operator.rs                    |    8 +-
 datafusion/expr/src/signature.rs                   |   75 +-
 datafusion/expr/src/tree_node/expr.rs              |    8 +-
 datafusion/expr/src/type_coercion/functions.rs     |   11 +-
 datafusion/expr/src/utils.rs                       |    3 +-
 datafusion/expr/src/window_function.rs             |   15 +
 datafusion/expr/src/window_state.rs                |    2 +-
 .../optimizer/src/analyzer/count_wildcard_rule.rs  |   66 +-
 .../optimizer/src/analyzer/inline_table_scan.rs    |    2 +-
 .../optimizer/src/common_subexpr_eliminate.rs      |    2 +-
 datafusion/optimizer/src/decorrelate.rs            |    7 +-
 datafusion/optimizer/src/push_down_filter.rs       |    3 +-
 .../src/simplify_expressions/expr_simplifier.rs    |    3 +-
 .../optimizer/src/single_distinct_to_groupby.rs    |   95 +-
 .../optimizer/src/unwrap_cast_in_comparison.rs     |    8 +-
 .../physical-expr/src/aggregate/array_agg.rs       |   43 +-
 .../src/aggregate/array_agg_distinct.rs            |   13 +-
 .../src/aggregate/array_agg_ordered.rs             |   20 +-
 datafusion/physical-expr/src/aggregate/build_in.rs |   18 +-
 .../physical-expr/src/aggregate/correlation.rs     |   12 +-
 .../physical-expr/src/aggregate/covariance.rs      |   12 +-
 .../physical-expr/src/aggregate/first_last.rs      |   10 +-
 datafusion/physical-expr/src/aggregate/stddev.rs   |   12 +-
 datafusion/physical-expr/src/aggregate/utils.rs    |    4 +-
 datafusion/physical-expr/src/aggregate/variance.rs |   12 +-
 datafusion/physical-expr/src/array_expressions.rs  |  916 ++++-----
 .../physical-expr/src/conditional_expressions.rs   |    2 +-
 .../physical-expr/src/datetime_expressions.rs      |  152 +-
 datafusion/physical-expr/src/expressions/binary.rs |   49 +-
 datafusion/physical-expr/src/expressions/case.rs   |   64 +-
 datafusion/physical-expr/src/expressions/cast.rs   |   17 +-
 datafusion/physical-expr/src/expressions/datum.rs  |   14 +-
 .../src/expressions/get_indexed_field.rs           |   33 +-
 .../physical-expr/src/expressions/in_list.rs       |   11 +-
 .../physical-expr/src/expressions/is_not_null.rs   |    5 +-
 .../physical-expr/src/expressions/is_null.rs       |    5 +-
 datafusion/physical-expr/src/expressions/like.rs   |    5 +-
 .../physical-expr/src/expressions/literal.rs       |    5 +-
 datafusion/physical-expr/src/expressions/mod.rs    |   12 +-
 .../physical-expr/src/expressions/negative.rs      |    2 +-
 datafusion/physical-expr/src/expressions/not.rs    |    5 +-
 datafusion/physical-expr/src/expressions/nullif.rs |   20 +-
 .../physical-expr/src/expressions/try_cast.rs      |   12 +-
 datafusion/physical-expr/src/functions.rs          |  265 +--
 .../src/intervals/interval_aritmetic.rs            |    2 +-
 datafusion/physical-expr/src/math_expressions.rs   |   15 +-
 datafusion/physical-expr/src/planner.rs            |    2 +-
 datafusion/physical-expr/src/scalar_function.rs    |   10 +-
 datafusion/physical-expr/src/struct_expressions.rs |   15 +-
 .../src/window/built_in_window_function_expr.rs    |    6 +-
 datafusion/physical-expr/src/window/lead_lag.rs    |    1 +
 datafusion/physical-expr/src/window/window_expr.rs |    6 +-
 datafusion/physical-plan/src/aggregates/mod.rs     |   83 +-
 .../physical-plan/src/aggregates/no_grouping.rs    |    6 +-
 .../physical-plan/src/aggregates/row_hash.rs       |   61 +-
 datafusion/physical-plan/src/filter.rs             |   56 +-
 datafusion/physical-plan/src/insert.rs             |   12 +-
 datafusion/physical-plan/src/joins/cross_join.rs   |    2 +-
 datafusion/physical-plan/src/joins/hash_join.rs    |  129 +-
 .../physical-plan/src/joins/hash_join_utils.rs     |  116 +-
 .../physical-plan/src/joins/symmetric_hash_join.rs |   27 +-
 datafusion/physical-plan/src/joins/utils.rs        |    4 +-
 datafusion/physical-plan/src/limit.rs              |  159 +-
 datafusion/physical-plan/src/memory.rs             |   12 +
 datafusion/physical-plan/src/projection.rs         |    8 +-
 datafusion/physical-plan/src/repartition/mod.rs    |  236 ++-
 datafusion/physical-plan/src/sorts/stream.rs       |    4 +-
 datafusion/physical-plan/src/topk/mod.rs           |    2 +-
 datafusion/physical-plan/src/unnest.rs             |    2 +-
 datafusion/proto/Cargo.toml                        |    2 +-
 datafusion/proto/proto/datafusion.proto            |   61 +-
 datafusion/proto/src/generated/pbjson.rs           | 1338 +++++++++++--
 datafusion/proto/src/generated/prost.rs            |  152 +-
 datafusion/proto/src/logical_plan/from_proto.rs    |   56 +-
 datafusion/proto/src/logical_plan/to_proto.rs      |   12 +-
 datafusion/proto/src/physical_plan/from_proto.rs   |   95 +-
 datafusion/proto/src/physical_plan/mod.rs          |   81 +-
 datafusion/proto/src/physical_plan/to_proto.rs     |  128 +-
 .../proto/tests/cases/roundtrip_logical_plan.rs    |   12 +-
 .../proto/tests/cases/roundtrip_physical_plan.rs   |   55 +-
 datafusion/sql/src/expr/function.rs                |    6 +-
 datafusion/sql/src/select.rs                       |    2 +-
 datafusion/sql/src/statement.rs                    |   20 +-
 datafusion/sqllogictest/Cargo.toml                 |    2 +-
 datafusion/sqllogictest/test_files/aggregate.slt   |  198 ++
 datafusion/sqllogictest/test_files/array.slt       |  416 +++-
 datafusion/sqllogictest/test_files/copy.slt        |    2 +-
 datafusion/sqllogictest/test_files/errors.slt      |    4 +
 datafusion/sqllogictest/test_files/explain.slt     |   17 +-
 datafusion/sqllogictest/test_files/functions.slt   |    4 +
 datafusion/sqllogictest/test_files/groupby.slt     |   37 +-
 .../sqllogictest/test_files/information_schema.slt |    2 +
 datafusion/sqllogictest/test_files/insert.slt      |   13 +-
 .../sqllogictest/test_files/insert_to_external.slt |   13 +-
 datafusion/sqllogictest/test_files/joins.slt       |  238 +--
 datafusion/sqllogictest/test_files/limit.slt       |   85 +
 datafusion/sqllogictest/test_files/subquery.slt    |   77 +-
 .../sqllogictest/test_files/tpch/q16.slt.part      |   10 +-
 datafusion/sqllogictest/test_files/union.slt       |   60 +-
 datafusion/sqllogictest/test_files/update.slt      |   15 +-
 datafusion/sqllogictest/test_files/window.slt      |   12 +-
 datafusion/substrait/Cargo.toml                    |    2 +-
 datafusion/substrait/src/logical_plan/consumer.rs  |   87 +-
 datafusion/substrait/src/logical_plan/producer.rs  |   89 +-
 .../tests/cases/roundtrip_logical_plan.rs          |   74 +-
 datafusion/wasmtest/Cargo.toml                     |    2 +-
 dev/changelog/33.0.0.md                            |   70 +-
 dev/release/generate-changelog.py                  |    4 +
 docs/source/contributor-guide/communication.md     |   50 +-
 docs/source/contributor-guide/index.md             |    4 +-
 docs/source/index.rst                              |    3 +-
 docs/source/user-guide/configs.md                  |    1 +
 docs/source/user-guide/expressions.md              |    1 +
 174 files changed, 8984 insertions(+), 2441 deletions(-)

diff --cc datafusion-cli/Cargo.lock
index 74df8aab01,629293e483..0932fdafc2
--- a/datafusion-cli/Cargo.lock
+++ b/datafusion-cli/Cargo.lock
@@@ -790,9 -790,9 +790,9 @@@ dependencies = 
  
  [[package]]
  name = "bstr"
--version = "1.7.0"
++version = "1.8.0"
  source = "registry+https://github.com/rust-lang/crates.io-index"
--checksum = "c79ad7fb2dd38f3dabd76b09c6a5a20c038fc0213ef1e9afd30eb777f120f019"
++checksum = "542f33a8835a0884b006a0c3df3dadd99c0c3f296ed26c2fdc8028e01ad6230c"
  dependencies = [
   "memchr",
   "regex-automata",
@@@ -1737,9 -1737,9 +1737,9 @@@ dependencies = 
  
  [[package]]
  name = "http"
--version = "0.2.9"
++version = "0.2.10"
  source = "registry+https://github.com/rust-lang/crates.io-index"
--checksum = "bd6effc99afb63425aff9b05836f029929e345a6148a14b7ecd5ab67af944482"
++checksum = "f95b9abcae896730d42b78e09c155ed4ddf82c07b4de772c64aee5b2d8b7c150"
  dependencies = [
   "bytes",
   "fnv",
@@@ -2869,9 -2869,9 +2869,9 @@@ dependencies = 
  
  [[package]]
  name = "rustls-pemfile"
--version = "1.0.3"
++version = "1.0.4"
  source = "registry+https://github.com/rust-lang/crates.io-index"
--checksum = "2d3987094b1d07b653b7dfdc3f70ce9a1da9c51ac18c1b06b662e4f9a0e9f4b2"
++checksum = "1c74cae0a4cf6ccbbf5f359f08efdf8ee7e1dc532573bf0db71968cb56b1448c"
  dependencies = [
   "base64",
  ]
@@@ -3061,9 -3061,9 +3061,9 @@@ dependencies = 
  
  [[package]]
  name = "smallvec"
--version = "1.11.1"
++version = "1.11.2"
  source = "registry+https://github.com/rust-lang/crates.io-index"
--checksum = "942b4a808e05215192e39f4ab80813e599068285906cc91aa64f923db842bd5a"
++checksum = "4dccd0940a2dcdf68d092b8cbab7dc0ad8fa938bf95787e1b916b0e3d0e8e970"
  
  [[package]]
  name = "snafu"
@@@ -3354,9 -3354,9 +3354,9 @@@ checksum = "1f3ccbac311fea05f86f61904b4
  
  [[package]]
  name = "tokio"
--version = "1.33.0"
++version = "1.34.0"
  source = "registry+https://github.com/rust-lang/crates.io-index"
--checksum = "4f38200e3ef7995e5ef13baec2f432a6da0aa9ac495b2c0e8f3b7eec2c92d653"
++checksum = "d0c014766411e834f7af5b8f4cf46257aab4036ca95e9d2c144a10f59ad6f5b9"
  dependencies = [
   "backtrace",
   "bytes",
@@@ -3372,9 -3372,9 +3372,9 @@@
  
  [[package]]
  name = "tokio-macros"
--version = "2.1.0"
++version = "2.2.0"
  source = "registry+https://github.com/rust-lang/crates.io-index"
--checksum = "630bdcf245f78637c13ec01ffae6187cca34625e8c63150d424b59e55af2675e"
++checksum = "5b8a1e28f2deaa14e508979454cb3a223b10b938b45af148bc0986de36f1923b"
  dependencies = [
   "proc-macro2",
   "quote",