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

Change from jdbc.deprecated to maintained clojure.jdbc #207

Closed
lokori opened this Issue Feb 13, 2014 · 1 comment

Comments

Projects
None yet
2 participants
@lokori
Contributor

lokori commented Feb 13, 2014

korma.db depends on deprecated version of clojure.jdbc API currently and it would be nice to depend on the maintained and non-deprecated API.

This is not merely about best practises, but has real life implications. Especially interesting is the way jdbc/transaction is handled in the deprecated version.

The deprecated version has a catch Exception for rollback/commit decisions. This leaves out other Throwables, which are not Exceptions. The non-deprecated version has fixed this transaction function properly.

What this means is that using Korma the transaction rollback/commit decision must either be handled with some custom code in the application level which is rude and difficult to do properly or be left to default behaviour inside the Java JDBC classes. The Java JDBC Connection.close() Javadoc states that "the results are implementation-defined" if the connection is closed and the transaction is still undecided. This is what happens in many Korma applications currently!

The fix should be relatively simple. Stop using the deprecated version of Clojure JDBC wrapper as they have already fixed this issue.

@immoh

This comment has been minimized.

Show comment
Hide comment
@immoh

immoh Aug 27, 2014

Member

Implemented in 0.4.0

Member

immoh commented Aug 27, 2014

Implemented in 0.4.0

@immoh immoh closed this Aug 27, 2014

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment