presto-docs/src/main/sphinx/release/release-0.279.rst
General Changes
CombineApproxPercentileFunctions optimization that caused query failures when there were duplicate aggregation expressions.remove_redundant_distinct_aggregation which is default to false.!array_sort_desc to sort an array in the descending order.!map_remove_null_values to remove all the entries where the value is null from a given map.!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.!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.!map_top_n to truncate map items, keeping only the top N elements by value.!remove_nulls to remove null elements from an array.!array_min_by, :func:!array_max_by, to find the smallest or largest element of an array when applying a custom measuring function.!array_frequency, :func:!array_duplicates, :func:!array_has_duplicates, :func:!array_intersect(array(array(E)) to accept any type as input instead of only varchar/double.CONTROL as a new QueryType. The CONTROL queryType represents statements of session control and transaction control types.hash_based_distinct_limit_enabled and hash_based_distinct_limit_threshold and the corresponding implementation in favor of the quick_distinct_limit_enabled feature.Elasticsearch Connector Changes
15909.Hive Connector Changes
optimize_metadata_queries is set to true where queries with aggregations on partition columns and filters on row subfields could return wrong results.Iceberg Connector Changes
Pinot Connector Changes
!STRPOS.PostgreSQL Connector Changes
Delta Lake Changes
Spark Changes
spark_executor_allocation_strategy_enabled to auto-tune spark max executor count (spark.dynamicAllocation.maxExecutors) based on input data. Only required if spark_resource_allocation_strategy_enabled is not already enabled.spark_hash_partition_count_allocation_strategy_enabled to auto-tune hash partition count (hash_partition_count) based on input data. Only required if spark_SPI_allocation_strategy_enabled is not already enabled.Open Telemetry Changes
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 the OTEL_EXPORTER_OTLP_ENDPOINT environment variable.SPI Changes
ConnectorMaterializedViewDefinition to MaterializedViewDefinition.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