prestodb / presto

The official home of the Presto distributed SQL query engine for big data
http://prestodb.io
Apache License 2.0
16.07k stars 5.38k forks source link

Introduce SPI and Core Support for JDBC Join Pushdown Optimization #24115

Open Haritha-Koloth opened 2 days ago

Haritha-Koloth commented 2 days ago

Description

This change introduces foundational support for join pushdown in JDBC connectors. By delegating join operations, directly to the remote datasource, it unlocks significant performance gains by leveraging the processing capabilities of the underlying datasource.

Motivation and Context

Fixes 23152

Impact

This update includes only the SPI and core changes for the feature. Users will see its impact once the JDBC modifications to leverage the pushdown optimizer are also integrated. The primary benefit is enhanced performance for INNER join queries involving large tables with substantial row counts.

Detailed RFC - https://github.com/prestodb/rfcs/pull/32

Test Plan

Contributor checklist

Release Notes

Please follow release notes guidelines and fill in the release notes below.

== RELEASE NOTES ==

General Changes
* Add configuration property ``optimizer.inner-join-pushdown-enabled`` to support inner join pushdown. Defaults to ``false``. Session property to override this ``optimizer_inner_join_pushdown_enabled``
* Add configuration property ``optimizer.inequality-join-pushdown-enabled`` to support inequality join pushdown. Defaults to ``false``. Session property to override this ``optimizer_inequality_join_pushdown_enabled``

If release note is NOT required, use:

== NO RELEASE NOTE ==
Haritha-Koloth commented 2 days ago

The jdbc code to leverage the changes in this PR could be found here - https://github.com/Haritha-Koloth/presto/pull/2

Haritha-Koloth commented 2 days ago

Test failure seems to be unrelated to the code changes in this PR. Raised a sample PR with ReadMe change and it fails with the same error too - https://github.com/prestodb/presto/pull/24118

Will force-push after some time to see if the error resolves.

prestodb-ci commented 2 days ago

Saved that user @Haritha-Koloth is from IBM