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
Query clone support with pre-existing entityManager/connection #672 #713
Conversation
This looks really good. The only comment I can come up with is that JPA specific SQL subquery classes are not necessary. SubQuery classes are only builders for sub query expressions. The serialization logic and execution bindings (EntityManager or Session) are in the main query class. |
Removed as obsolete
It kind of slipped out prematurely. Currently there is neither support for native SQL based DMLClauses nor SubQueries which both combined would make it possible to provide JPASQLQueryFactory that would hide the need for entityManager referencing. But that's another story for another time and I removed it for the time being. |
Query clone support with pre-existing entityManager/connection #672
I removed the JPA specific SQLSubQuery which didn't compile. |
@TuomasKiviaho There are still some compilation issues on the querydsl-jpa test side. Could you look at them?
|
Sorry that I merged already. Next time I will do a more thorough review. |
@TuomasKiviaho Did you test whether the changes related to moving methods upwards in the class hierarchy are binary backwards compatible? |
I fixed now the compilation issues, but there are still test failures related to native query syntax differences, could you take a look when you have time? |
Ok, now it should be stable again. I think the next time we need to split these changes into smaller more manageable steps. |
Sorry about the wast amount of unnecessary refactorings. This is what happens when you suddenly have too much free time at your disposal. The serializer fix was a good catch from you. I hope you didn't waste too much time figuring it out. https://github.com/jeluard/semantic-versioning might be handy to ensure that backwards compatibility is preserved. I seem to have managed to use -Dmaven.test.skip=true instead of -DskipTests for the JPA so basically forgot to test it completely. Jenkins has a github pull request plugin that might be handy so that a pull request could be validated prior merging. CouldBees seems to be providing it as well (unlike M2 release plugin) so that there would not be a need to expose your current CI. |
Thanks, I will look into semantic-versioning and the pull request validation options. |
Why don't you fetch the branch and review it that way? maybe you can also ask others for their opinion if you are in doubt? |
Yes, that should be definitely part of the protocol, but also automated validation of pull request content would be nice. I plan to move all major Querydsl changes to pull requests. I am a bit new to pull request usage, so suggestions are welcome. |
Probably automated build servers can verify the compiling and testing of the build, but manual reviewing is still preferred/mandatory if you ask me. Also, just asking. can you tell GitHub to merge the pull request in another branch from your perspective? That way you could set up a sort of git flow, with proposed-[issue], hotfix-[issue] and merging them into validated/test, then merging to master. |
I don't know, that would be a good option. |
What you can do, is making an acceptance branch and manually merge that, tracking the pull request branch. |
I added enforcer (semantic versioning) via a pull request #717 There are some incompatibilities, I will try to find a solution. The incompatibilities are on the binary level mostly, but for other frameworks that use Querydsl such as Spring Data this is quite critical. I will try to come up with a solution. |
No description provided.