I've run into problems with it in a few areas:

1) Bundled connection pooling. You can disable it or change it, but it 
takes work. Bundling seems against the idea of keeping libraries and 
dependencies small and composable.

2) Default behaviour of delete can be inefficient. It returns the entire 
deleted object rather than just a count of rows deleted. If you are 
deleting big binary columns, this can be a problem. Again, you can disable 
this. At the time I encountered it I had to read through the code to figure 
out how. 

3) Some queries get translated to incorrect SQL. This is what made us 
switch away. Korma was in part a response to clojureql. Chris found 
clojureql to be doing too much magic in it's dsl->sql translation and 
wanted a more 1:1 mapping to sql. However, korma doesn't go far enough in 
some cases. When it goes wrong, you might be faced with hours of debugging 
as I was. (The problem queries involved aggregates and joins.) I realized 
that I could write the sql in one minute and so just switched to straight 
jdbc. 

It is incredibly hard to write a clean sql dsl due to differences in how 
various database drivers work, and also due to how complex sql itself is. 
It's worth noting that you can always selectively fall back to jdbc if you 
encounter any of these issues. Korma uses jdbc itself and works well with 
it. We instead mix jdbc with light honeysql usage.

On Sunday, October 27, 2013 8:03:26 PM UTC-4, Paul Samways wrote:
>
> Oh? What are the benefits of using those over Korma? I've been more than 
> happy with it up to now.
>
>
> On Mon, Oct 28, 2013 at 10:30 AM, Alexander Hudek 
> <alex...@hudek.org<javascript:>
> > wrote:
>
>> http://www.luminusweb.net/ gives a reasonable starting setup. The only 
>> thing I would recommend doing differently is to use clojure/java.jdbc or 
>> honeysql instead of korma for an sql dsl.
>>
>> On Sunday, October 27, 2013 1:43:21 PM UTC-4, Scott M wrote:
>>>
>>> Ring seems well maintained, but Noir and Compojure are marked deprecated.
>>>
>>> Can anyone lay out a Clojure Web library "stack" (up to templating) that 
>>> is current and maintained?
>>>
>>> Any and all sagacious wisdom greatly appreciated - thanks! 
>>>
>>> - Scott
>>>
>>  -- 
>> -- 
>> 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 the Google Groups 
>> "Clojure" group.
>> To unsubscribe from this group and stop receiving emails from it, 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