The first “gold” release of the next generation of clojure.java.jdbc – a new low-level Clojure wrapper for JDBC-based access to databases!
https://github.com/seancorfield/next-jdbc
Compared to the release candidate, this contains just a couple of usability additions. The API has been stable since Beta 1 and only accretive/fixative changes will be made. Read more about the release: https://clojureverse.org/t/next-jdbc-1-0-0-the-gold-release/4379
Official documentation on the excellent cljdoc.org: https://cljdoc.org/d/seancorfield/next.jdbc
A longer blog post about the library’s journey to 1.0.0 will come at some point. We are using next.jdbc in production at World Singles Networks (of course!) so I hope you will feel comfortable doing the same!
Sean Corfield -- (904) 302-SEAN
An Architect's View -- http://corfield.org/
"If you're not annoying somebody, you're not really alive."
-- Margaret Atwood
The first “gold” release of the next generation of clojure.java.jdbc – a new low-level Clojure wrapper for JDBC-based access to databases!
https://github.com/seancorfield/next-jdbc
Compared to the release candidate, this contains just a couple of usability additions. The API has been stable since Beta 1 and only accretive/fixative changes will be made. Read more about the release: https://clojureverse.org/t/next-jdbc-1-0-0-the-gold-release/4379
Official documentation on the excellent cljdoc.org: https://cljdoc.org/d/seancorfield/next.jdbc
From: Oleksandr Shulgin
> After a month of alpha builds being available for testing, the first beta build was released on June 24th, 2019.
/me looks at his pocket clock distrustfully ;)
Good catch! A PR to fix that has already been merged https://github.com/seancorfield/next-jdbc/pull/32
That’s what happens when your brain is thinking “the Release Candidate came out in June” and your fingers are trying to type “the first beta build was released on May 24th, 2019.” 😊
Love the datafy/nav support out of the box, but a bit confused by the function name "plan" (especially together with prepared statements). Do you happen to have any piece of discussion that lead to this choice of name?
Bottom line: execute! and execute-one! indicate something happening right away (and potentially side-effecting) but reducible! (the previous name for plan) was misleading because a) what’s a reducible in SQL/JDBC context and b) it doesn’t actual perform an operation – not until you reduce/transduce it. So it was definitely a poor name. clojure.java.jdbc’s reducible-query is the forerunner for next.jdbc’s plan but the former only let you run SELECT queries whereas the latter lets you run any SQL (but, sure, most uses will still be SELECT queries) so that name wouldn’t have been right either. Plan was the best suggestion, in my opinion, because it indicates you are _planning_ to execute SQL, it creates a “plan of execution” in terms of producing a reducible object, and it’s a little nod to “execution plan” in SQL anyway so it’s a bit punny. Naming is hard 😊
Sean