Artifact for community-dialects #3783
Replies: 7 comments 24 replies
-
For completeness... another alternative is to simply reject such Dialect contributions that are not considered "important" or something we want to maintain. |
Beta Was this translation helpful? Give feedback.
-
For the record, here is an article that shows EAP 7.x supported configurations: https://access.redhat.com/articles/2026253 . Here are the tested DB configurations for EAP 7.3:
RedHat tests all of the above DBs for Hibernate ORM versions that are included in RedHat products. For sure, the dialects for the above DBs should remain in hibernate-core, or some other self-contained artifact that does not include dialects that are not tested. I, personally, am in favor of moving all existing, non-tested dialects into a different artifact, such as I'm not sure about doing this in Hibernate ORM 5.x though. Maybe starting in H6? |
Beta Was this translation helpful? Give feedback.
-
An opinion I hold, which I can’t perhaps justify very well, is that we should continue to support the classic “old” legacy enterprise RDBMs, even when we don’t have that many people using them, by which I mean Ingres, Informix, and Teradata. I guess I feel like the sort of systems which are still using these old things are quite likely doing something rather important. |
Beta Was this translation helpful? Give feedback.
-
Does anyone know if CUBRID is widely used? |
Beta Was this translation helpful? Give feedback.
-
I think the benefit of the new repository is to have a way to deal with new dialect implementations that is not just rejecting them. About the historic dialects I do not have a strong opinion, may be we can keep them all in core or decide to keep a subset of them and move the others to the |
Beta Was this translation helpful? Give feedback.
-
From the perspective of such a 'lesser' dialect (Firebird), I wouldn't have objections to moving things to a community-dialects solution, or even having to provide our own library (e.g. a However, I vaguely recall (a long time ago, maybe 10 years or so) that I had some issues when trying to create a custom dialect in its own package because dialects relied on some package-private classes or methods. I'm not sure if that recollection is accurate nor if it still applies today, but it would be necessary for dialects to be able to live in a different package (if only for the Java module system requirements of not having the same package in multiple modules). |
Beta Was this translation helpful? Give feedback.
-
One issue with this is what happens with the code for guessing a dialect based on JDBC metadata. That's going to have to change somehow. The |
Beta Was this translation helpful? Give feedback.
-
At the last PR-Meetup we found a few more PRs that want to add
Dialect
s for certain databases and we discussed the idea about creating a separate artifact/module that contains such community contributedDialect
s. This was also discussed on Zulip where we were coming to a similar conclusion, that a separate artifact might be a good way forward.So the main concerns for adding/keeping a
Dialect
to hibernate-core so far were:Dialect
regarding bugs/features andDialectChecks
for testsDialect
works, ideally as Jenkins node connected to ci.hibernate.orgWe maintain and test certain
Dialect
s for the big databases, so they are part ofhibernate-core
:Some
Dialect
s are part ofhibernate-core
because the vendors help with the maintenance and testing by e.g. providing a Jenkins node:We also have a few
Dialect
s for historic reasons that we don't want to remove fromhibernate-core
(yet?):Here are the PRs for new
Dialects
:A possible way forward for new
Dialect
s, and maybe also for some of the ones we currently have for historic reasons, could be to move them into a separate artifact e.g.hibernate-community-dialects
that is part of thehibernate-orm
Git repository. We would also do a community release for that, but we explicitly state that we do not provide support for these Dialects. These Dialects would be maintained on a best effort basis only. The community can provide PRs which the Hibernate team would consider, but the Hibernate team will not actively try to optimize such Dialects for performance or feature correctness.The proposal is to do this for 6.0 and maybe also for 5.5 in case we decide to do that release.
What are your thoughts on this?
The proposal was accepted and will be implemented as part of https://hibernate.atlassian.net/browse/HHH-14693
Beta Was this translation helpful? Give feedback.
All reactions