dev/changelog/15.0.0.md
Breaking changes:
{TDigest,ScalarValue,Accumulator}::size #4342 (crepererum)SubqueryAlias and remove Alias in Projection #4333 [sql] (jackwener)try_new_with_schema_alias from original code #4284 (jackwener)SET Timezone #4107 [sql] (waitingkuo)Implemented enhancements:
total_byte_size of the filter expression's result when selectivity is available #4374HashJoin #4356CoalesceBatchesExec reports no ordering #4331unary_scalar_expr from expr_fn.rs #4298SubqueryAlias #4291reduce_outer_join #4270filter_push_down #4266eliminate_limit #4264limit_push_down #4263ListingOptions #4178EXPLAIN ANALYZE output for parquet exec #4144TableProviderFactory::create should have Optional<DFSchemaRef> parameter #4142ListingTables #4111SET timezone to non-UTC time zone #4106and true expressions #4091.xz compressed files #4074SubqueryAlias better in planner #3927Filter: Boolean(false) with EmptyRelation #3864FilterExec #3845outer join to inner join to improve performance #1585ExecutionPlan implementations immutable #987Fixed bugs:
pyarrow CI failed #4448UnwrapCastInComparison exist bug #4430explain query #4378to_hex #4339LimitPushDown pushdown into limit, result is wrong #4308Compare to postgres #4294pub type NullColumnarValue = ColumnarValue makes no sense #4271limit_push_down can't support cross_join #4256cargo test reports errors on the master branch. #4236log2 is incorrect #4231chrono::NaiveDate::from_ymd: use from_ymd_opt() instead #4187eliminate_cross_join #4176INTERVAL literal with duplicated interval types should raise error #3183g flag #1429between with NULL literals does not work: can't be evaluated because there isn't a common type to coerce the types to #1193Closed issues:
panic) if a listing table specifies an missing partition column #4350limit-full join in the limit push down rule #4275infer_schema function is not working with s3 Urls or http endpoints #4269NULL literals #185Merged pull requests:
datafusion-sql depend on arrow-schema instead of arrow #4456 [sql] (mbrobbel)decimal array op scalar using arrow kernel #4453 (liukun4515)&Option<T> with Option<&T> #4446 [sql] (askoa)DataFusionError::find_root #4437 (crepererum)ResourceExhausted for memory limit in AggregateStream #4405 (crepererum)with_new_inputs for LogicalPlan #4393 (jackwener)limit.rs. #4391 (HaoYang670)ResourceExhausted for memory limit in GroupedHashAggregateStream #4371 (crepererum)push_down_filter to remove global-state #4365 (jackwener)expr_fn - use scalar_expr to create unary scalar expr functions, remove macro unary_scalar_functions #4357 (HaoYang670)panic) if a listing table specifies an missing partition column #4354 (doki23)EliminateOuterJoins optimizer pass #4343 (alamb)plan_from_tables return one plan instead of Vec #4336 [sql] (jackwener)CoalesceBatchesExec does not destroy output order #4332 (alamb)eliminate_limit to remove global-state. #4324 (jackwener)ListArray downcasting #4313 (retikulum)setuptools in the CI to fix integration tests #4296 (isidentical)SubqueryAlias in optimizer, physcial planner. #4293 (jackwener){..} with (_), typo, remove outdated TODO #4286 (jackwener)ParquetExec #4283 (alamb)ParquetExec #4280 (alamb)ParquetExec #4279 (alamb)limit_push_down to remove global-state, enhance optimize and simplify code. #4276 (jackwener)NullColumnarValue #4273 (HaoYang670)eliminate_outer_join #4272 (jackwener)with header row and partitioned by #4268 [sql] (HaoYang670)UInt32Array, UInt64Array and BooleanArray #4261 (retikulum)limit_push_down #4257 (jackwener)decimal128 and string columns #4255 (Ted-Jiang)Float32Array, Float64Array, StringArray #4244 (retikulum)ScalarValue::iter_to_array #4206 (GrandChaman)ResourceExhausted errors when memory limit is exceed in GroupedHashAggregateStreamV2 (Row Hash) #4202 (crepererum)create table with explicit column definitions #4194 [sql] (doki23)propagate_empty_relation optimizer rule #4192 (jackwener)Eliminate cross join and remove it in planner #4185 [sql] (jackwener)custom_reader integration test into parquet_exec #4175 (alamb)Decimal128Array #4168 (retikulum)dyn_cmp_dict feature on arrow for physical expr crate #4163 (isidentical)ParquetFileMetrics to build_row_filter in parquet #4161 (alamb)ScalarValue) #4156 (andre-cc-natzka)unwrap_cast_in_comparison Optimizer rule #4149 (alamb)DataType::Timestamp casts in unwrap_cast_in_comparison optimizer pass #4148 (alamb)unwrap_cast_in_comparison #4147 (alamb)Cast expression in columnize_expr #4137 [sql] (HaoYang670)ParquetExec tests in parquet_exec integration test #4130 (alamb)BooleanArray::true_count #4129 (alamb)utils::optimize_children but affect inline. #4121 (jackwener)utils::optimize_children instead of redundant implementation #4119 (jackwener)compression feature #3993 [sql] (Jimexist)