clojure.java.jdbc is transitioning to an API that uses explicit passing of 
db context - see e.g. the db-find-connection and query functions. The 
functions that look for a dynamically-scoped db are deprecated - 
e.g., find-connection, with-query-results.

Justin

On Friday, September 6, 2013 8:20:11 AM UTC-4, Jason Gilman wrote:
>
> It looks like java.jdbc would work since it offers the get-connection 
> function that returns a new connection that can be passed to most of the 
> functions that operate on the database. I'm still concerned by the 
> preponderance of functions with documentation like "Executes SQL commands 
> on the open database connection." or "Returns the current database 
> connection (or throws if there is none)". It smells like there are vars 
> being held onto by the library that hold database connections or other 
> state. It could still work out if I'm careful about which functions I call. 
>
> What I'd really like is a library that returns some kind of context object 
> when it connects and all functions that operate on the database take that 
> context as an arguments. This is way more flexible, easier to test and fits 
> more in line with the style I was going for. I'm still curious if there are 
> other people out there who want use that same style and have to work with a 
> relational database. I'd like to know if they just accept that's the way 
> the libraries are written or if they have ways to get around it.
>
>
>
>
> On Fri, Sep 6, 2013 at 7:17 AM, Shantanu Kumar 
> <kumar.s...@gmail.com<javascript:>
> > wrote:
>
>> Hi Jason,
>>
>> Did you look at (URLs below) clojure/java.jdbc and HoneySQL? I'd be 
>> interested to know if you are looking for anything different from these:
>>
>> http://clojure-doc.org/articles/ecosystem/java_jdbc/home.html
>>
>> https://github.com/clojure/java.jdbc/
>>
>> https://github.com/jkk/honeysql
>>
>> Shantanu
>>
>>
>> On Friday, 6 September 2013 16:28:09 UTC+5:30, Jason Gilman wrote:
>>>
>>> I've been trying to setup all my projects in the style Stuart Sierra 
>>> documented in Clojure in the 
>>> Large<http://www.infoq.com/presentations/Clojure-Large-scale-patterns-techniques>
>>>  and My Clojure Workflow, 
>>> Reloaded<http://thinkrelevance.com/blog/2013/06/04/clojure-workflow-reloaded>.
>>>  
>>> I've been trying to only use libraries that don't store any explicit 
>>> mutable state in vars. I've been having trouble finding a Clojure JDBC 
>>> library that does this. It seems like they all put the connection in some 
>>> kind of var or other area. I know I could just use the Java JDBC APIs 
>>> directly but I was hoping to avoid concatenating a bunch of SQL in my 
>>> Clojure and dealing with these lower level APIs. Does anyone have any 
>>> recommendations for Clojure libraries that might allow this? I'm also 
>>> wondering if there might be a Java library with a higher level API that 
>>> might allow this style. I'm betting other people have run into this issue 
>>> with relational databases and if they have any tips for how to avoid it. 
>>> (and yes I'm aware of Datomic :) )
>>>
>>  -- 
>> -- 
>> You received this message because you are subscribed to the Google
>> Groups "Clojure" group.
>> To post to this group, send email to clo...@googlegroups.com<javascript:>
>> Note that posts from new members are moderated - please be patient with 
>> your first post.
>> To unsubscribe from this group, send email to
>> clojure+u...@googlegroups.com <javascript:>
>> For more options, visit this group at
>> http://groups.google.com/group/clojure?hl=en
>> --- 
>> You received this message because you are subscribed to a topic in the 
>> Google Groups "Clojure" group.
>> To unsubscribe from this topic, visit 
>> https://groups.google.com/d/topic/clojure/CpP0pr7bC-Y/unsubscribe.
>> To unsubscribe from this group and all its topics, send an email to 
>> clojure+u...@googlegroups.com <javascript:>.
>> For more options, visit https://groups.google.com/groups/opt_out.
>>
>
>

-- 
-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to