Hello, On Thu, Oct 29, 2009 at 2:24 PM, Meikel Brandmeyer <m...@kotka.de> wrote: > On Oct 29, 1:15 pm, Miron Brezuleanu <mbr...@gmail.com> wrote: >> Cons: I'm afraid of getting the SQL generating syntax wrong and making >> the data structures used for generation ugly. But I guess that can be >> fixed by iterating a little. :-) > > ClojureQL[1] does that to some extent. Currently MySQL and Derby are > supported as backends, Postgres to some extent (so it has issues, > IIRC). The generation part consists of multimethods "compiling" the > defined queries into JDBC PreparedStatements. Up to now we managed to > hide the backend as much as possible, but the feature set of ClojureQL > is still limited. So my suspicion is that the backend will leak > through eventually... But we'll see. > > Nice effect: ClojureQL allows FULL JOINs with a Derby backend. Derby > does not support FULL JOIN.
... and I bet Derby doesn't have macros either :-) Actually, what I need appears to be different from ClojureQL. It turns out the Clojure datastructure to be rendered as TSQL still needs to be readable to someone who knows TSQL, so I need to be closer to the backend. The main advantages I'm after right now are eliminating repetitions (define a table variable with a list of fields, select into that table by specifying the list of fields again etc. - such lists of fields or table variable definitions end up being repeated a lot.) and generally factoring out common things (which is hard to do in TSQL - for instance because it's not that strong in the type definition area). Anyway ClojureQL is very nice and I'll consider it for other projects. Thanks, -- Miron Brezuleanu --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---