vertx-sql-client icon indicating copy to clipboard operation
vertx-sql-client copied to clipboard

Add support for IBM Power System i

Open Mcalti93 opened this issue 10 months ago • 5 comments

General

We're encountering issues using Reactive Hibernate with Vert.x reactive db2 client and DB2 hosted on IBM Power i (AS400) v7.4. It appears that the Vert.x Reactive DB2 Client explicitly supports only DB2 on Linux, Unix, and Windows and and possibly DB2 for z/OS as mentioned here.

Problem Description:

When attempting to connect, the server's release version string on IBM Power i begins with "V" (e.g., V07R04M00). The Vert.x reactive db2 client expects the release version to start with either SQL (for Linux/Unix/Windows) or DSN (for DB2 z/OS). This mismatch triggers the following exception: java.lang.IllegalArgumentException: Received unknown server product release level: V07R04M00

As a result, the DB connection initialization immediately fails.

Environment:

Reactive Hibernate

Vert.x

IBM Power i v7.4

Feature

Is the lack of support for DB2 on IBM Power i due to known compatibility issues or simply because it is a proprietary system and hasn't been tested/supported yet?

Clarification on this point would help us understand if there are inherent limitations or if future support could be expected.

Mcalti93 avatar Mar 10 '25 14:03 Mcalti93

the current implementation for DB2 seems good, however there is a lack of contributor with DB2 specific knowledge.

we would welcome any contributor helping there

vietj avatar Mar 10 '25 15:03 vietj

things are documented but the protocol seems to be quite complicated to get (unlike PostgreSQL for instance)

vietj avatar Mar 10 '25 15:03 vietj

Okay, thank you for your answer. Using DB2 on Power i together with vert.x is probably quite a niche, yes. Do you think it's worth a try for us to get around the thrown exception? Or is the protocol that different from z/OS and DB2 on Windows/Linux?

Mcalti93 avatar Mar 11 '25 07:03 Mcalti93

Protocol should be the same regardless of the OS.

I don't exactly know what means limited for zOS in this context, we should ask the original contributor what he meant about this I think. @aguibert any idea

vietj avatar Mar 11 '25 16:03 vietj

Do you think it's worth a try for us to get around the thrown exception? Or is the protocol that different from z/OS and DB2 on Windows/Linux?

If I remember correctly the OS check that's being hit here is because initial handshake between Db2/z and Db2 LUW are different. I don't remember how much it varies after that point, but my guess is even if you tried to go down the LUW or z path for Db2 for i you would hit issues.

mswatosh avatar Mar 12 '25 18:03 mswatosh