Hello,
I 've been experimenting with Couchdb and I have reached a point in
which I need to do some transactions in an atomic way. I know that
Couchdb lacks locking, so is there a uniform way to deal with this?
In particular, I have created a filesystem in which each file and folder
is represented by a single document, while its pathname is a list. For
example:
['root', 'home']
['root', 'home', pictures']
['root', 'home', 'pictures', 'picture.jpg']
Now, when creating the document with pathname ['root', 'home',
pictures', 'my_dog.jpg'], I need to make sure that its parent, ['root',
'home', pictures'] exists in the db. Moreover, I need to ensure that the
user is not exceeding his quota.
The bulk update way would be ideal if a possible conflict would create
the appropriate error messages but as far as I know, that's not the
case. Moreover, there are cases in which a bulk update seems inevitable
(for example, when deleting a folder, so all its contents must be
deleted too), but its poor behavior in a bad scenario (with document
conflicts) makes it a bit difficult to use.
Is there any way to circumvent all these problems?
Is the behavior of the bulk updates going to change in the near future?
Thanks,
Andeas