Skip to content

Conversation

@suraj-0628
Copy link

closes #704

Summary

This PR adds support for SAP HANA to the Kestra JDBC plugin suite by introducing a new subplugin: plugin-jdbc-hana.
It provides full connectivity to SAP HANA databases using the official SAP HANA JDBC driver (ngdbc.jar), enabling users to execute SQL queries, run multiple statements, and use poll-based triggers — following the same structure and conventions as existing JDBC subplugins (DB2, Oracle, PostgreSQL, etc.) .

Key Features
✅ New SAP HANA JDBC Subplugin

Implements a complete SAP HANA JDBC integration consistent with the architecture of all existing JDBC database plugins.

Includes the following new components:

HanaCellConverter.java

HanaConnectionInterface.java

Query.java

Queries.java

Trigger.java

package-info.java

✅ Driver & Connection Handling

Uses the official SAP HANA JDBC driver:
com.sap.db.jdbc.Driver

Supports the standard HANA JDBC URL format:

jdbc:sap://:/?databaseName=

Connection options supported:

Host

Port

Database name

Username / Password

SSL enablement

Login timeout

✅ SAP HANA-specific Cell Conversion

Added HanaCellConverter for type-safe conversion of standard HANA data types
(e.g., NVARCHAR, SHORTTEXT, TIMESTAMP, BLOB, CLOB, etc.)

✅ Full Feature Parity With Other JDBC Plugins

Query → For single SQL execution

Queries → For multiple SQL statements

Trigger → Polls a SQL query and triggers flows when results are returned

Driver registration prevents duplicates (same as DB2 plugin)

Uses AbstractJdbcQuery / AbstractJdbcQueries / AbstractJdbcTrigger exactly as other JDBC subplugins do

@kestrabot kestrabot bot added this to Pull Requests Dec 5, 2025
@github-project-automation github-project-automation bot moved this to To review in Pull Requests Dec 5, 2025
@MilosPaunovic MilosPaunovic requested review from a team and fdelbrayelle December 5, 2025 07:18
@MilosPaunovic MilosPaunovic added area/plugin Plugin-related issue or feature request kind/external Pull requests raised by community contributors labels Dec 5, 2025
Copy link
Contributor

@fdelbrayelle fdelbrayelle left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@suraj-0628 Hi 👋 Could you add a bunch of tests like it's done here for instance please? Thanks 🙏

Copy link
Contributor

@fdelbrayelle fdelbrayelle left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could you add unit tests like it's done for other dbs @suraj-0628 🙏 ?

@fdelbrayelle
Copy link
Contributor

Could be great if you have time to do it asap @suraj-0628 because we'll do a minor version very very soon (most likely tomorrow) 🙏

@suraj-0628
Copy link
Author

hey @fdelbrayelle i have added tests .

@fdelbrayelle fdelbrayelle changed the title feat(plugin-jdbc-hana) : add support of SAP HANA via JDBC driver (ngdbc) closes #704 feat(hana) : add SAP HANA support Dec 16, 2025
Copy link
Member

@Malaydewangan09 Malaydewangan09 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@suraj-0628,

  • I think you missed adding the icons
  • Maybe we could also add tests other than only failing cases, couldn't we spin it locally and setup tests?

@suraj-0628
Copy link
Author

@Malaydewangan09 icons ?
could you clearly elaborate more - on what is to be done !

@fdelbrayelle
Copy link
Contributor

@suraj-0628 Hi 👋 You can use this SVG icon : https://upload.wikimedia.org/wikipedia/commons/5/59/SAP_2011_logo.svg as src/main/resources/icons/plugin-icon.svg (and also duplicate it with the package name).

@fdelbrayelle
Copy link
Contributor

Hi @suraj-0628 👋 What is the remaining work on this PR? After the icon, it seems ok to merge it right?

@suraj-0628
Copy link
Author

Yes @fdelbrayelle the pr is ready to be merged after adding the icon .
I Will complete it today asap
Thankyou : )

@suraj-0628 suraj-0628 force-pushed the feature/duckdb-test-utils branch from 3e40aab to 782f484 Compare December 18, 2025 15:27
@Malaydewangan09
Copy link
Member

Malaydewangan09 commented Dec 19, 2025

@suraj-0628, did you removed the added unit tests you added 🤔? Could you add unit tests like it's done for other dbs?

Copy link
Contributor

@fdelbrayelle fdelbrayelle left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@suraj-0628 Could you add tests with testcontainers using this Docker image? 🙏

@suraj-0628
Copy link
Author

@fdelbrayelle Im looking into it !

@suraj-0628
Copy link
Author

Hey @fdelbrayelle
I'm busy with an ongoing hackathon. I'll look into the issue in my mean time .
Thankyou

@suraj-0628
Copy link
Author

hey @fdelbrayelle
I checked the saplabs/hanaexpress image and it’s quite heavy. It requires a lot of system setup and memory, so it doesn’t seem practical to run with Testcontainers or in CI.

Would you be okay if I stick with the lightweight tests for now?

@Malaydewangan09
Copy link
Member

@suraj-0628, image seems about 1.7 GB right? lets try to add tests maybe and see how complex it is?

@suraj-0628
Copy link
Author

Hey @Malaydewangan09 👋🏻
Would it be fine if i could look into this by Friday
Thankyou

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area/plugin Plugin-related issue or feature request kind/external Pull requests raised by community contributors

Projects

Status: To review

Development

Successfully merging this pull request may close these issues.

Add SAP HANA plugin as another JDBC subplugin

5 participants