Actually I wasn't going there to ORMs. I don't think I'm going any where, but 
I'm having a good time any way. I do share your thought that ORMs are neither 
necessary nor sufficient for these problems. 

My recent somewhat functional adventures in this domain is within the realm of 
Racket. There I have written a general purpose function that takes a 
connection, a sql query, a possible empty list of parameters, and a function of 
type vector->a. Such a thing looks to be trivial to do in Clojure. Huzzah 
functions as first-class objects. Having a list of vectors, just as with having 
a sequence of hashes, could be enough, but I like converting the vectors to a 
struct because the struct brings an API. Not saying this is superior, just 
saying how I like to work, and no doubt some of this is an incomplete de-toxing 
after years of Java. (I kid, Java community, you're all right.) Besides it 
appears to me that as soon as a loosely typed language gets sufficient 
developer mass, a type system comes in as an option, and quickly converting the 
database stream to a collection of type or struct or object A opens up an 
option for type safety, if that's useful for the application developer.

The more important point I was trying to make is about views rather than 
tables. Imagine an Employee table with tax identification numbers. A view 
allows for obscuring confidential data and can have looser access restrictions 
than the table which has complete data. Application code consuming result sets 
should also practice least privilege and the best place to enforce that is in 
the database by abstracting the tables into views.

-- 
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/d/optout.

Reply via email to