impossibl / pgjdbc-ng

A new JDBC driver for PostgreSQL aimed at supporting the advanced features of JDBC and Postgres
https://impossibl.github.io/pgjdbc-ng
Other
596 stars 108 forks source link

Transfer to PostgreSQL Organization #587

Open kdubb opened 1 year ago

kdubb commented 1 year ago

In an effort to keep the driver alive and updated there is a tentative plan to move the project to the PostgreSQL organization. The hope is to bring more eyes, and make it easier to solicit maintainers as we go forward.

kdubb commented 1 year ago

@davecramer Anything missing?

davecramer commented 1 year ago

@kdubb I'd like to see people step up before we moved it.

kdubb commented 1 year ago

Added.

davidwheeler123 commented 1 year ago

Any chance it could be renamed, once PostgreSQL takes it over? pgjdbc-ng is a mouthful!

davecramer commented 1 year ago

anything is "possible" I think the name was pgjdbc-ng where ng stood for next generation. First I need to see people step up as maintainers.

davidwheeler123 commented 8 months ago

First I need to see people step up as maintainers.

@davecramer How does this happen? Have we got a call out? How do we register our interest?

davecramer commented 8 months ago

Yes, you could rename it. Dave Cramer

On Mon, 3 Apr 2023 at 18:52, David Wheeler @.***> wrote:

Any chance it could be renamed, once PostgreSQL takes it over? pgjdbc-ng is a mouthful!

— Reply to this email directly, view it on GitHub https://github.com/impossibl/pgjdbc-ng/issues/587#issuecomment-1495086986, or unsubscribe https://github.com/notifications/unsubscribe-auth/AADDH5UYFNIGPH2IWTZHLU3W7NIBVANCNFSM6AAAAAAWRXJKG4 . You are receiving this because you were mentioned.Message ID: @.***>

davecramer commented 8 months ago

Here is the place. So far nobody has shown any interest

davidwheeler123 commented 8 months ago

Ok I'd be interested - but I'm not super familiar with the internals, and of course like many I'm subject to time constraints. But I imagine things like version bumps would be easy enough for me to get started on

I'm not sure others know that there's a call for contributors. I wonder if a post on a Postgres mailing list my get some support?

kdubb commented 8 months ago

@davidwheeler123 I'm still around 😉

I have too many other projects that have stolen my focus. Additionally, we've moved to Quarkus and its reactive PG client.

That being said, I can still answer questions, lend guidance, and possibly work on bugs that require in-depth knowledge of the internals. Having maintenance help would be a big step.

kdubb commented 8 months ago

There a lot of things about this driver that I still love (I'm biased I know)...

The two major things are...

1. It's Reactive

The protocol is implemented asynchronously and has a reactive interface that JDBC clobbers. With Java 21 this driver can take full advantage of virtual threads (aka Loom) and it should actually be as fast as a reactive driver. The driver's implementation of JDBC batch operations already uses this for a drastic speed improvement.

I did a lot of performance testing previously and the thread switching caused by Netty was the biggest performance issue previously; which can now be almost completely mitigated with Loom.

All of this should be fairly easy to update.

2. Pluggable type handling

All of the Postgres in/out functions are mirrored in Java and matched at runtime using a ServiceLoader. They're easy to edit and, because of the ServiceLoaders, can be provided by users of the driver (our old code did a bit of this).

CDI has a new lightweight model that can be used to make this even easier and give it the ability to work out of the box with modern frameworks built on CDI.

I want proper UDT support in the Vert.X driver we are using now and there is literally none.

kdubb commented 8 months ago

@davidwheeler123 WRT https://github.com/impossibl/pgjdbc-ng/issues/588#issuecomment-1778951786...

I'd say get started. Please explicitly add me as a reviewer on any PRs. I will keep engaged and merge them as they pass checks. Write access can be provided after discussing process.

crowmagnumb commented 1 month ago

What happened to this transfer idea. I'm super reliant on this driver right now because of it's support for UDT's and the old dependencies just put me in a tailspin today. Had to do some hoop jumping. Would love to see this maintained, or at least the UDT stuff incorporated in the main postgresql jdbc driver which I'ld rather switch back to. :) Cheers.

kdubb commented 1 month ago

@crowmagnumb The hold up is that @davecramer, rightfully, wants some maintainers to step up before we put in work to transfer the code. There's no point in transferring it to Postgres only to have it immediately fall into disarray.

That being said... there may be updates in the next months from myself. Don't take that as anything but speculation and hopefulness as a need for it has arisen in something new.

davidwheeler123 commented 1 month ago

I'm keen to maintain, but the PR I put forward to refresh dependencies has stalled. Bit hard to become a maintainer on a project that doesn't accept PRs

kdubb commented 1 month ago

@davidwheeler123 I apologize... I don't know what happened other than I missed this, or postponed getting to it and it fell off my radar.

kdubb commented 1 month ago

@davidwheeler123 I fixed the PR requirements and merged it. I also invited you to the project. Please add me as a reviewer on PRs and allow me some time to weigh in. If I am non-responsive after 7 days, move forward.

kdubb commented 1 month ago

WRT current outstanding PRs, please review them yourself and add me as a review when you are ready to merge; same rules as above for merging them.

davidwheeler123 commented 1 month ago

@kdubb ok sounds good, thanks ❤️.

I don't know what happened other than I missed this, or postponed getting to it and it fell off my radar.

We all have lives I get it - on that, my life is pretty complex right now I can't see myself having much time to contribute over the next few months, but I'll do what I can to keep it ticking over in terms of resolving CVEs and the like

crowmagnumb commented 1 month ago

I can also throw my hat in the ring to help maintain it.

davecramer commented 5 days ago

So you guys might as well know about this sooner than later https://github.com/pgjdbc/pgjdbc/pull/3306 not sure how that effects this project?

crowmagnumb commented 14 hours ago

Well that is certainly of great interest to me. Lack of UDT support was my reason for moving to this driver. I'll be watching that pull request closely. Thanks for the heads up.