Revision number is a great idea!

I don't think I want to do copy-on-write within Clojure because it
would require a separate thread for cleanup. The underlying database
should take care of it anyways.

Thanks!
Alyssa

On Sep 2, 8:47 am, Timothy Baldridge <tbaldri...@gmail.com> wrote:
> >It checks the value against memory.  If it's
> >the same, commit data store changes.  If not, retry after refreshing
> >memory with the current contents of the store.
>
> May I suggest we take a page from the CouchDB book here? In addition
> to having a "id" each ref also has a revision id. Let's say the id for
> my ref is "foo". Then the first time I modify that ref the revid
> becomes "1-foo". From there the 1- is incremented by one on each
> writing transaction. This allows for a single string load & compare
> for each change, instead of reading the entire contents of the ref.
> That combined with CouchDB's copy-on-write means that you can kill a
> couchDB process mid-execution, and then restart it without any data
> corruption at all.
>
> If we find a way to do external persistence...that would be awesome, I
> can think of several use cases for it right now.
>
> Timothy
>
> --
> “One of the main causes of the fall of the Roman Empire was
> that–lacking zero–they had no way to indicate successful termination
> of their C programs.”
> (Robert Firth)

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