Is this library living?
It's an amazing library I've seen.
Sorry for this issue reporting because it's not a real bug but a "thank god cantata rescues me".
I was looking for a "true" clojure ORM like rails' ActiveRecord/Sequel/DataMapper for a long time, but found nothing, finally cancaca came to me like a dream.
There is a gap between clojure/jdbc and honeysql/korma. for example:
(jdbc/query (honeysql-or-something/build "select a.*,b.* from a left out join b on b.a_id = a.id"))
It returns a flat table like any sql client shows, but I need a nested data-set like a json. It is a very common requirement, but no one does this.
I think Cancaca does the right thing and does it well, it's valuable and promising. My only concern is it's future.
Thank you, jkk.
I spent a lot of time building this library, but have had persistent doubts about its fundamental value and future. I open sourced it because I had written a couple projects that depend on it, and didn't want closed source dependencies. I never announced its existence or solicited help in developing it.
There are still several edge-case bugs and warts in the implementation. I feel like the implementation is much more complicated than it needs to be. But the API is close to what I originally envisioned -- which was basically: a relationship-aware version of honeysql.
I wanted to use it on real projects and work out the kinks before saying it was ready for production use. Lately, though, I've been using Datomic, which just does what I want in terms of querying. So I haven't had the time to solidify Cantata.
There's a TODO list here - https://github.com/jkk/cantata/blob/master/todo.md - if someone wanted to take a crack at fixing things. However, the implementation is BIG and complicated. It's not a simple task.
Bottom line, I'm not sure what the future of the library is. It could remain dormant and never get finished, or I might need it on another project and finish it.
Thanks for your comment.
Datomic is a great project, and since I saw it the first time I'm deeply expressed for it's immutable feature and its ability. But now I'm building a social app, which will produce lots of "nature immutable" information, so we choose postgresql. I'm not that lucky to use datomic.
Thank you for your answer and the amazing cantata project again.