Mark,

Thanks for the input.  Some comments inline:

On Feb 27, 2011, at 1:06 PM, Mark Rathwell wrote:

> If you have time, I posted a gist containing a data access library I built on 
> top of Rich's sdb library (data.clj), and the modifications I made to his sdb 
> library (sdb.clj) for consistent reads, etc.  This is some of the first real 
> clojure code I wrote, so not the prettiest, but maybe you can see some of the 
> pain points I had using the current sdb library.
> 
> To summarize:
> 
>  - Whether or not to add asynchronous client support

Using the async client within Clojure doesn't make sense IMO.  We can make any 
call asynchronous (at least, as the AWS library defines 'asynchronous') by 
wrapping it in a future.

>  - Not a nice generic way of building up select dsl maps
>  - I believe the select dsl 'where' clause only handles up to two predicates

I'll attempt to verify and potentially resolve that when I dig into the 
implementation work.

>  - How to account for nil / blank values

That's a tough one.  As you might have seen, I'm strongly leaning towards 
eliminating the type tags in formatted values, which would make representing 
nil pretty difficult.

Is this really a desired feature to begin with?  As it stands, distinguishing 
between a nil value and no entry for a key requires using `find` -- in my 
experience, that has made it very uncommon for nil values to be used at all.

>  - Automatically sync domains with a specified list

Definitely next layer up.  Really, it's just (dorun (map (partial 
sdb/create-domain client) […coll of domain names…])).

> Certainly some of this belongs above the level of the sdb library, but some 
> of it should be handled there.

Thanks for the example.  Talking about "entities" is a little disorienting for 
me, at least insofar as maps coming out of SDB *are* Clojure entities.  It'd be 
interesting to see what would reasonably be required to make persisting records 
to SDB more satisfying than record in, map out.  Presumably, there are people 
that are working on this problem for use with more traditional databases; I'd 
hope that those results could be adapted to use SDB as just another data source.

- Chas

-- 
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

Reply via email to