|
| 1 | +============= |
| 2 | +Release 0.294 |
| 3 | +============= |
| 4 | + |
| 5 | +**Highlights** |
| 6 | +============== |
| 7 | + |
| 8 | +**Details** |
| 9 | +=========== |
| 10 | + |
| 11 | +General Changes |
| 12 | +_______________ |
| 13 | +* Fix PushdownSubfields optimizer to enable subfield pushdown for maps which is accessed with negative keys. `#25445 <https://github.com/prestodb/presto/pull/25445>`_ |
| 14 | +* Fix a bug in FunctionHandle serialization where multiple types corresponds to the same type of FunctionHandle. `#25526 <https://github.com/prestodb/presto/pull/25526>`_ |
| 15 | +* Fix error classification for unsupported array comparison with null elements, converting it as a user error. `#25187 <https://github.com/prestodb/presto/pull/25187>`_ |
| 16 | +* Fix for UPDATE statements involving multiple identical target column values. `#25599 <https://github.com/prestodb/presto/pull/25599>`_ |
| 17 | +* Fix inconsistent ordering with offset and limit. `#25216 <https://github.com/prestodb/presto/pull/25216>`_ |
| 18 | +* Fix native session property manager reading plugin configs from file. `#25553 <https://github.com/prestodb/presto/pull/25553>`_ |
| 19 | +* Fix randomize null join optimizer to keep HBO information for join input. `#25466 <https://github.com/prestodb/presto/pull/25466>`_ |
| 20 | +* Fix subfield pushdown arg index for scalar functions to support selecting whole struct column. `#25471 <https://github.com/prestodb/presto/pull/25471>`_ |
| 21 | +* Fix: Revert the Write mapping support. `#25369 <https://github.com/prestodb/presto/pull/25369>`_ |
| 22 | +* Fix: Revert the move of boostrap fromm presto-main to presto-bytecode. `#25260 <https://github.com/prestodb/presto/pull/25260>`_ |
| 23 | +* Improve `MinMaxByToWindowFunction` optimizer to cover cases where aggregation is on both map/array and non map/array types. `#25435 <https://github.com/prestodb/presto/pull/25435>`_ |
| 24 | +* Improve and optimize Docker image layers. `#25487 <https://github.com/prestodb/presto/pull/25487>`_ |
| 25 | +* Improve efficiency of output buffer implementation to reduce memory usage in writer. `#24913 <https://github.com/prestodb/presto/pull/24913>`_ |
| 26 | +* Improve query resource usage by enabling subfield pushdown for :func:`map_filter` when selected keys are constants. `#25451 <https://github.com/prestodb/presto/pull/25451>`_ |
| 27 | +* Improve query resource usage by enabling subfield pushdown for :func:`map_subset` when the input array is a constant array. `#25394 <https://github.com/prestodb/presto/pull/25394>`_ |
| 28 | +* Improve remove map cast rule to cover map_subset function. `#25395 <https://github.com/prestodb/presto/pull/25395>`_ |
| 29 | +* Improve semi join performance for large filtering tables. `#25236 <https://github.com/prestodb/presto/pull/25236>`_ |
| 30 | +* Add a function to Constraint to return the input arguments for the predicate. `#25248 <https://github.com/prestodb/presto/pull/25248>`_ |
| 31 | +* Add a new optimization `MinMaxByToWindowFunction` to rewrite min_by/max_by aggregations with row_number window function. `#25190 <https://github.com/prestodb/presto/pull/25190>`_ |
| 32 | +* Add a session property to disable the ReplicateSemiJoinInDelete optimizer. `#25256 <https://github.com/prestodb/presto/pull/25256>`_ |
| 33 | +* Add a session property to have HBO estimate plan node output size using individual variables. `#25400 <https://github.com/prestodb/presto/pull/25400>`_ |
| 34 | +* Add an optimizer to add distinct aggregation on build side of semi join. `#25238 <https://github.com/prestodb/presto/pull/25238>`_ |
| 35 | +* Add case-senstive support for column names. It can be enabled for JDBC based connector by setting `case-sensitive-name-matching=true` at the catalog level. `#24983 <https://github.com/prestodb/presto/pull/24983>`_ |
| 36 | +* Add changes to populate data source metadata to support combined lineage tracking. `#25127 <https://github.com/prestodb/presto/pull/25127>`_ |
| 37 | +* Add mixed case support for schema and table names. `#24551 <https://github.com/prestodb/presto/pull/24551>`_ |
| 38 | +* Add property ```native_query_memory_reclaimer_priority``` which controls which queries are killed first when a worker is running low on memory. Higher value means lower priority to be consistent with velox memory reclaimer's convention. `#25325 <https://github.com/prestodb/presto/pull/25325>`_ |
| 39 | +* Add pushdownSubfieldArgIndex parameter to ComplexTypeFunctionDescriptor for subfield optimization during query planning. `#25175 <https://github.com/prestodb/presto/pull/25175>`_ |
| 40 | +* Add xxhash64 override with seed argument. `#25521 <https://github.com/prestodb/presto/pull/25521>`_ |
| 41 | +* Adds aggregation tests from ``presto-tests`` to run with native query runner in ``presto-native-tests``. `#24809 <https://github.com/prestodb/presto/pull/24809>`_ |
| 42 | +* Replace the parameters in router schedulers to use `RouterRequestInfo` to get the URL destination. `#25244 <https://github.com/prestodb/presto/pull/25244>`_ |
| 43 | +* ... `#25223 <https://github.com/prestodb/presto/pull/25223>`_ |
| 44 | +* ... `#25223 <https://github.com/prestodb/presto/pull/25223>`_ |
| 45 | +* Enable check_access_control_on_utilized_columns_only session flag to default true. `#25469 <https://github.com/prestodb/presto/pull/25469>`_ |
| 46 | +* Extend MergePartialAggregationsWithFilter to work for queries where all aggregations have mask. `#25171 <https://github.com/prestodb/presto/pull/25171>`_ |
| 47 | +* Move UnnestNode to SPI, make it available in collector optimizer. `#25317 <https://github.com/prestodb/presto/pull/25317>`_ |
| 48 | +* Update ProtocolToThrift files to be generated for cpp thrift serde. `#25162 <https://github.com/prestodb/presto/pull/25162>`_ |
| 49 | +* Update router UI to eliminate vulnerabilities. `#25206 <https://github.com/prestodb/presto/pull/25206>`_ |
| 50 | + |
| 51 | +General Change Changes |
| 52 | +______________________ |
| 53 | +* Improve memory usage in writer by feeing unused buffers. `#23724 <https://github.com/prestodb/presto/pull/23724>`_ |
| 54 | + |
| 55 | +Prestissimo (Native Execution) Changes |
| 56 | +______________________________________ |
| 57 | +* Fix Native Plan Checker for CTAS and Insert queries. `#25115 <https://github.com/prestodb/presto/pull/25115>`_ |
| 58 | +* Fix PrestoExchangeSource 400 Bad Request by adding the "Host" header. `#25272 <https://github.com/prestodb/presto/pull/25272>`_ |
| 59 | + |
| 60 | +Prestissimo (native Execution) Changes |
| 61 | +______________________________________ |
| 62 | +* Improve memory usage in PartitionAndSerialize Operator by pre-determine the serialized byte size of a given sort key at 'rowId'. This allows PartitionAndSerialize Operator to pre-allocated the exact output buffer size needed for serialization, avoid wasted memory allocation. User should expect lower memory usage and up to 20% runtime increase when serializing a sort key. `#25393 <https://github.com/prestodb/presto/pull/25393>`_ |
| 63 | +* Improve serialized size estimation by introducing a batched API using vectorized operations. It delivers up to 8x faster size estimation compared to the previous row-by-row implementation. Workloads with high serialization cost will benefit from adopting this range-based API. `#25569 <https://github.com/prestodb/presto/pull/25569>`_ |
| 64 | +* Add BinarySortableSerializer::serializedSizeInBytes method that returns the serialized byte size of a given input row at 'rowId'. This allows us to pre-allocated the exact output buffer size needed for serialization, avoiding wasted memory space. `#25359 <https://github.com/prestodb/presto/pull/25359>`_ |
| 65 | +* Add geometry type to the list of supported types in NativeTypeManager. `#25560 <https://github.com/prestodb/presto/pull/25560>`_ |
| 66 | +* Add sidecar in presto-native-tests module. `#25174 <https://github.com/prestodb/presto/pull/25174>`_ |
| 67 | +* Update thrift IDL to expand connector specific fields. `#25474 <https://github.com/prestodb/presto/pull/25474>`_ |
| 68 | + |
| 69 | +Security Changes |
| 70 | +________________ |
| 71 | +* Add authorization support for `SHOW CREATE TABLE`, `SHOW CREATE VIEW`, `SHOW COLUMNS`, and `DESCRIBE` queries. `#25364 <https://github.com/prestodb/presto/pull/25364>`_ |
| 72 | +* Upgrade commons-beanutils dependency to address 'CVE-2025-48734 <https://github.com/advisories/GHSA-wxr5-93ph-8wr9>'. `#25235 <https://github.com/prestodb/presto/pull/25235>`_ |
| 73 | +* Upgrade commons-lang3 to 3.18.0 to address `CVE-2025-48924 <https://github.com/advisories/GHSA-j288-q9x7-2f5v>`. `#25549 <https://github.com/prestodb/presto/pull/25549>`_ |
| 74 | +* Upgrade kafka to 3.9.1 in response to `CVE-2025-27817 <https://github.com/advisories/GHSA-vgq5-3255-v292>`_. :pr:`25312`. `#25312 <https://github.com/prestodb/presto/pull/25312>`_ |
| 75 | + |
| 76 | +JDBC Driver Changes |
| 77 | +___________________ |
| 78 | +* Improve type mapping API to add WriteMapping functionality. `#25437 <https://github.com/prestodb/presto/pull/25437>`_ |
| 79 | +* Improve type mapping API to add WriteMapping functionality. `#25124 <https://github.com/prestodb/presto/pull/25124>`_ |
| 80 | +* Add mixed case support related catalog property in JDBC connector ``case-sensitive-name-matching``. `#24551 <https://github.com/prestodb/presto/pull/24551>`_ |
| 81 | + |
| 82 | +Delta Connector Changes |
| 83 | +_______________________ |
| 84 | +* Improve mapping of ``TIMESTAMP`` column type by changing it from Presto ``TIMESTAMP`` type to ``TIMESTAMP_WITH_TIME_ZONE``. `#24418 <https://github.com/prestodb/presto/pull/24418>`_ |
| 85 | +* Add support for ``TIMESTAMP_NTZ`` column type as Presto ``TIMESTAMP`` type. ``legacy_timestamp`` should be set to ``false`` to match delta type specifications. With it set, ``TIMESTAMP`` will not adjust based on local timezone. `#24418 <https://github.com/prestodb/presto/pull/24418>`_ |
| 86 | + |
| 87 | +Hive Connector Changes |
| 88 | +______________________ |
| 89 | +* Fix an issue while accessing Symlink tables. `#25307 <https://github.com/prestodb/presto/pull/25307>`_ |
| 90 | +* Fix incorrectly ignoring computed table statistics in `ANALYZE`. `#24973 <https://github.com/prestodb/presto/pull/24973>`_ |
| 91 | +* Improve split generation and read throughput for Symlink Tables. `#25277 <https://github.com/prestodb/presto/pull/25277>`_ |
| 92 | +* Add support for symlink files in :ref:`connector/hive:Quick Stats`. `#25250 <https://github.com/prestodb/presto/pull/25250>`_ |
| 93 | +* Update default value of `hive.copy-on-first-write-configuration-enabled` to false (:issue:`25404`). `#25420 <https://github.com/prestodb/presto/pull/25420>`_ |
| 94 | + |
| 95 | +Iceberg Connector Changes |
| 96 | +_________________________ |
| 97 | +* Fix error querying ``$data_sequence_number`` metadata column for table with equality deletes. `#25293 <https://github.com/prestodb/presto/pull/25293>`_ |
| 98 | +* Fix the remove_orphan_files procedure after deletion operations. `#25220 <https://github.com/prestodb/presto/pull/25220>`_ |
| 99 | +* Add ``iceberg.delete-as-join-rewrite-max-delete-columns`` configuration property and ``delete_as_join_rewrite_max_delete_columns`` session property to control when equality delete as join optimization is applied. The optimization is now only applied when the number of equality delete columns is less than or equal to this threshold (default: 400). Setting this to 0 disables the optimization. See :doc:`/connector/iceberg` for details. `#25462 <https://github.com/prestodb/presto/pull/25462>`_ |
| 100 | +* Add support for ``$delete_file_path`` metadata column. `#25280 <https://github.com/prestodb/presto/pull/25280>`_ |
| 101 | +* Add support for ``$deleted`` metadata column. `#25280 <https://github.com/prestodb/presto/pull/25280>`_ |
| 102 | +* Add support of ``rename view`` for Iceberg connector when configured with ``REST`` and ``NESSIE``. `#25202 <https://github.com/prestodb/presto/pull/25202>`_ |
| 103 | +* Deprecate ``iceberg.delete-as-join-rewrite-enabled`` configuration property and ``delete_as_join_rewrite_enabled`` session property. Use ``iceberg.delete-as-join-rewrite-max-delete-columns`` instead. `#25462 <https://github.com/prestodb/presto/pull/25462>`_ |
| 104 | + |
| 105 | +JDBC Connector Changes |
| 106 | +______________________ |
| 107 | +* Fixes issue introduced in #25127 by introducing `TableLocationProvider` interface to decouple table location logic from JDBC configuration. `#25582 <https://github.com/prestodb/presto/pull/25582>`_ |
| 108 | +* Add skippable-schemas config option for jdbc connectors. `#24994 <https://github.com/prestodb/presto/pull/24994>`_ |
| 109 | + |
| 110 | +Mongodb Connector Changes |
| 111 | +_________________________ |
| 112 | +* Add support for Json type in MongoDB. `#25089 <https://github.com/prestodb/presto/pull/25089>`_ |
| 113 | + |
| 114 | +Mysql Connector Changes |
| 115 | +_______________________ |
| 116 | +* Add support for mixed-case in MySQL. It can be enabled by setting ``case-sensitive-name-matching=true`` configuration in the catalog configuration. `#24551 <https://github.com/prestodb/presto/pull/24551>`_ |
| 117 | + |
| 118 | +Redshift Connector Changes |
| 119 | +__________________________ |
| 120 | +* Fix Redshift VARBYTE column handling for JDBC driver version 2.1.0.32+ by mapping jdbcType=1111 and jdbcTypeName="binary varying" to Presto's VARBINARY type. `#25488 <https://github.com/prestodb/presto/pull/25488>`_ |
| 121 | +* Fix Redshift connector runtime failure due to missing dependency on ``com.amazonaws.util.StringUtils``. Add ``aws-java-sdk-core`` as a runtime dependency to support Redshift JDBC driver (v2.1.0.32) which relies on this class for metadata operations. `#25265 <https://github.com/prestodb/presto/pull/25265>`_ |
| 122 | + |
| 123 | +Documentation Changes |
| 124 | +_____________________ |
| 125 | +* Add :ref:`connector/hive:Avro Configuration Properties` to Hive Connector documentation. `#25311 <https://github.com/prestodb/presto/pull/25311>`_ |
| 126 | +* Add doc for hive.copy-on-first-write-configuration-enabled in presto-docs/src/main/sphinx/connector/hive.rst. `#25443 <https://github.com/prestodb/presto/pull/25443>`_ |
| 127 | + |
| 128 | +Arrow Flight Connector Template Changes |
| 129 | +_______________________________________ |
| 130 | +* Added support for mTLS authentication in Arrow Flight client. `#25179 <https://github.com/prestodb/presto/pull/25179>`_ |
| 131 | + |
| 132 | +Router Changes |
| 133 | +______________ |
| 134 | +* Add a new custom router scheduler plugin, the `Presto Plan Checker Router Scheduler Plugin <https://github.com/prestodb/presto/tree/master/presto-plan-checker-router-plugin/README.md>`_. `#25035 <https://github.com/prestodb/presto/pull/25035>`_ |
| 135 | + |
| 136 | +**Credits** |
| 137 | +=========== |
| 138 | + |
| 139 | +Amit Dutta, Anant Aneja, Andrew Xie, Andrii Rosa, Arjun Gupta, Auden Woolfson, Beinan, Chandra Vankayalapati, Chandrashekhar Kumar Singh, Chen Yang, Christian Zentgraf, Deepak Majeti, Denodo Research Labs, Elbin Pallimalil, Emily (Xuetong) Sun, Facebook Community Bot, Feilong Liu, Gary Helmling, Hazmi, HeidiHan0000, Henry Edwin Dikeman, Jalpreet Singh Nanda (:imjalpreet), Joe Abraham, Ke Wang, Ke Wang, Kevin Tang, Mahadevuni Naveen Kumar, Mariam Almesfer, Natasha Sehgal, Nidhin Varghese, Nikhil Collooru, Nishitha-Bhaskaran, Ping Liu, Pradeep Vaka, Pramod Satya, Pratik Joseph Dabre, Raaghav Ravishankar, Rebecca Schlussel, Reetika Agrawal, Sebastiano Peluso, Sergey Pershin, Sergii Druzkin, Shahim Sharafudeen, Shakyan Kushwaha, Shang Ma, Shelton Cai, Shrinidhi Joshi, Soumya Duriseti, Sreeni Viswanadha, Steve Burnett, Thanzeel Hassan, Tim Meehan, Vincent Crabtree, Wei He, XiaoDu, Xiaoxuan, Yihong Wang, Ying, Zac Blanco, Zac Wen, Zhichen Xu, Zhiying Liang, Zoltan Arnold Nagy, aditi-pandit, ajay kharat, duhow, github username, jay.narale, lingbin, martinsander00, mima0000, mohsaka, namya28, pratyakshsharma, unidevel, vhsu14, wangd |
0 commit comments