Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Offer DB2 JDBC extension #6293

Closed
aguibert opened this issue Dec 20, 2019 · 21 comments · Fixed by #10349
Closed

Offer DB2 JDBC extension #6293

aguibert opened this issue Dec 20, 2019 · 21 comments · Fixed by #10349
Assignees
Labels
area/persistence OBSOLETE, DO NOT USE kind/extension-proposal Discuss and Propose new extensions
Milestone

Comments

@aguibert
Copy link
Member

Describe the extension

Offer DB2 JDBC support via extension that works in JVM mode and native mode.

Interested in this extension, please +1 via the emoji/reaction feature of GitHub (top right).

Configuration suggestion

# Add your application.properties here, if applicable.
<typical JDBC configuration properties>

Additional context
(Add any other context about the proposal here.)

@aguibert aguibert added the kind/extension-proposal Discuss and Propose new extensions label Dec 20, 2019
@aguibert
Copy link
Member Author

@emmanuelbernard can you please assign this one to me, add the [Epic] label, and add it to the "in progress" column of the Epic roadmap? I've been working with an engineer from Rocket Software on creating this extension for the past month or so.

@emmanuelbernard
Copy link
Member

i don't think it's an epic. I added it to the roadmap board.

@viniciusfcf
Copy link
Contributor

@aguibert db2 running on z/OS too?

@aguibert
Copy link
Member Author

aguibert commented Jan 9, 2020

@viniciusfcf initially just DB2 on LUW but hopefully we can add z/OS support soon after

@emmanuelbernard
Copy link
Member

@aguibert hello, I'm working up the roadmap for the next 3-6 months. Is it something you plan to have done by then?

@aguibert
Copy link
Member Author

@emmanuelbernard yes it will be done by then. I've been working with Rocket Software and the necessary changes to the DB2 JDBC driver are complete, now we just need to wait for them to cut a new release (which only happens every 6 months apparently). Latest estimate I got from them was July of this year.

@smitopher
Copy link

Will this apply to the DB2/400 flavor? I expect the jt400 version is possible but not the "native" drivers

@aguibert
Copy link
Member Author

hi @smitopher, I am least familiar with DB2/400 out of the DB2 distro's, so I will have to check with my IBM i colleagues next week. The native drivers would not be an option because Quarkus in general cannot do compile-to-native on IBM i anyway. The jt400 driver would certainly work, but it will likely require some additional changes to get it working in native mode.

The driver we have been working on so far is the DB2 Universal Driver which works for DB2 LUW and DB2/Z, and I'm not sure if it also works for DB2/400 or not.

@smitopher
Copy link

Thank you @aguibert
I think the IBM i (ugh... it's AS/400 dammit) supports the DB2 Universal Driver. Do you have a Maven dependency I could try out?

@smitopher
Copy link

@aguibert ... uhm... you are in rochester??? and DB2/400 is you're...ahh... least familiar DB2 flavor??? hehehe... 14 years ago, I worked there for a year as part of a joint project with Synon for about a year.
I look forward to what you have available and being able to test it.

@aguibert
Copy link
Member Author

I started out working in IBM i too actually (file system for a brief internship) but I've happily been in Java/WebSphere land since that first year and didn't care to look back ;)

I linked the maven dependency for the DB2 Universal driver in my previous comment. Give it a try with a DB2/400 backend and let me know if it works (in Quarkus JVM mode of course, native won't work yet with any DB2 distro)

@aguibert aguibert added the area/persistence OBSOLETE, DO NOT USE label May 4, 2020
@andrebreves
Copy link

andrebreves commented Jun 3, 2020

@viniciusfcf initially just DB2 on LUW but hopefully we can add z/OS support soon after

@aguibert Need any help adding z/OS support?

@aguibert
Copy link
Member Author

aguibert commented Jun 3, 2020

hi @andrebreves, thanks for the offer! Unfortunately the DB2 JDBC driver is closed-source and I am needing to do all of this work with a business partner who owns the driver, so don't I think I'll be able to involve a non-IBM employee in this effort. I have access to an internal DB2 driver that will be released soon (TM) and contains the necessary updates for Quarkus. I can check that with DB2/z locally so maybe we can just claim support for DB2/z out of the gate.

OTOH, if you are interested in reactive data access, we are working on an open source reactive DB2 driver that will be pulled in as a Quarkus extension probably sooner than the JDBC one will be. So far I've mainly tested it w/ DB2 LUW, so if you'd like to help out with z/OS support on that one it would be great!

@andrebreves
Copy link

hi @andrebreves, thanks for the offer! Unfortunately the DB2 JDBC driver is closed-source and I am needing to do all of this work with a business partner who owns the driver, so don't I think I'll be able to involve a non-IBM employee in this effort.

I understand.

I have access to an internal DB2 driver that will be released soon (TM) and contains the necessary updates for Quarkus. I can check that with DB2/z locally so maybe we can just claim support for DB2/z out of the gate.

Great news! Thanks for your work!

OTOH, if you are interested in reactive data access, we are working on an open source reactive DB2 driver that will be pulled in as a Quarkus extension probably sooner than the JDBC one will be. So far I've mainly tested it w/ DB2 LUW, so if you'd like to help out with z/OS support on that one it would be great!

I don't have any project using reactive data access myself, but I will talk to some colleagues asking if they could help testing the driver.

@aguibert
Copy link
Member Author

hi @andrebreves, tested a release candidate DB2 JDBC driver today and it's working with DB2 LUW and DB2 on z/OS (See PR #10349 for further detail)

@andrebreves
Copy link

hi @andrebreves, tested a release candidate DB2 JDBC driver today and it's working with DB2 LUW and DB2 on z/OS (See PR #10349 for further detail)

Great news @aguibert!

Will the compatible JDBC driver be available in the IBM page when released?

@aguibert
Copy link
Member Author

aguibert commented Jul 1, 2020

@andrebreves the DB2 JDBC extension is now merged in, and will be a part of the next release of Quarkus.
The required driver is being uploaded to fix central, but the easier place to get it is from Maven Central or if you just enable the new quarkus-jdbc-db2 extension it will be pulled in automatically from Maven Central.

@gsmet gsmet added this to the 1.7.0 - master milestone Jul 2, 2020
@rmohta
Copy link

rmohta commented Jul 28, 2020

@aguibert After this PR, do we have both "quarkus-reactive-db2-client" and "quarkus-jdbc-db2"?

@aguibert
Copy link
Member Author

@rmohta they are two separate extensions, this issue only was for tracking the quarkus-jdbc-db2 extension. Issue #9457 was for tracking the quarkus-reactive-db2-client

@rmohta
Copy link

rmohta commented Jul 28, 2020

@aguibert Thank You. PR-9732 mentions "quarkus-reactive-db2-client" can be used in both JVM and Native mode.
Is this the case for "quarkus-jdbc-db2" too? Or like any other JDBC driver, atm - these can only run in jvm mode?

@emmanuelbernard
Copy link
Member

@rmohta All the drivers you see listed as extensions in https://code.quarkus.io including all JDBC drivers do work in both JVM and native. That's a core value of Quarkus :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/persistence OBSOLETE, DO NOT USE kind/extension-proposal Discuss and Propose new extensions
Projects
None yet
Development

Successfully merging a pull request may close this issue.

7 participants