feat(lance): Add configurable index and metadata cache sizes#3
Closed
feat(lance): Add configurable index and metadata cache sizes#3
Conversation
…#26987) Description This change fixes how the Presto Web UI applies its default row limit. Previously, the UI added a LIMIT 100 to any statement that contained a SELECT clause, even when the statement itself was not a SELECT. Because statements like CREATE TABLE AS SELECT and INSERT INTO … SELECT includes a SELECT as part of their syntax, they were incorrectly treated as interactive queries and could be silently truncated when run from the Web UI. This update ensures the default limit is applied only to top-level SELECT statements. Motivation and Context The Web UI applies a default row limit to help prevent users from accidentally returning very large result sets. The existing logic only checked for the presence of a SELECT clause, which caused non-SELECT statements that embed a SELECT to be handled incorrectly. This change refines the SQL detection logic so that only plain SELECT statements are subject to the automatic limit. Fixes prestodb#26975. Impact Interactive SELECT queries in the Web UI behave the same as before. CREATE TABLE AS SELECT, INSERT, and other non-SELECT statements are no longer modified by the UI. There are no changes to public APIs, server-side behavior, or performance. Test Plan Tested manually using the Presto Web UI. Ran a SELECT without an explicit LIMIT and confirmed the default limit is applied. Ran a SELECT with an explicit LIMIT and confirmed it is preserved. Ran CREATE TABLE AS SELECT and INSERT INTO … SELECT statements and confirmed no LIMIT was appended. Automated tests were not added because this change affects UI-side SQL preprocessing and there is no existing test coverage in this area. Contributor checklist Follows the Presto contributing guide and code style PR description clearly explains the problem and why the change is needed Linked to the relevant GitHub issue No new public APIs, SQL syntax, or configuration changes Manual testing completed; automated tests not applicable CI passed (pending) No new dependencies added
I am not very sure about maven provisio plugin details and I could not find good documentation around it. Please correct if I have missed anything around packaging redis-hbo-provider plugin in presto distribution tar file. Ref: https://github.com/jvanzyl/provisio ## Description Fix docs ## Motivation and Context User facing docs need to be upto date. ## Impact Docs change ## Test Plan <!---Please fill in how you tested your change--> ## Contributor checklist - [ ] 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). - [ ] PR description addresses the issue accurately and concisely. If the change is non-trivial, a GitHub Issue is referenced. - [ ] Documented new properties (with its default value), SQL syntax, functions, or other functionality. - [ ] If release notes are required, they follow the [release notes guidelines](https://github.com/prestodb/presto/wiki/Release-Notes-Guidelines). - [ ] Adequate tests were added if applicable. - [ ] CI passed. ## Release Notes Please follow [release notes guidelines](https://github.com/prestodb/presto/wiki/Release-Notes-Guidelines) and fill in the release notes below. ``` == NO RELEASE NOTE == ```
…restodb#26870) ## Description - Refactor the documentation page that explains how to deploy Presto with Docker. - Make minor adjustments to the `Installation` menu and related documentation page names. - Remove `sphinx-copybutton` dependency. - Remove duplicated configuration property `templates_path = ['_templates']`. ## Motivation and Context Documentation configs: - The `sphinx-copybutton` dependency is redundant and does not function correctly because copy buttons for code block are already provided globally by the `content.code.copy` feature of the `sphinx-immaterial` theme. Refining documentation and visual styling: - Reordered `Installation` menu from local to containerized options. - Changed documentation page names for common pattern `Deploy Presto with *****`. - Specified/refined code block lexers and used `note` directives. <img width="488" height="899" alt="image" src="https://github.com/user-attachments/assets/80160fac-863e-4ab4-8534-4049924eb44a" /> ## Impact _None_ ## Test Plan Build the documentation and check that the page is correct: ```shell presto-docs/build open presto-docs/target/html/installation/deploy-docker.html ``` ## Contributor checklist - [ ] 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). - [ ] PR description addresses the issue accurately and concisely. If the change is non-trivial, a GitHub Issue is referenced. - [ ] Documented new properties (with its default value), SQL syntax, functions, or other functionality. - [ ] If release notes are required, they follow the [release notes guidelines](https://github.com/prestodb/presto/wiki/Release-Notes-Guidelines). - [ ] Adequate tests were added if applicable. - [ ] CI passed. - [ ] 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 ``` == NO RELEASE NOTE == ```
## Description Fix iceberg docs ## Motivation and Context Fix docs ## Impact <!---Describe any public API or user-facing feature change or any performance impact--> ## Test Plan <!---Please fill in how you tested your change--> ## Contributor checklist - [ ] 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). - [ ] PR description addresses the issue accurately and concisely. If the change is non-trivial, a GitHub Issue is referenced. - [ ] Documented new properties (with its default value), SQL syntax, functions, or other functionality. - [ ] If release notes are required, they follow the [release notes guidelines](https://github.com/prestodb/presto/wiki/Release-Notes-Guidelines). - [ ] Adequate tests were added if applicable. - [ ] CI passed. - [ ] 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 Please follow [release notes guidelines](https://github.com/prestodb/presto/wiki/Release-Notes-Guidelines) and fill in the release notes below. ``` == NO RELEASE NOTE == ```
…b#26923) ## Description Enable TestPrestoNativeAsyncDataCacheCleanupAPI Its running under - https://github.com/prestodb/presto/actions/runs/20914860734/job/60093369386?pr=26923 ## Motivation and Context Enable TestPrestoNativeAsyncDataCacheCleanupAPI Resolves prestodb#25407 ## Impact <!---Describe any public API or user-facing feature change or any performance impact--> ## Test Plan <!---Please fill in how you tested your change--> ## Contributor checklist - [ ] 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). - [ ] PR description addresses the issue accurately and concisely. If the change is non-trivial, a GitHub Issue is referenced. - [ ] Documented new properties (with its default value), SQL syntax, functions, or other functionality. - [ ] If release notes are required, they follow the [release notes guidelines](https://github.com/prestodb/presto/wiki/Release-Notes-Guidelines). - [ ] Adequate tests were added if applicable. - [ ] CI passed. - [ ] 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 Please follow [release notes guidelines](https://github.com/prestodb/presto/wiki/Release-Notes-Guidelines) and fill in the release notes below. ``` == NO RELEASE NOTE == ```
## Description Fix spilling related docs ## Motivation and Context User facing docs related to spilling were out of date till now and had a typo. This PR fixes them. ## Impact NA ## Test Plan <!---Please fill in how you tested your change--> ## Contributor checklist - [ ] 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). - [ ] PR description addresses the issue accurately and concisely. If the change is non-trivial, a GitHub Issue is referenced. - [ ] Documented new properties (with its default value), SQL syntax, functions, or other functionality. - [ ] If release notes are required, they follow the [release notes guidelines](https://github.com/prestodb/presto/wiki/Release-Notes-Guidelines). - [ ] Adequate tests were added if applicable. - [ ] CI passed. ## Release Notes Please follow [release notes guidelines](https://github.com/prestodb/presto/wiki/Release-Notes-Guidelines) and fill in the release notes below. ``` == NO RELEASE NOTE == ```
## Description Address the TODO comment in Analyzer class to remove the overloaded analyze method and decouple the analyzeSemantic and permissionChecking behaviors. ## Motivation and Context The overloaded analyze method makes it difficult to ensure that permissions checks are run exactly once for every query type. For example, for nested EXPLAIN statements, the permissions checks being run for each level of nesting because each level of nesting creates a new rewrite and Analysis. By removing these overloaded analyze method calls, it gives flexibility to remove redundant permissions checks. The new interface method added to `DataDefinitionTask#queryPermissionCheck` is needed because sometimes, a `DataDefinitionTask` implementation (like `CreateViewTask`) will call `analyzeSemantic` followed by `checkAccessPermissions` on the `Analysis` inside of the `execute` method for the task. This ensures that the utilized resources will be permission checked. But some implementations of `DataDefinitionTask` do not ever call `analyzeSemantic` (like `CreateTableTask`), but we still need to be running the query permission check for these query shapes. So for non-Analyze tasks (CreateTable), we can just run the default implementation of query permissions check, and for Analyze tasks (CreateView), we override the default implementation to be NOOP and run the `checkAccessPermissions` after the analyze. ## Impact - Remove overloaded analyze call in Analyzer - Add query permission check for DDL executions that call Analyze - Add query permission check for Presto Spark ## Test Plan Add unit test cases for checkQueryIntegrity and ensure that each shape runs the check at least once. ## Contributor checklist - [ ] 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). - [ ] PR description addresses the issue accurately and concisely. If the change is non-trivial, a GitHub Issue is referenced. - [ ] Documented new properties (with its default value), SQL syntax, functions, or other functionality. - [ ] If release notes are required, they follow the [release notes guidelines](https://github.com/prestodb/presto/wiki/Release-Notes-Guidelines). - [ ] Adequate tests were added if applicable. - [ ] CI passed. - [ ] 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 Please follow [release notes guidelines](https://github.com/prestodb/presto/wiki/Release-Notes-Guidelines) and fill in the release notes below. ``` == NO RELEASE NOTE == ``` Differential Revision: D89869624
The recent runtime images published did not build with the correct CMake options as intended. This PR fixes two issues: 1. Ensure the cmake flags are passed correctly in the publish step 2. Ensure that make fails if an error is encountered in one of the sub-commands. Fixes: prestodb#26996 ## Description <!---Describe your changes in detail--> ## Motivation and Context <!---Why is this change required? What problem does it solve?--> <!---If it fixes an open issue, please link to the issue here.--> ## Impact <!---Describe any public API or user-facing feature change or any performance impact--> ## Test Plan <!---Please fill in how you tested your change--> ## Contributor checklist - [ ] 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). - [ ] PR description addresses the issue accurately and concisely. If the change is non-trivial, a GitHub Issue is referenced. - [ ] Documented new properties (with its default value), SQL syntax, functions, or other functionality. - [ ] If release notes are required, they follow the [release notes guidelines](https://github.com/prestodb/presto/wiki/Release-Notes-Guidelines). - [ ] Adequate tests were added if applicable. - [ ] CI passed. - [ ] 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 Please follow [release notes guidelines](https://github.com/prestodb/presto/wiki/Release-Notes-Guidelines) and fill in the release notes below. ``` == NO RELEASE NOTE == ```
…r restart alerts (prestodb#26979) ## Description Added a runtime metric `presto_cpp.worker_runtime_uptime_secs` to track how long a C++ worker has been running since startup. This metric is recorded every 2 seconds via a periodic task. ## Motivation and Context The worker uptime metric exists in the Java worker but was missing in the C++ (Presto native) worker. ## Impact - **New metric**: `presto_cpp.worker_runtime_uptime_secs` - reports the number of seconds since the worker process started - No performance impact as this runs in a lightweight background periodic task (every 2 seconds) - No public API changes ## Test Plan - Deployed to staging cluster and verified the metric is being reported correctly - Verified alert integration works with the new metric ## 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. If the change is non-trivial, a GitHub Issue is referenced. - [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. - [x] 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 == Prestissimo (Native Execution) Changes * Add worker uptime metric \`presto_cpp.worker_runtime_uptime_secs\` to track worker process runtime. ```
…26948) ## Description Add parsing logic for `NativeFunctionHandle`. All functions under `NativeFunctionNamespaceManager` now return and parse `NativeFunctionHandle` instead of `SqlFunctionHandle`. ## Motivation and Context This change is required for `VeloxToPrestoExpr` when the native expression optimizer is enabled. During translation from a Velox row expression back to a Presto row expression, we must construct a function handle that is supported by `NativeFunctionNamespaceManager` when the underlying function is native. To avoid parsing different function handle types, all functions under `NativeFunctionNamespaceManager` now consistently return and parse `NativeFunctionHandle`. Issues discovered by : prestodb#26903 ## Impact There is no direct user-facing impact. This change only affects internal function handle construction and parsing. ## Test Plan CI, Unit tests. ## 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. If the change is non-trivial, a GitHub Issue is referenced. - [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. - [x] 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 Please follow [release notes guidelines](https://github.com/prestodb/presto/wiki/Release-Notes-Guidelines) and fill in the release notes below. ``` == RELEASE NOTES == Prestissimo (Native Execution) Changes * Add support for `NativeFunctionHandle` parsing. ```
## Description This PR upgrades Apache Iceberg from version 1.8.1 to 1.10.0, along with related dependency updates to Parquet (1.13.1 → 1.16.0) and Avro (1.11.4 → 1.12.0). The changes include API adaptations for breaking changes in the new Iceberg version and enhanced test infrastructure for OAuth2 token exchange flows in REST catalog operations. **Test Changes** From version 1.9, the AuthManager API was enabled, which shift the authentication system of RestCatalog from a built-in implementation to a pluggable architecture. This caused the modifications in the test class. **Dependency upgrades and additions:** - Upgraded major dependencies: parquet to 1.16.0, avro to 1.12.0, and iceberg to 1.10.0, ensuring compatibility and access to new features and bug fixes. - Added explicit dependency on parquet-hadoop in presto-iceberg/pom.xml with necessary exclusions to avoid conflicts. - Added software.amazon.awssdk:kms as a runtime dependency in presto-iceberg/pom.xml to support AWS KMS integration. **Iceberg connector and authentication improvements:** - Enhanced test setup in TestIcebergDistributedRest.java to enable OAuth2 authentication, simulating the token exchange flow for more comprehensive testing. - Updated IcebergRestCatalogServlet to handle OAuth2 token exchange requests, returning a prefixed token to preserve user identity and improve authorization checks. Also improved error response handling by using the correct status code from the error. **Parquet writer API updates:** - Updated test code to use the new GenericParquetWriter::create method instead of the deprecated buildWriter method for Parquet position and equality delete writers, ensuring compatibility with the upgraded Parquet library. ## Motivation and Context Requires the newer version of Apache Iceberg. ## Release Notes ``` == RELEASE NOTES == Iceberg Connector Changes * Upgrade Iceberg version to 1.10.0 * Upgrade Parquet version to 1.16.0 * Upgrade Avro version to 1.12.0 ```
…f Delta tables when running the SHOW CREATE TABLE command (prestodb#26986) ## Description Add support to show the external table location of Delta tables when running the SHOW CREATE TABLE command. ## Motivation and Context * Some tools need to know the data and metadata location of Delta tables. * After this change, users will be able to recreate a Delta table at the same location where it was previously created. ## Test Plan Integration test added ## 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. If the change is non-trivial, a GitHub Issue is referenced. - [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. - [x] 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 == Delta Connector Changes * Add support to show the external table location of Delta tables when running the SHOW CREATE TABLE command. ```
…p_n (prestodb#27010) ## Description Added documentation for the comparator version of array_top_n. ## Motivation and Context Functionality exists without documentation. ## Release Notes ``` == NO RELEASE NOTE == ```
…or (prestodb#27006) ## Description Updates `yield` call to use fully-qualified call ## Motivation and Context In java 14+, compilation will error if a restricted name is used and `yield` is a restricted in 14+. ## 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. If the change is non-trivial, a GitHub Issue is referenced. - [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. - [x] 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 Please follow [release notes guidelines](https://github.com/prestodb/presto/wiki/Release-Notes-Guidelines) and fill in the release notes below. ``` == NO RELEASE NOTE == ``` Signed-off-by: kiersten-stokes <kierstenstokes@gmail.com>
…prestodb#27003) ## Description Upgrade org.glassfish.jaxb:jaxb-runtime version to 4.0.6 ## Motivation and Context Using a more recent version helps avoid potential vulnerabilities and ensures we aren't relying on outdated or unsupported code. ## Impact <!---Describe any public API or user-facing feature change or any performance impact--> ## Test Plan <!---Please fill in how you tested your change--> ## Contributor checklist - [ ] 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). - [ ] PR description addresses the issue accurately and concisely. If the change is non-trivial, a GitHub Issue is referenced. - [ ] Documented new properties (with its default value), SQL syntax, functions, or other functionality. - [ ] If release notes are required, they follow the [release notes guidelines](https://github.com/prestodb/presto/wiki/Release-Notes-Guidelines). - [ ] Adequate tests were added if applicable. - [ ] CI passed. - [ ] 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 Please follow [release notes guidelines](https://github.com/prestodb/presto/wiki/Release-Notes-Guidelines) and fill in the release notes below. ``` == NO RELEASE NOTE == ```
…b#26927) ## Description Currently, view definitions are tracked inside of `Analysis` class, but it's possible that a new `Analysis` instance gets generated each time a statement rewrite occurs (for example explain rewrite). However, for permissions checks to be comprehensive, a full map of every view definition needs to be collected on the query level. This PR adds a variable `viewDefinitionReferences` that keep track of the view definitions used at the query level. During statement analysis, any view that is visited will be added to the tracker. ## Motivation and Context Currently, with statement rewrites, like explain rewrite, it is challenging to have a full picture of every view definition used during query analysis. Adding this `viewDefinitionReferences` collector will produce a global view of every view definition in a query. ## Impact - Pass `viewDefinitionReferences` from Analyzer down to StatementAnalyzer so that the `Analysis` tracking all view definitions in the global query scope - Clean up unnecessary view definition and `queryAccessControlInfo` logic in `AccessControlReferences` ## Test Plan Add unit test cases for checkQueryIntegrity and ensure that each shape runs the check at least once. Also added unit test to ensure view definitions can be read from the analysis after analyze. No impact on query execution. Just moving the view definition fields from one class to another. Internal testing: [P2139832088](https://www.internalfb.com/phabricator/paste/view/P2139832088) ## Contributor checklist - [ ] 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). - [ ] PR description addresses the issue accurately and concisely. If the change is non-trivial, a GitHub Issue is referenced. - [ ] Documented new properties (with its default value), SQL syntax, functions, or other functionality. - [ ] If release notes are required, they follow the [release notes guidelines](https://github.com/prestodb/presto/wiki/Release-Notes-Guidelines). - [ ] Adequate tests were added if applicable. - [ ] CI passed. - [ ] 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 Please follow [release notes guidelines](https://github.com/prestodb/presto/wiki/Release-Notes-Guidelines) and fill in the release notes below. ``` == NO RELEASE NOTE == ``` Differential Revision: D90355103
…todb#27001) ## Description <!---Describe your changes in detail--> Add additional tests to TestTableFunctionInvocation to test and show examples of nested table function calls. ## Motivation and Context <!---Why is this change required? What problem does it solve?--> <!---If it fixes an open issue, please link to the issue here.--> We didn't have any tests for these types of table function calls. ## Impact <!---Describe any public API or user-facing feature change or any performance impact--> ## Test Plan <!---Please fill in how you tested your change--> Ran new tests. ## Contributor checklist - [ ] 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). - [ ] PR description addresses the issue accurately and concisely. If the change is non-trivial, a GitHub Issue is referenced. - [ ] Documented new properties (with its default value), SQL syntax, functions, or other functionality. - [ ] If release notes are required, they follow the [release notes guidelines](https://github.com/prestodb/presto/wiki/Release-Notes-Guidelines). - [ ] Adequate tests were added if applicable. - [ ] CI passed. - [ ] 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 Please follow [release notes guidelines](https://github.com/prestodb/presto/wiki/Release-Notes-Guidelines) and fill in the release notes below. ``` == NO RELEASE NOTE == ```
…ion signatures (prestodb#27016) ## Description In SHOW FUNCTIONS output, the return type signatures for named field names only have the type name, but they do no show that name of the parameter. Note that the names of the fields are shown if the parameter type is a integer or real, but it seems to be hidden for varchar type params. ## Motivation and Context SHOW FUNCTIONS output for return type can be inconsistent. ## Impact Ensures that the named fields are displayed in the return types of funtion signatures shown in SHOW FUNCTIONS. ## Test Plan Added unit tests for varchar and map type fields. ## Contributor checklist - [ ] 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). - [ ] PR description addresses the issue accurately and concisely. If the change is non-trivial, a GitHub Issue is referenced. - [ ] Documented new properties (with its default value), SQL syntax, functions, or other functionality. - [ ] If release notes are required, they follow the [release notes guidelines](https://github.com/prestodb/presto/wiki/Release-Notes-Guidelines). - [ ] Adequate tests were added if applicable. - [ ] CI passed. - [ ] 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 Please follow [release notes guidelines](https://github.com/prestodb/presto/wiki/Release-Notes-Guidelines) and fill in the release notes below. ``` == NO RELEASE NOTE == ``` Differential Revision: D91268854
…restodb#27018) ## Description Removes unused `$static` variable from `VeloxToPresto` expression converter. ## Motivation and Context Cleanup code. ## Impact N/A. ``` == NO RELEASE NOTE == ```
…Publisher (prestodb#26670) ## Description <!---Describe your changes in detail--> This PR upgrades the Glue client to AWS SDK v2 and updates the GlueHiveMetastore used by the Presto Lakehouse connectors accordingly. ### Key Changes - Migrates Glue client usage from SDK v1 to v2. - In SDK v1, the async client extended the sync client. In SDK v2, the async client exposes only async methods returning CompletableFuture. - Added a utility method to safely block on async calls (join() / get()) for synchronous use cases. - Replaces v1 RequestMetricCollector with v2 MetricPublisher for metric collection. - Updates metric names and structures where necessary. ## Motivation and Context <!---Why is this change required? What problem does it solve?--> <!---If it fixes an open issue, please link to the issue here.--> prestodb#26668 and prestodb#25529 ## Impact <!---Describe any public API or user-facing feature change or any performance impact--> `hive.metastore.glue.pin-client-to-current-region` is deprecated as AWS Region SDK v2 no longer supports the Regions.getCurrentRegion API. The current region will be inferred automatically if Presto is running on an EC2 machine. ## Test Plan <!---Please fill in how you tested your change--> Sample JMX metrics output for the new metrics published via the MetricPublisher ``` presto:imjalpreet_db> select "awsapicallduration.alltime.avg", "awsbackoffdelayduration.alltime.avg", "awsservicecallduration.alltime.avg", "awsrequestcount.totalcount", "awsretrycount.totalcount", "awsthrottleexceptions.totalc ount" from jmx.current."com.facebook.presto.hive.metastore.glue:name=ahana_oss,type=gluehivemetastore"; awsapicallduration.alltime.avg | awsbackoffdelayduration.alltime.avg | awsservicecallduration.alltime.avg | awsrequestcount.totalcount | awsretrycount.totalcount | awsthrottleexceptions.totalcount --------------------------------+-------------------------------------+------------------------------------+----------------------------+--------------------------+---------------------------------- 643.0344827586207 | 0.0 | 640.1724137931035 | 29 | 0 | 0 (1 row) Query 20251210_203809_00008_z6sib, FINISHED, 1 node Splits: 17 total, 17 done (100.00%) [Latency: client-side: 0:01, server-side: 0:01] [1 rows, 48B] [1 rows/s, 69B/s] ``` Ran the TestHiveClientGlueMetastore suite with AWS Glue, and below are the test results [TestHiveClientGlueMetastore.html](https://github.com/user-attachments/files/24088278/TestHiveClientGlueMetastore.html) ## 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. If the change is non-trivial, a GitHub Issue is referenced. - [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. - [x] CI passed. - [ ] 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 Please follow [release notes guidelines](https://github.com/prestodb/presto/wiki/Release-Notes-Guidelines) and fill in the release notes below. ``` == RELEASE NOTES == Hive Connector Changes * Upgrade AWS Glue Client to AWS SDK v2 Iceberg Connector Changes * Upgrade AWS Glue Client to AWS SDK v2 Delta Connector Changes * Upgrade AWS Glue Client to AWS SDK v2 Hudi Connector Changes * Upgrade AWS Glue Client to AWS SDK v2 ```
Summary:
Clean up unused includes in presto_cpp/main to improve compilation times
and reduce unnecessary header dependencies:
1. Announcer.cpp:
- Removed `folly/futures/Retrying.h` - no retrying symbols used
- Removed `velox/common/memory/Memory.h` - no memory pool symbols used
2. PeriodicHeartbeatManager.cpp:
- Removed `velox/common/memory/Memory.h` - no memory symbols used
3. PrestoExchangeSource.cpp:
- Replaced `QueryContextManager.h` with the more specific
`presto_protocol/core/presto_protocol_core.h` which directly provides
the protocol namespace symbols (DataSize, Duration, PRESTO_*_HEADER
constants) that are actually used. This avoids pulling in heavy
transitive dependencies from QueryContextManager.h like
folly/Synchronized, folly/executors/*, and velox/core/QueryCtx.h.
## Summary by Sourcery
Clean up unused and overly broad header dependencies in presto_cpp main
sources to reduce compile-time and transitive includes.
Enhancements:
- Remove unused header includes from Announcer and
PeriodicHeartbeatManager to simplify dependencies.
- Narrow PrestoExchangeSource's dependency from QueryContextManager to
the specific presto_protocol_core header that provides the required
protocol types and constants.
```
== NO RELEASE NOTE ==
```
…caches (prestodb#26918) For more details: prestodb#26917
…db#27033) Fixup the hash code used for this optimization ## Description We were using hashcode which is avialble only in java. Changed it to use the same function that we use for join prefilter which works for both java and cpp. If release note is NOT required, use: ``` == NO RELEASE NOTE == ``` ## Summary by Sourcery Use a shared hash computation utility for join and aggregation prefilters to ensure consistent hashing across Java and C++ implementations. Bug Fixes: - Fix incorrect or incompatible hash computation used for prefiltering group-by limit aggregations by switching to a working XX_HASH_64-based hash. Enhancements: - Extract variable hash computation into a reusable PlannerUtils helper and reuse it in join and aggregation prefilter optimizations.
…oad (prestodb#26988) ### Summary: Introduces global query admission pacing to control the rate at which queries are admitted for execution. When a cluster experiences sudden bursts of heavy queries, workers can become overloaded, leading to degraded performance and potential failures. This feature allows operators to configure a maximum admission rate to smooth out query submission spikes. Two new configuration options are added: - `query-manager.max-query-admissions-per-second`: Maximum queries admitted per second globally (default: unlimited). Set to a lower value to pace query admissions. - `query-manager.min-running-queries-for-pacing`: Minimum running queries before pacing is applied (default: 1). Allows bypassing pacing when the cluster is idle. The pacing uses a lock-free atomic approach to avoid deadlocks with resource group locks while ensuring correctness across multiple root resource groups. Example configuration for production: ``` query-manager.max-query-admissions-per-second=10 query-manager.min-running-queries-for-pacing=30 ``` This admits at most 10 queries per second, but only when 30+ queries are already running. Differential Revision: D88058630 ### Release Notes Please follow [release notes guidelines](https://github.com/prestodb/presto/wiki/Release-Notes-Guidelines) and fill in the release notes below. == NO RELEASE NOTE ==
## Description <!---Describe your changes in detail--> Upgrade org.locationtech.jts version to 1.20.0 ## Motivation and Context Using a more recent version helps avoid potential vulnerabilities and ensures we aren't relying on outdated or unsupported code. ## Impact <!---Describe any public API or user-facing feature change or any performance impact--> ## Test Plan <!---Please fill in how you tested your change--> ## Contributor checklist - [ ] 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). - [ ] PR description addresses the issue accurately and concisely. If the change is non-trivial, a GitHub Issue is referenced. - [ ] Documented new properties (with its default value), SQL syntax, functions, or other functionality. - [ ] If release notes are required, they follow the [release notes guidelines](https://github.com/prestodb/presto/wiki/Release-Notes-Guidelines). - [ ] Adequate tests were added if applicable. - [ ] CI passed. - [ ] 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). ``` == NO RELEASE NOTE == ```
…restodb#27009) Bumps [lodash](https://github.com/lodash/lodash) from 4.17.21 to 4.17.23. CVE-2025-13465 <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/lodash/lodash/commit/dec55b7a3b382da075e2eac90089b4cd00a26cbb"><code>dec55b7</code></a> Bump main to v4.17.23 (<a href="https://github.com/lodash/lodash/issues/6088">#6088</a>)</li> <li><a href="https://github.com/lodash/lodash/commit/19c9251b3631d7cf220b43bc757eb33f1084f117"><code>19c9251</code></a> fix: setCacheHas JSDoc return type should be boolean (<a href="https://github.com/lodash/lodash/issues/6071">#6071</a>)</li> <li><a href="https://github.com/lodash/lodash/commit/b5e672995ae26929d111a6e94589f8d03fb8e578"><code>b5e6729</code></a> jsdoc: Add -0 and BigInt zeros to _.compact falsey values list (<a href="https://github.com/lodash/lodash/issues/6062">#6062</a>)</li> <li><a href="https://github.com/lodash/lodash/commit/edadd452146f7e4bad4ea684e955708931d84d81"><code>edadd45</code></a> Prevent prototype pollution on baseUnset function</li> <li><a href="https://github.com/lodash/lodash/commit/4879a7a7d0a4494b0e83c7fa21bcc9fc6e7f1a6d"><code>4879a7a</code></a> doc: fix autoLink function, conversion of source links (<a href="https://github.com/lodash/lodash/issues/6056">#6056</a>)</li> <li><a href="https://github.com/lodash/lodash/commit/9648f692b0fc7c2f6a7a763d754377200126c2e8"><code>9648f69</code></a> chore: remove <code>yarn.lock</code> file (<a href="https://github.com/lodash/lodash/issues/6053">#6053</a>)</li> <li><a href="https://github.com/lodash/lodash/commit/dfa407db0bf5b200f2c7a9e4f06830ceaf074be9"><code>dfa407d</code></a> ci: remove legacy configuration files (<a href="https://github.com/lodash/lodash/issues/6052">#6052</a>)</li> <li><a href="https://github.com/lodash/lodash/commit/156e1965ae78b121a88f81178ab81632304e8d64"><code>156e196</code></a> feat: add renovate setup (<a href="https://github.com/lodash/lodash/issues/6039">#6039</a>)</li> <li><a href="https://github.com/lodash/lodash/commit/933e1061b8c344d3fc742cdc400175d5ffc99bce"><code>933e106</code></a> ci: add pipeline for Bun (<a href="https://github.com/lodash/lodash/issues/6023">#6023</a>)</li> <li><a href="https://github.com/lodash/lodash/commit/072a807ff7ad8ffc7c1d2c3097266e815d138e20"><code>072a807</code></a> docs: update links related to Open JS Foundation (<a href="https://github.com/lodash/lodash/issues/5968">#5968</a>)</li> <li>Additional commits viewable in <a href="https://github.com/lodash/lodash/compare/4.17.21...4.17.23">compare view</a></li> </ul> </details> <br /> [](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) You can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/prestodb/presto/network/alerts). </details> ``` == RELEASE NOTES == Security Changes * Upgrade lodash from 4.17.21 to 4.17.23 to address `CVE-2025-13465 <https://github.com/advisories/GHSA-xxjr-mmjv-4gpg>`_. ``` Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…#26718) ## Description Added new documentation explaining how to use the Presto C++ engine. The documentation provides step-by-step instructions for configuring, and running the Presto C++ worker ## Motivation and Context There was no consolidated or beginner-friendly documentation for Presto C++ in the open-source project. Users often had difficulty understanding how to build and run the C++ worker, what dependencies were required, and how it integrates with a Presto coordinator. ## Impact There is no performance impact. ## Test Plan <!---Please fill in how you tested your change--> ## Contributor checklist - [ ] 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). - [ ] PR description addresses the issue accurately and concisely. If the change is non-trivial, a GitHub Issue is referenced. - [ ] Documented new properties (with its default value), SQL syntax, functions, or other functionality. - [ ] If release notes are required, they follow the [release notes guidelines](https://github.com/prestodb/presto/wiki/Release-Notes-Guidelines). - [ ] Adequate tests were added if applicable. - [ ] CI passed. - [ ] 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 ``` == NO RELEASE NOTE == ```
## Description Upgrade postgresql to version 42.7.9 ## Motivation and Context Using a more recent version helps avoid potential vulnerabilities and ensures we aren't relying on outdated or unsupported code. ## Impact <!---Describe any public API or user-facing feature change or any performance impact--> ## Test Plan <!---Please fill in how you tested your change--> ## Contributor checklist - [ ] 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). - [ ] PR description addresses the issue accurately and concisely. If the change is non-trivial, a GitHub Issue is referenced. - [ ] Documented new properties (with its default value), SQL syntax, functions, or other functionality. - [ ] If release notes are required, they follow the [release notes guidelines](https://github.com/prestodb/presto/wiki/Release-Notes-Guidelines). - [ ] Adequate tests were added if applicable. - [ ] CI passed. - [ ] 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 Please follow [release notes guidelines](https://github.com/prestodb/presto/wiki/Release-Notes-Guidelines) and fill in the release notes below. ``` == NO RELEASE NOTE == ```
…ons to sidecar for expression optimization (prestodb#27043) ## Description Avoid sending aggregate and window functions to sidecar for expression optimization. ## Motivation and Context Encountered while investigating prestodb#26920. The bug reported in the issue is different but the general idea is we should avoid sending aggregate and window functions to sidecar as they cannot be constant folded. The failing queries in the issue are added as test cases. ## Impact No impact. ## Test Plan Unit tests, CI. ``` == NO RELEASE NOTE == ```
…d to string API (prestodb#27262) Summary: Migrate all presto-trunk files from legacy VectorSerde::Kind enum to the new string-based named serde API. This is stacked on D94569860 which adds the string API and legacy Kind overloads for backward compat. Changes: - PrestoServer.cpp: use string names for serde registration checks - BroadcastFile.cpp: getNamedVectorSerde("Presto") - BroadcastWrite.cpp: getVectorSerdeOptions(..., "Presto") - ShuffleRead.cpp: ExchangeNode with "CompactRow" - BroadcastTest.cpp: exchange with "Presto" - TaskManagerTest.cpp: parameterize on std::string instead of Kind - PrestoToVeloxQueryPlan.cpp: toVeloxSerdeKind returns std::string - PlanConverterTest.cpp: compare serdeKind() with "CompactRow" Differential Revision: D95243859 # Releas Notes ``` == NO RELEASE NOTE == ``` ## Summary by Sourcery Migrate Presto native execution code from the legacy VectorSerde::Kind enum to the new string-based named serde API. Enhancements: - Replace VectorSerde::Kind usage with string serde identifiers (e.g., "Presto", "CompactRow", "UnsafeRow") across Presto server, operators, and query plan conversion. - Update TaskManager tests and parameterization to use std::string serde names instead of the enum kind. - Adjust plan converter and related tests to expect string serde kinds for exchanges and partitioned output nodes. --------- Co-authored-by: Han Yan <69082601+yanhanBazoooka@users.noreply.github.com>
prestodb#27272) ## Description Add Iceberg branch and tags support related tests in Prestissimo ## Motivation and Context Add Iceberg branch and tags support related tests in Prestissimo ## Impact Add Iceberg branch and tags support related tests in Prestissimo ## Test Plan Test Added ## Contributor checklist - [ ] 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). - [ ] PR description addresses the issue accurately and concisely. If the change is non-trivial, a GitHub Issue is referenced. - [ ] Documented new properties (with its default value), SQL syntax, functions, or other functionality. - [ ] If release notes are required, they follow the [release notes guidelines](https://github.com/prestodb/presto/wiki/Release-Notes-Guidelines). - [ ] Adequate tests were added if applicable. - [ ] CI passed. - [ ] 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 Please follow [release notes guidelines](https://github.com/prestodb/presto/wiki/Release-Notes-Guidelines) and fill in the release notes below. ``` == NO RELEASE NOTE == ``` ## Summary by Sourcery Add native execution tests for Iceberg table branches and tags behavior in Prestissimo. Tests: - Add coverage for querying Iceberg branches via system versioning and dot-notation in native execution. - Add tests for creating and querying Iceberg tags and verifying their referenced snapshots. - Add tests for creating and dropping Iceberg branches and tags, including IF EXISTS handling and refs metadata visibility. - Add tests validating insert and truncate support on Iceberg branches and that unsupported UPDATE/DELETE/MERGE operations fail as expected in Prestissimo.
## Description Upgrade avro to version 1.12.1 to fix the [CVE-2025-33042](GHSA-rp46-r563-jrc7) ## Motivation and Context Using a more recent version helps avoid potential vulnerabilities and ensures we aren't relying on outdated or unsupported code. ## Impact <!---Describe any public API or user-facing feature change or any performance impact--> ## Test Plan <img width="713" height="604" alt="Screenshot 2026-02-19 at 1 12 20 PM" src="https://github.com/user-attachments/assets/2d2be2d2-fc2a-4762-9ae2-1f828c839dcf" /> ## Contributor checklist - [ ] 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). - [ ] PR description addresses the issue accurately and concisely. If the change is non-trivial, a GitHub Issue is referenced. - [ ] Documented new properties (with its default value), SQL syntax, functions, or other functionality. - [ ] If release notes are required, they follow the [release notes guidelines](https://github.com/prestodb/presto/wiki/Release-Notes-Guidelines). - [ ] Adequate tests were added if applicable. - [ ] CI passed. - [ ] 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 Please follow [release notes guidelines](https://github.com/prestodb/presto/wiki/Release-Notes-Guidelines) and fill in the release notes below. ``` == NO RELEASE NOTE == ```
…er plugin (prestodb#27249) ## Description Add an OpenLineage event listener plugin to Presto, ported from [Trino's trino-openlineage plugin](https://github.com/trinodb/trino/tree/master/plugin/trino-openlineage) (commit [99b9b37](trinodb/trino@99b9b37)). co-author with @mgorsk1 The plugin emits query lifecycle events in the [OpenLineage](https://openlineage.io/) format, enabling integration with data lineage tracking systems such as [Marquez](https://marquezproject.ai/), [Atlan](https://atlan.com/), and [DataHub](https://datahubproject.io/). **What it does:** - Emits `START` events on query creation, `COMPLETE`/`FAIL` events on query completion - Captures input/output dataset information including column-level lineage (via `OutputColumnMetadata.getSourceColumns()`) - Supports `CONSOLE` (stdout JSON) and `HTTP` (e.g., Marquez API) transport modes - Provides configurable query type filtering, job name formatting, and facet disabling ## Motivation and Context Presto currently has no OpenLineage support. OpenLineage is an open standard for lineage metadata collection that is widely adopted in the data ecosystem. This plugin enables Presto users to track data lineage without custom integration work. ## Impact - New plugin module `presto-openlineage-event-listener` — no changes to existing Presto behavior - New external dependency: `io.openlineage:openlineage-java:1.44.1` - No public API changes ## Test Plan - 12 unit tests covering: - Core listener behavior: complete events, start events, job name formatting (`TestOpenLineageEventListener`) - Plugin smoke tests: console and HTTP listener creation (`TestOpenLineageEventListenerPlugin`) - Config parsing: listener config defaults and property mapping (`TestOpenLineageEventListenerConfig`) - Transport config: transport type parsing (`TestOpenLineageTransportConfig`) - HTTP config: URL, timeout, headers, compression parsing (`TestOpenLineageHttpTransportConfig`) - All tests pass: `./mvnw -pl presto-openlineage-event-listener test` → 12 tests, 0 failures - Manual verification: configure `etc/event-listener.properties` with `CONSOLE` transport, run a query, verify JSON output on stdout ## 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. If the change is non-trivial, a GitHub Issue is referenced. - [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. - [ ] 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 OpenLineage event listener plugin for emitting query lifecycle events in the OpenLineage format. The plugin supports console and HTTP transports, configurable query type filtering, and column-level lineage tracking. See /develop/openlineage-event-listener for configuration details. prestodb#27249 ```
…in (prestodb#27269) ## Description, Motivation and Context Adds a feature config for PushPartialAggregationThroughJoin; only a session property exists for it at the moment ## Test Plan CI ## Contributor checklist - [ ] 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). - [ ] PR description addresses the issue accurately and concisely. If the change is non-trivial, a GitHub Issue is referenced. - [ ] Documented new properties (with its default value), SQL syntax, functions, or other functionality. - [ ] If release notes are required, they follow the [release notes guidelines](https://github.com/prestodb/presto/wiki/Release-Notes-Guidelines). - [ ] Adequate tests were added if applicable. - [ ] CI passed. - [ ] 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 Please follow [release notes guidelines](https://github.com/prestodb/presto/wiki/Release-Notes-Guidelines) and fill in the release notes below. ``` == NO RELEASE NOTE == ```
…estodb#27234) Adds a "Collecting table and column statistics" section to the Iceberg connector docs, paralleling the existing section in the Hive connector docs. ### Changes: > Added ANALYZE iceberg.tpch.orders; example > Added ANALYZE ... WITH (columns = ARRAY[...]) example for column-level stats > Added .. _iceberg_analyze: RST anchor for cross-referencing > Fixes: prestodb#27065 ``` == NO RELEASE NOTE == ```
…db#27299) Summary: Add operator-specific spill file create configs to presto-native-execution, mirroring the velox changes in D92762382. This allows different spill file configurations for aggregation and hash join operators. Changes across all layers: - Java: NativeWorkerSessionPropertyProvider - new session property constants - C++ SessionProperties: native_aggregation_spill_file_create_config, native_hash_join_spill_file_create_config - C++ SystemConfig: spiller.aggregation-file-create-config, spiller.hash-join-file-create-config - C++ PrestoToVeloxQueryConfig: system-config-to-velox mappings - Tests: PrestoToVeloxQueryConfigTest, SessionPropertiesTest Reviewed By: xiaoxmeng Differential Revision: D95630825 ``` == NO RELEASE NOTE ==
…ical properties (prestodb#27241) ## Description, Motivation and Context When using logical properties and the Iterative optimizer, the `KeyProperty` for a Group may not always use the top-most output variables. It may be using a equivalent variable; which is why we should be normalized the test key using the equivalence classes before doing the comparison ## Impact The [TransformDistinctInnerJoinToRightEarlyOutJoin](https://github.com/prestodb/presto/blob/47a708022aba003ebfda483ea3c940231fdbd282/presto-main-base/src/main/java/com/facebook/presto/sql/planner/iterative/rule/TransformDistinctInnerJoinToRightEarlyOutJoin.java#L167-L169) rule was stuck in a loop for TPCDS Q95 when constraints are turned on The underlying Group node's Key's do not directly refer to the newly added aggregation node's output variables, so the `isDistinct` check was failing causing the rule to re-apply and get stuck ## Test Plan New test added ## Contributor checklist - [ ] 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). - [ ] PR description addresses the issue accurately and concisely. If the change is non-trivial, a GitHub Issue is referenced. - [ ] Documented new properties (with its default value), SQL syntax, functions, or other functionality. - [ ] If release notes are required, they follow the [release notes guidelines](https://github.com/prestodb/presto/wiki/Release-Notes-Guidelines). - [ ] Adequate tests were added if applicable. - [ ] CI passed. - [ ] 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 ``` == NO RELEASE NOTE == ``` ## Summary by Sourcery Bug Fixes: - Correct key requirement satisfaction check to use the normalized key requirement instead of the original key. ## Summary by Sourcery Ensure logical key distinctness checks respect normalized equivalence classes and expand logical property testing to cover key normalization behavior. Bug Fixes: - Correct key requirement satisfaction to use normalized keys derived from equivalence classes when evaluating distinctness. Enhancements: - Refactor RuleAssert to allow custom logical property assertions via a consumer-based helper in addition to exact equality checks. Tests: - Add a logical property propagation test that validates key normalization across equivalent join variables and aggregations.
## Summary - add a new **Transaction support** section to Iceberg connector docs - document supported multi-statement write transactions on a single table - document current limitations and autocommit-only operations ## Test plan - docs-only change; reviewed content against Iceberg transaction behavior in code/tests Fixes prestodb#27243 `== NO RELEASE NOTE ==` ## Summary by Sourcery Documentation: - Add a Transaction support section to the Iceberg connector documentation covering multi-statement write transactions and autocommit-only operations.
…7292) IndexLookupJoin embeds IndexSource as a single Velox operator, but Presto's plan has them as two separate logical plan nodes. This change expands IndexLookupJoin's operator stats using its StatsSplitter so that the Presto coordinator sees stats for both plan nodes. ``` == NO RELEASE NOTE == ``` ## Summary by Sourcery Enhancements: - Add expansion of IndexLookupJoin operator stats using its StatsSplitter so that embedded IndexSource statistics are reported as separate plan node metrics to the Presto coordinator.
…on shapes (prestodb#27215) Ported over from https://github.com/trinodb/trino/blob/060d9cbf4e584301b7a2f3faac14afe24ddcf53e/core/trino-main/src/main/java/io/trino/cost/AggregationStatsRule.java Co-authored-by: Kamil Endruszkiewicz <kamil.endruszkiewicz@starburstdata.com> Co-authored-by: @copilot (tests) ## Description, Motivation and Context PARTIAL Aggregation nodes break stats propagation and lead to poorer plans ## Impact Stats estimates for Aggregation nodes are propagated ## Test Plan New test added ## Contributor checklist - [ ] 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). - [ ] PR description addresses the issue accurately and concisely. If the change is non-trivial, a GitHub Issue is referenced. - [ ] Documented new properties (with its default value), SQL syntax, functions, or other functionality. - [ ] If release notes are required, they follow the [release notes guidelines](https://github.com/prestodb/presto/wiki/Release-Notes-Guidelines). - [ ] Adequate tests were added if applicable. - [ ] CI passed. - [ ] 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 ``` == NO RELEASE NOTE == ``` ## Summary by Sourcery Extend aggregation statistics estimation to support more aggregation shapes and planner steps, improving row count and confidence handling for aggregation nodes. New Features: - Add statistics estimation for PARTIAL and INTERMEDIATE aggregation steps by forwarding source stats with no assumed reduction. - Handle global (no-key) aggregations by always estimating a single output row with FACT confidence. Enhancements: - Refine group-by aggregation stats to account for grouping key distinct counts, null handling, and capping output row count to input rows across FINAL/SINGLE steps. - Factor out reusable helpers for group-by variable statistics and row-count computation in aggregation stats rule. - Replace repeated inline variable references in aggregation stats tests with shared constants for clarity and reuse. Tests: - Expand aggregation stats test coverage to cover global, partial, intermediate, final, and multi-key grouping scenarios, including null handling and NDV vs. input row count edge cases.
…use (prestodb#27199) ## Description This change enables the `HAVING` clause to reference `SELECT` output aliases. Previously, `HAVING` expressions were analyzed without resolving `SELECT` output aliases, which caused queries referencing projected aliases to fail semantic analysis. This change rewrites the `HAVING` predicate by using existing `OrderByExpressionRewriter` prior to expression analysis, aligning alias resolution semantics with existing ORDER BY behavior. Example: **Before (this query would fail with a semantic analysis error):** HAVING alias 'total' unresolved > SELECT sum(a) AS total FROM t1 GROUP BY b HAVING total > 10; -- Error: Column 'total' cannot be resolved **After (this query works correctly)** HAVING can reference SELECT alias 'total' > SELECT sum(a) AS total FROM t1 GROUP BY b HAVING total > 10; ## Motivation and Context Queries that reference `SELECT` output aliases in the `HAVING` clause currently fail during analysis due to unresolved aliases. This behavior is inconsistent with `ORDER BY`, which supports alias resolution. This change improves SQL compatibility. ## Impact `HAVING` clause can now reference `SELECT` output aliases. No changes to public APIs. No expected performance impact. No changes to planning or execution logic. ## Test Plan Updated test case which now also includes negative case. Local testing performed. ## 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. If the change is non-trivial, a GitHub Issue is referenced. - [ ] Documented new properties (with its default value), SQL syntax, functions, or other functionality. - [ ] 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. - [ ] 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 Please follow [release notes guidelines](https://github.com/prestodb/presto/wiki/Release-Notes-Guidelines) and fill in the release notes below. ``` == RELEASE NOTES == General Changes * Add support for SELECT alias references in HAVING clause ``` ## Summary by Sourcery Enable semantic analysis of HAVING clauses that reference SELECT output aliases by reusing the existing alias-rewriting logic shared with ORDER BY. New Features: - Allow HAVING clauses to reference SELECT output aliases for improved SQL compatibility. Enhancements: - Generalize the ORDER BY expression rewriter to be parameterized by clause name and reuse it for HAVING alias resolution, including clearer ambiguity error messages. - Include rewritten HAVING expressions in grouping and aggregation analysis to keep semantics consistent. Tests: - Expand analyzer tests to cover successful HAVING references to SELECT aliases across grouped and aggregated queries.
…prestodb#26931) ## Description Override vulnerable lz4-java dependency to address CVE-2025-12183 ## Test Plan <!---Please fill in how you tested your change--> ## Contributor checklist - [ ] 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). - [ ] PR description addresses the issue accurately and concisely. If the change is non-trivial, a GitHub Issue is referenced. - [ ] Documented new properties (with its default value), SQL syntax, functions, or other functionality. - [ ] If release notes are required, they follow the [release notes guidelines](https://github.com/prestodb/presto/wiki/Release-Notes-Guidelines). - [ ] Adequate tests were added if applicable. - [ ] CI passed. - [ ] 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 Please follow [release notes guidelines](https://github.com/prestodb/presto/wiki/Release-Notes-Guidelines) and fill in the release notes below. ``` == RELEASE NOTES == Security Changes * Upgrade lz4-java to 1.10.2 in response to `CVE-2025-12183 <https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2025-12183>`_. ```
## Description <!---Describe your changes in detail--> Add E2E tests for key_sampling_percent ## Motivation and Context <!---Why is this change required? What problem does it solve?--> <!---If it fixes an open issue, please link to the issue here.--> As part of testing for facebookincubator/velox#16041 ## Impact <!---Describe any public API or user-facing feature change or any performance impact--> ## Test Plan <!---Please fill in how you tested your change--> Added in E2E tests ## Contributor checklist - [ ] 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). - [ ] PR description addresses the issue accurately and concisely. If the change is non-trivial, a GitHub Issue is referenced. - [ ] Documented new properties (with its default value), SQL syntax, functions, or other functionality. - [ ] If release notes are required, they follow the [release notes guidelines](https://github.com/prestodb/presto/wiki/Release-Notes-Guidelines). - [ ] Adequate tests were added if applicable. - [ ] CI passed. - [ ] 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). ## Summary by Sourcery Tests: - Extend native string function E2E tests to validate key_sampling_percent using a variety of VARCHAR inputs. ## Release Notes Please follow [release notes guidelines](https://github.com/prestodb/presto/wiki/Release-Notes-Guidelines) and fill in the release notes below. ``` == NO RELEASE NOTE == ```
## Description Remove redundant table of contents from some documentation pages. ## Motivation and Context The Presto documentation layout features a table of contents on the right side of all pages. On pages where this sidebar remains visible within the screen view, the identical (or nearly identical) table of contents at the top can be removed as redundant. 0. Pages where the table of contents at the top has depth 2 (changed to 1 in the PR): - (0.297-SNAPSHOT) ./presto/presto-docs/target/html/presto_cpp/metrics.html 1. Pages with identical table of contents: - https://prestodb.github.io/docs/0.296/cache/local.html - https://prestodb.github.io/docs/0.296/clients/presto-console.html - https://prestodb.github.io/docs/0.296/connector/accumulo.html - https://prestodb.github.io/docs/0.296/ecosystem/list.html - https://prestodb.github.io/docs/0.296/router/scheduler.html - empty table of contents 2. Pages where the right sidebar fits the screen: - https://prestodb.github.io/docs/0.296/admin/spill.html - https://prestodb.github.io/docs/0.296/cache/service.html - https://prestodb.github.io/docs/0.296/clients/presto-cli.html - https://prestodb.github.io/docs/0.296/presto_cpp/sidecar.html - https://prestodb.github.io/docs/0.296/router/deployment.html - https://prestodb.github.io/docs/0.296/troubleshoot/deploy.html - can grow and may be excluded from the group - https://prestodb.github.io/docs/0.296/troubleshoot/query.html - can grow and may be excluded from the group 3. Pages where the right sidebar **_almost_** fits the screen: - https://prestodb.github.io/docs/0.296/connector/kafka-tutorial.html - https://prestodb.github.io/docs/0.296/installation/deployment.html 4. Pages that require some scrolling in the right sidebar: - https://prestodb.github.io/docs/0.296/connector/kudu.html - https://prestodb.github.io/docs/0.296/overview/concepts.html 5. Pages that require scrolling in the right sidebar should remain unchanged: - https://prestodb.github.io/docs/0.296/admin/properties.html - https://prestodb.github.io/docs/0.296/admin/properties-session.html - https://prestodb.github.io/docs/0.296/connector/elasticsearch.html - https://prestodb.github.io/docs/0.296/connector/hive-security.html - https://prestodb.github.io/docs/0.296/connector/hive.html - https://prestodb.github.io/docs/0.296/connector/kafka.html - https://prestodb.github.io/docs/0.296/functions/aggregate.html - https://prestodb.github.io/docs/0.296/functions/noisy.html - https://prestodb.github.io/docs/0.296/language/types.html - https://prestodb.github.io/docs/0.296/presto_cpp/features.html - https://prestodb.github.io/docs/0.296/presto_cpp/properties.html - (0.297-SNAPSHOT) ./presto/presto-docs/target/html/presto_cpp/limitations.html ## Impact No Build the documentation and check that the pages are correct: ```shell presto-docs/build open target/html/overview/concepts.html ``` ## Contributor checklist - [ ] 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). - [ ] PR description addresses the issue accurately and concisely. If the change is non-trivial, a GitHub Issue is referenced. - [ ] Documented new properties (with its default value), SQL syntax, functions, or other functionality. - [ ] If release notes are required, they follow the [release notes guidelines](https://github.com/prestodb/presto/wiki/Release-Notes-Guidelines). - [ ] Adequate tests were added if applicable. - [ ] CI passed. - [ ] 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 ``` == NO RELEASE NOTE == ``` ## Summary by Sourcery Documentation: - Clean up multiple documentation pages by deleting duplicated top-of-page tables of contents while keeping the layout sidebar TOC as the single source of navigation.
## Description The formatting in [router/scheduler.rst](https://github.com/prestodb/presto/blob/master/presto-docs/src/main/sphinx/router/scheduler.rst) could be improved to make more sense visually. Because the algorithms are listed as unordered list items they are indented, but the text about that algorithm is unindented and flush left. See screenshot. <img width="779" height="629" alt="Screenshot 2026-03-10 at 11 06 57 AM" src="https://github.com/user-attachments/assets/dd6f1c09-05b1-4497-ac7e-862812a00d99" /> This PR indents the text about each list item to fall within it to improve readability. A couple of small text edits have also been made for clarity. ## Motivation and Context Improves readability. ## Impact Documentation. ## Test Plan Local doc builds. For the "before" state, see the screenshot above. After: <img width="779" height="536" alt="Screenshot 2026-03-10 at 11 07 28 AM" src="https://github.com/user-attachments/assets/b58482fc-b97a-4a8f-b59e-7fe9f76d7c84" /> ## 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. If the change is non-trivial, a GitHub Issue is referenced. - [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. - [x] 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 ``` == NO RELEASE NOTE == ``` ## Summary by Sourcery Documentation: - Reformat the scheduler algorithm list to indent explanatory text under each item and apply minor wording clarifications.
## Description Skip OWASP dep check for doc-only changes; exclude the change in presto-docs/pom.xml. We still want to run OWASP dep check if the pom.xml of the presto-docs project changes. ## Motivation and Context Doc-only PRs shall skip the OWASP dep check, which reduces the time and resources for the CI jobs. ## Impact Doc-only PRs skip the OWASP check. ## Test Plan Use the same mechanism to skip the CI job, and I will also check some doc-only PRs after the change is merged. ## 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. If the change is non-trivial, a GitHub Issue is referenced. - [ ] Documented new properties (with its default value), SQL syntax, functions, or other functionality. - [ ] If release notes are required, they follow the [release notes guidelines](https://github.com/prestodb/presto/wiki/Release-Notes-Guidelines). - [ ] Adequate tests were added if applicable. - [ ] CI passed. - [ ] 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 Please follow [release notes guidelines](https://github.com/prestodb/presto/wiki/Release-Notes-Guidelines) and fill in the release notes below. ``` == NO RELEASE NOTE == ``` ## Summary by Sourcery Skip the OWASP dependency check workflow for documentation-only pull requests while still running it when presto-docs/pom.xml changes. CI: - Introduce a paths-filter job to detect non-doc or presto-docs/pom.xml changes and expose the result as a job output. - Gate all OWASP dependency-check workflow steps on the presence of relevant code changes so the job is effectively skipped for doc-only PRs. Signed-off-by: Yihong Wang <yh.wang@ibm.com>
… presto-native-execution (prestodb#27308) Summary: 3 production sites throw raw `std::invalid_argument`, which bypasses `VeloxToPrestoExceptionTranslator` and misclassifies user errors as `GENERIC_INTERNAL_ERROR`. Replace them with `VELOX_USER_FAIL` so they are properly translated to user-facing Presto error codes. Sites fixed: - `PrestoExchangeSource.cpp` - invalid task ID in remote split URL - `PrestoToVeloxExpr.cpp:131` - unexpected Block type - `PrestoToVeloxExpr.cpp:905` - unsupported RowExpression type Differential Revision: D96025465 ## Summary by Sourcery Normalize error handling in Presto native execution by replacing raw std::invalid_argument throws with Velox error macros for proper Presto error translation. Bug Fixes: - Ensure invalid remote split URLs surface as proper Presto user errors by replacing std::invalid_argument with VELOX_FAIL in task ID extraction. - Classify unexpected Block types and unsupported RowExpression types as Velox user errors by converting std::invalid_argument throws to VELOX_UNSUPPORTED. ``` == NO RELEASE NOTE ==
## Description Fix type in configuration properties docs ## Motivation and Context Fix typo ## Impact <!---Describe any public API or user-facing feature change or any performance impact--> ## Test Plan <!---Please fill in how you tested your change--> ## Contributor checklist - [ ] 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). - [ ] PR description addresses the issue accurately and concisely. If the change is non-trivial, a GitHub Issue is referenced. - [ ] Documented new properties (with its default value), SQL syntax, functions, or other functionality. - [ ] If release notes are required, they follow the [release notes guidelines](https://github.com/prestodb/presto/wiki/Release-Notes-Guidelines). - [ ] Adequate tests were added if applicable. - [ ] CI passed. - [ ] 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 Please follow [release notes guidelines](https://github.com/prestodb/presto/wiki/Release-Notes-Guidelines) and fill in the release notes below. ``` == NO RELEASE NOTE == ``` ## Summary by Sourcery Documentation: - Fix a typo in the configuration properties section of the admin documentation.
…nnectorUtils (prestodb#27306) Summary: 2 raw C `assert()` calls are no-ops in release builds (NDEBUG), meaning these invariant checks silently disappear in production. Replace with `VELOX_CHECK_LE` and `VELOX_CHECK_GT` which are always active and provide better error messages on failure. Differential Revision: D95995395 ## Summary by Sourcery Replace non-production C asserts in PrestoToVeloxConnectorUtils with always-on Velox checks to enforce integer range invariants at runtime. Bug Fixes: - Ensure integer range invariants in combineIntegerRanges are enforced in release builds by replacing raw assert calls with VELOX_CHECK macros. Enhancements: - Include Velox Exceptions header to support standardized runtime checks in connector utilities. ``` == NO RELEASE NOTE ==
## Description Fix merge command docs ## Motivation and Context Fix docs ## Impact <!---Describe any public API or user-facing feature change or any performance impact--> ## Test Plan <!---Please fill in how you tested your change--> ## Contributor checklist - [ ] 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). - [ ] PR description addresses the issue accurately and concisely. If the change is non-trivial, a GitHub Issue is referenced. - [ ] Documented new properties (with its default value), SQL syntax, functions, or other functionality. - [ ] If release notes are required, they follow the [release notes guidelines](https://github.com/prestodb/presto/wiki/Release-Notes-Guidelines). - [ ] Adequate tests were added if applicable. - [ ] CI passed. - [ ] 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 Please follow [release notes guidelines](https://github.com/prestodb/presto/wiki/Release-Notes-Guidelines) and fill in the release notes below. ``` == NO RELEASE NOTE == ``` ## Summary by Sourcery Documentation: - Correct the merge command reference documentation to reflect the current behavior and usage.
prestodb#27318) ## Description This PR supplements the documentation for Iceberg transaction support, adding descriptions for the following two features: - ``multi-table read, single-table write`` capability under snapshot isolation - ``read-your-writes`` visibility semantics in uncommitted transactions ## Motivation and Context Add more details about Iceberg transaction features ## Impact N/A ## Test Plan N/A ## Contributor checklist - [ ] 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). - [ ] PR description addresses the issue accurately and concisely. If the change is non-trivial, a GitHub Issue is referenced. - [ ] Documented new properties (with its default value), SQL syntax, functions, or other functionality. - [ ] If release notes are required, they follow the [release notes guidelines](https://github.com/prestodb/presto/wiki/Release-Notes-Guidelines). - [ ] Adequate tests were added if applicable. - [ ] CI passed. - [ ] 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 ``` == NO RELEASE NOTE == ``` ## Summary by Sourcery Update Iceberg connector documentation to describe additional transaction semantics and capabilities. Documentation: - Document snapshot isolation support for multi-table reads with single-table writes in Iceberg transactions. - Describe read-your-writes visibility semantics for uncommitted Iceberg transactions.
## Description Add a new Presto connector for [LanceDB](https://lancedb.github.io/lance/), a columnar data format optimized for ML/AI workloads built on Apache Arrow. This connector enables Presto to read from and write to Lance datasets using the lance-core Java SDK. The implementation is similar to the [lance-trino](https://github.com/lance-format/lance-trino) connector, adapted to Presto's SPI conventions. Key components: - **Read path**: Split-per-fragment model with Arrow-to-Presto page conversion via `LanceArrowToPageScanner` - **Write path**: Presto page-to-Arrow conversion with fragment-based commit protocol via `LancePageSink` - **Metadata**: Directory-based namespace with schema discovery from Lance datasets - **Type support**: Boolean, Tinyint, Smallint, Integer, Bigint, Real, Double, Varchar, Varbinary, Date, Timestamp, Array ## Motivation and Context LanceDB is an emerging columnar format designed for ML/AI vector data workloads. Adding a Presto connector allows users to query Lance datasets using standard SQL, enabling integration with existing data infrastructure. Continues the work from prestodb#22749. ## Impact New connector plugin — no changes to existing Presto code. Adds the \`presto-lance\` module to the build. **New configuration properties:** | Property | Default | Description | |---|---|---| | \`lance.root-url\` | (required) | Lance root storage path | | \`lance.impl\` | \`dir\` | Namespace implementation: \`dir\` or full class name | | \`lance.single-level-ns\` | \`true\` | Access 1st level namespace with virtual \`default\` schema | | \`lance.read-batch-size\` | \`8192\` | Number of rows per batch during reads | | \`lance.write-batch-size\` | \`10000\` | Number of rows to batch before writing to Arrow | | \`lance.max-rows-per-file\` | \`1000000\` | Maximum number of rows per Lance file | | \`lance.max-rows-per-group\` | \`100000\` | Maximum number of rows per row group | ## Test Plan All unit tests pass: \`./mvnw test -pl presto-lance\` ## 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. If the change is non-trivial, a GitHub Issue is referenced. - [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. - [x] 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 == Lance Connector Changes * Add :doc:`/connector/lance` for reading and writing LanceDB datasets. ``` --------- Co-authored-by: Beinan Wang <beinan_wang@apple.com>
Add lance.index-cache-size-bytes and lance.metadata-cache-size-bytes config properties to control Lance SDK's internal caching. Centralize ReadOptions construction in LanceNamespaceHolder.buildReadOptions() to ensure consistent cache settings across all Dataset.open() calls. Default: 128MB each for index and metadata caches. Ported from lance-trino commit 546143e.
|
Codenotify: Notifying subscribers in CODENOTIFY files for diff 3f588e5...f97a817.
|
jja725
added a commit
that referenced
this pull request
Mar 19, 2026
- #1: getLatestVersion now uses cache instead of opening throwaway Dataset - #2: Add bounds check for version > Integer.MAX_VALUE before intValue() - #3: Add thread-safety documentation for cached Dataset objects - prestodb#4: Add requireNonNull for tablePath and namespaceHolder in FragmentScannerFactory - prestodb#5: Remove dead code openDatasetDirect() - prestodb#6: Remove dead code getOptionalDatasetVersion() - prestodb#7: Remove premature userIdentity parameter from cache key - prestodb#8: Make getReadOptions() private (only used internally) - prestodb#9: Tests now use versioned table handle from getTableHandle() - prestodb#10: Add @AfterMethod with namespaceHolder.shutdown() to prevent resource leaks - prestodb#12: Use explicit invalidateAll(keys) instead of removeIf on asMap()
jja725
added a commit
that referenced
this pull request
Mar 26, 2026
- #1: Parenthesize multi-part range expressions for unambiguous precedence - #2: values.isNone() + !isNullAllowed() now returns "false" instead of empty - #3/prestodb#6/prestodb#7: Use extractFilterColumnNames in PageSourceProvider, toImmutableSet, remove Collectors import - prestodb#4: Replace ArrayList with ImmutableList.Builder throughout - prestodb#8: Update test to expect parenthesized range expressions - Add missing tests: TimestampType, RealType, valuesNone+notNullable
jja725
added a commit
that referenced
this pull request
Mar 30, 2026
- #1: getLatestVersion now uses cache instead of opening throwaway Dataset - #2: Add bounds check for version > Integer.MAX_VALUE before intValue() - #3: Add thread-safety documentation for cached Dataset objects - prestodb#4: Add requireNonNull for tablePath and namespaceHolder in FragmentScannerFactory - prestodb#5: Remove dead code openDatasetDirect() - prestodb#6: Remove dead code getOptionalDatasetVersion() - prestodb#7: Remove premature userIdentity parameter from cache key - prestodb#8: Make getReadOptions() private (only used internally) - prestodb#9: Tests now use versioned table handle from getTableHandle() - prestodb#10: Add @AfterMethod with namespaceHolder.shutdown() to prevent resource leaks - prestodb#12: Use explicit invalidateAll(keys) instead of removeIf on asMap()
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
lance.index-cache-size-bytesandlance.metadata-cache-size-bytesconfig properties (default 128MB each)ReadOptionsconstruction inLanceNamespaceHolder.buildReadOptions()for consistent cache settingsDataset.open()calls now use configured cache sizes instead of SDK defaultsTest plan
TestLanceConfigupdated to verify new config properties and defaultsPorted from lance-trino commit 546143e.