Skip to content

Comments

feat(hana) : add SAP HANA support#753

Merged
fdelbrayelle merged 11 commits intokestra-io:mainfrom
suraj-0628:feature/duckdb-test-utils
Jan 16, 2026
Merged

feat(hana) : add SAP HANA support#753
fdelbrayelle merged 11 commits intokestra-io:mainfrom
suraj-0628:feature/duckdb-test-utils

Conversation

@suraj-0628
Copy link
Contributor

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
Member

@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
Member

@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
Member

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
Contributor 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
Contributor Author

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

@fdelbrayelle
Copy link
Member

@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
Member

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
Contributor 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
Member

@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
Contributor Author

@fdelbrayelle Im looking into it !

@suraj-0628
Copy link
Contributor 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
Contributor 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
Contributor Author

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

@suraj-0628
Copy link
Contributor Author

suraj-0628 commented Jan 14, 2026

Screenshot from 2026-01-14 17-36-19 Hey @fdelbrayelle @Malaydewangan09

Need some help here !
Build passes locally, but CI fails

Thanks!

@fdelbrayelle fdelbrayelle merged commit 24393c1 into kestra-io:main Jan 16, 2026
1 of 2 checks passed
@github-project-automation github-project-automation bot moved this from To review to Done in Pull Requests Jan 16, 2026
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: Done

Development

Successfully merging this pull request may close these issues.

Add SAP HANA plugin as another JDBC subplugin

5 participants