feat(analyzer): Add session property to gate CTAS IF NOT EXISTS query analysis#27504
Conversation
Reviewer's GuideAdds a new session property to always analyze CTAS IF NOT EXISTS inner queries so view definitions are collected for access control, wires it into StatementAnalyzer, and adds tests to validate view collection under this mode. Sequence diagram for CTAS IF NOT EXISTS analysis with new session propertysequenceDiagram
actor User
participant Client
participant Coordinator
participant StatementAnalyzer
participant Session
User->>Client: submit CREATE TABLE IF NOT EXISTS ... AS SELECT ...
Client->>Coordinator: send query
Coordinator->>StatementAnalyzer: analyze CreateTableAsSelect
activate StatementAnalyzer
StatementAnalyzer->>Session: getSystemProperty ALWAYS_ANALYZE_CREATE_TABLE_QUERY_ENABLED
Session-->>StatementAnalyzer: property value (true or false)
alt table already exists
StatementAnalyzer-->>Coordinator: warning TableAlreadyExists (skipping creation)
alt ALWAYS_ANALYZE_CREATE_TABLE_QUERY_ENABLED is true
StatementAnalyzer->>StatementAnalyzer: process inner SELECT query
StatementAnalyzer-->>Coordinator: analysis result with view definitions collected
else property is false
StatementAnalyzer-->>Coordinator: analysis result without analyzing inner query
end
else table does not exist
StatementAnalyzer->>Coordinator: proceed with normal CTAS analysis and creation
end
Coordinator-->>Client: analysis complete / plan generated
Client-->>User: return result and warnings
Class diagram for updated SystemSessionProperties and StatementAnalyzerclassDiagram
class SystemSessionProperties {
<<final>>
+static String NATIVE_ENFORCE_JOIN_BUILD_INPUT_PARTITION
+static String NATIVE_EXECUTION_SCALE_WRITER_THREADS_ENABLED
+static String TRY_FUNCTION_CATCHABLE_ERRORS
+static String ALWAYS_ANALYZE_CREATE_TABLE_QUERY_ENABLED
+SystemSessionProperties(FeaturesConfig featuresConfig)
+static String getTryFunctionCatchableErrors(Session session)
+static boolean isAlwaysAnalyzeCreateTableQueryEnabled(Session session)
}
class StatementAnalyzer {
+Scope visitCreateTableAsSelect(CreateTableAsSelect node, Optional~Scope~ context)
-Scope process(Query query, Scope scope)
}
class Session
class FeaturesConfig
class Scope
class Query
class CreateTableAsSelect
SystemSessionProperties ..> Session : uses
SystemSessionProperties ..> FeaturesConfig : uses
StatementAnalyzer ..> SystemSessionProperties : calls isAlwaysAnalyzeCreateTableQueryEnabled
StatementAnalyzer ..> Query : analyzes
StatementAnalyzer ..> Scope : manages
StatementAnalyzer ..> CreateTableAsSelect : visits
File-Level Changes
Tips and commandsInteracting with Sourcery
Customizing Your ExperienceAccess your dashboard to:
Getting Help
|
There was a problem hiding this comment.
Hey - I've found 2 issues, and left some high level feedback:
- The new test
testCreateTableAsSelectIfNotExistsWithViewsinTestViewDefinitionCollectoris missing a@Testannotation (and appropriate visibility), so it will not run as part of the suite in its current form. - In
StatementAnalyzer.visitCreateTableAsSelect, consider guarding theprocess(node.getQuery(), scope)call with any existing view-definition-collection or access-control-related flags to avoid extra analysis work when view tracking is disabled.
Prompt for AI Agents
Please address the comments from this code review:
## Overall Comments
- The new test `testCreateTableAsSelectIfNotExistsWithViews` in `TestViewDefinitionCollector` is missing a `@Test` annotation (and appropriate visibility), so it will not run as part of the suite in its current form.
- In `StatementAnalyzer.visitCreateTableAsSelect`, consider guarding the `process(node.getQuery(), scope)` call with any existing view-definition-collection or access-control-related flags to avoid extra analysis work when view tracking is disabled.
## Individual Comments
### Comment 1
<location path="presto-main-base/src/test/java/com/facebook/presto/sql/analyzer/TestViewDefinitionCollector.java" line_range="65-62" />
<code_context>
), ImmutableMap.of());
}
+ public void testCreateTableAsSelectIfNotExistsWithViews()
+ {
+ // t1 already exists, so this hits the IF NOT EXISTS no-op path.
+ // View definitions should still be populated from the inner SELECT.
+ @Language("SQL") String query = "CREATE TABLE IF NOT EXISTS t1 AS SELECT view_definer1.a, view_definer1.c, view_invoker2.y FROM view_definer1 left join view_invoker2 on view_invoker2.y = view_definer1.c";
+
+ assertViewDefinitions(query, ImmutableMap.of(
+ "tpch.s1.view_invoker2", "select x, y, z from t13",
+ "tpch.s1.view_definer1", "select a,b,c from t1"
+ ), ImmutableMap.of());
+ }
+
</code_context>
<issue_to_address>
**suggestion (testing):** Add complementary coverage for CTAS IF NOT EXISTS when the new session property is disabled and for the table-does-not-exist path.
This test covers the "table already exists" no-op path with the property enabled. To complete coverage, please also add:
1) A case where the same CTAS IF NOT EXISTS is analyzed with `ALWAYS_ANALYZE_CREATE_TABLE_QUERY_ENABLED` disabled, asserting that view definitions are not collected (or whatever the intended behavior is).
2) A CTAS IF NOT EXISTS where the target table does not exist, confirming that the normal CTAS path still collects view definitions and that the new property does not change successful creation behavior.
</issue_to_address>
### Comment 2
<location path="presto-main-base/src/test/java/com/facebook/presto/sql/analyzer/AbstractAnalyzerTest.java" line_range="159" />
<code_context>
.setSchema("s1")
.setSystemProperty(CHECK_ACCESS_CONTROL_ON_UTILIZED_COLUMNS_ONLY, "true")
.setSystemProperty(CHECK_ACCESS_CONTROL_WITH_SUBFIELDS, "true")
+ .setSystemProperty(ALWAYS_ANALYZE_CREATE_TABLE_QUERY_ENABLED, "true")
.build();
</code_context>
<issue_to_address>
**suggestion (testing):** Consider adding tests that run with the new session property disabled instead of only enabling it globally for all analyzer tests.
Since the shared session builder now forces `ALWAYS_ANALYZE_CREATE_TABLE_QUERY_ENABLED` to `true`, analyzer tests no longer exercise the default (`false`) behavior for CTAS IF NOT EXISTS. Please either add at least one analyzer test that builds a session with this property set to `false`, or limit the `true` setting to only the tests that require it, so the default configuration remains covered by automated tests.
Suggested implementation:
```java
.setSchema("s1")
.setSystemProperty(CHECK_ACCESS_CONTROL_ON_UTILIZED_COLUMNS_ONLY, "true")
.setSystemProperty(CHECK_ACCESS_CONTROL_WITH_SUBFIELDS, "true")
.build();
```
To fully implement the review comment:
1. In the analyzer tests that specifically exercise `CREATE TABLE AS ... IF NOT EXISTS` behavior with the new analysis, build a `Session` that sets `ALWAYS_ANALYZE_CREATE_TABLE_QUERY_ENABLED` to `"true"` explicitly. For example (in the relevant test class):
- Start from the base session (e.g. `getSession()` or the shared session builder in this file).
- Call `.setSystemProperty(ALWAYS_ANALYZE_CREATE_TABLE_QUERY_ENABLED, "true")` on the `Session.SessionBuilder`.
2. Ensure at least one analyzer test that covers CTAS IF NOT EXISTS uses the default session (without overriding this property), so that the default `false` behavior remains covered by automated tests.
3. If useful, you can add a helper in this file such as `protected Session getSessionWithAnalyzeCreateTableEnabled()` that wraps the base session builder and sets this property to `"true"`, and then update only the tests that need the non-default behavior to use that helper.
</issue_to_address>Help me be more useful! Please click 👍 or 👎 on each comment and I'll use the feedback to improve your reviews.
| @@ -62,6 +62,18 @@ public void testCreateTableAsSelectWithViews() | |||
| ), ImmutableMap.of()); | |||
There was a problem hiding this comment.
suggestion (testing): Add complementary coverage for CTAS IF NOT EXISTS when the new session property is disabled and for the table-does-not-exist path.
This test covers the "table already exists" no-op path with the property enabled. To complete coverage, please also add:
-
A case where the same CTAS IF NOT EXISTS is analyzed with
ALWAYS_ANALYZE_CREATE_TABLE_QUERY_ENABLEDdisabled, asserting that view definitions are not collected (or whatever the intended behavior is). -
A CTAS IF NOT EXISTS where the target table does not exist, confirming that the normal CTAS path still collects view definitions and that the new property does not change successful creation behavior.
| .setSchema("s1") | ||
| .setSystemProperty(CHECK_ACCESS_CONTROL_ON_UTILIZED_COLUMNS_ONLY, "true") | ||
| .setSystemProperty(CHECK_ACCESS_CONTROL_WITH_SUBFIELDS, "true") | ||
| .setSystemProperty(ALWAYS_ANALYZE_CREATE_TABLE_QUERY_ENABLED, "true") |
There was a problem hiding this comment.
suggestion (testing): Consider adding tests that run with the new session property disabled instead of only enabling it globally for all analyzer tests.
Since the shared session builder now forces ALWAYS_ANALYZE_CREATE_TABLE_QUERY_ENABLED to true, analyzer tests no longer exercise the default (false) behavior for CTAS IF NOT EXISTS. Please either add at least one analyzer test that builds a session with this property set to false, or limit the true setting to only the tests that require it, so the default configuration remains covered by automated tests.
Suggested implementation:
.setSchema("s1")
.setSystemProperty(CHECK_ACCESS_CONTROL_ON_UTILIZED_COLUMNS_ONLY, "true")
.setSystemProperty(CHECK_ACCESS_CONTROL_WITH_SUBFIELDS, "true")
.build();To fully implement the review comment:
- In the analyzer tests that specifically exercise
CREATE TABLE AS ... IF NOT EXISTSbehavior with the new analysis, build aSessionthat setsALWAYS_ANALYZE_CREATE_TABLE_QUERY_ENABLEDto"true"explicitly. For example (in the relevant test class):- Start from the base session (e.g.
getSession()or the shared session builder in this file). - Call
.setSystemProperty(ALWAYS_ANALYZE_CREATE_TABLE_QUERY_ENABLED, "true")on theSession.SessionBuilder.
- Start from the base session (e.g.
- Ensure at least one analyzer test that covers CTAS IF NOT EXISTS uses the default session (without overriding this property), so that the default
falsebehavior remains covered by automated tests. - If useful, you can add a helper in this file such as
protected Session getSessionWithAnalyzeCreateTableEnabled()that wraps the base session builder and sets this property to"true", and then update only the tests that need the non-default behavior to use that helper.
…b#27504) Summary: Pull Request resolved: prestodb#27504 Differential Revision: D95135442
59ff293 to
300f988
Compare
300f988 to
2e02fbb
Compare
2e02fbb to
19208cd
Compare
19208cd to
06fe44e
Compare
steveburnett
left a comment
There was a problem hiding this comment.
Please add documentation for the new session property always_analyze_create_table_query_enabled to https://github.com/prestodb/presto/blob/master/presto-docs/src/main/sphinx/admin/properties-session.rst.
You can update the release note entry to link to the new documentation. See the examples in Formatting in the Release Note Guidelines, like this:
:ref:`admin/properties-session:\`\`always_analyze_create_table_query_enabled\`\``
06fe44e to
56524db
Compare
56524db to
e3060a1
Compare
steveburnett
left a comment
There was a problem hiding this comment.
Thanks for the documentation! Just one question.
e3060a1 to
84c25c2
Compare
steveburnett
left a comment
There was a problem hiding this comment.
LGTM! (docs)
Pull updated branch, new local doc build, looks good. Thanks!
84c25c2 to
bb939cb
Compare
bb939cb to
2cdc12d
Compare
2cdc12d to
5caf17c
Compare
… analysis (prestodb#27504) Differential Revision: D95135442 ## Description Add session property `always_analyze_create_table_query_enabled` to gate analyzing inner queries on CTAS IF NOT EXISTS statements. When enabled, the analyzer processes the inner SELECT query even when the target table already exists, ensuring view definitions are populated for access control checks. ## Motivation and Context When a `CREATE TABLE AS SELECT IF NOT EXISTS` statement targets an existing table, the analyzer short-circuits and skips analyzing the inner query. This means view definitions referenced in the SELECT are never collected, causing access control checks on those views to be skipped. ## Impact No impact when the session property is disabled (default: `false`). When enabled, CTAS IF NOT EXISTS queries against existing tables will now correctly populate view definitions and enforce access control checks on referenced views. ## Test Plan Added `testCreateTableAsSelectIfNotExistsWithViews` in `TestViewDefinitionCollector` to verify view definitions are collected on the CTAS IF NOT EXISTS no-op path. Existing tests pass with the session property enabled in `CLIENT_SESSION`. ## Contributor checklist - [x] Please make sure your submission complies with our [contributing guide](https://github.com/prestodb/presto/blob/master/CONTRIBUTING.md), in particular [code style](https://github.com/prestodb/presto/blob/master/CONTRIBUTING.md#code-style) and [commit standards](https://github.com/prestodb/presto/blob/master/CONTRIBUTING.md#commit-standards). - [x] PR description addresses the issue accurately and concisely. - [x] Documented new properties (with its default value), SQL syntax, functions, or other functionality. - [x] If release notes are required, they follow the [release notes guidelines](https://github.com/prestodb/presto/wiki/Release-Notes-Guidelines). - [x] Adequate tests were added if applicable. - [ ] CI passed. - [x] If adding new dependencies, verified they have an [OpenSSF Scorecard](https://securityscorecards.dev/#the-checks) score of 5.0 or higher (or obtained explicit TSC approval for lower scores). ## Release Notes ``` == RELEASE NOTES == General Changes * Add session property :ref:`admin/properties-session:\`\`always_analyze_create_table_query_enabled\`\`` to enable analyzing inner queries on ``CREATE TABLE AS SELECT IF NOT EXISTS`` statements when the target table already exists. ```
# Missing Release Notes ## Apurva Kumar - [x] https://github.com/prestodb/presto/pull/27616 feat: Add PUFFIN file format enum to FileFormat wrapper [presto][iceberg] (#27616) (Merged by: Han Yan) - [x] https://github.com/prestodb/presto/pull/27614 feat: Bump Iceberg [presto][iceberg] dependency from 1.10.0 to 1.10.1 (#27614) (Merged by: Dong Wang) - [x] https://github.com/prestodb/presto/pull/27421 feat: Prism <> Iceberg [prism] Support SQL-standard time travel syntax (FOR TIMESTAMP AS OF) (#27421) (Merged by: Kevin Tang) ## Arjun Gupta - [x] https://github.com/prestodb/presto/pull/27642 feat(scheduler): Allow configured resource groups to bypass cluster-overload throttling (#27642) (Merged by: Arjun Gupta) ## Chandrakant Vankayalapati - [x] https://github.com/prestodb/presto/pull/27706 fix(analyzer): Skip unmapped derived columns in MV partition filtering (Merged by: Chandrakant Vankayalapati) ## Deepak Mehra - [x] https://github.com/prestodb/presto/pull/25107 feat(connector): Add Azure Blob Storage and ADLS Gen2 support (Merged by: Jalpreet Singh Nanda) ## Dilli Babu Godari - [x] https://github.com/prestodb/presto/pull/26260 feat(plugin-prometheus): Enable case-sensitive identifier support for Prometheus connector (Merged by: Dilli Babu Godari) - [x] https://github.com/prestodb/presto/pull/27671 feat: Add TLS/SSL configuration support for Oracle connector (Merged by: Dilli Babu Godari) - [x] https://github.com/prestodb/presto/pull/27670 feat: Add Oracle i18n character set support (Merged by: Dilli Babu Godari) - [x] https://github.com/prestodb/presto/pull/27669 feat: Add configurable JDBC fetch size support (Merged by: Dilli Babu Godari) ## Gary Helmling - [x] https://github.com/prestodb/presto/pull/27703 feat: Support extending verifier QueryRewriter (#27703) (Merged by: Jianjian Xie) ## Henry Dikeman - [x] https://github.com/prestodb/presto/pull/27683 feat(native): Add native_min_shuffle_compression_page_size_bytes session property (#27683) (Merged by: Henry Dikeman) - [x] https://github.com/prestodb/presto/pull/27525 feat(native): Pass storage parameters to HiveInsertTableHandle in write path (#27525) (Merged by: Aditi Pandit) ## Kevin Tang - [x] https://github.com/prestodb/presto/pull/27697 misc(native): Target Java 8 for presto-on-spark compatibility (#27697) (Merged by: Kevin Tang) - [x] https://github.com/prestodb/presto/pull/27696 misc(native-pos): Extract AbstractNativeProcess from NativeExecutionProcess (#27696) (Merged by: Kevin Tang) ## Nivin C S - [x] https://github.com/prestodb/presto/pull/27828 fix(security): Upgrade redshift-jdbc42 to 2.2.7 to address CVE-2026-8178 (Merged by: Jalpreet Singh Nanda) - [x] https://github.com/prestodb/presto/pull/25418 feat(plugin-iceberg): Add support for ALTER COLUMN SET DATA TYPE in the Iceberg connector (Merged by: Nivin C S) ## Rebecca Schlussel - [x] https://github.com/prestodb/presto/pull/27830 chore(analyzer): Remove warn-on-common-nan-patterns config and NaN warning behavior (Merged by: Rebecca Schlussel) ## Shrinidhi Joshi - [x] https://github.com/prestodb/presto/pull/27873 refactor(native-pos): Add State enum and lifecycle state machine to MaterializedOutputBuffer (#27873) (Merged by: Xiaoxuan) - [x] https://github.com/prestodb/presto/pull/27833 fix(native-pos): Fix MaterializedOutput correctness and crash bugs in close/finish lifecycle (Merged by: Shrinidhi Joshi) ## Sreeni Viswanadha - [x] https://github.com/prestodb/presto/pull/27708 feat(optimizer): Add per-column predicates for ROW IN/NOT IN (Merged by: Sreeni Viswanadha) - [x] https://github.com/prestodb/presto/pull/27712 feat(optimizer): Push HAVING filter through MAX/MIN/ARBITRARY aggregations (Merged by: Sreeni Viswanadha) - [x] https://github.com/prestodb/presto/pull/27680 perf(optimizer): Remove partition key restriction from ROW IN to disjunction rewrite (Merged by: feilong-liu) - [x] https://github.com/prestodb/presto/pull/27641 feat(optimizer): Add TopN late materialization using $row_id (Merged by: Sreeni Viswanadha) - [x] https://github.com/prestodb/presto/pull/27664 fix(planner): Propagate streamPropertiesFromUniqueColumn through TopN (Merged by: Sreeni Viswanadha) ## feilong-liu - [x] https://github.com/prestodb/presto/pull/27773 fix(planner): Fix ConstantExpression type mismatch in PropertyDerivations.visitProject (Merged by: feilong-liu) ## join-theory-de - [x] https://github.com/prestodb/presto/pull/27480 feat: Add split_part_reverse as a global Presto SQL inline function (#27480) (Merged by: Sreeni Viswanadha) ## peterenescu - [x] https://github.com/prestodb/presto/pull/27600 fix: Integer overflow in range filter boundary conversion (#27600) (Merged by: Amit Dutta) ## shelton408 - [x] https://github.com/prestodb/presto/pull/27673 fix(server): Fix FutureStateChange listener leak in HttpRemoteTaskWithEventLoop.whenSplitQueueHasSpace() (Merged by: shelton408) ## sumi-mathew - [x] https://github.com/prestodb/presto/pull/27865 fix(security): Upgrade opentelemetry-api to 1.62.0 to address CVE-2026-45292 (Merged by: nishithakbhaskaran) ## zhichenxu-meta - [x] https://github.com/prestodb/presto/pull/27603 feat(optimizer): Add distributed execution for RPCNode via rpc_function_parallelism session property (Merged by: feilong-liu) # Extracted Release Notes - #25424 (Author: Shahim Sharafudeen): fix(security): Upgrade gcs version to 2.2.28 - Upgrade google-oauth-client version to 1.34.1 to address `CVE-2020-7692 <https://github.com/advisories/GHSA-f263-c949-w85g>`_ and `CVE-2021-22573 <https://github.com/advisories/GHSA-hw42-3568-wj87>`_. - #26195 (Author: Gary Helmling): fix: Allow DELETE queries to run on Presto on Spark - Fix a gap in query commit for DELETE queries when running on Spark. - #26369 (Author: Bryan Cutler): feat: Adding Apache Arrow FlightShim for connector federation in C++ workers - Adding presto-flight-shim server module for connector federation. - #26833 (Author: Yabin Ma): chore(analyzer)!: Change fieldNamesInJsonCastEnabled default value to true - Update the default behavior of ``field_names_in_json_cast_enabled`` from false to true. When ``field_names_in_json_cast_enabled = true``, JSON fields are assigned to ROW fields by matching field names regardless of their order in the JSON object. Queries that rely on JSON field order when casting to ROW may return different results after upgrading. If your workload depends on the previous positional behavior, restore it by setting: ``SET SESSION field_names_in_json_cast_enabled = false;``. - #26959 (Author: Timothy Meehan): feat(optimizer): Support incremental refresh of materialized views - Add incremental refresh for materialized views. - Add incremental refresh for materialized views in the Iceberg connector. - #26995 (Author: Auden Woolfson): fix: Allow view querying with Mongo connector - Add view querying capabilities in the Mongo connector. - #27002 (Author: Sayari Mukherjee): feat(client): Add connection validation feature to enhance connection reliability - Add connection validation feature to enhance connection reliability. This can be enabled with the ``validateConnection`` connection property to execute a validation query immediately after establishing the connection. - #27085 (Author: Dong Wang): feat(plugin-iceberg): Push down min/max/count based on file stats - Add support for ``min/max/count`` aggregation push down based on file stats. This can be toggled with the ``aggregate_push_down_enabled`` session property or the ``iceberg.aggregate-push-down-enabled`` configuration property. - #27129 (Author: Miguel Blanco Godón): fix(plugin-delta): Creating Delta table to unaccesible location makes the metastore inconsistent - Fix a bug that made the metastore inconsistent if created a Delta Lake table to an inaccessible location. - #27200 (Author: Pratyaksh Sharma): revert: Add metastore cache invalidation in iceberg - Add metastore cache invalidation procedure for Iceberg connector. - #27240 (Author: Joe Abraham): feat: Add read support for row lineage columns in Iceberg connector - Add read support for Iceberg V3 row lineage hidden columns `_row_id` and `_last_updated_sequence_number`. - #27282 (Author: Pratyaksh Sharma): feat(connector): Add support for `execute` procedure in JDBC connectors - Add support for `execute` procedure in JDBC connectors. - #27293 (Author: Sayari Mukherjee): chore(deps): Update jackson version to 2.18.6 - Upgrade jackson dependency from 2.15.4 to version 2.18.6 to address `GHSA-72hv-8253-57qq <https://github.com/advisories/GHSA-72hv-8253-57qq>`_. - #27294 (Author: Shahim Sharafudeen): chore(deps): Bump jetty from 12.0.29 to 12.0.34 - Upgrade jetty dependency from 0.27 to version 2.0.2 to address `CVE-2025-11143 <https://github.com/advisories/GHSA-wjpw-4j6x-6rwh>` and `CVE-2026-1605 <https://github.com/advisories/GHSA-xxh7-fcf3-rj7f>`_. - #27325 (Author: Jianjian Xie): feat(connector): Add caching for Lance connector - Add configurable index and metadata cache sizes via lance.index-cache-size and lance.metadata-cache-size. - Add version-aware dataset caching with snapshot isolation for consistent query reads. - #27357 (Author: Prashant Sharma): feat(plugin-iceberg): Add min max stats for varchar/char column and display as low and high values - Add low and high values for varchar/char columns of Iceberg tables. - #27422 (Author: Chandrakant Vankayalapati): feat(planner): Support GROUP BY and ORDER BY ordinals in MV query rewriting (#27422) - Add support for ``GROUP BY`` and ``ORDER BY`` ordinal references in materialized view query rewriting. Previously, queries like ``SELECT a, SUM(b) FROM t GROUP BY 1`` would silently skip materialized view optimization. - #27430 (Author: Jianjian Xie): feat(connector): Add filter pushdown for Lance connector - Add SQL filter pushdown to reduce data read from disk for selective queries. Supports equality, comparisons, IN lists, IS NULL, and range predicates on Boolean, Integer, Bigint, Real, Double, Varchar, Date, and Timestamp types. - #27483 (Author: Miguel Blanco Godón): feat(plugin-delta): Support reading tables with column mapping enabled - Add support for reading Delta Lake tables with column mapping enabled. - #27486 (Author: Jamille Shao-Ni): feat(protocol): Update annotations for consistent Thrift serialization support to all TaskResource endpoints - Add support for Thrift serialization (`application/x-thrift-binary`, `application/x-thrift-compact`, `application/x-thrift-fb-compact`) to all TaskResource endpoints for consistent internal communication protocol. - Improve efficiency of coordinator-to-worker communication with 20-40% smaller payload sizes and 2-3x faster serialization compared to JSON. - #27491 (Author: Sreeni Viswanadha): feat(optimizer): Rewrite map_from_entries(ARRAY[ROW(...)]) to MAP(ARRAY[], ARRAY[]) - Optimize `map_from_entries(ARRAY[ROW(...), ...])` by rewriting to `MAP(ARRAY[keys], ARRAY[values])` at plan time, avoiding intermediate ROW construction. - #27493 (Author: Sreeni Viswanadha): fix(planner): Use LinkedHashMap in optimizer rules to fix type mismatch - Fix runtime type mismatch crashes in Velox native execution caused by non-deterministic HashMap iteration order in PreAggregateBeforeGroupId, PushPartialAggregationThroughExchange, and MultipleDistinctAggregationToMarkDistinct optimizer rules. Replace HashMap with LinkedHashMap to preserve aggregation output variable ordering. - #27496 (Author: dependabot[bot]): chore(deps): Bump lodash-es from 4.17.23 to 4.18.1 in /presto-ui/src - Upgrade lodash-es from 4.17.23 to 4.18.1 to address `CVE-2026-4800 <https://nvd.nist.gov/vuln/detail/CVE-2026-4800>`_. This dependency is used for local development only and does not affect production runtime. - #27497 (Author: dependabot[bot]): chore(deps): Bump lodash from 4.17.23 to 4.18.1 in /presto-ui/src - Upgrade lodash from 4.17.23 to 4.18.1 to address multiple security vulnerabilities: - `CVE-2026-4800 <https://nvd.nist.gov/vuln/detail/CVE-2026-4800>`_. This dependency is used for local development only and does not affect production runtime. - #27500 (Author: Sreeni Viswanadha): feat(optimizer): Rewrite ROW constructor IN to disjunction for partition pruning - Add optimizer rule RewriteRowConstructorInToDisjunction that rewrites ROW IN ROW predicates into OR of AND equality chains when all ROW fields are partition keys, enabling per-column TupleDomain extraction for partition pruning. Gated behind session property rewrite_row_constructor_in_to_disjunction (default disabled). - #27504 (Author: Kevin Tang): feat(analyzer): Add session property to gate CTAS IF NOT EXISTS query analysis - Add session property :ref:`admin/properties-session:\`\`always_analyze_create_table_query_enabled\`\`` to enable analyzing inner queries on ``CREATE TABLE AS SELECT IF NOT EXISTS`` statements when the target table already exists. - #27510 (Author: Sreeni Viswanadha): feat(optimizer): Rewrite bucketed semi-join to join - Add optimizer rule RewriteBucketedSemiJoinToJoin that rewrites semi-joins into left joins with distinct aggregation when both sides are bucketed on the join key, avoiding data shuffle. Gated behind session property rewrite_bucketed_semi_join_to_join (default disabled). - #27538 (Author: Chandrakant Vankayalapati): feat(planner): Support CUBE/ROLLUP/GROUPING SETS column rewriting in MV optimizer (#27538) - Fix materialized view query rewriting for ``CUBE``, ``ROLLUP``, and ``GROUPING SETS`` clauses. Column references inside these grouping elements are now correctly rewritten to materialized view columns. - #27547 (Author: feilong-liu): perf(planner): Optimize query planning for wide-column projections - Improve query planning performance for wide-column projections by adding fast paths that skip unnecessary processing for variable references, constants, and identity assignments across multiple optimizer rules. - #27549 (Author: Chandrakant Vankayalapati): feat(planner): Support scalar functions in MV query rewriting (#27549) - Add support for scalar functions in materialized view query rewriting. Queries using functions like ``CONCAT``, ``ABS``, ``JSON_EXTRACT``, ``CAST``, ``IF``, ``COALESCE``, and ``CASE`` expressions now correctly rewrite to scan the materialized view. - #27553 (Author: feilong-liu): perf(analyzer): Index RelationType.resolveFields() for O(1) field lookup - Improve logical planner performance for wide-column queries by indexing RelationType.resolveFields() for O(1) field lookup instead of O(N) linear scan. - #27568 (Author: Sreeni Viswanadha): fix(optimizer): Fix cascading projection pass-through in PushProjectionThroughCrossJoin - Fix a bug in PushProjectionThroughCrossJoin optimizer rule where cascading projections above a cross join could cause validation errors by dropping pushed variables from intermediate residual projects. - #27574 (Author: dependabot[bot]): chore(deps): Bump org.apache.kafka:kafka-clients from 3.9.1 to 3.9.2 - Upgrade org.apache.kafka:kafka-clients from 3.9.1 to 3.9.2 inorder to address `CVE-2026-35554 <https://github.com/advisories/GHSA-5qcv-4rpc-jp93>`_. - #27583 (Author: Nandakumar Balagopal): chore(deps): Bump org.apache.logging.log4j:log4j-core from 2.25.3 to 2.25.4 - Upgrade org.apache.logging.log4j:log4j-core from 2.25.3 to 2.25.4 inorder to address `CVE-2026-34480 <https://nvd.nist.gov/vuln/detail/CVE-2026-34480>`_. - #27597 (Author: Swapnil): fix: Fix race condition in pruneFinishedQueryInfo causing task memory leak - Fix race condition in pruneFinishedQueryInfo causing task memory leak. - #27598 (Author: Sreeni Viswanadha): feat(optimizer): Extend JoinPrefilter to support complex probe-side patterns - Add new session property `join_prefilter_build_side_with_complex_probe_side` (default false) to extend join prefilter optimization to support complex probe-side patterns including UNION ALL, cross join, unnest, and aggregation. - #27606 (Author: dependabot[bot]): chore(deps): Bump org.bouncycastle:bcprov-jdk18on from 1.81 to 1.84 in /presto-tests - Upgrade org.bouncycastle:bcprov-jdk18on from 1.81 to 1.84 to resolve `CVE-2026-0636 <https://nvd.nist.gov/vuln/detail/CVE-2026-0636>`_. - #27613 (Author: Shahim Sharafudeen): fix(security): Upgrade async-http-client to 3.0.9 to address CVE-2026-40490 - Upgrade async-http-client to version 3.0.9 to address `CVE-2026-40490 <https://github.com/advisories/GHSA-cmxv-58fp-fm3g>`_. - #27639 (Author: Chandrakant Vankayalapati): feat: Add authorizedPrincipal to AuthorizedIdentity for gateway identity propagation (#27639) - Add optional authorizedPrincipal to AuthorizedIdentity to support gateway identity propagation, allowing the session principal to reflect the original client instead of the gateway. - #27645 (Author: Nivin C S): fix: Fix failure when inserting into Iceberg tables partitioned by day(timestamp with time zone) - Fix failure during INSERT into Iceberg tables partitioned by day() when using timestamp with time zone columns. - #27659 (Author: Reetika Agrawal): feat(plugin-iceberg): Add changes for passing iceberg V3 initialDefaultValue while read - Add changes for passing iceberg V3 initialDefaultValue while read. - #27663 (Author: feilong-liu): feat: Add partition-aware grouped execution for bucketed tables - Add `partition_aware_grouped_execution` session property to schedule each (bucket, partition) as a separate lifespan in grouped execution, reducing per-lifespan data volumes for bucketed tables. Disabled by default. - Add support for partition-aware grouped execution in the Hive connector, creating per-(bucket, partition) split queues and compound partition handles. - #27677 (Author: Timothy Meehan): feat(analyzer): Allow HAVING in materialized view query rewrite - Allow HAVING in queries that are transparently rewritten onto a materialized view. - #27678 (Author: Sreeni Viswanadha): perf(optimizer): Clean up prefilter distinct limit - Improve PrefilterForLimitingAggregation optimizer to exclude partition keys from the DistinctLimit, improving convergence speed for GROUP BY + LIMIT queries on partitioned tables. - Add N <= 1000 limit guard to PrefilterForLimitingAggregation to restrict the optimization to small limits. - #27685 (Author: Glerin Pinhero): chore(deps): Upgrading mongodb driver to mongodb driver sync - Upgrade mongo-java-driver to mongodb-driver-sync. - #27691 (Author: Sergey Pershin): fix: Take 'finishingTime' and 'planningTime' out of 'executionTime' (#27691) - Fix 'planningTime' and 'finishingTime' are no longer added to the 'executionTime'. 'executionTime' is now a true execution time - how long it took the query to run the compute. It can be used to measure the efficiency of the workers w/o added planning time or the time spent on final steps, like partition registration. - #27700 (Author: feilong-liu): feat(optimizer): Add session properties for RPC streaming mode and batch dispatch size - Add ``rpc_streaming_mode`` session property to control RPC function execution mode (``PER_ROW`` or ``BATCH``). Default: ``PER_ROW``. - Add ``rpc_dispatch_batch_size`` session property to control batch size for RPC dispatch in ``BATCH`` mode. Default: ``128``. A value of ``0`` collects all rows before dispatching. - Fix RPC options argument parsing to use the last argument instead of hardcoding index 3. - #27714 (Author: feilong-liu): fix: UnsupportedOperationException for UnionNode in AddExchanges fixed parallelism path - Fix UnsupportedOperationException when using `remote_function_names_for_fixed_parallelism` with queries containing UNION ALL below the remote function projection. - #27715 (Author: nishithakbhaskaran): chore(deps): Bump http-proxy-middleware from 2.0.7 to 2.0.9 in /presto-ui/src to resolve CVE-2025-32996 - Upgrade http-proxy-middleware from 2.0.7 to 2.0.9 in /presto-ui/src to resolve `CVE-2025-32996 <https://nvd.nist.gov/vuln/detail/CVE-2025-32996>`_. - #27722 (Author: dependabot[bot]): chore(deps): Bump org.postgresql:postgresql from 42.7.9 to 42.7.11 - Upgrade org.postgresql:postgresql from 42.7.9 to 42.7.11 to resolve `CVE-2026-42198 <https://nvd.nist.gov/vuln/detail/CVE-2026-42198>`_. - #27728 (Author: Timothy Meehan): fix(plugin-iceberg): Do not check access control for MV data table - Fix access control for materialized view storage tables when ``legacy_materialized_views=false``: storage-table access control is bypassed during MV expansion, while direct queries by name still go through access control. - Add ``iceberg.materialized-view-default-storage-schema`` config to route storage tables into a single schema. Defaults to the materialized view's own schema; per-MV ``storage_schema`` overrides. - #27748 (Author: Pratik Joseph Dabre): feat(plugin-native-sidecar): Add support for adding plugin loaded types in sidecar plugin - Add support for adding plugin loaded types in sidecar plugin. - #27764 (Author: Sreeni Viswanadha): feat(optimizer): Push aggregation through UNION ALL with disjoint group keys - Add ``push_aggregation_through_disjoint_union`` session property (default off) that pushes a ``GROUP BY`` aggregation completely below ``UNION ALL`` when at least one grouping key has constant values that are pairwise distinct across the union branches, eliminating the final aggregation. - #27765 (Author: Sreeni Viswanadha): fix(planner): Prune empty inputs through local exchanges in SimplifyPlanWithEmptyInput - Improve ``SimplifyPlanWithEmptyInput`` to prune empty subtrees that the connector PHYSICAL stage produces under local exchanges. Multi-source exchanges with mixed empty / non-empty children now drop the empty branches, eliminating idle no-op operators at runtime for wide ``UNION ALL`` queries where some branches are pruned to empty by partition / snapshot filtering. Single-source exchanges and write-side subtrees (``TableWriter`` / ``TableFinish``) are preserved. - #27766 (Author: Timothy Meehan): feat(plugin-iceberg): Push down `_last_updated_sequence_number` predicates - Add predicate push down on ``_last_updated_sequence_number`` for file-level pruning. - #27767 (Author: Reetika Agrawal): feat(native): Iceberg V3 initialDefaultValue - Add support for iceberg V3 initialDefaultValue. - #27769 (Author: Shahim Sharafudeen): fix(security): Upgrade Netty to 4.2.13.Final to address CVE-2026-42584 - Upgrade Netty to 4.2.13.Final in response to `CVE-2026-41417 <https://github.com/advisories/GHSA-fghv-69vj-qj49>` , `CVE-2026-44248 <https://github.com/advisories/GHSA-jfg9-48mv-9qgx>` , `CVE-2026-42577 <https://github.com/advisories/GHSA-rwm7-x88c-3g2p>` , `CVE-2026-42578 <https://github.com/advisories/GHSA-45q3-82m4-75jr>` , `CVE-2026-42579 <https://github.com/advisories/GHSA-cm33-6792-r9fm>` , `CVE-2026-42580 <https://github.com/advisories/GHSA-m4cv-j2px-7723>`, `CVE-2026-42581 <https://github.com/advisories/GHSA-xxqh-mfjm-7mv9>` , `CVE-2026-42582 <https://github.com/advisories/GHSA-2c5c-chwr-9hqw>` , `CVE-2026-42583 <https://github.com/advisories/GHSA-mj4r-2hfc-f8p6>` , `CVE-2026-42584 <https://github.com/advisories/GHSA-57rv-r2g8-2cj3>` , `CVE-2026-42585 <https://github.com/advisories/GHSA-38f8-5428-x5cv>` , `CVE-2026-42586 <https://github.com/advisories/GHSA-rgrr-p7gp-5xj7>` and `CVE-2026-42587 <https://github.com/advisories/GHSA-f6hv-jmp6-3vwv>`_. - #27774 (Author: Timothy Meehan): feat(plugin-iceberg): Bound MV refresh - Add ``max_snapshots_per_refresh`` materialized view property to bound how far each base table advances per ``REFRESH MATERIALIZED VIEW``. Defaults to ``0`` (unbounded). Requires Iceberg V3 row lineage; V2 tables fall back to unbounded refresh. - Add ``iceberg.materialized-view-default-max-snapshots-per-refresh`` config property and matching session property to set the default bound. - #27777 (Author: sumi-mathew): fix(security): Upgrade libthrift to address CVE-2026-41604 - Upgrade libthrift 0.23.0 in response to `CVE-2026-41604 <https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2026-41604>`_. - #27778 (Author: Chandrakant Vankayalapati): fix(analyzer): Prevent incorrect materialized view query rewrite when base query lacks GROUP BY - Fix data correctness bugs in ``MaterializedViewQueryOptimizer`` where queries without ``GROUP BY`` could be incorrectly rewritten to use materialized views with ``GROUP BY``, producing fewer rows than expected. Alias mismatches and scalar expression bypasses allowed invalid rewrites that silently collapsed duplicate rows. - #27790 (Author: Chandrakant Vankayalapati): fix(plugin-singlestore): Fix type mapping for SingleStore JDBC client 1.2.11 - Fix TINYINT type mapping to preserve TINYINT semantics instead of incorrectly mapping to BOOLEAN after JDBC driver upgrade. - Fix varchar type mapping for TEXT types to use byte-based thresholds matching the JDBC driver's COLUMN_SIZE reporting. - #27797 (Author: Ben Hu): chore(deps): Update BigQuery Storage API SDK from v1beta1 to v1 - Update Google BigQuery Storage API SDK from v1beta1 to v1. - #27803 (Author: Sayari Mukherjee): chore(deps): Upgrade parquet-jackson to 1.17.1 in Iceberg connector - Upgrade parquet-jackson to 1.17.1 in response to `GHSA-72hv-8253-57qq <https://github.com/advisories/GHSA-72hv-8253-57qq>`_. - #27806 (Author: Timothy Meehan): feat(plugin-iceberg): Add `ALTER MATERIALIZED VIEW SET PROPERTIES` - Add ``ALTER MATERIALIZED VIEW <name> SET PROPERTIES (...)`` SQL statement to update materialized view properties after creation. :pr:`27806`. - Allow updating ``stale_read_behavior``, ``staleness_window``, and ``refresh_type`` on existing materialized views via ``ALTER MATERIALIZED VIEW ... SET PROPERTIES`` (requires ``legacy_materialized_views=false``). :pr:`27806`. - #27810 (Author: Reetika Agrawal): feat: Add support for ALTER TABLE SET DEFAULT for Iceberg write-default - Add support for `ALTER TABLE ... ALTER COLUMN ... SET DEFAULT` syntax to update Iceberg column write-default values. - Add support for updating column write-default values using `ALTER TABLE ... SET DEFAULT` (requires Iceberg format version 3+). - Update write-default operations to preserve existing initial-default values as metadata-only changes. - #27816 (Author: Timothy Meehan): fix(plugin-iceberg): Add warnings for stitching and refresh fallback - Add warning when predicate stitching or incremental refresh falls back to full recompute. - #27819 (Author: Sreeni Viswanadha): feat(optimizer): Replace timeout with scan limiting for predictable prefilter performance - Improve PrefilterForLimitingAggregation to use scan limiting instead of timeouts for more predictable performance. The optimization now limits the source scan to 1000 * LIMIT rows before applying DISTINCT LIMIT. - #27820 (Author: Timothy Meehan): feat(plugin-iceberg): Make MV stitching and incremental refresh cost-based - Add `materialized_view_stitching_strategy` and `materialized_view_incremental_refresh_strategy` session properties (values: `ALWAYS`, `NEVER`, `AUTOMATIC`; default: `ALWAYS`). Under `AUTOMATIC`, the optimizer selects between the rewrite and the full alternative based on cost; when stats are unavailable it falls back to row-count comparison. - #27829 (Author: Rebecca Schlussel): chore: Remove old NaN definition and mark config as defunct - Remove configuration property `use-new-nan-definition`. - #27835 (Author: Timothy Meehan): fix(plugin-iceberg): Fix duplicate view creation in Hive catalog - Fix race where concurrent ``REFRESH MATERIALIZED VIEW`` on the same Hive-backed Iceberg materialized view could lose a watermark update. # All Commits - 4f8be7c2dcb7def7c113503da91b6f726b23ab3c fix(security): Upgrade redshift-jdbc42 to 2.2.7 to address CVE-2026-8178 (#27828) (Nivin C S) - 54cabf9207d654dc8b42ea3c6a2ca3cb4de2f736 chore(ci): Advance velox (#27886) (Amit Dutta) - 39e9ec63aae2bc6342e90d96c3d1f2f5ffe5df79 fix(security): Upgrade opentelemetry-api to 1.62.0 to address CVE-2026-45292 (#27865) (sumi-mathew) - e78428e6303bd1aeadf2190daeb2672caf1a9a5b refactor(native-pos): Add State enum and lifecycle state machine to MaterializedOutputBuffer (#27873) (#27873) (Shrinidhi Joshi) - 3ed75c8d7a84328335ed121adba2c03d3d459257 fix(native-pos): Move ShuffleWriter and pool creation inside MaterializedOutputBuffer (#27872) (#27872) (Shrinidhi Joshi) - c3946f3325806101255c996a7b79c473183e068e test: Add end to end tests for string functions (#26950) (Allen Shen) - 869548bd2558d856b37a80762313b237312a9c46 refactor(native): Migrate to PrestoQueryConfig for array_agg.ignore_nulls (#27876) (Maria Basmanova) - 3f8e87638b102a1d3d93a57e9f16e24de28447be fix(native-pos): Add typed units to MaterializedOutputBuffer runtime stats (#27870) (Shrinidhi Joshi) - 86ab4a4a6df0c5984f8add15caaf9fe1a93a7977 refactor(native-pos): Remove cooperative backpressure and `useSystemMemory` config (#27869) (Shrinidhi Joshi) - a31f69f64d856574529ed5a6b104cf8c564f1c32 chore(deps): Update jackson version to 2.18.6 (#27293) (Sayari Mukherjee) - 871f92d45a81c580384681437891908e01506b92 chore: Force modernizer use for all modules up to presto-main-base (#27867) (Zac Blanco) - a51fe41c87a2ff77c7c5297b144288f6e04b4997 test(native-pos): Reduce `kLocalShuffleMaxPartitionBytes` default to 64KB (#27868) (Shrinidhi Joshi) - 4617d4685a9fe2262240dc1c44cda2e1be37d747 feat: Adding Apache Arrow FlightShim for connector federation in C++ workers (#26369) (Bryan Cutler) - 6185c1b22293f3d5c1bd0abed891224426ddb363 chore: Bump webpack-cli from 5.1.4 to 7.0.2 in /presto-ui/src (#27852) (sumi-mathew) - a658c94f2b81f5c7abe400c192deeb84a8346d7a feat(plugin-iceberg): Make MV stitching and incremental refresh cost-based (#27820) (Timothy Meehan) - 46cc03138b034839bc05468be6ad801e4f665cba fix(plugin-iceberg): Fix duplicate view creation in Hive catalog (#27835) (Timothy Meehan) - 3df2afa1769509be19279c9433367ae36c0df300 chore(analyzer)!: Change fieldNamesInJsonCastEnabled default value to true (#26833) (Yabin Ma) - 381e181176178892dbf73a6422dd2bcafbbfa1c6 chore(deps): Bump jetty from 12.0.29 to 12.0.34 (#27294) (Shahim Sharafudeen) - ee7c8a567ffb3e5cf40a31fcbe5904eb5109265f fix(native): Fix CMake link order for presto_server_lib (#27847) (Tirumala Saiteja Goruganthu) - 679d5342881d1021b9a3d038ebec0cd98bb2b4ac docs: Fix formatting of table in connector/iceberg.rst (#27859) (Steve Burnett) - dc48d4a399b800d20d9cff1c26beaa15720e3b04 chore(ci): Advance velox (#27802) (Amit Dutta) - b22bb99a7f950980c4b1f04a72c373740e5e92dc docs: Fix prestocpp setup config file (#27857) (Reetika Agrawal) - 5608831355838f839b4a428550c50e45ef435360 fix(plugin-iceberg): Disable equality delete as join for DELETE/UPDATE (#27854) (Naveen Mahadevuni) - 71088a83203252340f49fcbfe3e7f9c5832342aa chore(deps): Upgrade protobuf to 4.34.1 (#27844) (bibith4) - 241c94ac60996f5dfeeb85a3e872e3dfd1b5e251 chore(deps): Upgrade parquet-jackson to 1.17.1 in Iceberg connector (#27803) (Sayari Mukherjee) - 73aa19fda74895b62ebe545b1e500813d00a258d fix(testing): Fix TPC-H native-execution tests to use the right storage format and standard queries (#27581) (Pramod Satya) - f7c0ab9e2b7230829372cf24b4c640f44be31e5a feat(optimizer): Add per-column predicates for ROW IN/NOT IN (#27708) (Sreeni Viswanadha) - 41a66fc0fe2fd7707fd84062cf075a9a683803b1 fix(native): Allow UTC timezone (key=0) in session config (#27309) (Shakyan Kushwaha) - 77e782ce8de12518155cfb30d472e7f3d75afa21 chore(deps): Upgrade eslint-plugin-react-hooks to version 7.1.1 (#27845) (bibith4) - 7ee85da37a4d09182392b8c05a9e0622e453acfd fix(native): Possible segv in system data source creation (#27807) (Christian Zentgraf) - b7f8f05a286a1f611e48a04babf2cf99b8688507 fix(plugin-iceberg): Add warnings for stitching and refresh fallback (#27816) (Timothy Meehan) - b30db0a9a01ee92673327ec7df909eeee7203cb3 chore(deps): Upgrade datasketches-java to version 6.2.0 (#27839) (Sayari Mukherjee) - be01a17a06c16cb8004736e0b1f2dc5488805300 refactor(planner): Extract shared expression rewriter for MV query optimizer (#27732) (#27732) (Chandrakant Vankayalapati) - 10d55723b93ccd907a1bba2736428271abc53bcf fix: Disallow rewrite_data_files in Iceberg if filter pushdown enabled (#27838) (Dong Wang) - 5aa4abed4085cadd7ef5a0b8f47673486245c9b1 feat(optimizer): Push HAVING filter through MAX/MIN/ARBITRARY aggregations (#27712) (Sreeni Viswanadha) - 2301c14aa4def417f7766b2d542ce8191d4c2050 fix(ci): Update release notes check to use raw markdown body (#27842) (Rebecca Schlussel) - 917cf4cd78d32ca72ef6b7b45c77c3d44a7b3b26 chore(deps): Update BigQuery Storage API SDK from v1beta1 to v1 (#27797) (Ben Hu) - 7faea8429c9b23d67f577f42543796d6a57e0253 feat(protocol): Update annotations for consistent Thrift serialization support to all TaskResource endpoints (#27486) (Jamille Shao-Ni) - a95cb3ef06310b98b43da290d03fd8c8ee82f35c feat(plugin-iceberg): Push down min/max/count based on file stats (#27085) (Dong Wang) - 92046f2512be60dd0cb2a5f95377629733fd92e0 fix(analyzer): Relax stale view validation for compatible string types (#27776) (Reetika Agrawal) - 6ba9b3a2291d469f384f260451f1b2f776709255 chore(deps): Upgrade commons-logging dependency from 1.3.5 to 1.3.6 (#27811) (Nivin C S) - c6505360c4fb31bc5aabbc4e0e41fe285b638912 feat(plugin-iceberg): Bound MV refresh (#27774) (Timothy Meehan) - d8a2b53fa42fa41ca5025f9d7640c8eebc9ff15b feat(optimizer): Replace timeout with scan limiting for predictable prefilter performance (#27819) (Sreeni Viswanadha) - 6823d9c9b135e6781bc9f4a30c658eb805b6518a chore(deps): Bump webpack-dev-server from 5.2.1 to 5.2.4 in /presto-ui/src (#27840) (dependabot[bot]) - 888991dc8b1a07424aba33f3c8bb440820479f0c chore: Bump commons.codec from 1.17.2 to 1.21.0 (#27756) (sumi-mathew) - 1da69a6e246fdeecc7302e8385b7ec4580e27821 fix(optimizer): Handle RPC functions inside TRY expressions (#27818) (feilong-liu) - 3233fe18835b38c1f7399f97a937bc79f1208dbf chore(analyzer): Remove warn-on-common-nan-patterns config and NaN warning behavior (#27830) (Rebecca Schlussel) - c11fbf9f5f5415a3e28ea2d677acea27754788ee chore(deps): Upgrading mongodb driver to mongodb driver sync (#27685) (Glerin Pinhero) - 79cc9cb5c5bb586c9bde73c362912eef1b1188db refactor: Remove duplicate check of iceberg v3 validation (#27837) (Reetika Agrawal) - 3161b74a9d8b201487835db397aefe60178fea0d refactor: Add missing getter methods and fix ordering in MetadataManagerStats (#27825) (Reetika Agrawal) - 3332fa796f9724aed783d4f3f5af81578961b336 feat: Add support for ALTER TABLE SET DEFAULT for Iceberg write-default (#27810) (Reetika Agrawal) - b294d8bf029c78a1afbabf3cae66d1b4f305dafa fix(native-pos): Fix MaterializedOutput correctness and crash bugs in close/finish lifecycle (#27833) (Shrinidhi Joshi) - 0da3bb839ea7085c1dd6ca365627ecc107f50973 feat(optimizer): Extend JoinPrefilter to support complex probe-side patterns (#27598) (Sreeni Viswanadha) - da0f63f907f8993b56e9dddf5eedd100a77022f3 feat(plugin-iceberg): Add `ALTER MATERIALIZED VIEW SET PROPERTIES` (#27806) (Timothy Meehan) - 9b2559f2138b9e31d5a198b1261d23dee2a15111 chore: Remove old NaN definition and mark config as defunct (#27829) (Rebecca Schlussel) - 34d459d66c03e4a866ee2332a28826c90e105222 feat(plugin-iceberg): Add support for ALTER COLUMN SET DATA TYPE in the Iceberg connector (#25418) (Nivin C S) - f12815ce648cfcfdd3721f4cd54a12e56ecdb4b2 chore(deps): Upgrade openlineage-java to 1.47.1 to fix CVE-2026-40542 (#27812) (Dilli Babu Godari) - fd67186b43f87362df58e8ab1cbe79e7f507ffa1 feat: Wire up IndexSource splits to Spark task sources (#27817) (Zac) - 65547f47ad87d4ccc1e7576d7cc864f717490893 feat(native): Iceberg V3 initialDefaultValue (#27767) (Reetika Agrawal) - c2f37fc3ec49e3455e91afaef31dfb034e617bc8 fix: Enable partition-aware grouped execution for index joins (#27701) (Zac) - 4509fb24ec79df4093a83ffb50e6d688ee0f0854 chore(deps): Upgrade ratis dependencies from 3.1.3 to 3.2.2 (#27787) (Nivin C S) - 1d6737a6624fa048e2db721b905861f9958ee092 fix(planner): Prune empty inputs through local exchanges in SimplifyPlanWithEmptyInput (#27765) (Sreeni Viswanadha) - d7f0f924c30e79238d20113afbc2977536ef35b7 misc(native): Target Java 8 for presto-on-spark compatibility (#27697) (#27697) (Kevin Tang) - b4ce8d0d82797243153502c17769c0cfde8e6c5c misc(native-pos): Extract AbstractNativeProcess from NativeExecutionProcess (#27696) (#27696) (Kevin Tang) - 18e730b1da26f301fe7362f514252f370671d623 docs: Fix errors in doc build (#27805) (Steve Burnett) - 81d4bde174f8e7dbdd1c9dbae1ecf3330b16267c feat(client): Add connection validation feature to enhance connection reliability (#27002) (Sayari Mukherjee) - f0d744296a0ba0f3c4031fde5cd9eaa370d1e397 feat(optimizer): Push aggregation through UNION ALL with disjoint group keys (#27764) (Sreeni Viswanadha) - bf30efcd530b9b181ec21672b8140ec0ebf6231a feat(plugin-prometheus): Enable case-sensitive identifier support for Prometheus connector (#26260) (Dilli Babu Godari) - 9bacdef43077268ca4abefd24718cfc8caef2b1c perf(native-pos): Fix OOM due to excessive memory usage in BroadcastFileReader (#27798) (Shrinidhi Joshi) - 95db1c86b6098026c48167dfa751393359ebdab5 feat(plugin-iceberg): Push down `_last_updated_sequence_number` predicates (#27766) (Timothy Meehan) - 76d8bf2f42476c36e429e7515797f452ca79aef3 fix(plugin-iceberg): Handle deprecated Iceberg write.object-storage.path property (#27758) (Reetika Agrawal) - 52f8f99b36a43d89f448a54b5220ad659fd3a5e0 fix(security): Upgrade Netty to 4.2.13.Final to address CVE-2026-42584 (#27769) (Shahim Sharafudeen) - 7056bdb10dafdcdd36649535c27e652ab843ebbd feat(plugin-native-sidecar): Add support for adding plugin loaded types in sidecar plugin (#27748) (Pratik Joseph Dabre) - 21a6092869bf9e7f0832e15879e5a023164b6723 feat(native-pos): Make MaterializedOutputBuffer size configurable with dynamic drain threshold (#27795) (#27795) (Shrinidhi Joshi) - 770df6161cd196d61f9fdedd9595e453ea621a0b fix(native-pos): Add flow control logging to MaterializedOutputBuffer (#27794) (#27794) (Shrinidhi Joshi) - c237df17e5c216ee75913d28f5f9244dca904070 chore(ci): Advance velox (#27786) (Joe Abraham) - 18fec98bdd3485e64d03bc36bcd7c05f96c555c1 chore(deps): Upgrade jest version to 30.3.0 (#27657) (Sayari Mukherjee) - ace806dd47e337d85a74ef814ccae4d530057db1 test: Add end to end test for jaccard_index (#27591) (jkhaliqi) - e2c083acc87b705657c832dbec1c4f66f90825f2 fix(plugin-singlestore): Fix type mapping for SingleStore JDBC client 1.2.11 (#27790) (Chandrakant Vankayalapati) - 3449d457efacef3697c832b87d4657522cd9a9d2 chore(deps): Upgrade gson dependencies from 2.12.1 to 2.14.0 (#27779) (Nivin C S) - c45405dfc8cf2017f62e5e27c3c860d9c697cdc8 fix(security): Upgrade libthrift to address CVE-2026-41604 (#27777) (sumi-mathew) - d7c8658c654a27caf28e36caf87dba5e170dbde9 docs: Document optimizer and Iceberg properties (#27775) (Asish Kumar) - 2acd947be65af53ed13f6651aca0586801575e98 fix(analyzer): Prevent incorrect materialized view query rewrite when base query lacks GROUP BY (#27778) (Chandrakant Vankayalapati) - bb46550550e257affc78ac7ea111f548acd83239 feat: Add partition-aware grouped execution for bucketed tables (#27663) (feilong-liu) - f65259c38cf23e1e8b1c5942fb57f069c60c5bcf chore(deps): Upgrade React and ReactDOM to version 19.2.4 (#27740) (Sayari Mukherjee) - e1eb82f978ab72e92c79b51b88bb3eb0a152b80c fix: Allow DELETE queries to run on Presto on Spark (#26195) (Gary Helmling) - 8982f133809140a3c94595414b1d82518463e3f8 chore(deps): Upgrade react-simple-code-editor from 0.13.1 to 0.14.1 (#27739) (Sayari Mukherjee) - efaf47f42aa9651a4c818c8f9c1eb5af38f90037 feat(plugin-delta): Support reading tables with column mapping enabled (#27483) (Miguel Blanco Godón) - 7a9a2872c084815393063fed6e80a5b39642200a fix(native-pos): Fix PartitionAndSerialize ROUND_ROBIN sending all rows to partition 0 (#27770) (Shrinidhi Joshi) - ad09e9bd5ac631c82202985f19207e943dbe4290 fix: Load coordinator plugins before standard plugins across bundles (#27729) (Pratik Joseph Dabre) - 426dd7c1b19979788d1300b39d81139620988fcc fix(planner): Fix ConstantExpression type mismatch in PropertyDerivations.visitProject (#27773) (feilong-liu) - 6aed02700ca94defa04d427854e6492119a7ccbe feat(analyzer): Allow HAVING in materialized view query rewrite (#27677) (Timothy Meehan) - f1c7b7d3df6736e46e2ac0651d4b44e18c5e4ea0 chore: Bump commons-dbcp2 from 2.12.0 to 2.14.0 (#27754) (sumi-mathew) - 39513c10a1f0b02195a08f78691b0e4059dace6f chore(deps): Bump @babel/plugin-transform-modules-systemjs from 7.29.0 to 7.29.4 in /presto-ui/src (#27763) (dependabot[bot]) - 5191b72fb4e7b680c0c36e2e0a5411f251e3b10d fix(plugin-iceberg): Do not check access control for MV data table (#27728) (Timothy Meehan) - 00acf72fa459e525d22c37c6abbfa22a3d401497 chore(deps): Bump SingleStore JDBC client to 1.2.11 (#27759) (Dilli Babu Godari) - d5b68df83e73e7a2269dd90ce6073d9d2ae3a31d chore(deps): Bump Apache Lucene 8.11.3 to 9.12.3 (#27757) (Dilli Babu Godari) - bb26a1ecf9f0badaa655d73a967f5b9426a58a8c test: Add end-to-end tests for numeric_histogram function (#26968) (Allen Shen) - 434758f0738d0cee949ce531b3afb82dd095f43b fix: Honor channels parameter in RestSqlFunctionExecutor (#27684) (Joe Abraham) - c169c153008d9de15f1848a6d80affd8a40e6ead chore(ci): Advance velox (#27716) (Amit Dutta) - 9e8ba1c8cc4b98551ec27935be4b112777b9bb62 fix: Populate session fields when query fails before Session is authenticated (#27752) (Kevin Tang) - a3516e21602fcd7cf5bae8ba24ea022232069f5e fix(ui): Fix timeline legend layout with gaps between colored bars (#27731) (Yihong Wang) - 89ceb1618bd3ba2338c6a7014720e221d4157714 feat(native): Add native_min_shuffle_compression_page_size_bytes session property (#27683) (#27683) (Henry Dikeman) - 296ee91d3c5bd3b93b898aabca0f29a27ba0878f feat(native-pos): MaterializedOutput: support replicateNullsAndAny (#27753) (Shrinidhi Joshi) - abed99b86b4961672cc569422c30de677377c7a4 chore(deps): Upgrade html-webpack-plugin from 5.6.0 to 5.6.6 (#27737) (Sayari Mukherjee) - d93dc465a9859fadfaa7086d7fac3429edd1aafe fix(deps): Bump presto-spark-classloader-spark3 parent version to 0.298-SNAPSHOT (#27747) (Kevin Tang) - d94276a3e66c25a6b67f243fcb148968b8004b98 feat(connector): Add support for `execute` procedure in JDBC connectors (#27282) (Pratyaksh Sharma) - d7d029abfb2e92c8d0f549863d846d2f38ba17cd chore(deps): Upgrade vis-timeline from 7.7.3 to 8.5.0 (#27721) (Sayari Mukherjee) - c0f9cd4cb13b8d12ab40d67b8d97516776102cf6 fix(security): Upgrade fast-uri from 3.0.6 to 3.1.2 in /presto-ui/src to resolve CVE-2026-6321 (#27736) (nishithakbhaskaran) - c2f09fb5eebdbbb5bef5ac6fc9c38d3ac688bc67 chore(deps): Upgrade @babel/core to version 7.29.0 (#27741) (Sayari Mukherjee) - 1dcec7b47b2d29d931a7d2e38d391bc10b9c68ed chore: Bump com.tdunning:t-digest from 3.2 to 3.3 (#27718) (sumi-mathew) - 4443e880bf4e7317544cb036370f84fd3b9aaf70 chore(deps): Bump org.postgresql:postgresql from 42.7.9 to 42.7.11 (#27722) (dependabot[bot]) - cecd415e63bc8810a8833b4155fe754451c3ce36 fix: UnsupportedOperationException for UnionNode in AddExchanges fixed parallelism path (#27714) (feilong-liu) - 09d70672cfab613f4ed12345e517738c6b811e54 chore(deps): Upgrade jQuery from 3.7.1 to 4.0.0 (#27720) (Sayari Mukherjee) - 30776976bfc9d67c1807ed68378f0a00f30da5d2 chore(deps): Upgrade babel-loader:9.1.3 to 10.1.1 (#27656) (Sayari Mukherjee) - b8d7610a7242d0c9f808e82894349ad15da2aed4 feat(native-pos): MaterializeExchange: [1/n] Add MaterializedExchange operators and plan wiring support (#27573) (#27573) (Shrinidhi Joshi) - d3ad72cea746a0e6de1c3d86cab5a7b5e4b947d8 feat: MetadataExtractor: prefetch source table for CREATE VECTOR INDEX (#27713) (XiaoDu) - d9be702264414185ec27deb24571195698185f22 feat: Support extending verifier QueryRewriter (#27703) (#27703) (Gary Helmling) - 669219f6c9ad01f371a44d254523f49382346878 feat(scheduler): Allow configured resource groups to bypass cluster-overload throttling (#27642) (Arjun Gupta) - 140e5093ae8cf6f096b29ea5def5b1356a844106 chore(deps): Bump http-proxy-middleware from 2.0.7 to 2.0.9 in /presto-ui/src to resolve CVE-2025-32996 (#27715) (nishithakbhaskaran) - 1e1cc916868eb8bae0efc302c0a2a0e0d10b642e fix(analyzer): Skip unmapped derived columns in MV partition filtering (#27706) (Chandrakant Vankayalapati) - e743edc134fca7e6e0013f717a28f7f0f1775973 docs(security): Improve authentication docs (#27692) (Pratyaksh Sharma) - be18151a766a01e0deb227e1830afbf08d9c3ef5 chore(deps): Bump commons-pool2 from 2.11.1 to 2.13.1 (#27648) (sumi-mathew) - a78a231330f9baf756bfcb5691042caeab4ebf9c fix(native): Fix BIND expression loss for captured lambdas in NativeExpressionOptimizer (#27593) (Pramod Satya) - 8d334451742d620e3221993756ac9c665093a5ca fix: Integer overflow in range filter boundary conversion (#27600) (#27600) (peterenescu) - 09de245ab5b7a1a9d010170cc63605d3592b5201 feat(planner): Support scalar functions in MV query rewriting (#27549) (#27549) (Chandrakant Vankayalapati) - ad7acf8059a873c4c5913863941e384b81e6f8d6 fix: Change error tagging from internal error to user error (#27686) (Konjac Huang) - bcb7b22d4ec9aef4c205c02efe3af499460645e8 chore(deps): Bump css-loader from 7.1.2 to 7.1.4 in /presto-ui/src (#27667) (nishithakbhaskaran) - 3aefe857faeb551d84e42e3c60d7581ddb8ac84d feat(optimizer): Add session properties for RPC streaming mode and batch dispatch size (#27700) (feilong-liu) - 3c081e145ba23012e87199ce3a1552088f2424de refactor(native): Clean up the saturate cast of count metric (#27676) (Rui Mo) - 3334738474b994fadc76139b3066af1e45081b57 feat(plugin-iceberg): Add changes for passing iceberg V3 initialDefaultValue while read (#27659) (Reetika Agrawal) - b3aa1274d232cfdc2729cc240e6676096355b11d perf(optimizer): Clean up prefilter distinct limit (#27678) (Sreeni Viswanadha) - decea18211557286b50e2259a11256c0f0146e2f fix: Take 'finishingTime' and 'planningTime' out of 'executionTime' (#27691) (#27691) (Sergey Pershin) - 2b74be7c29cfc2b69053aad10ae03f6d527e9a7d chore(deps): Bump ts-jest from 29.4.6 to 29.4.9 in /presto-ui/src (#27660) (nishithakbhaskaran) - 46167847b821e2b7a3b1d1ce4c723d1b0d4b5863 feat(connector): Add caching for Lance connector (#27325) (Jianjian Xie) - 0ea6b49d7d237633583cb434dfff0022f273a20b fix: Replace Optional.or with ternary for Java 8 compatibility (#27693) (Kevin Tang) - 298a125e2614b6056cfeaf04f653427487f11a3f chore(deps): Upgrade styled-components version to 6.4.1 (#27675) (bibith4) - 2bc8fc58a8c008f2a906f3fd3204ec738fb12b39 feat(native): Upgrade the nlohman json dependency to 3.12.0 (#27161) (Christian Zentgraf) - 87f92f669805c16d8e44a8962dd372dcb87e72ad perf(optimizer): Remove partition key restriction from ROW IN to disjunction rewrite (#27680) (Sreeni Viswanadha) - 240d1426878f196224228e49b59ff1e272e7d337 docs(security): Add more details in docs (#27681) (Pratyaksh Sharma) - 8319359fd5be8d23955359ff16dfd40b3c6d6a9d docs: Fix phrasing in connector/lance.rst (#27640) (Steve Burnett) - c2abc247f313c7d121e2da8f26d23d057681a5de feat: Add authorizedPrincipal to AuthorizedIdentity for gateway identity propagation (#27639) (#27639) (Chandrakant Vankayalapati) - e4a3b89366187f0ed00584f8e2e1f37a87fe71ad revert: Add metastore cache invalidation in iceberg (#27200) (Pratyaksh Sharma) - 1604b1e62ea0e6d253d9be303b4c0cba9a89ddae fix: Union of TVF leaf operators results in multiple split sources (#26980) (mohsaka) - 9d6e9bafb84f719489b2c7a22ccf309cf690b7b2 feat(plugin-iceberg): Add zorder to rewrite_data_files (#27561) (mohsaka) - 579fbea8171c7595cc1175c493e569735dde8153 feat(optimizer): Add TopN late materialization using $row_id (#27641) (Sreeni Viswanadha) - cdc69ccba481e0f1f5621c63dc93351c3abb5c51 feat: Add TLS/SSL configuration support for Oracle connector (#27671) (Dilli Babu Godari) - e024dd71949156876c6b7e28cbbd437af82731c8 feat: Add Oracle i18n character set support (#27670) (Dilli Babu Godari) - 21c9bc66509630fbbad2583489b8fd448b6f370c feat: Add configurable JDBC fetch size support (#27669) (Dilli Babu Godari) - 03eed7a800d298ab9505ad04e0b6e80531ec6310 fix: Fix failure when inserting into Iceberg tables partitioned by day(timestamp with time zone) (#27645) (Nivin C S) - c7da91bd852cbad929c5af9a317bbeed0848c8ce fix(server): Fix FutureStateChange listener leak in HttpRemoteTaskWithEventLoop.whenSplitQueueHasSpace() (#27673) (shelton408) - fc6e087f31a4a72c6deee0efdd1c0ff7f5a92e88 feat(plugin-iceberg): Support creating branches on empty tables (#27270) (Dong Wang) - 515241636649b768a06793b9704d6fd3f5f3e003 test: Extend Iceberg schema evolution tests to cover PARQUET format (#27174) (Dong Wang) - 2f81bd37b6f989ee61417c9b90d2c31f5b42eb66 feat: Add PUFFIN file format enum to FileFormat wrapper [presto][iceberg] (#27616) (#27616) (Apurva Kumar) - 60d7de71f1ec54dffb09d82ed21efa41ee5c3ca8 chore(deps): Upgrade testing-library/user-event version to 14.6.1 (#27623) (bibith4) - f318aaa25583b1450cfde087e0549d648ae5c951 fix(planner): Propagate streamPropertiesFromUniqueColumn through TopN (#27664) (Sreeni Viswanadha) - 5bda1283378de2869ff5d7de3fa45346361fb4d9 chore(ci): Advance Velox (#27650) (Christian Zentgraf) - 18388dc797444722d9e83215c707851e0d7df208 feat(plugin-iceberg): Add rewrite-all option and default value for min-input-files (#27633) (mohsaka) - fd2a22b4fc5da6dfc7b1465c5ebda56eb254a1dc docs: Add missing authentication and advanced configs for Druid connector (#27611) (Saurabh Mahawar) - d11ffdbfd04aac7384a45ea5a099a4eb6c624120 chore(deps): Upgrade react-data-table-component version to 7.7.1 (#27647) (bibith4) - 39f71665bcdb2483b91ec490aeb25ce0831fcc95 chore(deps): Upgrade testing-library/jest-dom version to 6.9.1 (#27624) (bibith4) - d06018be9004b5d5c9991c2df5bc901534667f0d feat: Add split_part_reverse as a global Presto SQL inline function (#27480) (#27480) (join-theory-de) - 5e21de8354972c88b45b2df56b3ce20829bc5619 chore(deps): Upgrade testing-library/react version to 16.3.2 (#27625) (bibith4) - e2bca0766913e60ffd537b72e7ea4a4dba532748 fix(security): Upgrade async-http-client to 3.0.9 to address CVE-2026-40490 (#27613) (Shahim Sharafudeen) - 995dbad434ef0ee2faa4edd1710716dfe32f55ec feat(optimizer): Support incremental refresh of materialized views (#26959) (Timothy Meehan) - 993cef3ee9a321a8a507314d03091ced8ac0ab83 feat(connector): Add filter pushdown for Lance connector (#27430) (jja725) - 82889cd61264e0013b6a0113f3d82ca8ab3193e1 fix: Avoid int64 overflow in PlanNodeStatsSummarizer (#27632) (#27632) (Sergey Pershin) - b2569e841d958ee92950c80818c3408308cc3c57 chore(deps): Bump org.bouncycastle:bcprov-jdk18on from 1.81 to 1.84 in /presto-tests (#27606) (dependabot[bot]) - dae4091c7105d1370544bfcb11baf8f8a79256bc fix(plugin-iceberg): Reduce max history queries to avoid OOM in CI test (#27519) (Dong Wang) - 91e9132db5abcbfb0d7ab2232602784c5f02d5b4 feat(plugin-native-sidecar): Add operational metrics to sidecar (#27595) (Pratik Joseph Dabre) - 4d8da3fa5ec064b13fd658f1fb6802b687ded6de feat(planner): Support CUBE/ROLLUP/GROUPING SETS column rewriting in MV optimizer (#27538) (#27538) (Chandrakant Vankayalapati) - 6f8ecdbd848ee092dc34a162a5073955c840e703 chore(deps): Bump org.apache.logging.log4j:log4j-core from 2.25.3 to 2.25.4 (#27583) (Nandakumar Balagopal) - 09e522f66c0e716d9b150d708a5fa8de4f762554 fix(security): Upgrade gcs version to 2.2.28 (#25424) (Shahim Sharafudeen) - 668ae1086c90f15581549519e49170a5ca864e63 feat: Bump Iceberg [presto][iceberg] dependency from 1.10.0 to 1.10.1 (#27614) (#27614) (Apurva Kumar) - ced25b8965b98cf4a1d660ce7108f5bb39539302 feat(optimizer): Add distributed execution for RPCNode via rpc_function_parallelism session property (#27603) (zhichenxu-meta) - bb615b3890dd3fa61b1d8f3bbafbcc8e71e827a8 fix(plugin-delta): Creating Delta table to unaccesible location makes the metastore inconsistent (#27129) (Miguel Blanco Godón) - dce6efdab414b583632dea0fc20543ae3d8ccd3e fix(plugin-native-sidecar): Pass session start time as a header in native expression optimizer (#27545) (Pratik Joseph Dabre) - 469a6965155e4cf25884c311d4f94d458c034981 feat(native): Add index source plan conversion with connector extensibility (#27596) (#27596) (Zac) - 94a11f78597d12e6246e60ed7c383f597ad90eff chore(deps): Bump org.codehaus.plexus:plexus-utils from 3.6.0 to 3.6.1 (#27471) (Sayari Mukherjee) - 231fd12dcc7025d5724b0cd1ffa25f5a7ce7cdd1 chore(deps): Bump org.apache.kafka:kafka-clients from 3.9.1 to 3.9.2 (#27574) (dependabot[bot]) - a8355398f9ad980e2f5ecde9abfac99e18261a76 chore(connector): Upgrade clickhouse-jdbc to 0.3.2 (#26990) (sumi-mathew) - 90910c7fe8f6be850a83aa031d5a93559958116b misc(planner): Move RpcFunctionOptimizer after RewriteRowExpressions (#27594) (feilong-liu) - 86f564b900c8277a463d5ec77dae08c06401f08d fix: Fix race condition in pruneFinishedQueryInfo causing task memory leak (#27597) (Swapnil) - ef8eea0ac3bbba102a98ce7a52992d4d48812124 fix(plugin-native-sidecar): Add additional CAST for mismatching array constructor args (#27556) (Pratik Joseph Dabre) - 47f6dfa53bd3da3ef536aefe45b34263849df9bb chore(deps): Bump follow-redirects from 1.15.9 to 1.16.0 in /presto-ui/src (#27587) (dependabot[bot]) - b4a645ad4413900a6f676b72405b418ae96310b8 feat(native): Distributed Procedure Support (#26375) (Dong Wang) - 177d6ff7f57064e68b02993611bc4240942d1f4c feat(native): Add IndexSourceNode planner support and split scheduling (#27296) (#27296) (Zac) - 7b2e370a1e61304fc5da17b95186f729a6cd0f0b feat: Reject duplicate columns in CREATE VECTOR INDEX (#27588) (Ke Wang) - b2dfddc52733ce66aa7fec66a06d6c8c8d968bec feat: Validate embedding column type in CREATE VECTOR INDEX (#27589) (Ke Wang) - 3c36e504600c80364a59f6cb2bdaae004eb1e9b9 refactor(plugin-iceberg): Defer the start of transaction for procedure (#27586) (Dong Wang) - 4b775d743ef52b107d04e40b733e244827c709b9 chore(ci): Advance Velox (#27503) (Christian Zentgraf) - a82063a0985dc1b54777c6e6354cd5999f4b396d fix(optimizer): Fix cascading projection pass-through in PushProjectionThroughCrossJoin (#27568) (Sreeni Viswanadha) - a2dc569e6cc6b04c4a1012ea5e9fc648b36c0110 fix(plugin-druid): Add version for lz4-java to fix maven deployment (#27584) (Li) - 0d7cd9501a0ab75df5dd2b6aac848c7978f0ad75 fix(native): Fix TRY expression handling in NativeExpressionOptimizer (#27122) (Pramod Satya) - 5d26fb35bc7f78419156cda64a6f238e92099016 misc: Fix code style issues, copy-paste bug, and UB in presto-native-execution (#27572) (#27572) (Amit Dutta) - 31f7f3c5b6165c118c58db88d12aae9d54b34d83 fix(native): Handle NULL ROWs when returning from native expression optimizer (#27528) (Pratik Joseph Dabre) - 459286a0f0c4ff972e876d5c3d45327fb8499444 fix(native): Fix worker shutdown sequence (#27566) (#27566) (Sergey Pershin) - 5bd6ca88673ba2c6b44ec3370d0fd464ab923270 fix: Remove duplicate checkQueryIntegrity call in CreateMaterializedViewTask (#27567) (Kevin Tang) - 913a4285a2817555b70e84f11d82fdb33484d9a7 feat(optimizer): Rewrite bucketed semi-join to join (#27510) (Sreeni Viswanadha) - 09400b98c7a46925210ad09ade111536422ed1a6 feat: Add pmod (positive modulo) scalar function (#27543) (#27543) (Natasha Sehgal) - dd6606c9d786099e0fb58b232e19654adad25a9c feat(plugin-iceberg): Add min-input-files, min-file-size-bytes, max-file-size-bytes options to rewrite_data_files procedure (#27515) (mohsaka) - 23e35ab6993d62e97f9f180802ac7c55df627ee8 docs: Fix formatting of code blocks in develop/table-functions.rst (#27502) (Steve Burnett) - a4f8f58ef4d84c1847b52b30a2643257f0951bca fix(plugin-native-sidecar): Fix flattened AND/OR expressions by the native expression optimizer (#27517) (Pratik Joseph Dabre) - 4c72d5cc1ed99ab1acd13ae92f94d31ef2336637 test: Add e2e tests for binary functions (#26970) (Allen Shen) - 4b6d9c9e9f88df699308549064615fada467cca5 feat(native): Pass storage parameters to HiveInsertTableHandle in write path (#27525) (#27525) (Henry Dikeman) - b25bb12435d53d6aaa1b3460c86db908e8983fc3 feat(native): Add Java planner integration, protocol, and dynamic RPC function detection (#27555) (abhinavmuk04) - 62d690b279c0899bc5105f5412ef74a240b96c2e fix(build): Use explicit optional constructor (#27513) (Christian Zentgraf) - cc294de45fb8deea40dabf1bbe85321a7dedfdd4 fix(native): Do not discard all tasks in maybeStartNextQueuedTask() (#27548) (#27548) (Sergey Pershin) - 151c3373b1998f0e006a0dec439142d7733c36bc perf(analyzer): Index RelationType.resolveFields() for O(1) field lookup (#27553) (feilong-liu) - 05f8e4404f117c66c1eebd40d1be364ddfe702c3 perf(planner): Optimize query planning for wide-column projections (#27547) (feilong-liu) - a3a1d3cdc1d556985f314de0af35a30e1adad0d3 test: Add E2E tests for geo functions (#26969) (jkhaliqi) - 6af43bb021706dbaabb55dbff151cf22aaac6bbb feat(analyzer): Add session property to gate CTAS IF NOT EXISTS query analysis (#27504) (Kevin Tang) - d488205f1fdedddee6a537e25b704799d3b5e5b8 chore: Update error message in Iceberg table row deletions (#27495) (nishithakbhaskaran) - ed41ee81e2377d1944f7ae47f1512f7833549730 feat(optimizer): Rewrite ROW constructor IN to disjunction for partition pruning (#27500) (Sreeni Viswanadha) - b9b15ae4a8b639f4f926695c7e0694d8cf2010de fix(planner): Use LinkedHashMap in optimizer rules to fix type mismatch (#27493) (Sreeni Viswanadha) - dd82b57d2da28e7297b4ef99534da7a74eff6d4f feat(optimizer): Rewrite map_from_entries(ARRAY[ROW(...)]) to MAP(ARRAY[], ARRAY[]) (#27491) (Sreeni Viswanadha) - 65cf3e94214284946710cc21fc7330c0c56e41db chore(deps): Upgrade testing-library/dom version to 10.4.1 (#27520) (bibith4) - 40c1c4e2101ec359770f45c5c15f183add900a5a docs(native): Add missing native session properties (#27506) (Saurabh Mahawar) - 0b313de489c0ed1b19a1543bab9f23cdb027db2c feat(plugin-iceberg): Add min max stats for varchar/char column and display as low and high values (#27357) (Prashant Sharma) - 1968770e91a1206aaa176148f60b11f7e8178364 test(native): Add E2E tests for array functions (#26937) (jkhaliqi) - a92fa12dd45173cf54dee0089887810a9f585fba feat: Prism <> Iceberg [prism] Support SQL-standard time travel syntax (FOR TIMESTAMP AS OF) (#27421) (#27421) (Apurva Kumar) - 7f76c833f5551a8fa4e9e86090c5f3fa135da829 docs(optimizer): Add more details to the materialized view documentation (#27465) (bibith4) - 175143b4bf9d0fe5e8246cedbf38614d1c3e113a chore(deps): Upgrade commons-text version to 1.15.0 (#27494) (bibith4) - 29ed629bf60c4a508a4a1d1a5c3e730a53491f05 fix: Use namespaced GTest targets in arrow_flight tests (#27137) (jkhaliqi) - 291f2048f3bf3b5afe275f0589d547eac3f687a9 feat: Add exchange transport type (HTTP/ANY) to plan fragments (#27355) (Daniel Bauer) - ee0eec7b5b12aef7feb1ea6d6dd7411387003caa feat(planner): Support GROUP BY and ORDER BY ordinals in MV query rewriting (#27422) (#27422) (Chandrakant Vankayalapati) - 7655f36483b5074d0394bc1a34ae48c25612b872 feat: Add read support for row lineage columns in Iceberg connector (#27240) (Joe Abraham) - 2af1e04aad8d28b7b806f44905abeb7812cc3354 feat: Remove index table existence check (#27509) (#27509) (Ke Wang) - 74a3458ab835a8af25aa40f458ac16c0d598a94d feat: Add observability for query state transitions in Presto (#26418) (#26418) (abhinavmuk04) - fc3669795814668bd1d90da27bc72ed51ee81eb8 misc: Show stage completion state in query plan (#27388) (#27388) (feilong-liu) - 232429917efbbbf3c7d30a3c62f7996fc5b3126f feat(planner): Extract remote functions from $internal$try lambda in PlanRemoteProjections (#27451) (feilong-liu) - 28bb9006e70e7bdfaa1141ee7797e208934a6491 feat: Add number of total driver threads (#27501) (#27501) (XiaoDu) - 926e2cdad1cb715542272f634458c9524dff32ea fix: Revised the principal field retrieval (#27014) (Yihong Wang) - cc4ec4a173679cfbd8e36893907435e88b5e0bd0 fix: Allow view querying with Mongo connector (#26995) (Auden Woolfson) - 52ad58aae1ec9744161af78416b0274fd90de2bb feat(connector): Add Azure Blob Storage and ADLS Gen2 support (#25107) (Deepak Mehra) - ec92f2a3ad06bca5375e28b74e1b35eea78be658 chore(deps): Bump lodash from 4.17.23 to 4.18.1 in /presto-ui/src (#27497) (dependabot[bot]) - c1603bd2a9b5e37617d96597ba11a7e22007de79 feat: Add MergeSumsToVectorSum optimizer rule (#27335) (#27335) (abhinavmuk04) - cd6ee833414c1bc9e9c910637bcd3eaa7e1e53b0 test(native): Enable cuDF in native tests (#27369) (Pramod Satya) - aae3971105e4fa3680e37cf3f392fb04b0b071c2 chore(deps): Bump lodash-es from 4.17.23 to 4.18.1 in /presto-ui/src (#27496) (dependabot[bot]) - 27edc1b7354bcf762025fdfa30465706285260ad docs: Add missing doc for ldap.cache-ttl (#27477) (Saurabh Mahawar) - b051f496dfbd697f4e0cf5c51fdac10c53976531 misc: Use folly FunctionScheduler from folly/executors (#27482) (Amit Dutta) ## Release Notes ``` == NO RELEASE NOTE == ``` ## Summary by Sourcery Documentation: - Document the 0.298 Presto release, including its features, fixes, and other notable changes in a new release notes page. --------- Co-authored-by: Steve Burnett <burnett@pobox.com> Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> Co-authored-by: Zac Blanco <zachary.blanco@bytedance.com> Co-authored-by: Timothy Meehan <tim@timdmeehan.com>
# Missing Release Notes ## Apurva Kumar - [x] https://github.com/prestodb/presto/pull/27616 feat: Add PUFFIN file format enum to FileFormat wrapper [presto][iceberg] (#27616) (Merged by: Han Yan) - [x] https://github.com/prestodb/presto/pull/27614 feat: Bump Iceberg [presto][iceberg] dependency from 1.10.0 to 1.10.1 (#27614) (Merged by: Dong Wang) - [x] https://github.com/prestodb/presto/pull/27421 feat: Prism <> Iceberg [prism] Support SQL-standard time travel syntax (FOR TIMESTAMP AS OF) (#27421) (Merged by: Kevin Tang) ## Arjun Gupta - [x] https://github.com/prestodb/presto/pull/27642 feat(scheduler): Allow configured resource groups to bypass cluster-overload throttling (#27642) (Merged by: Arjun Gupta) ## Chandrakant Vankayalapati - [x] https://github.com/prestodb/presto/pull/27706 fix(analyzer): Skip unmapped derived columns in MV partition filtering (Merged by: Chandrakant Vankayalapati) ## Deepak Mehra - [x] https://github.com/prestodb/presto/pull/25107 feat(connector): Add Azure Blob Storage and ADLS Gen2 support (Merged by: Jalpreet Singh Nanda) ## Dilli Babu Godari - [x] https://github.com/prestodb/presto/pull/26260 feat(plugin-prometheus): Enable case-sensitive identifier support for Prometheus connector (Merged by: Dilli Babu Godari) - [x] https://github.com/prestodb/presto/pull/27671 feat: Add TLS/SSL configuration support for Oracle connector (Merged by: Dilli Babu Godari) - [x] https://github.com/prestodb/presto/pull/27670 feat: Add Oracle i18n character set support (Merged by: Dilli Babu Godari) - [x] https://github.com/prestodb/presto/pull/27669 feat: Add configurable JDBC fetch size support (Merged by: Dilli Babu Godari) ## Gary Helmling - [x] https://github.com/prestodb/presto/pull/27703 feat: Support extending verifier QueryRewriter (#27703) (Merged by: Jianjian Xie) ## Henry Dikeman - [x] https://github.com/prestodb/presto/pull/27683 feat(native): Add native_min_shuffle_compression_page_size_bytes session property (#27683) (Merged by: Henry Dikeman) - [x] https://github.com/prestodb/presto/pull/27525 feat(native): Pass storage parameters to HiveInsertTableHandle in write path (#27525) (Merged by: Aditi Pandit) ## Kevin Tang - [x] https://github.com/prestodb/presto/pull/27697 misc(native): Target Java 8 for presto-on-spark compatibility (#27697) (Merged by: Kevin Tang) - [x] https://github.com/prestodb/presto/pull/27696 misc(native-pos): Extract AbstractNativeProcess from NativeExecutionProcess (#27696) (Merged by: Kevin Tang) ## Nivin C S - [x] https://github.com/prestodb/presto/pull/27828 fix(security): Upgrade redshift-jdbc42 to 2.2.7 to address CVE-2026-8178 (Merged by: Jalpreet Singh Nanda) - [x] https://github.com/prestodb/presto/pull/25418 feat(plugin-iceberg): Add support for ALTER COLUMN SET DATA TYPE in the Iceberg connector (Merged by: Nivin C S) ## Rebecca Schlussel - [x] https://github.com/prestodb/presto/pull/27830 chore(analyzer): Remove warn-on-common-nan-patterns config and NaN warning behavior (Merged by: Rebecca Schlussel) ## Shrinidhi Joshi - [x] https://github.com/prestodb/presto/pull/27873 refactor(native-pos): Add State enum and lifecycle state machine to MaterializedOutputBuffer (#27873) (Merged by: Xiaoxuan) - [x] https://github.com/prestodb/presto/pull/27833 fix(native-pos): Fix MaterializedOutput correctness and crash bugs in close/finish lifecycle (Merged by: Shrinidhi Joshi) ## Sreeni Viswanadha - [x] https://github.com/prestodb/presto/pull/27708 feat(optimizer): Add per-column predicates for ROW IN/NOT IN (Merged by: Sreeni Viswanadha) - [x] https://github.com/prestodb/presto/pull/27712 feat(optimizer): Push HAVING filter through MAX/MIN/ARBITRARY aggregations (Merged by: Sreeni Viswanadha) - [x] https://github.com/prestodb/presto/pull/27680 perf(optimizer): Remove partition key restriction from ROW IN to disjunction rewrite (Merged by: feilong-liu) - [x] https://github.com/prestodb/presto/pull/27641 feat(optimizer): Add TopN late materialization using $row_id (Merged by: Sreeni Viswanadha) - [x] https://github.com/prestodb/presto/pull/27664 fix(planner): Propagate streamPropertiesFromUniqueColumn through TopN (Merged by: Sreeni Viswanadha) ## feilong-liu - [x] https://github.com/prestodb/presto/pull/27773 fix(planner): Fix ConstantExpression type mismatch in PropertyDerivations.visitProject (Merged by: feilong-liu) ## join-theory-de - [x] https://github.com/prestodb/presto/pull/27480 feat: Add split_part_reverse as a global Presto SQL inline function (#27480) (Merged by: Sreeni Viswanadha) ## peterenescu - [x] https://github.com/prestodb/presto/pull/27600 fix: Integer overflow in range filter boundary conversion (#27600) (Merged by: Amit Dutta) ## shelton408 - [x] https://github.com/prestodb/presto/pull/27673 fix(server): Fix FutureStateChange listener leak in HttpRemoteTaskWithEventLoop.whenSplitQueueHasSpace() (Merged by: shelton408) ## sumi-mathew - [x] https://github.com/prestodb/presto/pull/27865 fix(security): Upgrade opentelemetry-api to 1.62.0 to address CVE-2026-45292 (Merged by: nishithakbhaskaran) ## zhichenxu-meta - [x] https://github.com/prestodb/presto/pull/27603 feat(optimizer): Add distributed execution for RPCNode via rpc_function_parallelism session property (Merged by: feilong-liu) # Extracted Release Notes - #25424 (Author: Shahim Sharafudeen): fix(security): Upgrade gcs version to 2.2.28 - Upgrade google-oauth-client version to 1.34.1 to address `CVE-2020-7692 <https://github.com/advisories/GHSA-f263-c949-w85g>`_ and `CVE-2021-22573 <https://github.com/advisories/GHSA-hw42-3568-wj87>`_. - #26195 (Author: Gary Helmling): fix: Allow DELETE queries to run on Presto on Spark - Fix a gap in query commit for DELETE queries when running on Spark. - #26369 (Author: Bryan Cutler): feat: Adding Apache Arrow FlightShim for connector federation in C++ workers - Adding presto-flight-shim server module for connector federation. - #26833 (Author: Yabin Ma): chore(analyzer)!: Change fieldNamesInJsonCastEnabled default value to true - Update the default behavior of ``field_names_in_json_cast_enabled`` from false to true. When ``field_names_in_json_cast_enabled = true``, JSON fields are assigned to ROW fields by matching field names regardless of their order in the JSON object. Queries that rely on JSON field order when casting to ROW may return different results after upgrading. If your workload depends on the previous positional behavior, restore it by setting: ``SET SESSION field_names_in_json_cast_enabled = false;``. - #26959 (Author: Timothy Meehan): feat(optimizer): Support incremental refresh of materialized views - Add incremental refresh for materialized views. - Add incremental refresh for materialized views in the Iceberg connector. - #26995 (Author: Auden Woolfson): fix: Allow view querying with Mongo connector - Add view querying capabilities in the Mongo connector. - #27002 (Author: Sayari Mukherjee): feat(client): Add connection validation feature to enhance connection reliability - Add connection validation feature to enhance connection reliability. This can be enabled with the ``validateConnection`` connection property to execute a validation query immediately after establishing the connection. - #27085 (Author: Dong Wang): feat(plugin-iceberg): Push down min/max/count based on file stats - Add support for ``min/max/count`` aggregation push down based on file stats. This can be toggled with the ``aggregate_push_down_enabled`` session property or the ``iceberg.aggregate-push-down-enabled`` configuration property. - #27129 (Author: Miguel Blanco Godón): fix(plugin-delta): Creating Delta table to unaccesible location makes the metastore inconsistent - Fix a bug that made the metastore inconsistent if created a Delta Lake table to an inaccessible location. - #27200 (Author: Pratyaksh Sharma): revert: Add metastore cache invalidation in iceberg - Add metastore cache invalidation procedure for Iceberg connector. - #27240 (Author: Joe Abraham): feat: Add read support for row lineage columns in Iceberg connector - Add read support for Iceberg V3 row lineage hidden columns `_row_id` and `_last_updated_sequence_number`. - #27282 (Author: Pratyaksh Sharma): feat(connector): Add support for `execute` procedure in JDBC connectors - Add support for `execute` procedure in JDBC connectors. - #27293 (Author: Sayari Mukherjee): chore(deps): Update jackson version to 2.18.6 - Upgrade jackson dependency from 2.15.4 to version 2.18.6 to address `GHSA-72hv-8253-57qq <https://github.com/advisories/GHSA-72hv-8253-57qq>`_. - #27294 (Author: Shahim Sharafudeen): chore(deps): Bump jetty from 12.0.29 to 12.0.34 - Upgrade jetty dependency from 0.27 to version 2.0.2 to address `CVE-2025-11143 <https://github.com/advisories/GHSA-wjpw-4j6x-6rwh>` and `CVE-2026-1605 <https://github.com/advisories/GHSA-xxh7-fcf3-rj7f>`_. - #27325 (Author: Jianjian Xie): feat(connector): Add caching for Lance connector - Add configurable index and metadata cache sizes via lance.index-cache-size and lance.metadata-cache-size. - Add version-aware dataset caching with snapshot isolation for consistent query reads. - #27357 (Author: Prashant Sharma): feat(plugin-iceberg): Add min max stats for varchar/char column and display as low and high values - Add low and high values for varchar/char columns of Iceberg tables. - #27422 (Author: Chandrakant Vankayalapati): feat(planner): Support GROUP BY and ORDER BY ordinals in MV query rewriting (#27422) - Add support for ``GROUP BY`` and ``ORDER BY`` ordinal references in materialized view query rewriting. Previously, queries like ``SELECT a, SUM(b) FROM t GROUP BY 1`` would silently skip materialized view optimization. - #27430 (Author: Jianjian Xie): feat(connector): Add filter pushdown for Lance connector - Add SQL filter pushdown to reduce data read from disk for selective queries. Supports equality, comparisons, IN lists, IS NULL, and range predicates on Boolean, Integer, Bigint, Real, Double, Varchar, Date, and Timestamp types. - #27483 (Author: Miguel Blanco Godón): feat(plugin-delta): Support reading tables with column mapping enabled - Add support for reading Delta Lake tables with column mapping enabled. - #27486 (Author: Jamille Shao-Ni): feat(protocol): Update annotations for consistent Thrift serialization support to all TaskResource endpoints - Add support for Thrift serialization (`application/x-thrift-binary`, `application/x-thrift-compact`, `application/x-thrift-fb-compact`) to all TaskResource endpoints for consistent internal communication protocol. - Improve efficiency of coordinator-to-worker communication with 20-40% smaller payload sizes and 2-3x faster serialization compared to JSON. - #27491 (Author: Sreeni Viswanadha): feat(optimizer): Rewrite map_from_entries(ARRAY[ROW(...)]) to MAP(ARRAY[], ARRAY[]) - Optimize `map_from_entries(ARRAY[ROW(...), ...])` by rewriting to `MAP(ARRAY[keys], ARRAY[values])` at plan time, avoiding intermediate ROW construction. - #27493 (Author: Sreeni Viswanadha): fix(planner): Use LinkedHashMap in optimizer rules to fix type mismatch - Fix runtime type mismatch crashes in Velox native execution caused by non-deterministic HashMap iteration order in PreAggregateBeforeGroupId, PushPartialAggregationThroughExchange, and MultipleDistinctAggregationToMarkDistinct optimizer rules. Replace HashMap with LinkedHashMap to preserve aggregation output variable ordering. - #27496 (Author: dependabot[bot]): chore(deps): Bump lodash-es from 4.17.23 to 4.18.1 in /presto-ui/src - Upgrade lodash-es from 4.17.23 to 4.18.1 to address `CVE-2026-4800 <https://nvd.nist.gov/vuln/detail/CVE-2026-4800>`_. This dependency is used for local development only and does not affect production runtime. - #27497 (Author: dependabot[bot]): chore(deps): Bump lodash from 4.17.23 to 4.18.1 in /presto-ui/src - Upgrade lodash from 4.17.23 to 4.18.1 to address multiple security vulnerabilities: - `CVE-2026-4800 <https://nvd.nist.gov/vuln/detail/CVE-2026-4800>`_. This dependency is used for local development only and does not affect production runtime. - #27500 (Author: Sreeni Viswanadha): feat(optimizer): Rewrite ROW constructor IN to disjunction for partition pruning - Add optimizer rule RewriteRowConstructorInToDisjunction that rewrites ROW IN ROW predicates into OR of AND equality chains when all ROW fields are partition keys, enabling per-column TupleDomain extraction for partition pruning. Gated behind session property rewrite_row_constructor_in_to_disjunction (default disabled). - #27504 (Author: Kevin Tang): feat(analyzer): Add session property to gate CTAS IF NOT EXISTS query analysis - Add session property :ref:`admin/properties-session:\`\`always_analyze_create_table_query_enabled\`\`` to enable analyzing inner queries on ``CREATE TABLE AS SELECT IF NOT EXISTS`` statements when the target table already exists. - #27510 (Author: Sreeni Viswanadha): feat(optimizer): Rewrite bucketed semi-join to join - Add optimizer rule RewriteBucketedSemiJoinToJoin that rewrites semi-joins into left joins with distinct aggregation when both sides are bucketed on the join key, avoiding data shuffle. Gated behind session property rewrite_bucketed_semi_join_to_join (default disabled). - #27538 (Author: Chandrakant Vankayalapati): feat(planner): Support CUBE/ROLLUP/GROUPING SETS column rewriting in MV optimizer (#27538) - Fix materialized view query rewriting for ``CUBE``, ``ROLLUP``, and ``GROUPING SETS`` clauses. Column references inside these grouping elements are now correctly rewritten to materialized view columns. - #27547 (Author: feilong-liu): perf(planner): Optimize query planning for wide-column projections - Improve query planning performance for wide-column projections by adding fast paths that skip unnecessary processing for variable references, constants, and identity assignments across multiple optimizer rules. - #27549 (Author: Chandrakant Vankayalapati): feat(planner): Support scalar functions in MV query rewriting (#27549) - Add support for scalar functions in materialized view query rewriting. Queries using functions like ``CONCAT``, ``ABS``, ``JSON_EXTRACT``, ``CAST``, ``IF``, ``COALESCE``, and ``CASE`` expressions now correctly rewrite to scan the materialized view. - #27553 (Author: feilong-liu): perf(analyzer): Index RelationType.resolveFields() for O(1) field lookup - Improve logical planner performance for wide-column queries by indexing RelationType.resolveFields() for O(1) field lookup instead of O(N) linear scan. - #27568 (Author: Sreeni Viswanadha): fix(optimizer): Fix cascading projection pass-through in PushProjectionThroughCrossJoin - Fix a bug in PushProjectionThroughCrossJoin optimizer rule where cascading projections above a cross join could cause validation errors by dropping pushed variables from intermediate residual projects. - #27574 (Author: dependabot[bot]): chore(deps): Bump org.apache.kafka:kafka-clients from 3.9.1 to 3.9.2 - Upgrade org.apache.kafka:kafka-clients from 3.9.1 to 3.9.2 inorder to address `CVE-2026-35554 <https://github.com/advisories/GHSA-5qcv-4rpc-jp93>`_. - #27583 (Author: Nandakumar Balagopal): chore(deps): Bump org.apache.logging.log4j:log4j-core from 2.25.3 to 2.25.4 - Upgrade org.apache.logging.log4j:log4j-core from 2.25.3 to 2.25.4 inorder to address `CVE-2026-34480 <https://nvd.nist.gov/vuln/detail/CVE-2026-34480>`_. - #27597 (Author: Swapnil): fix: Fix race condition in pruneFinishedQueryInfo causing task memory leak - Fix race condition in pruneFinishedQueryInfo causing task memory leak. - #27598 (Author: Sreeni Viswanadha): feat(optimizer): Extend JoinPrefilter to support complex probe-side patterns - Add new session property `join_prefilter_build_side_with_complex_probe_side` (default false) to extend join prefilter optimization to support complex probe-side patterns including UNION ALL, cross join, unnest, and aggregation. - #27606 (Author: dependabot[bot]): chore(deps): Bump org.bouncycastle:bcprov-jdk18on from 1.81 to 1.84 in /presto-tests - Upgrade org.bouncycastle:bcprov-jdk18on from 1.81 to 1.84 to resolve `CVE-2026-0636 <https://nvd.nist.gov/vuln/detail/CVE-2026-0636>`_. - #27613 (Author: Shahim Sharafudeen): fix(security): Upgrade async-http-client to 3.0.9 to address CVE-2026-40490 - Upgrade async-http-client to version 3.0.9 to address `CVE-2026-40490 <https://github.com/advisories/GHSA-cmxv-58fp-fm3g>`_. - #27639 (Author: Chandrakant Vankayalapati): feat: Add authorizedPrincipal to AuthorizedIdentity for gateway identity propagation (#27639) - Add optional authorizedPrincipal to AuthorizedIdentity to support gateway identity propagation, allowing the session principal to reflect the original client instead of the gateway. - #27645 (Author: Nivin C S): fix: Fix failure when inserting into Iceberg tables partitioned by day(timestamp with time zone) - Fix failure during INSERT into Iceberg tables partitioned by day() when using timestamp with time zone columns. - #27659 (Author: Reetika Agrawal): feat(plugin-iceberg): Add changes for passing iceberg V3 initialDefaultValue while read - Add changes for passing iceberg V3 initialDefaultValue while read. - #27663 (Author: feilong-liu): feat: Add partition-aware grouped execution for bucketed tables - Add `partition_aware_grouped_execution` session property to schedule each (bucket, partition) as a separate lifespan in grouped execution, reducing per-lifespan data volumes for bucketed tables. Disabled by default. - Add support for partition-aware grouped execution in the Hive connector, creating per-(bucket, partition) split queues and compound partition handles. - #27677 (Author: Timothy Meehan): feat(analyzer): Allow HAVING in materialized view query rewrite - Allow HAVING in queries that are transparently rewritten onto a materialized view. - #27678 (Author: Sreeni Viswanadha): perf(optimizer): Clean up prefilter distinct limit - Improve PrefilterForLimitingAggregation optimizer to exclude partition keys from the DistinctLimit, improving convergence speed for GROUP BY + LIMIT queries on partitioned tables. - Add N <= 1000 limit guard to PrefilterForLimitingAggregation to restrict the optimization to small limits. - #27685 (Author: Glerin Pinhero): chore(deps): Upgrading mongodb driver to mongodb driver sync - Upgrade mongo-java-driver to mongodb-driver-sync. - #27691 (Author: Sergey Pershin): fix: Take 'finishingTime' and 'planningTime' out of 'executionTime' (#27691) - Fix 'planningTime' and 'finishingTime' are no longer added to the 'executionTime'. 'executionTime' is now a true execution time - how long it took the query to run the compute. It can be used to measure the efficiency of the workers w/o added planning time or the time spent on final steps, like partition registration. - #27700 (Author: feilong-liu): feat(optimizer): Add session properties for RPC streaming mode and batch dispatch size - Add ``rpc_streaming_mode`` session property to control RPC function execution mode (``PER_ROW`` or ``BATCH``). Default: ``PER_ROW``. - Add ``rpc_dispatch_batch_size`` session property to control batch size for RPC dispatch in ``BATCH`` mode. Default: ``128``. A value of ``0`` collects all rows before dispatching. - Fix RPC options argument parsing to use the last argument instead of hardcoding index 3. - #27714 (Author: feilong-liu): fix: UnsupportedOperationException for UnionNode in AddExchanges fixed parallelism path - Fix UnsupportedOperationException when using `remote_function_names_for_fixed_parallelism` with queries containing UNION ALL below the remote function projection. - #27715 (Author: nishithakbhaskaran): chore(deps): Bump http-proxy-middleware from 2.0.7 to 2.0.9 in /presto-ui/src to resolve CVE-2025-32996 - Upgrade http-proxy-middleware from 2.0.7 to 2.0.9 in /presto-ui/src to resolve `CVE-2025-32996 <https://nvd.nist.gov/vuln/detail/CVE-2025-32996>`_. - #27722 (Author: dependabot[bot]): chore(deps): Bump org.postgresql:postgresql from 42.7.9 to 42.7.11 - Upgrade org.postgresql:postgresql from 42.7.9 to 42.7.11 to resolve `CVE-2026-42198 <https://nvd.nist.gov/vuln/detail/CVE-2026-42198>`_. - #27728 (Author: Timothy Meehan): fix(plugin-iceberg): Do not check access control for MV data table - Fix access control for materialized view storage tables when ``legacy_materialized_views=false``: storage-table access control is bypassed during MV expansion, while direct queries by name still go through access control. - Add ``iceberg.materialized-view-default-storage-schema`` config to route storage tables into a single schema. Defaults to the materialized view's own schema; per-MV ``storage_schema`` overrides. - #27748 (Author: Pratik Joseph Dabre): feat(plugin-native-sidecar): Add support for adding plugin loaded types in sidecar plugin - Add support for adding plugin loaded types in sidecar plugin. - #27764 (Author: Sreeni Viswanadha): feat(optimizer): Push aggregation through UNION ALL with disjoint group keys - Add ``push_aggregation_through_disjoint_union`` session property (default off) that pushes a ``GROUP BY`` aggregation completely below ``UNION ALL`` when at least one grouping key has constant values that are pairwise distinct across the union branches, eliminating the final aggregation. - #27765 (Author: Sreeni Viswanadha): fix(planner): Prune empty inputs through local exchanges in SimplifyPlanWithEmptyInput - Improve ``SimplifyPlanWithEmptyInput`` to prune empty subtrees that the connector PHYSICAL stage produces under local exchanges. Multi-source exchanges with mixed empty / non-empty children now drop the empty branches, eliminating idle no-op operators at runtime for wide ``UNION ALL`` queries where some branches are pruned to empty by partition / snapshot filtering. Single-source exchanges and write-side subtrees (``TableWriter`` / ``TableFinish``) are preserved. - #27766 (Author: Timothy Meehan): feat(plugin-iceberg): Push down `_last_updated_sequence_number` predicates - Add predicate push down on ``_last_updated_sequence_number`` for file-level pruning. - #27767 (Author: Reetika Agrawal): feat(native): Iceberg V3 initialDefaultValue - Add support for iceberg V3 initialDefaultValue. - #27769 (Author: Shahim Sharafudeen): fix(security): Upgrade Netty to 4.2.13.Final to address CVE-2026-42584 - Upgrade Netty to 4.2.13.Final in response to `CVE-2026-41417 <https://github.com/advisories/GHSA-fghv-69vj-qj49>` , `CVE-2026-44248 <https://github.com/advisories/GHSA-jfg9-48mv-9qgx>` , `CVE-2026-42577 <https://github.com/advisories/GHSA-rwm7-x88c-3g2p>` , `CVE-2026-42578 <https://github.com/advisories/GHSA-45q3-82m4-75jr>` , `CVE-2026-42579 <https://github.com/advisories/GHSA-cm33-6792-r9fm>` , `CVE-2026-42580 <https://github.com/advisories/GHSA-m4cv-j2px-7723>`, `CVE-2026-42581 <https://github.com/advisories/GHSA-xxqh-mfjm-7mv9>` , `CVE-2026-42582 <https://github.com/advisories/GHSA-2c5c-chwr-9hqw>` , `CVE-2026-42583 <https://github.com/advisories/GHSA-mj4r-2hfc-f8p6>` , `CVE-2026-42584 <https://github.com/advisories/GHSA-57rv-r2g8-2cj3>` , `CVE-2026-42585 <https://github.com/advisories/GHSA-38f8-5428-x5cv>` , `CVE-2026-42586 <https://github.com/advisories/GHSA-rgrr-p7gp-5xj7>` and `CVE-2026-42587 <https://github.com/advisories/GHSA-f6hv-jmp6-3vwv>`_. - #27774 (Author: Timothy Meehan): feat(plugin-iceberg): Bound MV refresh - Add ``max_snapshots_per_refresh`` materialized view property to bound how far each base table advances per ``REFRESH MATERIALIZED VIEW``. Defaults to ``0`` (unbounded). Requires Iceberg V3 row lineage; V2 tables fall back to unbounded refresh. - Add ``iceberg.materialized-view-default-max-snapshots-per-refresh`` config property and matching session property to set the default bound. - #27777 (Author: sumi-mathew): fix(security): Upgrade libthrift to address CVE-2026-41604 - Upgrade libthrift 0.23.0 in response to `CVE-2026-41604 <https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2026-41604>`_. - #27778 (Author: Chandrakant Vankayalapati): fix(analyzer): Prevent incorrect materialized view query rewrite when base query lacks GROUP BY - Fix data correctness bugs in ``MaterializedViewQueryOptimizer`` where queries without ``GROUP BY`` could be incorrectly rewritten to use materialized views with ``GROUP BY``, producing fewer rows than expected. Alias mismatches and scalar expression bypasses allowed invalid rewrites that silently collapsed duplicate rows. - #27790 (Author: Chandrakant Vankayalapati): fix(plugin-singlestore): Fix type mapping for SingleStore JDBC client 1.2.11 - Fix TINYINT type mapping to preserve TINYINT semantics instead of incorrectly mapping to BOOLEAN after JDBC driver upgrade. - Fix varchar type mapping for TEXT types to use byte-based thresholds matching the JDBC driver's COLUMN_SIZE reporting. - #27797 (Author: Ben Hu): chore(deps): Update BigQuery Storage API SDK from v1beta1 to v1 - Update Google BigQuery Storage API SDK from v1beta1 to v1. - #27803 (Author: Sayari Mukherjee): chore(deps): Upgrade parquet-jackson to 1.17.1 in Iceberg connector - Upgrade parquet-jackson to 1.17.1 in response to `GHSA-72hv-8253-57qq <https://github.com/advisories/GHSA-72hv-8253-57qq>`_. - #27806 (Author: Timothy Meehan): feat(plugin-iceberg): Add `ALTER MATERIALIZED VIEW SET PROPERTIES` - Add ``ALTER MATERIALIZED VIEW <name> SET PROPERTIES (...)`` SQL statement to update materialized view properties after creation. :pr:`27806`. - Allow updating ``stale_read_behavior``, ``staleness_window``, and ``refresh_type`` on existing materialized views via ``ALTER MATERIALIZED VIEW ... SET PROPERTIES`` (requires ``legacy_materialized_views=false``). :pr:`27806`. - #27810 (Author: Reetika Agrawal): feat: Add support for ALTER TABLE SET DEFAULT for Iceberg write-default - Add support for `ALTER TABLE ... ALTER COLUMN ... SET DEFAULT` syntax to update Iceberg column write-default values. - Add support for updating column write-default values using `ALTER TABLE ... SET DEFAULT` (requires Iceberg format version 3+). - Update write-default operations to preserve existing initial-default values as metadata-only changes. - #27816 (Author: Timothy Meehan): fix(plugin-iceberg): Add warnings for stitching and refresh fallback - Add warning when predicate stitching or incremental refresh falls back to full recompute. - #27819 (Author: Sreeni Viswanadha): feat(optimizer): Replace timeout with scan limiting for predictable prefilter performance - Improve PrefilterForLimitingAggregation to use scan limiting instead of timeouts for more predictable performance. The optimization now limits the source scan to 1000 * LIMIT rows before applying DISTINCT LIMIT. - #27820 (Author: Timothy Meehan): feat(plugin-iceberg): Make MV stitching and incremental refresh cost-based - Add `materialized_view_stitching_strategy` and `materialized_view_incremental_refresh_strategy` session properties (values: `ALWAYS`, `NEVER`, `AUTOMATIC`; default: `ALWAYS`). Under `AUTOMATIC`, the optimizer selects between the rewrite and the full alternative based on cost; when stats are unavailable it falls back to row-count comparison. - #27829 (Author: Rebecca Schlussel): chore: Remove old NaN definition and mark config as defunct - Remove configuration property `use-new-nan-definition`. - #27835 (Author: Timothy Meehan): fix(plugin-iceberg): Fix duplicate view creation in Hive catalog - Fix race where concurrent ``REFRESH MATERIALIZED VIEW`` on the same Hive-backed Iceberg materialized view could lose a watermark update. # All Commits - 4f8be7c2dcb7def7c113503da91b6f726b23ab3c fix(security): Upgrade redshift-jdbc42 to 2.2.7 to address CVE-2026-8178 (#27828) (Nivin C S) - 54cabf9207d654dc8b42ea3c6a2ca3cb4de2f736 chore(ci): Advance velox (#27886) (Amit Dutta) - 39e9ec63aae2bc6342e90d96c3d1f2f5ffe5df79 fix(security): Upgrade opentelemetry-api to 1.62.0 to address CVE-2026-45292 (#27865) (sumi-mathew) - e78428e6303bd1aeadf2190daeb2672caf1a9a5b refactor(native-pos): Add State enum and lifecycle state machine to MaterializedOutputBuffer (#27873) (#27873) (Shrinidhi Joshi) - 3ed75c8d7a84328335ed121adba2c03d3d459257 fix(native-pos): Move ShuffleWriter and pool creation inside MaterializedOutputBuffer (#27872) (#27872) (Shrinidhi Joshi) - c3946f3325806101255c996a7b79c473183e068e test: Add end to end tests for string functions (#26950) (Allen Shen) - 869548bd2558d856b37a80762313b237312a9c46 refactor(native): Migrate to PrestoQueryConfig for array_agg.ignore_nulls (#27876) (Maria Basmanova) - 3f8e87638b102a1d3d93a57e9f16e24de28447be fix(native-pos): Add typed units to MaterializedOutputBuffer runtime stats (#27870) (Shrinidhi Joshi) - 86ab4a4a6df0c5984f8add15caaf9fe1a93a7977 refactor(native-pos): Remove cooperative backpressure and `useSystemMemory` config (#27869) (Shrinidhi Joshi) - a31f69f64d856574529ed5a6b104cf8c564f1c32 chore(deps): Update jackson version to 2.18.6 (#27293) (Sayari Mukherjee) - 871f92d45a81c580384681437891908e01506b92 chore: Force modernizer use for all modules up to presto-main-base (#27867) (Zac Blanco) - a51fe41c87a2ff77c7c5297b144288f6e04b4997 test(native-pos): Reduce `kLocalShuffleMaxPartitionBytes` default to 64KB (#27868) (Shrinidhi Joshi) - 4617d4685a9fe2262240dc1c44cda2e1be37d747 feat: Adding Apache Arrow FlightShim for connector federation in C++ workers (#26369) (Bryan Cutler) - 6185c1b22293f3d5c1bd0abed891224426ddb363 chore: Bump webpack-cli from 5.1.4 to 7.0.2 in /presto-ui/src (#27852) (sumi-mathew) - a658c94f2b81f5c7abe400c192deeb84a8346d7a feat(plugin-iceberg): Make MV stitching and incremental refresh cost-based (#27820) (Timothy Meehan) - 46cc03138b034839bc05468be6ad801e4f665cba fix(plugin-iceberg): Fix duplicate view creation in Hive catalog (#27835) (Timothy Meehan) - 3df2afa1769509be19279c9433367ae36c0df300 chore(analyzer)!: Change fieldNamesInJsonCastEnabled default value to true (#26833) (Yabin Ma) - 381e181176178892dbf73a6422dd2bcafbbfa1c6 chore(deps): Bump jetty from 12.0.29 to 12.0.34 (#27294) (Shahim Sharafudeen) - ee7c8a567ffb3e5cf40a31fcbe5904eb5109265f fix(native): Fix CMake link order for presto_server_lib (#27847) (Tirumala Saiteja Goruganthu) - 679d5342881d1021b9a3d038ebec0cd98bb2b4ac docs: Fix formatting of table in connector/iceberg.rst (#27859) (Steve Burnett) - dc48d4a399b800d20d9cff1c26beaa15720e3b04 chore(ci): Advance velox (#27802) (Amit Dutta) - b22bb99a7f950980c4b1f04a72c373740e5e92dc docs: Fix prestocpp setup config file (#27857) (Reetika Agrawal) - 5608831355838f839b4a428550c50e45ef435360 fix(plugin-iceberg): Disable equality delete as join for DELETE/UPDATE (#27854) (Naveen Mahadevuni) - 71088a83203252340f49fcbfe3e7f9c5832342aa chore(deps): Upgrade protobuf to 4.34.1 (#27844) (bibith4) - 241c94ac60996f5dfeeb85a3e872e3dfd1b5e251 chore(deps): Upgrade parquet-jackson to 1.17.1 in Iceberg connector (#27803) (Sayari Mukherjee) - 73aa19fda74895b62ebe545b1e500813d00a258d fix(testing): Fix TPC-H native-execution tests to use the right storage format and standard queries (#27581) (Pramod Satya) - f7c0ab9e2b7230829372cf24b4c640f44be31e5a feat(optimizer): Add per-column predicates for ROW IN/NOT IN (#27708) (Sreeni Viswanadha) - 41a66fc0fe2fd7707fd84062cf075a9a683803b1 fix(native): Allow UTC timezone (key=0) in session config (#27309) (Shakyan Kushwaha) - 77e782ce8de12518155cfb30d472e7f3d75afa21 chore(deps): Upgrade eslint-plugin-react-hooks to version 7.1.1 (#27845) (bibith4) - 7ee85da37a4d09182392b8c05a9e0622e453acfd fix(native): Possible segv in system data source creation (#27807) (Christian Zentgraf) - b7f8f05a286a1f611e48a04babf2cf99b8688507 fix(plugin-iceberg): Add warnings for stitching and refresh fallback (#27816) (Timothy Meehan) - b30db0a9a01ee92673327ec7df909eeee7203cb3 chore(deps): Upgrade datasketches-java to version 6.2.0 (#27839) (Sayari Mukherjee) - be01a17a06c16cb8004736e0b1f2dc5488805300 refactor(planner): Extract shared expression rewriter for MV query optimizer (#27732) (#27732) (Chandrakant Vankayalapati) - 10d55723b93ccd907a1bba2736428271abc53bcf fix: Disallow rewrite_data_files in Iceberg if filter pushdown enabled (#27838) (Dong Wang) - 5aa4abed4085cadd7ef5a0b8f47673486245c9b1 feat(optimizer): Push HAVING filter through MAX/MIN/ARBITRARY aggregations (#27712) (Sreeni Viswanadha) - 2301c14aa4def417f7766b2d542ce8191d4c2050 fix(ci): Update release notes check to use raw markdown body (#27842) (Rebecca Schlussel) - 917cf4cd78d32ca72ef6b7b45c77c3d44a7b3b26 chore(deps): Update BigQuery Storage API SDK from v1beta1 to v1 (#27797) (Ben Hu) - 7faea8429c9b23d67f577f42543796d6a57e0253 feat(protocol): Update annotations for consistent Thrift serialization support to all TaskResource endpoints (#27486) (Jamille Shao-Ni) - a95cb3ef06310b98b43da290d03fd8c8ee82f35c feat(plugin-iceberg): Push down min/max/count based on file stats (#27085) (Dong Wang) - 92046f2512be60dd0cb2a5f95377629733fd92e0 fix(analyzer): Relax stale view validation for compatible string types (#27776) (Reetika Agrawal) - 6ba9b3a2291d469f384f260451f1b2f776709255 chore(deps): Upgrade commons-logging dependency from 1.3.5 to 1.3.6 (#27811) (Nivin C S) - c6505360c4fb31bc5aabbc4e0e41fe285b638912 feat(plugin-iceberg): Bound MV refresh (#27774) (Timothy Meehan) - d8a2b53fa42fa41ca5025f9d7640c8eebc9ff15b feat(optimizer): Replace timeout with scan limiting for predictable prefilter performance (#27819) (Sreeni Viswanadha) - 6823d9c9b135e6781bc9f4a30c658eb805b6518a chore(deps): Bump webpack-dev-server from 5.2.1 to 5.2.4 in /presto-ui/src (#27840) (dependabot[bot]) - 888991dc8b1a07424aba33f3c8bb440820479f0c chore: Bump commons.codec from 1.17.2 to 1.21.0 (#27756) (sumi-mathew) - 1da69a6e246fdeecc7302e8385b7ec4580e27821 fix(optimizer): Handle RPC functions inside TRY expressions (#27818) (feilong-liu) - 3233fe18835b38c1f7399f97a937bc79f1208dbf chore(analyzer): Remove warn-on-common-nan-patterns config and NaN warning behavior (#27830) (Rebecca Schlussel) - c11fbf9f5f5415a3e28ea2d677acea27754788ee chore(deps): Upgrading mongodb driver to mongodb driver sync (#27685) (Glerin Pinhero) - 79cc9cb5c5bb586c9bde73c362912eef1b1188db refactor: Remove duplicate check of iceberg v3 validation (#27837) (Reetika Agrawal) - 3161b74a9d8b201487835db397aefe60178fea0d refactor: Add missing getter methods and fix ordering in MetadataManagerStats (#27825) (Reetika Agrawal) - 3332fa796f9724aed783d4f3f5af81578961b336 feat: Add support for ALTER TABLE SET DEFAULT for Iceberg write-default (#27810) (Reetika Agrawal) - b294d8bf029c78a1afbabf3cae66d1b4f305dafa fix(native-pos): Fix MaterializedOutput correctness and crash bugs in close/finish lifecycle (#27833) (Shrinidhi Joshi) - 0da3bb839ea7085c1dd6ca365627ecc107f50973 feat(optimizer): Extend JoinPrefilter to support complex probe-side patterns (#27598) (Sreeni Viswanadha) - da0f63f907f8993b56e9dddf5eedd100a77022f3 feat(plugin-iceberg): Add `ALTER MATERIALIZED VIEW SET PROPERTIES` (#27806) (Timothy Meehan) - 9b2559f2138b9e31d5a198b1261d23dee2a15111 chore: Remove old NaN definition and mark config as defunct (#27829) (Rebecca Schlussel) - 34d459d66c03e4a866ee2332a28826c90e105222 feat(plugin-iceberg): Add support for ALTER COLUMN SET DATA TYPE in the Iceberg connector (#25418) (Nivin C S) - f12815ce648cfcfdd3721f4cd54a12e56ecdb4b2 chore(deps): Upgrade openlineage-java to 1.47.1 to fix CVE-2026-40542 (#27812) (Dilli Babu Godari) - fd67186b43f87362df58e8ab1cbe79e7f507ffa1 feat: Wire up IndexSource splits to Spark task sources (#27817) (Zac) - 65547f47ad87d4ccc1e7576d7cc864f717490893 feat(native): Iceberg V3 initialDefaultValue (#27767) (Reetika Agrawal) - c2f37fc3ec49e3455e91afaef31dfb034e617bc8 fix: Enable partition-aware grouped execution for index joins (#27701) (Zac) - 4509fb24ec79df4093a83ffb50e6d688ee0f0854 chore(deps): Upgrade ratis dependencies from 3.1.3 to 3.2.2 (#27787) (Nivin C S) - 1d6737a6624fa048e2db721b905861f9958ee092 fix(planner): Prune empty inputs through local exchanges in SimplifyPlanWithEmptyInput (#27765) (Sreeni Viswanadha) - d7f0f924c30e79238d20113afbc2977536ef35b7 misc(native): Target Java 8 for presto-on-spark compatibility (#27697) (#27697) (Kevin Tang) - b4ce8d0d82797243153502c17769c0cfde8e6c5c misc(native-pos): Extract AbstractNativeProcess from NativeExecutionProcess (#27696) (#27696) (Kevin Tang) - 18e730b1da26f301fe7362f514252f370671d623 docs: Fix errors in doc build (#27805) (Steve Burnett) - 81d4bde174f8e7dbdd1c9dbae1ecf3330b16267c feat(client): Add connection validation feature to enhance connection reliability (#27002) (Sayari Mukherjee) - f0d744296a0ba0f3c4031fde5cd9eaa370d1e397 feat(optimizer): Push aggregation through UNION ALL with disjoint group keys (#27764) (Sreeni Viswanadha) - bf30efcd530b9b181ec21672b8140ec0ebf6231a feat(plugin-prometheus): Enable case-sensitive identifier support for Prometheus connector (#26260) (Dilli Babu Godari) - 9bacdef43077268ca4abefd24718cfc8caef2b1c perf(native-pos): Fix OOM due to excessive memory usage in BroadcastFileReader (#27798) (Shrinidhi Joshi) - 95db1c86b6098026c48167dfa751393359ebdab5 feat(plugin-iceberg): Push down `_last_updated_sequence_number` predicates (#27766) (Timothy Meehan) - 76d8bf2f42476c36e429e7515797f452ca79aef3 fix(plugin-iceberg): Handle deprecated Iceberg write.object-storage.path property (#27758) (Reetika Agrawal) - 52f8f99b36a43d89f448a54b5220ad659fd3a5e0 fix(security): Upgrade Netty to 4.2.13.Final to address CVE-2026-42584 (#27769) (Shahim Sharafudeen) - 7056bdb10dafdcdd36649535c27e652ab843ebbd feat(plugin-native-sidecar): Add support for adding plugin loaded types in sidecar plugin (#27748) (Pratik Joseph Dabre) - 21a6092869bf9e7f0832e15879e5a023164b6723 feat(native-pos): Make MaterializedOutputBuffer size configurable with dynamic drain threshold (#27795) (#27795) (Shrinidhi Joshi) - 770df6161cd196d61f9fdedd9595e453ea621a0b fix(native-pos): Add flow control logging to MaterializedOutputBuffer (#27794) (#27794) (Shrinidhi Joshi) - c237df17e5c216ee75913d28f5f9244dca904070 chore(ci): Advance velox (#27786) (Joe Abraham) - 18fec98bdd3485e64d03bc36bcd7c05f96c555c1 chore(deps): Upgrade jest version to 30.3.0 (#27657) (Sayari Mukherjee) - ace806dd47e337d85a74ef814ccae4d530057db1 test: Add end to end test for jaccard_index (#27591) (jkhaliqi) - e2c083acc87b705657c832dbec1c4f66f90825f2 fix(plugin-singlestore): Fix type mapping for SingleStore JDBC client 1.2.11 (#27790) (Chandrakant Vankayalapati) - 3449d457efacef3697c832b87d4657522cd9a9d2 chore(deps): Upgrade gson dependencies from 2.12.1 to 2.14.0 (#27779) (Nivin C S) - c45405dfc8cf2017f62e5e27c3c860d9c697cdc8 fix(security): Upgrade libthrift to address CVE-2026-41604 (#27777) (sumi-mathew) - d7c8658c654a27caf28e36caf87dba5e170dbde9 docs: Document optimizer and Iceberg properties (#27775) (Asish Kumar) - 2acd947be65af53ed13f6651aca0586801575e98 fix(analyzer): Prevent incorrect materialized view query rewrite when base query lacks GROUP BY (#27778) (Chandrakant Vankayalapati) - bb46550550e257affc78ac7ea111f548acd83239 feat: Add partition-aware grouped execution for bucketed tables (#27663) (feilong-liu) - f65259c38cf23e1e8b1c5942fb57f069c60c5bcf chore(deps): Upgrade React and ReactDOM to version 19.2.4 (#27740) (Sayari Mukherjee) - e1eb82f978ab72e92c79b51b88bb3eb0a152b80c fix: Allow DELETE queries to run on Presto on Spark (#26195) (Gary Helmling) - 8982f133809140a3c94595414b1d82518463e3f8 chore(deps): Upgrade react-simple-code-editor from 0.13.1 to 0.14.1 (#27739) (Sayari Mukherjee) - efaf47f42aa9651a4c818c8f9c1eb5af38f90037 feat(plugin-delta): Support reading tables with column mapping enabled (#27483) (Miguel Blanco Godón) - 7a9a2872c084815393063fed6e80a5b39642200a fix(native-pos): Fix PartitionAndSerialize ROUND_ROBIN sending all rows to partition 0 (#27770) (Shrinidhi Joshi) - ad09e9bd5ac631c82202985f19207e943dbe4290 fix: Load coordinator plugins before standard plugins across bundles (#27729) (Pratik Joseph Dabre) - 426dd7c1b19979788d1300b39d81139620988fcc fix(planner): Fix ConstantExpression type mismatch in PropertyDerivations.visitProject (#27773) (feilong-liu) - 6aed02700ca94defa04d427854e6492119a7ccbe feat(analyzer): Allow HAVING in materialized view query rewrite (#27677) (Timothy Meehan) - f1c7b7d3df6736e46e2ac0651d4b44e18c5e4ea0 chore: Bump commons-dbcp2 from 2.12.0 to 2.14.0 (#27754) (sumi-mathew) - 39513c10a1f0b02195a08f78691b0e4059dace6f chore(deps): Bump @babel/plugin-transform-modules-systemjs from 7.29.0 to 7.29.4 in /presto-ui/src (#27763) (dependabot[bot]) - 5191b72fb4e7b680c0c36e2e0a5411f251e3b10d fix(plugin-iceberg): Do not check access control for MV data table (#27728) (Timothy Meehan) - 00acf72fa459e525d22c37c6abbfa22a3d401497 chore(deps): Bump SingleStore JDBC client to 1.2.11 (#27759) (Dilli Babu Godari) - d5b68df83e73e7a2269dd90ce6073d9d2ae3a31d chore(deps): Bump Apache Lucene 8.11.3 to 9.12.3 (#27757) (Dilli Babu Godari) - bb26a1ecf9f0badaa655d73a967f5b9426a58a8c test: Add end-to-end tests for numeric_histogram function (#26968) (Allen Shen) - 434758f0738d0cee949ce531b3afb82dd095f43b fix: Honor channels parameter in RestSqlFunctionExecutor (#27684) (Joe Abraham) - c169c153008d9de15f1848a6d80affd8a40e6ead chore(ci): Advance velox (#27716) (Amit Dutta) - 9e8ba1c8cc4b98551ec27935be4b112777b9bb62 fix: Populate session fields when query fails before Session is authenticated (#27752) (Kevin Tang) - a3516e21602fcd7cf5bae8ba24ea022232069f5e fix(ui): Fix timeline legend layout with gaps between colored bars (#27731) (Yihong Wang) - 89ceb1618bd3ba2338c6a7014720e221d4157714 feat(native): Add native_min_shuffle_compression_page_size_bytes session property (#27683) (#27683) (Henry Dikeman) - 296ee91d3c5bd3b93b898aabca0f29a27ba0878f feat(native-pos): MaterializedOutput: support replicateNullsAndAny (#27753) (Shrinidhi Joshi) - abed99b86b4961672cc569422c30de677377c7a4 chore(deps): Upgrade html-webpack-plugin from 5.6.0 to 5.6.6 (#27737) (Sayari Mukherjee) - d93dc465a9859fadfaa7086d7fac3429edd1aafe fix(deps): Bump presto-spark-classloader-spark3 parent version to 0.298-SNAPSHOT (#27747) (Kevin Tang) - d94276a3e66c25a6b67f243fcb148968b8004b98 feat(connector): Add support for `execute` procedure in JDBC connectors (#27282) (Pratyaksh Sharma) - d7d029abfb2e92c8d0f549863d846d2f38ba17cd chore(deps): Upgrade vis-timeline from 7.7.3 to 8.5.0 (#27721) (Sayari Mukherjee) - c0f9cd4cb13b8d12ab40d67b8d97516776102cf6 fix(security): Upgrade fast-uri from 3.0.6 to 3.1.2 in /presto-ui/src to resolve CVE-2026-6321 (#27736) (nishithakbhaskaran) - c2f09fb5eebdbbb5bef5ac6fc9c38d3ac688bc67 chore(deps): Upgrade @babel/core to version 7.29.0 (#27741) (Sayari Mukherjee) - 1dcec7b47b2d29d931a7d2e38d391bc10b9c68ed chore: Bump com.tdunning:t-digest from 3.2 to 3.3 (#27718) (sumi-mathew) - 4443e880bf4e7317544cb036370f84fd3b9aaf70 chore(deps): Bump org.postgresql:postgresql from 42.7.9 to 42.7.11 (#27722) (dependabot[bot]) - cecd415e63bc8810a8833b4155fe754451c3ce36 fix: UnsupportedOperationException for UnionNode in AddExchanges fixed parallelism path (#27714) (feilong-liu) - 09d70672cfab613f4ed12345e517738c6b811e54 chore(deps): Upgrade jQuery from 3.7.1 to 4.0.0 (#27720) (Sayari Mukherjee) - 30776976bfc9d67c1807ed68378f0a00f30da5d2 chore(deps): Upgrade babel-loader:9.1.3 to 10.1.1 (#27656) (Sayari Mukherjee) - b8d7610a7242d0c9f808e82894349ad15da2aed4 feat(native-pos): MaterializeExchange: [1/n] Add MaterializedExchange operators and plan wiring support (#27573) (#27573) (Shrinidhi Joshi) - d3ad72cea746a0e6de1c3d86cab5a7b5e4b947d8 feat: MetadataExtractor: prefetch source table for CREATE VECTOR INDEX (#27713) (XiaoDu) - d9be702264414185ec27deb24571195698185f22 feat: Support extending verifier QueryRewriter (#27703) (#27703) (Gary Helmling) - 669219f6c9ad01f371a44d254523f49382346878 feat(scheduler): Allow configured resource groups to bypass cluster-overload throttling (#27642) (Arjun Gupta) - 140e5093ae8cf6f096b29ea5def5b1356a844106 chore(deps): Bump http-proxy-middleware from 2.0.7 to 2.0.9 in /presto-ui/src to resolve CVE-2025-32996 (#27715) (nishithakbhaskaran) - 1e1cc916868eb8bae0efc302c0a2a0e0d10b642e fix(analyzer): Skip unmapped derived columns in MV partition filtering (#27706) (Chandrakant Vankayalapati) - e743edc134fca7e6e0013f717a28f7f0f1775973 docs(security): Improve authentication docs (#27692) (Pratyaksh Sharma) - be18151a766a01e0deb227e1830afbf08d9c3ef5 chore(deps): Bump commons-pool2 from 2.11.1 to 2.13.1 (#27648) (sumi-mathew) - a78a231330f9baf756bfcb5691042caeab4ebf9c fix(native): Fix BIND expression loss for captured lambdas in NativeExpressionOptimizer (#27593) (Pramod Satya) - 8d334451742d620e3221993756ac9c665093a5ca fix: Integer overflow in range filter boundary conversion (#27600) (#27600) (peterenescu) - 09de245ab5b7a1a9d010170cc63605d3592b5201 feat(planner): Support scalar functions in MV query rewriting (#27549) (#27549) (Chandrakant Vankayalapati) - ad7acf8059a873c4c5913863941e384b81e6f8d6 fix: Change error tagging from internal error to user error (#27686) (Konjac Huang) - bcb7b22d4ec9aef4c205c02efe3af499460645e8 chore(deps): Bump css-loader from 7.1.2 to 7.1.4 in /presto-ui/src (#27667) (nishithakbhaskaran) - 3aefe857faeb551d84e42e3c60d7581ddb8ac84d feat(optimizer): Add session properties for RPC streaming mode and batch dispatch size (#27700) (feilong-liu) - 3c081e145ba23012e87199ce3a1552088f2424de refactor(native): Clean up the saturate cast of count metric (#27676) (Rui Mo) - 3334738474b994fadc76139b3066af1e45081b57 feat(plugin-iceberg): Add changes for passing iceberg V3 initialDefaultValue while read (#27659) (Reetika Agrawal) - b3aa1274d232cfdc2729cc240e6676096355b11d perf(optimizer): Clean up prefilter distinct limit (#27678) (Sreeni Viswanadha) - decea18211557286b50e2259a11256c0f0146e2f fix: Take 'finishingTime' and 'planningTime' out of 'executionTime' (#27691) (#27691) (Sergey Pershin) - 2b74be7c29cfc2b69053aad10ae03f6d527e9a7d chore(deps): Bump ts-jest from 29.4.6 to 29.4.9 in /presto-ui/src (#27660) (nishithakbhaskaran) - 46167847b821e2b7a3b1d1ce4c723d1b0d4b5863 feat(connector): Add caching for Lance connector (#27325) (Jianjian Xie) - 0ea6b49d7d237633583cb434dfff0022f273a20b fix: Replace Optional.or with ternary for Java 8 compatibility (#27693) (Kevin Tang) - 298a125e2614b6056cfeaf04f653427487f11a3f chore(deps): Upgrade styled-components version to 6.4.1 (#27675) (bibith4) - 2bc8fc58a8c008f2a906f3fd3204ec738fb12b39 feat(native): Upgrade the nlohman json dependency to 3.12.0 (#27161) (Christian Zentgraf) - 87f92f669805c16d8e44a8962dd372dcb87e72ad perf(optimizer): Remove partition key restriction from ROW IN to disjunction rewrite (#27680) (Sreeni Viswanadha) - 240d1426878f196224228e49b59ff1e272e7d337 docs(security): Add more details in docs (#27681) (Pratyaksh Sharma) - 8319359fd5be8d23955359ff16dfd40b3c6d6a9d docs: Fix phrasing in connector/lance.rst (#27640) (Steve Burnett) - c2abc247f313c7d121e2da8f26d23d057681a5de feat: Add authorizedPrincipal to AuthorizedIdentity for gateway identity propagation (#27639) (#27639) (Chandrakant Vankayalapati) - e4a3b89366187f0ed00584f8e2e1f37a87fe71ad revert: Add metastore cache invalidation in iceberg (#27200) (Pratyaksh Sharma) - 1604b1e62ea0e6d253d9be303b4c0cba9a89ddae fix: Union of TVF leaf operators results in multiple split sources (#26980) (mohsaka) - 9d6e9bafb84f719489b2c7a22ccf309cf690b7b2 feat(plugin-iceberg): Add zorder to rewrite_data_files (#27561) (mohsaka) - 579fbea8171c7595cc1175c493e569735dde8153 feat(optimizer): Add TopN late materialization using $row_id (#27641) (Sreeni Viswanadha) - cdc69ccba481e0f1f5621c63dc93351c3abb5c51 feat: Add TLS/SSL configuration support for Oracle connector (#27671) (Dilli Babu Godari) - e024dd71949156876c6b7e28cbbd437af82731c8 feat: Add Oracle i18n character set support (#27670) (Dilli Babu Godari) - 21c9bc66509630fbbad2583489b8fd448b6f370c feat: Add configurable JDBC fetch size support (#27669) (Dilli Babu Godari) - 03eed7a800d298ab9505ad04e0b6e80531ec6310 fix: Fix failure when inserting into Iceberg tables partitioned by day(timestamp with time zone) (#27645) (Nivin C S) - c7da91bd852cbad929c5af9a317bbeed0848c8ce fix(server): Fix FutureStateChange listener leak in HttpRemoteTaskWithEventLoop.whenSplitQueueHasSpace() (#27673) (shelton408) - fc6e087f31a4a72c6deee0efdd1c0ff7f5a92e88 feat(plugin-iceberg): Support creating branches on empty tables (#27270) (Dong Wang) - 515241636649b768a06793b9704d6fd3f5f3e003 test: Extend Iceberg schema evolution tests to cover PARQUET format (#27174) (Dong Wang) - 2f81bd37b6f989ee61417c9b90d2c31f5b42eb66 feat: Add PUFFIN file format enum to FileFormat wrapper [presto][iceberg] (#27616) (#27616) (Apurva Kumar) - 60d7de71f1ec54dffb09d82ed21efa41ee5c3ca8 chore(deps): Upgrade testing-library/user-event version to 14.6.1 (#27623) (bibith4) - f318aaa25583b1450cfde087e0549d648ae5c951 fix(planner): Propagate streamPropertiesFromUniqueColumn through TopN (#27664) (Sreeni Viswanadha) - 5bda1283378de2869ff5d7de3fa45346361fb4d9 chore(ci): Advance Velox (#27650) (Christian Zentgraf) - 18388dc797444722d9e83215c707851e0d7df208 feat(plugin-iceberg): Add rewrite-all option and default value for min-input-files (#27633) (mohsaka) - fd2a22b4fc5da6dfc7b1465c5ebda56eb254a1dc docs: Add missing authentication and advanced configs for Druid connector (#27611) (Saurabh Mahawar) - d11ffdbfd04aac7384a45ea5a099a4eb6c624120 chore(deps): Upgrade react-data-table-component version to 7.7.1 (#27647) (bibith4) - 39f71665bcdb2483b91ec490aeb25ce0831fcc95 chore(deps): Upgrade testing-library/jest-dom version to 6.9.1 (#27624) (bibith4) - d06018be9004b5d5c9991c2df5bc901534667f0d feat: Add split_part_reverse as a global Presto SQL inline function (#27480) (#27480) (join-theory-de) - 5e21de8354972c88b45b2df56b3ce20829bc5619 chore(deps): Upgrade testing-library/react version to 16.3.2 (#27625) (bibith4) - e2bca0766913e60ffd537b72e7ea4a4dba532748 fix(security): Upgrade async-http-client to 3.0.9 to address CVE-2026-40490 (#27613) (Shahim Sharafudeen) - 995dbad434ef0ee2faa4edd1710716dfe32f55ec feat(optimizer): Support incremental refresh of materialized views (#26959) (Timothy Meehan) - 993cef3ee9a321a8a507314d03091ced8ac0ab83 feat(connector): Add filter pushdown for Lance connector (#27430) (jja725) - 82889cd61264e0013b6a0113f3d82ca8ab3193e1 fix: Avoid int64 overflow in PlanNodeStatsSummarizer (#27632) (#27632) (Sergey Pershin) - b2569e841d958ee92950c80818c3408308cc3c57 chore(deps): Bump org.bouncycastle:bcprov-jdk18on from 1.81 to 1.84 in /presto-tests (#27606) (dependabot[bot]) - dae4091c7105d1370544bfcb11baf8f8a79256bc fix(plugin-iceberg): Reduce max history queries to avoid OOM in CI test (#27519) (Dong Wang) - 91e9132db5abcbfb0d7ab2232602784c5f02d5b4 feat(plugin-native-sidecar): Add operational metrics to sidecar (#27595) (Pratik Joseph Dabre) - 4d8da3fa5ec064b13fd658f1fb6802b687ded6de feat(planner): Support CUBE/ROLLUP/GROUPING SETS column rewriting in MV optimizer (#27538) (#27538) (Chandrakant Vankayalapati) - 6f8ecdbd848ee092dc34a162a5073955c840e703 chore(deps): Bump org.apache.logging.log4j:log4j-core from 2.25.3 to 2.25.4 (#27583) (Nandakumar Balagopal) - 09e522f66c0e716d9b150d708a5fa8de4f762554 fix(security): Upgrade gcs version to 2.2.28 (#25424) (Shahim Sharafudeen) - 668ae1086c90f15581549519e49170a5ca864e63 feat: Bump Iceberg [presto][iceberg] dependency from 1.10.0 to 1.10.1 (#27614) (#27614) (Apurva Kumar) - ced25b8965b98cf4a1d660ce7108f5bb39539302 feat(optimizer): Add distributed execution for RPCNode via rpc_function_parallelism session property (#27603) (zhichenxu-meta) - bb615b3890dd3fa61b1d8f3bbafbcc8e71e827a8 fix(plugin-delta): Creating Delta table to unaccesible location makes the metastore inconsistent (#27129) (Miguel Blanco Godón) - dce6efdab414b583632dea0fc20543ae3d8ccd3e fix(plugin-native-sidecar): Pass session start time as a header in native expression optimizer (#27545) (Pratik Joseph Dabre) - 469a6965155e4cf25884c311d4f94d458c034981 feat(native): Add index source plan conversion with connector extensibility (#27596) (#27596) (Zac) - 94a11f78597d12e6246e60ed7c383f597ad90eff chore(deps): Bump org.codehaus.plexus:plexus-utils from 3.6.0 to 3.6.1 (#27471) (Sayari Mukherjee) - 231fd12dcc7025d5724b0cd1ffa25f5a7ce7cdd1 chore(deps): Bump org.apache.kafka:kafka-clients from 3.9.1 to 3.9.2 (#27574) (dependabot[bot]) - a8355398f9ad980e2f5ecde9abfac99e18261a76 chore(connector): Upgrade clickhouse-jdbc to 0.3.2 (#26990) (sumi-mathew) - 90910c7fe8f6be850a83aa031d5a93559958116b misc(planner): Move RpcFunctionOptimizer after RewriteRowExpressions (#27594) (feilong-liu) - 86f564b900c8277a463d5ec77dae08c06401f08d fix: Fix race condition in pruneFinishedQueryInfo causing task memory leak (#27597) (Swapnil) - ef8eea0ac3bbba102a98ce7a52992d4d48812124 fix(plugin-native-sidecar): Add additional CAST for mismatching array constructor args (#27556) (Pratik Joseph Dabre) - 47f6dfa53bd3da3ef536aefe45b34263849df9bb chore(deps): Bump follow-redirects from 1.15.9 to 1.16.0 in /presto-ui/src (#27587) (dependabot[bot]) - b4a645ad4413900a6f676b72405b418ae96310b8 feat(native): Distributed Procedure Support (#26375) (Dong Wang) - 177d6ff7f57064e68b02993611bc4240942d1f4c feat(native): Add IndexSourceNode planner support and split scheduling (#27296) (#27296) (Zac) - 7b2e370a1e61304fc5da17b95186f729a6cd0f0b feat: Reject duplicate columns in CREATE VECTOR INDEX (#27588) (Ke Wang) - b2dfddc52733ce66aa7fec66a06d6c8c8d968bec feat: Validate embedding column type in CREATE VECTOR INDEX (#27589) (Ke Wang) - 3c36e504600c80364a59f6cb2bdaae004eb1e9b9 refactor(plugin-iceberg): Defer the start of transaction for procedure (#27586) (Dong Wang) - 4b775d743ef52b107d04e40b733e244827c709b9 chore(ci): Advance Velox (#27503) (Christian Zentgraf) - a82063a0985dc1b54777c6e6354cd5999f4b396d fix(optimizer): Fix cascading projection pass-through in PushProjectionThroughCrossJoin (#27568) (Sreeni Viswanadha) - a2dc569e6cc6b04c4a1012ea5e9fc648b36c0110 fix(plugin-druid): Add version for lz4-java to fix maven deployment (#27584) (Li) - 0d7cd9501a0ab75df5dd2b6aac848c7978f0ad75 fix(native): Fix TRY expression handling in NativeExpressionOptimizer (#27122) (Pramod Satya) - 5d26fb35bc7f78419156cda64a6f238e92099016 misc: Fix code style issues, copy-paste bug, and UB in presto-native-execution (#27572) (#27572) (Amit Dutta) - 31f7f3c5b6165c118c58db88d12aae9d54b34d83 fix(native): Handle NULL ROWs when returning from native expression optimizer (#27528) (Pratik Joseph Dabre) - 459286a0f0c4ff972e876d5c3d45327fb8499444 fix(native): Fix worker shutdown sequence (#27566) (#27566) (Sergey Pershin) - 5bd6ca88673ba2c6b44ec3370d0fd464ab923270 fix: Remove duplicate checkQueryIntegrity call in CreateMaterializedViewTask (#27567) (Kevin Tang) - 913a4285a2817555b70e84f11d82fdb33484d9a7 feat(optimizer): Rewrite bucketed semi-join to join (#27510) (Sreeni Viswanadha) - 09400b98c7a46925210ad09ade111536422ed1a6 feat: Add pmod (positive modulo) scalar function (#27543) (#27543) (Natasha Sehgal) - dd6606c9d786099e0fb58b232e19654adad25a9c feat(plugin-iceberg): Add min-input-files, min-file-size-bytes, max-file-size-bytes options to rewrite_data_files procedure (#27515) (mohsaka) - 23e35ab6993d62e97f9f180802ac7c55df627ee8 docs: Fix formatting of code blocks in develop/table-functions.rst (#27502) (Steve Burnett) - a4f8f58ef4d84c1847b52b30a2643257f0951bca fix(plugin-native-sidecar): Fix flattened AND/OR expressions by the native expression optimizer (#27517) (Pratik Joseph Dabre) - 4c72d5cc1ed99ab1acd13ae92f94d31ef2336637 test: Add e2e tests for binary functions (#26970) (Allen Shen) - 4b6d9c9e9f88df699308549064615fada467cca5 feat(native): Pass storage parameters to HiveInsertTableHandle in write path (#27525) (#27525) (Henry Dikeman) - b25bb12435d53d6aaa1b3460c86db908e8983fc3 feat(native): Add Java planner integration, protocol, and dynamic RPC function detection (#27555) (abhinavmuk04) - 62d690b279c0899bc5105f5412ef74a240b96c2e fix(build): Use explicit optional constructor (#27513) (Christian Zentgraf) - cc294de45fb8deea40dabf1bbe85321a7dedfdd4 fix(native): Do not discard all tasks in maybeStartNextQueuedTask() (#27548) (#27548) (Sergey Pershin) - 151c3373b1998f0e006a0dec439142d7733c36bc perf(analyzer): Index RelationType.resolveFields() for O(1) field lookup (#27553) (feilong-liu) - 05f8e4404f117c66c1eebd40d1be364ddfe702c3 perf(planner): Optimize query planning for wide-column projections (#27547) (feilong-liu) - a3a1d3cdc1d556985f314de0af35a30e1adad0d3 test: Add E2E tests for geo functions (#26969) (jkhaliqi) - 6af43bb021706dbaabb55dbff151cf22aaac6bbb feat(analyzer): Add session property to gate CTAS IF NOT EXISTS query analysis (#27504) (Kevin Tang) - d488205f1fdedddee6a537e25b704799d3b5e5b8 chore: Update error message in Iceberg table row deletions (#27495) (nishithakbhaskaran) - ed41ee81e2377d1944f7ae47f1512f7833549730 feat(optimizer): Rewrite ROW constructor IN to disjunction for partition pruning (#27500) (Sreeni Viswanadha) - b9b15ae4a8b639f4f926695c7e0694d8cf2010de fix(planner): Use LinkedHashMap in optimizer rules to fix type mismatch (#27493) (Sreeni Viswanadha) - dd82b57d2da28e7297b4ef99534da7a74eff6d4f feat(optimizer): Rewrite map_from_entries(ARRAY[ROW(...)]) to MAP(ARRAY[], ARRAY[]) (#27491) (Sreeni Viswanadha) - 65cf3e94214284946710cc21fc7330c0c56e41db chore(deps): Upgrade testing-library/dom version to 10.4.1 (#27520) (bibith4) - 40c1c4e2101ec359770f45c5c15f183add900a5a docs(native): Add missing native session properties (#27506) (Saurabh Mahawar) - 0b313de489c0ed1b19a1543bab9f23cdb027db2c feat(plugin-iceberg): Add min max stats for varchar/char column and display as low and high values (#27357) (Prashant Sharma) - 1968770e91a1206aaa176148f60b11f7e8178364 test(native): Add E2E tests for array functions (#26937) (jkhaliqi) - a92fa12dd45173cf54dee0089887810a9f585fba feat: Prism <> Iceberg [prism] Support SQL-standard time travel syntax (FOR TIMESTAMP AS OF) (#27421) (#27421) (Apurva Kumar) - 7f76c833f5551a8fa4e9e86090c5f3fa135da829 docs(optimizer): Add more details to the materialized view documentation (#27465) (bibith4) - 175143b4bf9d0fe5e8246cedbf38614d1c3e113a chore(deps): Upgrade commons-text version to 1.15.0 (#27494) (bibith4) - 29ed629bf60c4a508a4a1d1a5c3e730a53491f05 fix: Use namespaced GTest targets in arrow_flight tests (#27137) (jkhaliqi) - 291f2048f3bf3b5afe275f0589d547eac3f687a9 feat: Add exchange transport type (HTTP/ANY) to plan fragments (#27355) (Daniel Bauer) - ee0eec7b5b12aef7feb1ea6d6dd7411387003caa feat(planner): Support GROUP BY and ORDER BY ordinals in MV query rewriting (#27422) (#27422) (Chandrakant Vankayalapati) - 7655f36483b5074d0394bc1a34ae48c25612b872 feat: Add read support for row lineage columns in Iceberg connector (#27240) (Joe Abraham) - 2af1e04aad8d28b7b806f44905abeb7812cc3354 feat: Remove index table existence check (#27509) (#27509) (Ke Wang) - 74a3458ab835a8af25aa40f458ac16c0d598a94d feat: Add observability for query state transitions in Presto (#26418) (#26418) (abhinavmuk04) - fc3669795814668bd1d90da27bc72ed51ee81eb8 misc: Show stage completion state in query plan (#27388) (#27388) (feilong-liu) - 232429917efbbbf3c7d30a3c62f7996fc5b3126f feat(planner): Extract remote functions from $internal$try lambda in PlanRemoteProjections (#27451) (feilong-liu) - 28bb9006e70e7bdfaa1141ee7797e208934a6491 feat: Add number of total driver threads (#27501) (#27501) (XiaoDu) - 926e2cdad1cb715542272f634458c9524dff32ea fix: Revised the principal field retrieval (#27014) (Yihong Wang) - cc4ec4a173679cfbd8e36893907435e88b5e0bd0 fix: Allow view querying with Mongo connector (#26995) (Auden Woolfson) - 52ad58aae1ec9744161af78416b0274fd90de2bb feat(connector): Add Azure Blob Storage and ADLS Gen2 support (#25107) (Deepak Mehra) - ec92f2a3ad06bca5375e28b74e1b35eea78be658 chore(deps): Bump lodash from 4.17.23 to 4.18.1 in /presto-ui/src (#27497) (dependabot[bot]) - c1603bd2a9b5e37617d96597ba11a7e22007de79 feat: Add MergeSumsToVectorSum optimizer rule (#27335) (#27335) (abhinavmuk04) - cd6ee833414c1bc9e9c910637bcd3eaa7e1e53b0 test(native): Enable cuDF in native tests (#27369) (Pramod Satya) - aae3971105e4fa3680e37cf3f392fb04b0b071c2 chore(deps): Bump lodash-es from 4.17.23 to 4.18.1 in /presto-ui/src (#27496) (dependabot[bot]) - 27edc1b7354bcf762025fdfa30465706285260ad docs: Add missing doc for ldap.cache-ttl (#27477) (Saurabh Mahawar) - b051f496dfbd697f4e0cf5c51fdac10c53976531 misc: Use folly FunctionScheduler from folly/executors (#27482) (Amit Dutta) ## Release Notes ``` == NO RELEASE NOTE == ``` ## Summary by Sourcery Documentation: - Document the 0.298 Presto release, including its features, fixes, and other notable changes in a new release notes page. --------- Co-authored-by: Steve Burnett <burnett@pobox.com> Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> Co-authored-by: Zac Blanco <zachary.blanco@bytedance.com> Co-authored-by: Timothy Meehan <tim@timdmeehan.com>
Differential Revision: D95135442
Description
Add session property
always_analyze_create_table_query_enabledto gateanalyzing inner queries on CTAS IF NOT EXISTS statements. When enabled,
the analyzer processes the inner SELECT query even when the target table
already exists, ensuring view definitions are populated for access
control checks.
Motivation and Context
When a
CREATE TABLE AS SELECT IF NOT EXISTSstatement targets anexisting table, the analyzer short-circuits and skips analyzing the
inner query. This means view definitions referenced in the SELECT are
never collected, causing access control checks on those views to be
skipped.
Impact
No impact when the session property is disabled (default:
false).When enabled, CTAS IF NOT EXISTS queries against existing tables will
now correctly populate view definitions and enforce access control
checks on referenced views.
Test Plan
Added
testCreateTableAsSelectIfNotExistsWithViewsinTestViewDefinitionCollectorto verify view definitions are collectedon the CTAS IF NOT EXISTS no-op path. Existing tests pass with the
session property enabled in
CLIENT_SESSION.Contributor checklist
Release Notes