Release 0.284
Details
General Changes
Fix correctness bug in the optimizer when
randomize_outer_join_null_key
is enabled.Fix bug in array
CONTAINS
expression rewrite rule.Fix bugs parsing lambda expressions. The bugs may cause compile exception with message “Can not compile special form: WHEN” and lead to runtime exception of array out of bound access.
Fix
min()
andmax()
to verify second argument is unique.Fix access control checks for
IS NULL
andIS NOT NULL
.Improve cache efficiency of history-based optimizer.
Improve cost-based optimizer to work with complex equi-join predicates.
Improve performance of outer join when nulls are present. It can be enabled by setting
randomize_outer_join_null_key_strategy
to becost_based
. The trigger condition can be set by session propertiesrandomize_outer_join_null_key_null_count_threshold
andrandomize_outer_join_null_key_null_ratio_threshold
.Add field names when casting row to JSON.
Add
array_top_n()
to return an array of topN
elements of a given array.Add
bitwise_xor_agg()
function.Add
NOISY_COUNT_GAUSSIAN()
.Add
NOISY_SUM_GAUSSIAN()
.Add
NOISY_AVG_GAUSSIAN()
.Add session property
restrict_history_based_optimization_to_complex_query
. When set toTRUE
, only queries with join or aggregation will try to use HBO. The default value isTRUE
.Add session property
pull_expression_from_lambda_enabled
to optimize lambda functions which have expressions not referring to arguments of the lambda function. The default state is enabled using the valueTRUE
.Add
rewrite_constant_array_contains_to_in_expression
session property to improve the performance ofCONTAINS
expressions. The default state is enabled using the valueTRUE
.Add function
trail()
.Add session property
optimizers_to_enable_verbose_runtime_stats
to enable runtime tracking for a set of optimizers.Add support for
EXPLAIN (TYPE VALIDATE)
ofEXPLAIN
queries. Previously such queries would fail with an error.Improve performance of cluster statistics reporting in the Presto coordinator by adding the configuration property
cluster-stats-cache-expiration-duration
. The property is0
(disabled) by default.Add support for serializing nested data structures via server-side configuration properties using the configuration property
nested-data-serialization-enabled
. The property is enabled by default with the valueTRUE
.Add a Redis-based historical statistics provider. For more information, see Redis HBO Provider.
Add principal name support in the resource group selection criteria.
Add
noisy_count_if_gaussian(condition, noiseScale[, randomSeed])
aggregation which calculates the number ofTRUE
input values, and then adds random Gaussian noise with 0 mean and standard deviation ofnoise_scale
to the true count. OptionalrandomSeed
is used to get a fixed value of noise, often for reproducibility purposes. IfrandomSeed
is omitted,SecureRandom
is used. IfrandomSeed
is provided,Random
is used.
Hive Connector Changes
Fix directory listing over directories with content-type
application/octet-stream
(#20310).Add DWRF filetype to min, max filtering for special column types such as tinyint, varbinary and timestamp.
Iceberg Connector Changes
Add Iceberg table location property in
SHOW CREATE TABLE
.Add validation for copy-on-write mode for Iceberg tables. This can be disabled with the
merge_on_read_enabled
session property or theiceberg.enable-merge-on-read-mode
configuration property.Add support for
TRUNCATE TABLE <table>
.Remove support for specifying
NOT NULL
constraint when adding a new column inALTER TABLE
statement.Upgrade Iceberg from 1.3.0 to 1.3.1.
PostgreSQL Connector Changes
- Upgrade JDBC driver version to 42.6.0.
Presto Verifier Changes
- Add support for Presto Verifier to run in query-bank mode and save query results as a snapshot. (See Presto Verifier.)
Credits
8dukongjian, Ajay George, Ajay Gupte, Alex Perez, Amit Dutta, Amit Patil, Anant Aneja, Ann Rose Benny, Arjun Gupta, Arun D Panicker, Ashwin Krishna Kumar, Avinash Jain, Beinan, Chengcheng Jin, Christian Zentgraf, Chunxu Tang, Darren Fu, Deepak Majeti, Dongsheng Wang, Eduard Tudenhoefner, Efrat Levitan, Facebook Community Bot, Gary Ho, Ge Gao, Haritha K, Ivan Millan, Jalpreet Singh Nanda (:imjalpreet), James Petty, James Xu, Jialiang Tan, JiamingMai, Jimmy Lu, Jobbine, Jon Janzen, Karteekmurthys, Ke, Kevin Wilfong, Kien Nguyen, Krishna-Prasad-P-V, Lyublena Antova, Mahadevuni Naveen Kumar, Masha Basmanova, Melissa Guo, Michael Shang, Nikhil Collooru, Patrick Stuedi, Pedro Pedreira, Pramod, Pranjal Shankhdhar, Pratik Joseph Dabre, Pratyush Verma, Rebecca Schlussel, Reetika Agrawal, Rohan Pednekar, Rohit Jain, Sagar Sumit, SeanIFitch, Sergey Pershin, Sergii Druzkin, Setyven Lnu, Shrinidhi Joshi, Shubham Chaurasia, Sreeni Viswanadha, Steve Burnett, Sudheesh, Swapnil Tailor, Timothy Meehan, Vivek, Yihong Wang, Ying, Zac, Zac Blanco, abhiseksaikia, adamzwakk, aditi-pandit, dnskr, feilong-liu, gopukrishnasIBM, guhanjie, jaystarshot, kedia,Akanksha, kiersten-stokes, lingbin, mayunlei, oyeliseiev, pratyakshsharma, prithvip, rrando901, s-akhtar-baig, v-jizhang, wangd, xiaoxmeng, xpengahana