17.0.0 (2023-01-27)

Full Changelog

Breaking changes:

Implemented enhancements:

  • Add null-equals-null JOIN support in Substrait producer/consumer #5084
  • Cleaner code for Read Options in reader methdos. #5024
  • Substrait donation follow-on work #4897
  • Add len method to DataFrame #1926

Fixed bugs:

  • Clippy failures in master branch and in PRs (due to new nightly Rust) #5080

Merged pull requests:

17.0.0-rc1 (2023-01-26)

Full Changelog

Breaking changes:

  • Change ExecutionPlan::maintains_input_order to return vector (to support multi children executors better) #5035 (mustafasrepo)
  • Allow overriding error type in DataFusion Result #5000 (tustvold)
  • Add dictionary_expresions feature (#4386) #4999 (tustvold)

Implemented enhancements:

  • Retain the ordering of fields in the table schema when creating the projection for an update plan #5052
  • [sqllogictest] Remove integration-tests directory #5011
  • [sqllogictest] Consolidate normalization code for the postgres and non-postgres paths #5010
  • [sqllogictest] Don't orchestrate the postgres containers with rust / docker #5009
  • check external table exist before creating a table #4997
  • Implement std::error::Error for DataFusionError #4991
  • Return Vec<bool> instead of bool in ExecutionPlan::maintains_input_order #4980
  • Add support for linear range search #4979
  • Add support for bounded execution when window query involves UNBOUNDED PRECEDING #4978
  • Infer prepared statement parameter types for insert queries with values clauses #4976
  • The filter of outer table happens multiple time after optimizing in-subquery to join #4914
  • Support Describe FILE in datafusion-cli #4913
  • Release DataFusion 16 #4776
  • Support writing lists in the arrow csv writer #4502
  • Replace python based integration test with sqllogictest #4462
  • Support CREATE TABLE table_name(...schema_fields) #4396
  • Make Binary Dictionary Operations Optional #4386
  • Improve / Cleanup DataFusion CI #3045
  • More frequent DataFusion releases to crates.io (discussion) #2327

Fixed bugs:

  • UPDATE statment for non existent column doesn't error out #5068
  • Limit doesn't drop on first batch when limit size == fetch size. #5064
  • Performance regressions since DataFusion 15.x #5060
  • Quoted schema and table names result in double-quoted names in logical plan. #5058
  • Homebrew release script has the amount of arguments being incorrect #5043
  • CI Failing with Out of Disk #5040
  • Doc links to LogicalPlan in the core package need updating. #5036
  • explain analyze can not see csvexec execution time metrics #5014
  • AVG(nulls) returns 0 rather than NULL #5007
  • Invalid Placeholders return internal error (rather than Plan error) #5005
  • select * from csv error #4996
  • Incorrect nested error wrapped to ArrowError:External variant for joins #4981

Documentation updates:

Closed issues:

  • Support sub directories in sqllogictest runner #4709
  • Bug displaying fractional seconds in IntervalMonthDayNano #4220

Merged pull requests: