Release 0.279
Details
General Changes
Fix a bug in
CombineApproxPercentileFunctions
optimization that caused query failures when there were duplicate aggregation expressions.Fix disaggregated coordinator task limit enforcement.
Fix weighted fair scheduling in disaggregated coordinator.
Fix max(x, n) and min(x, n) returning NULL on window aggregations.
Add an optimization that removes redundant distinct if the output is already distinct after a group by operation. The optimization is controlled by session property
remove_redundant_distinct_aggregation
which is default to false.Add function array_sort_desc() to sort an array in the descending order.
Add function map_remove_null_values() to remove all the entries where the value is null from a given map.
Add function map_top_n_keys() to returns an array of the top N keys of the provided map. An optional lambda comparator can also be passed to perform a custom comparison of the keys. Returns all the keys if the value N is greater than or equal to size of the map. For N < 0, the function returns keys in the reverse order. For N = 0, the function returns empty array.
Add function map_top_n_values() to return top N values of the provided map. An optional lambda comparator can also be passed as parameter for custom sorting of the values.
Add function map_top_n() to truncate map items, keeping only the top N elements by value.
Add function remove_nulls() to remove null elements from an array.
Add functions array_min_by(), array_max_by(), to find the smallest or largest element of an array when applying a custom measuring function.
Extend functions array_frequency(), array_duplicates(), array_has_duplicates(),
array_intersect(array(array(E))()
to accept any type as input instead of only varchar/double.Add
CONTROL
as a newQueryType
. TheCONTROL
queryType represents statements of session control and transaction control types.Remove two unused session parameters -
hash_based_distinct_limit_enabled
andhash_based_distinct_limit_threshold
and the corresponding implementation in favor of thequick_distinct_limit_enabled
feature.
Elasticsearch Connector Changes
- Add support for Elasticsearch user and password authentication. #15909.
Hive Connector Changes
Fix a bug when
optimize_metadata_queries
is set to true where queries with aggregations on partition columns and filters on row subfields could return wrong results.Disable S3 Select pushdown when the query does not have a predicate or projection.
Iceberg Connector Changes
- Update Iceberg from 0.14.1 to 1.0.0.
Pinot Connector Changes
- Add pushdown support for function
STRPOS()
.
PostgreSQL Connector Changes
- Add support for PostgreSQL UUID Data type.
Delta Lake Changes
- Upgrade Delta Standalone to 0.6.0.
Spark Changes
Add property
spark_executor_allocation_strategy_enabled
to auto-tune spark max executor count (spark.dynamicAllocation.maxExecutors
) based on input data. Only required ifspark_resource_allocation_strategy_enabled
is not already enabled.Add property
spark_hash_partition_count_allocation_strategy_enabled
to auto-tune hash partition count (hash_partition_count
) based on input data. Only required ifspark_SPI_allocation_strategy_enabled
is not already enabled.
Open Telemetry Changes
- Introduce a new Open Telemetry tracer implementation. The legacy tracer module can be replaced by the new plugin for loading customized tracing infrastructure. Users are able to enable the tracer by installing the
presto-open-telemetry
plugin and updating the application configuration (config.properties
). Open Telemetry tracer can take in propagated context (only B3 specification currently supported) and baggage (W3C specification) headers, if provided, and inject into new traces / spans. Traces can be exported to any specified backend with theOTEL_EXPORTER_OTLP_ENDPOINT
environment variable.
SPI Changes
- Rename
ConnectorMaterializedViewDefinition
toMaterializedViewDefinition
.
Credits
Aditi Pandit, Alex Chen, Amit Dutta, Anant Aneja, Arjun Gupta, Arunachalam Thirupathi, Asjad Syed, Avinash Jain, Beinan, Christopher Graves, Deepak Majeti, Devesh Agrawal, Eduard Tudenhoefner, Feilong Liu, Ge Gao, George Wang, Guy Moore, Hope Wang, James Petty, James Sun, Jaromir Vanek, Jingmei Huang, Jon Janzen, Josh Soref, JoshuaTang, Karteek Murthy Samba Murthy, Krishna Pai, Linkiewicz, Milosz, Linsong Wang, Lyublena Antova, MJ Deng, Masha Basmanova, Michael Shang, Nizar Hejazi, Pramod, Pranjal Shankhdhar, Pratyaksh Sharma, Pratyush Verma, Rebecca Schlussel, Reetika Agrawal, Rohit Jain, Sacha Viscaino, Sergey Pershin, Sergii Druzkin, Sreeni Viswanadha, Swapnil Tailor, Timothy Meehan, Vivek, Ying, Zac, Zhenxiao Luo, abhiseksaikia, ajantha-bhat, dnnanuti, dnskr, pen4, singcha, suheng, tanjialiang, v-jizhang, wangd, xiaoxmeng