This is an automated email from the ASF dual-hosted git repository.
alamb pushed a change to branch string-view
in repository https://gitbox.apache.org/repos/asf/datafusion.git
from 9e6cd31a1f Improve filter predicates with `Utf8View` literals (#11043)
add a8847e1a82 fix: Support `NOT <field> IN (<subquery>)` via anti join
(#10936)
add ac161bba33 fix: CTEs defined in a subquery can escape their scope
(#10954)
add 0c177d18dc Use shorter aliases in CSE (#10939)
add b26c1b819d fix: Fix the incorrect null joined rows for SMJ outer join
with join filter (#10892)
add 500b73f996 Substrait support for ParquetExec round trip for simple
select (#10949)
add 41a788238c Support to unparse `ScalarValue::IntervalMonthDayNano` to
String (#10956)
add a873f51563 Convert `StringAgg` to UDAF (#10945)
add a2c9d1a8ba Minor: Return option from row_group_row_count (#10973)
add e9f9a239ae Minor: Add routine to debug join fuzz tests (#10970)
add fbf793434e Support to unparse `ScalarValue::TimestampNanosecond` to
String (#10984)
add 2a49d61658 build(deps-dev): bump ws in
/datafusion/wasmtest/datafusion-wasm-app (#10988)
add 80f4322429 Minor: reuse Rows buffer in GroupValuesRows (#10980)
add 5cb1917f8c Add example for writing SQL analysis using DataFusion
structures (#10938)
add 8fda4a6163 feat(optimizer): handle partial anchored regex cases and
improve doc (#10977)
add 4109f581ce Push down filter for Unnest plan (#10974)
add 268f648db9 Minor: add parquet page stats for float{16, 32, 64} (#10982)
add ea0ba99d94 Fix `file_stream_provider` example compilation failure on
windows (#10975)
add c6b2efccf6 Stop copying LogicalPlan and Exprs in
`CommonSubexprEliminate` (2-3% planning speed improvement) (#10835)
add 0f80b9261f feat: Update documentation link in physical optimizer
module (#11002)
add 61e2ddbf29 fix push down logic for unnest (#10991)
add 1e7c38b4f0 Minor: add test for pushdown past unnest (#11017)
add 5bfc11ba4a Update docs for `protoc` minimum installed version (#11006)
add 89def2c6e5 Convert `bool_and` & `bool_or` to UDAF (#11009)
add 58d23c5c05 feat: support uint data page extraction (#11018)
add 5316278cea propagate error instead of panicking on out of bounds in
physical-expr/src/analysis.rs (#10992)
add 1155b0b15e Minor: Add more docs and examples for `Transformed` and
`TransformedResult` (#11003)
add 18042fd691 feat: propagate EmptyRelation for more join types (#10963)
add 1f3ba116a4 doc: Update links in the documantation (#11044)
add 5498a02853 Add drop_columns to dataframe api (#11010)
add fd5a68f802 Push down filter plan for non-unnest column (#11019)
add 4a0c7f35a0 Consider timezones with `UTC` and `+00:00` to be the same
(#10960)
add 6dffc53e76 Deprecate `OptimizerRule::try_optimize` (#11022)
add 098ba30ce5 Relax combine partial final rule (#10913)
add 8aad936e3b Compute gcd with u64 instead of i64 because of overflows
(#11036)
add 30a6ed557d Add distinct_on to dataframe api (#11012)
add ce4940d0c8 chore: add test to show current behavior of string to
timezone vs. timestamp to timezone (#11056)
add 4916e891c2 Boolean parquet get datapage stat (#11054)
add a4799c093c Using display_name for Expr::Aggregation (#11020)
add 569be9eb1b Minor: Convert `Count`'s name to lowercase (#11028)
add accd75b49a Minor: Move `function::Hint` to `datafusion-expr` crate to
avoid physical-expr dependency for `datafusion-function` crate (#11061)
add 81611ad2c5 Support to unparse ScalarValue::TimestampMillisecond to
String (#11046)
add 8a98307f2a support to unparse interval to string (#11065)
add a22423d526 feat: Add method to add analyzer rules to SessionContext
(#10849)
add 6c0e4fb5d9 SMJ: fix streaming row concurrency issue for LEFT SEMI
filtered join (#11041)
add ea46e82088 Add `advanced_parquet_index.rs` example of index in into
parquet files (#10701)
add 98373ab5af Add Expr::column_refs to find column references without
copying (#10948)
add 9f8b731827 Give `OptimizerRule::try_optimize` default implementation
and cleanup duplicated custom implementations (#11059)
add 08e4e6ad02 Fix `FormatOptions::CSV` propagation (#10912)
add 6f10dbc124 Support parsing SQL strings to Exprs (#10995)
add 8d8dd9075d Support dictionary data type in array_to_string (#10908)
add c2ea6b34aa Implement min/max for interval types (#11015)
add fdd1e3db71 Convert Average to UDAF #10942 (#10964)
add a19fc621d1 fix: remove the Sized requirement on ExecutionPlan::name()
(#11047)
add b872080989 Improve LIKE performance for Dictionary arrays (#11058)
add 8aad208299 handle overflow in gcd and return this as an error (#11057)
add d32747d09a Convert Correlation to UDAF (#11064)
add 3051d1928e Migrate more code from `Expr::to_columns` to
`Expr::column_refs` (#11067)
add c7ac8b8221 Minor: Examples cleanup + more docs in pruning example
(#11086)
add 3ff0bfe35d feat: Support duplicate column names in Joins in Substrait
consumer (#11049)
add f0ef0e6f6c decimal support for unparser (#11092)
add ede5598d55 Improve `CommonSubexprEliminate` identifier management
(10% faster planning) (#10473)
add a202a0170a Change wildcard qualifier type from `String` to
`TableReference` (#11073)
add 528c4ab6ad Allow access to UDTF in `SessionContext` (#11071)
add ed7c884d64 Strip table qualifiers from schema in `UNION ALL` for
unparser (#11082)
add 459afbb3a1 Update ListingTable to use StatisticsConverter (#11068)
add e26601811f to_timestamp functions should preserve timezone (#11038)
add 31daf25576 Rewrite array operator to function in parser (#11101)
add 8b244eee3a Resolve empty relation opt for join types (#11066)
add d44c7f2ac3 Add composed extension codec example (#11095)
add 58e2904dde Minor: Avoid some repetition in to_timestamp (#11116)
add 49aee89796 : (#11110)
add 83c80a9d6b fix: ScalarValue::new_ten error cites one not ten (#11126)
add db64743db1 Deprecate Expr::column_refs (#11115)
add 5f02c8a065 Return `&Arc` reference to inner trait object (#11103)
add ec3c71dc6c Overflow in negate operator (#11084)
add 26b646f3dd Minor: Add Architectural Goals to the docs (#11109)
add 1daf007462 fix: gcd returns negative results (#11099)
add 7adc940245 Fix overflow in pow (#11124)
add dd56dbe67c feat: Add support for Timestamp data types in data page
statistics. (#11123)
add 82f7bf40ad Support to unparse Time scalar value to String (#11121)
add 550c936de9 Support to unparse `TimestampSecond` and
`TimestampMicrosecond` to String (#11120)
add aff777b668 Add standalone example for `OptimizerRule` (#11087)
add f6f63b97cd Fix overflow in factorial (#11134)
add 7e49ccf3dd Temporary Fix: Query error when grouping by case
expressions (#11133)
add e9e2951abb Fix nullability of array_agg. (#11093)
add 2d1e8505ea fix: LCM panicked due to overflow (#11131)
add ff116c3da6 Support filter for List (#11091)
add 8216e32e87 [MINOR]: Fix some minor silent bugs (#11127)
add b468ba7883 remove `derive(Copy)` from `Operator` (#11132)
add 0c4e4a1795 Minor Fix for Logical and Physical Expr Conversions (#11142)
add ad56b7ef6f Support Date Parquet Data Page Statistics (#11135)
add 7dcef2251f fix flaky array query slt test (#11140)
add 4d1665550f Fix running in Docker instructions (#11141)
add 64b8eeafde feat: Add support for
`Binary`/`LargeBinary`/`Utf8`/`LargeUtf8` data types in data page statistics
(#11136)
add 10948ca2f0 Support Decimal and Decimal256 Parquet Data Page Statistics
(#11138)
add f58df32753 feat: Support Map type in Substrait conversions (#11129)
add d2ff2189df Implement comparisons on nested data types such that
distinct/except would work (#11117)
add acadfbf25f Minor: dont panic with bad arguments to round (#10899)
add 5501e8eb32 Support COPY TO Externally Defined File Formats, add
FileType trait (#11060)
add 57280e42dc Minor: reduce replication for nested comparison (#11149)
add 838e0f7504 Initial commit (#11158)
add 3bd720033e expose table name in proto extension codec (#11139)
add ca9c322ab3 adding config to control Varchar behavior (#11090)
add 47db63fb02 minor: consolidate `gcd` related tests (#11164)
add f1360b8486 Minor: move batch spilling methods to `lib.rs` to make it
reusable (#11154)
add 09b3c7342c Move schema projection to where it's used in ListingTable
(#11167)
add 330ece8e43 feat: Conditionally allow to keep partition_by columns when
using PARTITIONED BY enhancement (#11107)
add 7a7797c891 Make running in docker instruction be copy-pastable (#11148)
add c80da91e0f fix(typo): unqualifed to unqualified (#11159)
add 14d39734dc Rewrite `array @> array` and `array <@ array` in
sql_expr_to_logical_expr (#11155)
add 27d3aa6a62 Minor: make some physical_optimizer rules public (#11171)
add 1164a37262 Remove pr_benchmarks.yml (#11165)
add 90145dfc6c Optionally display schema in explain plan (#11177)
add 61ba6550e5 fix: Support dictionary type in parquet metadata
statistics. (#11169)
add e52b5e581b fix: Ignore nullability in Substrait structs (#11130)
add d19487c968 Minor: Add more support for ScalarValue::Float16 (#11156)
add 78055fe13b Minor: fix SQLOptions::with_allow_ddl comments (#11166)
add a64df83502 fix doc (#11181)
add 14696a0500 Update sqllogictest requirement from 0.20.0 to 0.21.0
(#11189)
add d624c0d03e Support Time Parquet Data Page Statistics (#11187)
add e40c8a8915 fix: Support Substrait's compound names also for window
functions (#11163)
add 65006b2a81 Adds support for Dictionary statistics from parquet data
pages. (#11195)
add 9fc53121a3 Make function public (#11191)
add 48a1754b33 Introduce user defined SQL planner API (#11180)
add 09cdb7834d Consolidate `Filter::remove_aliases` into
`Expr::unalias_nested` (#11001)
add ab8761d8b9 docs: add example for custom file format with `COPY TO`
(#11174)
add 4bc322819f Covert grouping to udaf (#11147)
add 75b9c9bea2 Make statistics_from_parquet_meta a sync function (#11205)
add 43ea68208b Allow user defined SQL planners to be registered (#11208)
add 58f79e143e Recursive `unnest` (#11062)
add 1840ab5331 Document how to test examples in user guide, add some more
coverage (#11178)
add a4796fa078 Minor: Move MemoryCatalog*Provider into a module, improve
comments (#11183)
add 4f4cd81de7 Fix docs wordings (#11226)
add 3421b52605 Add standalone example of using the SQL frontend (#11088)
add b76c1b7050 Add Optimizer Sanity Checker, improve sortedness
equivalence properties (#11196)
add 03c8db0a98 fix: Incorrect LEFT JOIN evaluation result on OR conditions
(#11203)
add 9d48045654 Implement user defined planner for extract (#11215)
add 03848c52f0 Move basic SQL query examples to user guide (#11217)
add dc7535a598 Support FixedSizedBinaryArray Parquet Data Page Statistics
(#11200)
add c049a94d0e Implement ScalarValue::Map (#11224)
add 699356178c fix: Be more lenient in interpreting input args for builtin
window functions (#11199)
add 4aa584c677 Remove unmaintained python pre-commit configuration (#11255)
add 4615a2d56c Enable clone_on_ref_ptr clippy lint on execution crate
(#11239)
add c6eee61918 Minor: Improve documentation about pushdown join predicates
(#11209)
add 0922d4a624 Minor: clean up data page statistics tests and fix bugs
(#11236)
add 1ffe0535ad Replacing pattern matching through downcast with trait
method (#11257)
add a753c373ee Update substrait requirement from 0.34.0 to 0.35.0 (#11206)
add 5bdc7454d9 Enhance short circuit handling in `CommonSubexprEliminate`
(#11197)
add b4afa182e7 Add bench for data page statistics parquet extraction
(#10950)
add ecc1c01f76 Register SQL planners in `SessionState` constructor (#11253)
add fe66daaa81 Support DuckDB style struct syntax (#11214)
add 6e63748818 Enable clone_on_ref_ptr clippy lint on expr crate (#11238)
add b46d5b7fc6 Optimize PushDownFilter to avoid recreating schema columns
(#11211)
add 351e5f9564 Remove outdated `rewrite_expr.rs` example (#11085)
add 0d2525e6ea Implement TPCH substrait integration teset, support tpch_2
(#11234)
add 9355f4a5c7 Enable `clone_on_ref_ptr` clippy lint on physical-expr
crate (#11240)
add dce77db316 Add standalone `AnalyzerRule` example that implements row
level access control (#11089)
add df999d6675 Replace println! with assert! if possible in DataFusion
examples (#11237)
add a0dd0a1442 minor: format `Expr::get_type()` (#11267)
add 7df000a333 Fix hash join for nested types (#11232)
add 13cb65e441 Infer count() aggregation is not null (#11256)
add 1b3a7af673 Fix count() docs around including null values (#11293)
add 5657886121 Remove unnecessary qualified names (#11292)
add 682fc05452 Fix running examples readme (#11225)
add 6f86bfad2f feat: enable "substring" as a UDF in addition to "substr"
(#11277)
add 00bbb42c96 fix: correctly handle Substrait windows with rows bounds
(and validate executability of test plans) (#11278)
add b9fdc53ac8 Minor: Add `ConstExpr`::from, use in places (#11283)
add a3e1c3d055 Implement TPCH substrait integration teset, support tpch_3
(#11298)
add 2af3d3a55b Implement user defined planner for position (#11243)
add 08c5345e93 Upgrade to arrow 52.1.0 (and fix clippy issues on main)
(#11302)
add e693ed7a3c AggregateExec: Take grouping sets into account for
InputOrderMode (#11301)
add 9f8ba6ab68 Add user_defined_sql_planners(..) to FunctionRegistry
(#11296)
add 45599ce310 use safe cast in propagate_constraints (#11297)
add 5aa7c4ae79 Minor: Remove clone in optimizer (#11315)
add 229c1398d6 minor: Add `PhysicalSortExpr::new` (#11310)
add 6f330c98b3 Fix data page statistics when all rows are null in a data
page (#11295)
add 940efd3b42 Made userDefinedFunctionPlanner to uniform the usages
(#11318)
add 1e39a8575b Implement user defined planner for `create_struct` &
`create_named_struct` (#11273)
add c254b8bb88 Improve stats convert performance for Binary/String/Boolean
arrays (#11319)
add 2f02c43b62 Fix typos in datafusion-examples/datafusion-cli/docs
(#11259)
add 1ea6545868 Minor: Fix Failing TPC-DS Test (#11331)
add 8b8452298d HashJoin can preserve the right ordering when join type is
Right (#11276)
add 8891be4694 Update substrait requirement from 0.35.0 to 0.36.0 (#11328)
add 2bd14cf62c Improve timestamp predicates support (#11326)
add f5e114e4f7 Implement user defined planner for sql_substring_to_expr
(#11327)
add b6281b54bb Improve volatile expression handling in
`CommonSubexprEliminate` (#11265)
add 0c02cad2b5 Support `IS NULL` and `IS NOT NULL` on Unions (#11321)
add 4ac1428025 Convert `nth_value` to UDAF (#11287)
add e4b54f6eae Implement TPCH substrait integration test, support tpch_4
and tpch_5 (#11311)
add 37428bb203 Enable `clone_on_ref_ptr` clippy lint on physical-plan
crate (#11241)
add 894a8794d1 fix: When consuming Substrait, temporarily rename clashing
duplicate columns (#11329)
add 99911449bc Remove any aliases in `Filter::try_new` rather than
erroring (#11307)
add 8ae56fc2b8 Improve `DataFrame` Users Guide (#11324)
add 782df39007 chore: Rename UserDefinedSQLPlanner to ExprPlanner (#11338)
add a6898d36c4 Revert "remove `derive(Copy)` from `Operator` (#11132)"
(#11341)
add 4123ad6ca7 Prepare 40.0.0 Release (#11343)
add fa0191772e Support `NULL` literals in where clause (#11266)
add e65c3e9198 Minor: Add link to blog to main DataFusion website (#11356)
add 3d1792fb9f Implement TPCH substrait integration test, support tpch_6,
tpch_10, tpch_11 (#11349)
add 6cca0f7f37 Fix bug when pushing projection under joins (#11333)
add 7f25d9dd63 Minor: some cosmetics in `filter.rs`, fix clippy due to
logical conflict (#11368)
add 9df393ea55 Update prost-derive requirement from 0.12 to 0.13 (#11355)
add c018c74ae1 Minor: update dashmap (#11335)
add 1e0c06e14a Improve and test dataframe API examples in docs (#11290)
add 16a3148354 Remove redundant `unalias_nested` calls for creating
Filter's (#11340)
add 146b679aa1 Enable `clone_on_ref_ptr` clippy lint on optimizer (#11346)
add 9a8f8b7188 fix: Fix eq properties regression from #10434 (#11363)
add d99002cf0b Update termtree requirement from 0.4.1 to 0.5.0 (#11383)
add b96186fdef Introduce `resources_err!` error macro (#11374)
add 585504a31f Enable clone_on_ref_ptr clippy lint on common (#11384)
add 6038f4cfac Track parquet writer encoding memory usage on MemoryPool
(#11345)
add 32cb3c5a54 Minor: remove clones and unnecessary Arcs in
`from_substrait_rex` (#11337)
add cc7484e0b7 Minor: Change no-statement error message to be clearer
(#11394)
add d522d5bf39 Merge remote-tracking branch 'apache/main' into string-view
add 2f0a7eceda Remove arrow-patch
No new revisions were added by this update.
Summary of changes:
.github/workflows/pr_benchmarks.yml | 101 --
.github/workflows/rust.yml | 2 +-
.pre-commit-config.yaml | 69 -
Cargo.toml | 74 +-
ci/scripts/rust_example.sh | 2 +-
datafusion-cli/Cargo.lock | 665 +++-----
datafusion-cli/Cargo.toml | 25 +-
datafusion-cli/Dockerfile | 13 +-
datafusion-cli/src/catalog.rs | 9 +-
datafusion-cli/src/exec.rs | 31 +-
datafusion-cli/src/helper.rs | 4 +-
datafusion-cli/src/main.rs | 2 +-
datafusion-examples/Cargo.toml | 4 +-
datafusion-examples/README.md | 30 +-
.../examples/advanced_parquet_index.rs | 664 ++++++++
datafusion-examples/examples/advanced_udaf.rs | 4 +-
datafusion-examples/examples/advanced_udwf.rs | 2 +-
datafusion-examples/examples/analyzer_rule.rs | 200 +++
datafusion-examples/examples/avro_sql.rs | 51 -
datafusion-examples/examples/catalog.rs | 2 +-
.../examples/composed_extension_codec.rs | 291 ++++
datafusion-examples/examples/csv_sql.rs | 70 -
datafusion-examples/examples/custom_file_format.rs | 234 +++
datafusion-examples/examples/dataframe_subquery.rs | 1 +
datafusion-examples/examples/expr_api.rs | 8 +-
.../external_dependency/dataframe-to-s3.rs | 6 +-
.../examples/file_stream_provider.rs | 326 ++--
datafusion-examples/examples/optimizer_rule.rs | 220 +++
datafusion-examples/examples/parquet_index.rs | 6 +-
datafusion-examples/examples/parquet_sql.rs | 51 -
datafusion-examples/examples/parse_sql_expr.rs | 157 ++
datafusion-examples/examples/pruning.rs | 5 +
datafusion-examples/examples/rewrite_expr.rs | 255 ----
datafusion-examples/examples/simple_udwf.rs | 2 +-
.../examples/simplify_udaf_expression.rs | 38 +-
.../examples/simplify_udwf_expression.rs | 10 +-
datafusion-examples/examples/sql_analysis.rs | 309 ++++
datafusion-examples/examples/sql_frontend.rs | 207 +++
datafusion/common-runtime/src/lib.rs | 2 +
datafusion/common/src/column.rs | 7 +
datafusion/common/src/config.rs | 108 +-
datafusion/common/src/dfschema.rs | 27 +-
datafusion/common/src/display/mod.rs | 14 +-
datafusion/common/src/error.rs | 3 +
datafusion/common/src/file_options/csv_writer.rs | 6 +
datafusion/common/src/file_options/file_type.rs | 116 +-
datafusion/common/src/file_options/mod.rs | 12 +-
datafusion/common/src/hash_utils.rs | 21 +-
datafusion/common/src/lib.rs | 6 +-
datafusion/common/src/scalar/mod.rs | 595 ++++++--
datafusion/common/src/scalar/struct_builder.rs | 2 +-
datafusion/common/src/tree_node.rs | 88 +-
datafusion/common/src/utils/mod.rs | 18 +-
datafusion/core/Cargo.toml | 2 +-
datafusion/core/benches/parquet_statistic.rs | 167 +-
datafusion/core/benches/sql_planner.rs | 2 +-
datafusion/core/src/catalog/information_schema.rs | 2 +-
datafusion/core/src/catalog/listing_schema.rs | 2 +-
datafusion/core/src/catalog/memory.rs | 352 +++++
datafusion/core/src/catalog/mod.rs | 193 +--
datafusion/core/src/catalog/schema.rs | 155 +-
datafusion/core/src/dataframe/mod.rs | 431 +++++-
datafusion/core/src/dataframe/parquet.rs | 19 +-
.../core/src/datasource/file_format/arrow.rs | 57 +-
datafusion/core/src/datasource/file_format/avro.rs | 56 +
datafusion/core/src/datasource/file_format/csv.rs | 92 +-
.../file_format/file_compression_type.rs | 83 +-
datafusion/core/src/datasource/file_format/json.rs | 76 +-
datafusion/core/src/datasource/file_format/mod.rs | 92 +-
.../core/src/datasource/file_format/parquet.rs | 579 ++++---
.../core/src/datasource/file_format/write/demux.rs | 13 +-
.../datasource/file_format/write/orchestration.rs | 1 +
datafusion/core/src/datasource/function.rs | 5 +
datafusion/core/src/datasource/listing/helpers.rs | 2 +-
datafusion/core/src/datasource/listing/table.rs | 103 +-
.../core/src/datasource/listing_table_factory.rs | 41 +-
.../core/src/datasource/physical_plan/csv.rs | 24 +-
.../core/src/datasource/physical_plan/json.rs | 14 +-
.../core/src/datasource/physical_plan/mod.rs | 2 +
.../physical_plan/parquet/access_plan.rs | 5 +
.../src/datasource/physical_plan/parquet/mod.rs | 20 +-
.../datasource/physical_plan/parquet/row_filter.rs | 25 +-
.../datasource/physical_plan/parquet/row_groups.rs | 26 +-
.../datasource/physical_plan/parquet/statistics.rs | 607 +++++++-
datafusion/core/src/datasource/statistics.rs | 21 +-
datafusion/core/src/execution/context/csv.rs | 4 +-
datafusion/core/src/execution/context/mod.rs | 91 +-
datafusion/core/src/execution/session_state.rs | 230 ++-
datafusion/core/src/lib.rs | 143 +-
.../src/physical_optimizer/aggregate_statistics.rs | 2 +-
.../combine_partial_final_agg.rs | 66 +-
datafusion/core/src/physical_optimizer/mod.rs | 6 +-
.../core/src/physical_optimizer/optimizer.rs | 18 +-
.../src/physical_optimizer/output_requirements.rs | 4 +-
.../src/physical_optimizer/pipeline_checker.rs | 334 ----
.../src/physical_optimizer/projection_pushdown.rs | 50 +-
datafusion/core/src/physical_optimizer/pruning.rs | 26 +-
.../core/src/physical_optimizer/sanity_checker.rs | 666 ++++++++
.../core/src/physical_optimizer/sort_pushdown.rs | 31 +-
.../src/physical_optimizer/update_aggr_exprs.rs | 1 +
datafusion/core/src/physical_planner.rs | 140 +-
datafusion/core/src/test/mod.rs | 23 +-
datafusion/core/src/test_util/mod.rs | 40 +
datafusion/core/tests/custom_sources_cases/mod.rs | 6 +-
.../provider_filter_pushdown.rs | 4 +
.../core/tests/custom_sources_cases/statistics.rs | 4 +
datafusion/core/tests/data/double_quote.csv | 5 +
datafusion/core/tests/dataframe/mod.rs | 186 ++-
datafusion/core/tests/expr_api/mod.rs | 1 +
datafusion/core/tests/expr_api/parse_sql_expr.rs | 93 ++
datafusion/core/tests/fifo/mod.rs | 59 +-
datafusion/core/tests/fuzz_cases/join_fuzz.rs | 282 +++-
.../fuzz_cases/sort_preserving_repartition_fuzz.rs | 6 +-
datafusion/core/tests/memory_limit/mod.rs | 25 +
datafusion/core/tests/parquet/arrow_statistics.rs | 405 +++--
datafusion/core/tests/parquet/mod.rs | 15 +
datafusion/core/tests/path_partition.rs | 4 +-
datafusion/core/tests/sql/aggregates.rs | 38 +-
datafusion/core/tests/sql/explain_analyze.rs | 8 +-
datafusion/core/tests/sql/joins.rs | 2 +-
datafusion/core/tests/sql/select.rs | 2 +-
datafusion/core/tests/sql/sql_api.rs | 34 +
datafusion/core/tests/tpcds_planning.rs | 5 +-
datafusion/core/tests/user_defined/expr_planner.rs | 123 ++
datafusion/core/tests/user_defined/mod.rs | 3 +
.../tests/user_defined/user_defined_aggregates.rs | 3 +-
.../core/tests/user_defined/user_defined_plan.rs | 142 +-
.../user_defined/user_defined_scalar_functions.rs | 15 +-
.../user_defined/user_defined_table_functions.rs | 15 +
datafusion/execution/src/cache/cache_manager.rs | 4 +-
datafusion/execution/src/cache/cache_unit.rs | 6 +-
datafusion/execution/src/disk_manager.rs | 8 +-
datafusion/execution/src/lib.rs | 2 +
datafusion/execution/src/memory_pool/mod.rs | 4 +-
datafusion/execution/src/memory_pool/pool.rs | 5 +-
datafusion/execution/src/object_store.rs | 2 +-
datafusion/execution/src/task.rs | 21 +-
datafusion/expr/src/aggregate_function.rs | 87 +-
datafusion/expr/src/expr.rs | 332 +++-
datafusion/expr/src/expr_fn.rs | 32 +-
datafusion/expr/src/expr_rewriter/mod.rs | 3 +-
datafusion/expr/src/expr_rewriter/order_by.rs | 8 +-
datafusion/expr/src/expr_schema.rs | 102 +-
datafusion/expr/src/function.rs | 8 +
datafusion/expr/src/lib.rs | 4 +
datafusion/expr/src/logical_plan/builder.rs | 49 +-
datafusion/expr/src/logical_plan/display.rs | 4 +-
datafusion/expr/src/logical_plan/dml.rs | 6 +-
datafusion/expr/src/logical_plan/plan.rs | 149 +-
datafusion/expr/src/logical_plan/tree_node.rs | 4 +-
datafusion/expr/src/planner.rs | 207 +++
datafusion/expr/src/registry.rs | 16 +
datafusion/expr/src/table_source.rs | 19 +-
datafusion/expr/src/test/function_stub.rs | 80 +-
datafusion/expr/src/tree_node.rs | 3 +-
datafusion/expr/src/type_coercion/aggregates.rs | 139 +-
datafusion/expr/src/type_coercion/binary.rs | 42 +-
datafusion/expr/src/type_coercion/functions.rs | 12 +-
datafusion/expr/src/udaf.rs | 13 +-
datafusion/expr/src/udf.rs | 12 +-
datafusion/expr/src/udwf.rs | 10 +-
datafusion/expr/src/utils.rs | 24 +-
.../functions-aggregate/src/approx_distinct.rs | 2 +-
.../src/approx_percentile_cont.rs | 2 +-
.../src}/average.rs | 408 +++--
.../functions-aggregate/src/bit_and_or_xor.rs | 10 +-
datafusion/functions-aggregate/src/bool_and_or.rs | 343 +++++
datafusion/functions-aggregate/src/correlation.rs | 225 +++
datafusion/functions-aggregate/src/count.rs | 29 +-
datafusion/functions-aggregate/src/grouping.rs | 97 ++
datafusion/functions-aggregate/src/lib.rs | 23 +-
datafusion/functions-aggregate/src/median.rs | 4 +-
.../src}/nth_value.rs | 213 +--
datafusion/functions-aggregate/src/string_agg.rs | 153 ++
datafusion/functions-aggregate/src/sum.rs | 2 +-
datafusion/functions-array/Cargo.toml | 1 +
datafusion/functions-array/src/lib.rs | 4 +-
datafusion/functions-array/src/make_array.rs | 4 +-
datafusion/functions-array/src/planner.rs | 160 ++
datafusion/functions-array/src/rewrite.rs | 181 ---
datafusion/functions-array/src/string.rs | 29 +-
datafusion/functions-array/src/utils.rs | 12 +-
datafusion/functions/Cargo.toml | 1 -
datafusion/functions/src/core/mod.rs | 2 +-
datafusion/functions/src/core/planner.rs | 59 +
datafusion/functions/src/datetime/to_timestamp.rs | 150 +-
datafusion/functions/src/lib.rs | 3 +
datafusion/functions/src/math/factorial.rs | 44 +-
datafusion/functions/src/math/gcd.rs | 73 +-
datafusion/functions/src/math/lcm.rs | 50 +-
datafusion/functions/src/math/power.rs | 33 +-
datafusion/functions/src/math/round.rs | 109 +-
datafusion/functions/src/planner.rs | 51 +
datafusion/functions/src/regex/regexpreplace.rs | 2 +-
datafusion/functions/src/string/btrim.rs | 2 +-
datafusion/functions/src/string/ltrim.rs | 2 +-
datafusion/functions/src/string/rtrim.rs | 2 +-
datafusion/functions/src/unicode/substr.rs | 6 +
datafusion/functions/src/utils.rs | 2 +-
datafusion/optimizer/README.md | 6 +-
.../optimizer/src/analyzer/count_wildcard_rule.rs | 40 +-
datafusion/optimizer/src/analyzer/mod.rs | 2 +-
datafusion/optimizer/src/analyzer/subquery.rs | 28 +-
datafusion/optimizer/src/analyzer/type_coercion.rs | 64 +-
.../optimizer/src/common_subexpr_eliminate.rs | 1600 +++++++++++++-------
datafusion/optimizer/src/decorrelate.rs | 28 +-
.../src/decorrelate_predicate_subquery.rs | 98 +-
datafusion/optimizer/src/eliminate_cross_join.rs | 14 +-
.../optimizer/src/eliminate_duplicated_expr.rs | 10 +-
datafusion/optimizer/src/eliminate_filter.rs | 13 +-
.../optimizer/src/eliminate_group_by_constant.rs | 30 +-
datafusion/optimizer/src/eliminate_join.rs | 10 +-
datafusion/optimizer/src/eliminate_limit.rs | 13 +-
datafusion/optimizer/src/eliminate_nested_union.rs | 46 +-
datafusion/optimizer/src/eliminate_one_union.rs | 15 +-
datafusion/optimizer/src/eliminate_outer_join.rs | 25 +-
.../optimizer/src/extract_equijoin_predicate.rs | 13 +-
datafusion/optimizer/src/filter_null_join_keys.rs | 10 +-
datafusion/optimizer/src/lib.rs | 3 +
.../optimizer/src/optimize_projections/mod.rs | 46 +-
.../src/optimize_projections/required_indices.rs | 4 +-
datafusion/optimizer/src/optimizer.rs | 63 +-
datafusion/optimizer/src/plan_signature.rs | 4 +-
.../optimizer/src/propagate_empty_relation.rs | 258 +++-
datafusion/optimizer/src/push_down_filter.rs | 374 +++--
datafusion/optimizer/src/push_down_limit.rs | 10 +-
.../optimizer/src/replace_distinct_aggregate.rs | 10 +-
.../optimizer/src/rewrite_disjunctive_predicate.rs | 9 -
.../optimizer/src/scalar_subquery_to_join.rs | 10 +-
.../src/simplify_expressions/expr_simplifier.rs | 25 +-
.../optimizer/src/simplify_expressions/regex.rs | 68 +-
.../src/simplify_expressions/simplify_exprs.rs | 10 +-
.../optimizer/src/single_distinct_to_groupby.rs | 78 +-
datafusion/optimizer/src/test/mod.rs | 41 +-
.../optimizer/src/unwrap_cast_in_comparison.rs | 12 +-
datafusion/optimizer/src/utils.rs | 36 +-
.../optimizer/tests/optimizer_integration.rs | 33 +-
.../src/aggregate/count_distinct/bytes.rs | 4 +-
.../src/aggregate/count_distinct/native.rs | 6 +-
.../src/aggregate/merge_arrays.rs | 195 +++
.../physical-expr-common/src/aggregate/mod.rs | 15 +
.../physical-expr-common/src/aggregate/tdigest.rs | 2 +-
datafusion/physical-expr-common/src/binary_map.rs | 4 +-
datafusion/physical-expr-common/src/datum.rs | 147 ++
.../physical-expr-common/src/expressions/cast.rs | 100 +-
datafusion/physical-expr-common/src/lib.rs | 1 +
datafusion/physical-expr-common/src/sort_expr.rs | 23 +-
datafusion/physical-expr-common/src/utils.rs | 5 +-
datafusion/physical-expr/Cargo.toml | 1 -
.../physical-expr/src/aggregate/array_agg.rs | 21 +-
.../src/aggregate/array_agg_distinct.rs | 17 +-
.../src/aggregate/array_agg_ordered.rs | 219 +--
.../physical-expr/src/aggregate/bool_and_or.rs | 394 -----
datafusion/physical-expr/src/aggregate/build_in.rs | 210 +--
.../physical-expr/src/aggregate/correlation.rs | 524 -------
.../physical-expr/src/aggregate/covariance.rs | 227 ---
datafusion/physical-expr/src/aggregate/grouping.rs | 103 --
.../src/aggregate/groups_accumulator/mod.rs | 4 +-
datafusion/physical-expr/src/aggregate/min_max.rs | 151 +-
datafusion/physical-expr/src/aggregate/mod.rs | 9 -
datafusion/physical-expr/src/aggregate/stddev.rs | 87 --
.../physical-expr/src/aggregate/string_agg.rs | 246 ---
datafusion/physical-expr/src/aggregate/variance.rs | 176 ---
datafusion/physical-expr/src/analysis.rs | 14 +-
datafusion/physical-expr/src/equivalence/class.rs | 130 +-
datafusion/physical-expr/src/equivalence/mod.rs | 32 +-
.../physical-expr/src/equivalence/ordering.rs | 26 +-
.../physical-expr/src/equivalence/projection.rs | 59 +-
.../physical-expr/src/equivalence/properties.rs | 447 ++++--
datafusion/physical-expr/src/expressions/binary.rs | 74 +-
datafusion/physical-expr/src/expressions/case.rs | 36 +-
datafusion/physical-expr/src/expressions/datum.rs | 58 -
.../physical-expr/src/expressions/in_list.rs | 120 +-
.../physical-expr/src/expressions/is_not_null.rs | 56 +-
.../physical-expr/src/expressions/is_null.rs | 131 +-
datafusion/physical-expr/src/expressions/like.rs | 16 +-
datafusion/physical-expr/src/expressions/mod.rs | 9 -
.../physical-expr/src/expressions/negative.rs | 2 +-
datafusion/physical-expr/src/expressions/not.rs | 2 +-
.../physical-expr/src/expressions/try_cast.rs | 4 +-
datafusion/physical-expr/src/functions.rs | 10 +-
.../physical-expr/src/intervals/cp_solver.rs | 30 +-
.../physical-expr/src/intervals/test_utils.rs | 18 +-
datafusion/physical-expr/src/lib.rs | 4 +-
datafusion/physical-expr/src/partitioning.rs | 8 +-
datafusion/physical-expr/src/physical_expr.rs | 20 +-
datafusion/physical-expr/src/planner.rs | 40 +-
datafusion/physical-expr/src/scalar_function.rs | 2 +-
datafusion/physical-expr/src/utils/guarantee.rs | 30 +-
datafusion/physical-expr/src/utils/mod.rs | 6 +-
datafusion/physical-expr/src/window/built_in.rs | 4 +-
datafusion/physical-expr/src/window/lead_lag.rs | 6 +-
datafusion/physical-expr/src/window/nth_value.rs | 4 +-
.../physical-expr/src/window/sliding_aggregate.rs | 2 +-
datafusion/physical-expr/src/window/window_expr.rs | 6 +-
datafusion/physical-plan/Cargo.toml | 2 +-
.../src/aggregates/group_values/row.rs | 16 +-
datafusion/physical-plan/src/aggregates/mod.rs | 299 ++--
.../physical-plan/src/aggregates/no_grouping.rs | 9 +-
.../physical-plan/src/aggregates/order/partial.rs | 3 +-
.../physical-plan/src/aggregates/row_hash.rs | 16 +-
.../physical-plan/src/aggregates/topk_stream.rs | 10 +-
datafusion/physical-plan/src/analyze.rs | 16 +-
datafusion/physical-plan/src/coalesce_batches.rs | 8 +-
.../physical-plan/src/coalesce_partitions.rs | 12 +-
datafusion/physical-plan/src/common.rs | 7 +-
datafusion/physical-plan/src/display.rs | 51 +-
datafusion/physical-plan/src/empty.rs | 15 +-
datafusion/physical-plan/src/explain.rs | 6 +-
datafusion/physical-plan/src/filter.rs | 78 +-
datafusion/physical-plan/src/insert.rs | 14 +-
datafusion/physical-plan/src/joins/cross_join.rs | 14 +-
datafusion/physical-plan/src/joins/hash_join.rs | 273 +++-
.../physical-plan/src/joins/nested_loop_join.rs | 27 +-
.../physical-plan/src/joins/sort_merge_join.rs | 369 +++--
.../physical-plan/src/joins/stream_join_utils.rs | 10 +-
.../physical-plan/src/joins/symmetric_hash_join.rs | 20 +-
datafusion/physical-plan/src/joins/test_utils.rs | 51 +-
datafusion/physical-plan/src/joins/utils.rs | 147 +-
datafusion/physical-plan/src/lib.rs | 101 +-
datafusion/physical-plan/src/limit.rs | 12 +-
datafusion/physical-plan/src/memory.rs | 9 +-
datafusion/physical-plan/src/placeholder_row.rs | 13 +-
datafusion/physical-plan/src/projection.rs | 20 +-
datafusion/physical-plan/src/recursive_query.rs | 23 +-
datafusion/physical-plan/src/repartition/mod.rs | 61 +-
datafusion/physical-plan/src/sorts/builder.rs | 6 +-
datafusion/physical-plan/src/sorts/merge.rs | 3 +-
datafusion/physical-plan/src/sorts/partial_sort.rs | 53 +-
datafusion/physical-plan/src/sorts/sort.rs | 160 +-
.../src/sorts/sort_preserving_merge.rs | 50 +-
datafusion/physical-plan/src/sorts/stream.rs | 2 +-
datafusion/physical-plan/src/stream.rs | 28 +-
datafusion/physical-plan/src/streaming.rs | 6 +-
datafusion/physical-plan/src/test.rs | 5 +-
datafusion/physical-plan/src/test/exec.rs | 38 +-
datafusion/physical-plan/src/topk/mod.rs | 4 +-
datafusion/physical-plan/src/tree_node.rs | 2 +-
datafusion/physical-plan/src/union.rs | 106 +-
datafusion/physical-plan/src/unnest.rs | 36 +-
datafusion/physical-plan/src/values.rs | 10 +-
.../src/windows/bounded_window_agg_exec.rs | 62 +-
datafusion/physical-plan/src/windows/mod.rs | 87 +-
.../physical-plan/src/windows/window_agg_exec.rs | 15 +-
datafusion/physical-plan/src/work_table.rs | 8 +-
datafusion/proto-common/Cargo.toml | 2 +-
datafusion/proto-common/gen/Cargo.toml | 2 +-
.../proto-common/proto/datafusion_common.proto | 10 +-
datafusion/proto-common/src/from_proto/mod.rs | 30 +-
datafusion/proto-common/src/generated/pbjson.rs | 87 ++
datafusion/proto-common/src/generated/prost.rs | 18 +-
datafusion/proto-common/src/to_proto/mod.rs | 12 +-
datafusion/proto/CONTRIBUTING.md | 2 +-
datafusion/proto/Cargo.toml | 2 +-
datafusion/proto/gen/Cargo.toml | 2 +-
datafusion/proto/gen/src/main.rs | 1 +
datafusion/proto/proto/datafusion.proto | 27 +-
datafusion/proto/src/bytes/mod.rs | 5 +
datafusion/proto/src/bytes/registry.rs | 5 +
.../proto/src/generated/datafusion_proto_common.rs | 18 +-
datafusion/proto/src/generated/pbjson.rs | 168 +-
datafusion/proto/src/generated/prost.rs | 67 +-
datafusion/proto/src/logical_plan/file_formats.rs | 409 +++++
datafusion/proto/src/logical_plan/from_proto.rs | 23 +-
datafusion/proto/src/logical_plan/mod.rs | 49 +-
datafusion/proto/src/logical_plan/to_proto.rs | 34 +-
datafusion/proto/src/physical_plan/from_proto.rs | 23 +-
datafusion/proto/src/physical_plan/mod.rs | 12 +-
datafusion/proto/src/physical_plan/to_proto.rs | 83 +-
.../proto/tests/cases/roundtrip_logical_plan.rs | 164 +-
.../proto/tests/cases/roundtrip_physical_plan.rs | 99 +-
datafusion/sql/src/cte.rs | 11 +-
datafusion/sql/src/expr/function.rs | 6 +-
datafusion/sql/src/expr/mod.rs | 314 ++--
datafusion/sql/src/expr/subquery.rs | 6 +-
datafusion/sql/src/expr/substring.rs | 24 +-
datafusion/sql/src/expr/value.rs | 31 +-
datafusion/sql/src/parser.rs | 29 +-
datafusion/sql/src/planner.rs | 97 +-
datafusion/sql/src/query.rs | 18 +-
datafusion/sql/src/relation/join.rs | 31 +-
datafusion/sql/src/select.rs | 106 +-
datafusion/sql/src/statement.rs | 61 +-
datafusion/sql/src/unparser/expr.rs | 328 +++-
datafusion/sql/src/unparser/mod.rs | 1 +
datafusion/sql/src/unparser/plan.rs | 7 +-
datafusion/sql/src/unparser/rewrite.rs | 101 ++
datafusion/sql/src/utils.rs | 143 +-
datafusion/sql/tests/cases/plan_to_sql.rs | 14 +-
datafusion/sql/tests/common/mod.rs | 32 +-
datafusion/sql/tests/sql_integration.rs | 113 +-
datafusion/sqllogictest/Cargo.toml | 2 +-
.../test_files/agg_func_substitute.slt | 30 +-
datafusion/sqllogictest/test_files/aggregate.slt | 339 +++--
datafusion/sqllogictest/test_files/array.slt | 70 +
datafusion/sqllogictest/test_files/array_query.slt | 128 +-
datafusion/sqllogictest/test_files/avro.slt | 6 +-
datafusion/sqllogictest/test_files/cast.slt | 20 +
datafusion/sqllogictest/test_files/copy.slt | 21 +
datafusion/sqllogictest/test_files/cse.slt | 173 +++
datafusion/sqllogictest/test_files/csv_files.slt | 67 +
datafusion/sqllogictest/test_files/cte.slt | 26 +-
datafusion/sqllogictest/test_files/errors.slt | 2 +-
datafusion/sqllogictest/test_files/explain.slt | 38 +-
datafusion/sqllogictest/test_files/expr.slt | 37 +-
datafusion/sqllogictest/test_files/group_by.slt | 112 +-
.../sqllogictest/test_files/information_schema.slt | 6 +
datafusion/sqllogictest/test_files/insert.slt | 28 +-
.../sqllogictest/test_files/insert_to_external.slt | 20 +-
datafusion/sqllogictest/test_files/join.slt | 251 +++
datafusion/sqllogictest/test_files/joins.slt | 448 +++++-
datafusion/sqllogictest/test_files/json.slt | 6 +-
datafusion/sqllogictest/test_files/limit.slt | 18 +-
datafusion/sqllogictest/test_files/math.slt | 118 ++
datafusion/sqllogictest/test_files/misc.slt | 14 +
.../test_files/optimizer_group_by_constant.slt | 16 +-
datafusion/sqllogictest/test_files/predicates.slt | 4 +-
.../sqllogictest/test_files/push_down_filter.slt | 124 ++
datafusion/sqllogictest/test_files/regexp.slt | 81 +
datafusion/sqllogictest/test_files/scalar.slt | 80 +-
datafusion/sqllogictest/test_files/select.slt | 22 +-
.../sqllogictest/test_files/sort_merge_join.slt | 29 +-
datafusion/sqllogictest/test_files/strings.slt | 49 +
datafusion/sqllogictest/test_files/struct.slt | 25 +
datafusion/sqllogictest/test_files/subquery.slt | 121 +-
datafusion/sqllogictest/test_files/timestamps.slt | 43 +
.../sqllogictest/test_files/tpch/q1.slt.part | 14 +-
.../sqllogictest/test_files/tpch/q13.slt.part | 18 +-
.../sqllogictest/test_files/tpch/q16.slt.part | 10 +-
.../sqllogictest/test_files/tpch/q17.slt.part | 14 +-
.../sqllogictest/test_files/tpch/q21.slt.part | 10 +-
.../sqllogictest/test_files/tpch/q22.slt.part | 20 +-
.../sqllogictest/test_files/tpch/q4.slt.part | 10 +-
datafusion/sqllogictest/test_files/union.slt | 18 +-
datafusion/sqllogictest/test_files/unnest.slt | 97 ++
datafusion/sqllogictest/test_files/window.slt | 243 +--
datafusion/substrait/Cargo.toml | 4 +-
datafusion/substrait/src/logical_plan/consumer.rs | 768 +++++-----
datafusion/substrait/src/logical_plan/producer.rs | 89 +-
datafusion/substrait/src/physical_plan/consumer.rs | 87 +-
datafusion/substrait/src/physical_plan/producer.rs | 93 +-
.../substrait/tests/cases/consumer_integration.rs | 355 ++++-
datafusion/substrait/tests/cases/logical_plans.rs | 34 +-
.../tests/cases/roundtrip_logical_plan.rs | 176 ++-
.../tests/cases/roundtrip_physical_plan.rs | 92 +-
datafusion/substrait/tests/testdata/Readme.md | 51 +
datafusion/substrait/tests/testdata/data.csv | 4 +-
datafusion/substrait/tests/testdata/data.parquet | Bin 0 -> 4342 bytes
datafusion/substrait/tests/testdata/empty.parquet | Bin 0 -> 976 bytes
.../non_nullable_lists.substrait.json | 0
.../select_not_bool.substrait.json | 0
.../test_plans/select_window.substrait.json | 153 ++
.../substrait/tests/testdata/tpch/customer.csv | 2 +
.../substrait/tests/testdata/tpch/nation.csv | 2 +
.../substrait/tests/testdata/tpch/orders.csv | 2 +
datafusion/substrait/tests/testdata/tpch/part.csv | 2 +
.../substrait/tests/testdata/tpch/partsupp.csv | 2 +
.../substrait/tests/testdata/tpch/region.csv | 2 +
.../substrait/tests/testdata/tpch/supplier.csv | 2 +
.../testdata/tpch_substrait_plans/query_10.json | 1257 +++++++++++++++
.../testdata/tpch_substrait_plans/query_11.json | 1059 +++++++++++++
.../testdata/tpch_substrait_plans/query_2.json | 1582 +++++++++++++++++++
.../testdata/tpch_substrait_plans/query_3.json | 851 +++++++++++
.../testdata/tpch_substrait_plans/query_4.json | 540 +++++++
.../testdata/tpch_substrait_plans/query_5.json | 1254 +++++++++++++++
.../testdata/tpch_substrait_plans/query_6.json | 585 +++++++
.../wasmtest/datafusion-wasm-app/package-lock.json | 12 +-
dev/changelog/40.0.0.md | 371 +++++
docs/source/contributor-guide/getting_started.md | 4 +-
docs/source/contributor-guide/inviting.md | 2 +-
docs/source/contributor-guide/testing.md | 25 +
docs/source/index.rst | 5 +-
docs/source/library-user-guide/adding-udfs.md | 4 +-
.../library-user-guide/using-the-dataframe-api.md | 302 +++-
.../source/library-user-guide/using-the-sql-api.md | 200 +++
.../library-user-guide/working-with-exprs.md | 6 +-
docs/source/user-guide/cli/installation.md | 7 +-
docs/source/user-guide/configs.md | 5 +-
docs/source/user-guide/dataframe.md | 121 +-
docs/source/user-guide/example-usage.md | 13 +-
docs/source/user-guide/expressions.md | 4 +-
docs/source/user-guide/introduction.md | 2 +-
docs/source/user-guide/sql/aggregate_functions.md | 6 +-
docs/source/user-guide/sql/dml.md | 5 +-
docs/source/user-guide/sql/scalar_functions.md | 8 +
docs/source/user-guide/sql/write_options.md | 10 +
486 files changed, 30214 insertions(+), 11364 deletions(-)
delete mode 100644 .github/workflows/pr_benchmarks.yml
delete mode 100644 .pre-commit-config.yaml
create mode 100644 datafusion-examples/examples/advanced_parquet_index.rs
create mode 100644 datafusion-examples/examples/analyzer_rule.rs
delete mode 100644 datafusion-examples/examples/avro_sql.rs
create mode 100644 datafusion-examples/examples/composed_extension_codec.rs
delete mode 100644 datafusion-examples/examples/csv_sql.rs
create mode 100644 datafusion-examples/examples/custom_file_format.rs
create mode 100644 datafusion-examples/examples/optimizer_rule.rs
delete mode 100644 datafusion-examples/examples/parquet_sql.rs
create mode 100644 datafusion-examples/examples/parse_sql_expr.rs
delete mode 100644 datafusion-examples/examples/rewrite_expr.rs
create mode 100644 datafusion-examples/examples/sql_analysis.rs
create mode 100644 datafusion-examples/examples/sql_frontend.rs
create mode 100644 datafusion/core/src/catalog/memory.rs
delete mode 100644 datafusion/core/src/physical_optimizer/pipeline_checker.rs
create mode 100644 datafusion/core/src/physical_optimizer/sanity_checker.rs
create mode 100644 datafusion/core/tests/data/double_quote.csv
create mode 100644 datafusion/core/tests/expr_api/parse_sql_expr.rs
create mode 100644 datafusion/core/tests/user_defined/expr_planner.rs
create mode 100644 datafusion/expr/src/planner.rs
rename datafusion/{physical-expr/src/aggregate =>
functions-aggregate/src}/average.rs (76%)
create mode 100644 datafusion/functions-aggregate/src/bool_and_or.rs
create mode 100644 datafusion/functions-aggregate/src/correlation.rs
create mode 100644 datafusion/functions-aggregate/src/grouping.rs
rename datafusion/{physical-expr/src/aggregate =>
functions-aggregate/src}/nth_value.rs (75%)
create mode 100644 datafusion/functions-aggregate/src/string_agg.rs
create mode 100644 datafusion/functions-array/src/planner.rs
delete mode 100644 datafusion/functions-array/src/rewrite.rs
create mode 100644 datafusion/functions/src/core/planner.rs
create mode 100644 datafusion/functions/src/planner.rs
create mode 100644
datafusion/physical-expr-common/src/aggregate/merge_arrays.rs
create mode 100644 datafusion/physical-expr-common/src/datum.rs
delete mode 100644 datafusion/physical-expr/src/aggregate/bool_and_or.rs
delete mode 100644 datafusion/physical-expr/src/aggregate/correlation.rs
delete mode 100644 datafusion/physical-expr/src/aggregate/covariance.rs
delete mode 100644 datafusion/physical-expr/src/aggregate/grouping.rs
delete mode 100644 datafusion/physical-expr/src/aggregate/stddev.rs
delete mode 100644 datafusion/physical-expr/src/aggregate/string_agg.rs
delete mode 100644 datafusion/physical-expr/src/aggregate/variance.rs
delete mode 100644 datafusion/physical-expr/src/expressions/datum.rs
create mode 100644 datafusion/proto/src/logical_plan/file_formats.rs
create mode 100644 datafusion/sql/src/unparser/rewrite.rs
create mode 100644 datafusion/sqllogictest/test_files/cse.slt
create mode 100644 datafusion/sqllogictest/test_files/push_down_filter.slt
create mode 100644 datafusion/substrait/tests/testdata/Readme.md
create mode 100644 datafusion/substrait/tests/testdata/data.parquet
create mode 100644 datafusion/substrait/tests/testdata/empty.parquet
rename datafusion/substrait/tests/testdata/{ =>
test_plans}/non_nullable_lists.substrait.json (100%)
rename datafusion/substrait/tests/testdata/{ =>
test_plans}/select_not_bool.substrait.json (100%)
create mode 100644
datafusion/substrait/tests/testdata/test_plans/select_window.substrait.json
create mode 100644 datafusion/substrait/tests/testdata/tpch/customer.csv
create mode 100644 datafusion/substrait/tests/testdata/tpch/nation.csv
create mode 100644 datafusion/substrait/tests/testdata/tpch/orders.csv
create mode 100644 datafusion/substrait/tests/testdata/tpch/part.csv
create mode 100644 datafusion/substrait/tests/testdata/tpch/partsupp.csv
create mode 100644 datafusion/substrait/tests/testdata/tpch/region.csv
create mode 100644 datafusion/substrait/tests/testdata/tpch/supplier.csv
create mode 100644
datafusion/substrait/tests/testdata/tpch_substrait_plans/query_10.json
create mode 100644
datafusion/substrait/tests/testdata/tpch_substrait_plans/query_11.json
create mode 100644
datafusion/substrait/tests/testdata/tpch_substrait_plans/query_2.json
create mode 100644
datafusion/substrait/tests/testdata/tpch_substrait_plans/query_3.json
create mode 100644
datafusion/substrait/tests/testdata/tpch_substrait_plans/query_4.json
create mode 100644
datafusion/substrait/tests/testdata/tpch_substrait_plans/query_5.json
create mode 100644
datafusion/substrait/tests/testdata/tpch_substrait_plans/query_6.json
create mode 100644 dev/changelog/40.0.0.md
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]