couchdb-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Brian Candler (JIRA)" <>
Subject [jira] Created: (COUCHDB-548) Limitations of open_revs=all
Date Sun, 01 Nov 2009 21:01:59 GMT
Limitations of open_revs=all

                 Key: COUCHDB-548
             Project: CouchDB
          Issue Type: Improvement
          Components: HTTP Interface
            Reporter: Brian Candler
            Priority: Minor

The GET option ?open_revs=all would be useful for retrieving all conflicting versions of a
document in one go, but has the following problems.

1. The documents are returned in an arbitrary order which is unrelated to the conflict-winning
algorithm. For example, you can't rely on the first revision returned being the one which
a plain GET would return.

2. It includes tips of branches which are no longer live (i.e. the tip document has been deleted).
Although these can be filtered out client-side by looking for a "_deleted":true member, it
transfers unnecessary revs, potentially a large number of them.

3. It is somewhat inconvenient that it returns an array of {"ok":{..doc..}} or "missing":"rev",
rather than just an array of docs. Again, this can be normalized client-side. But I observe
that if only live branches were returned, then they would always be "ok" and so this layer
wouldn't be needed.

This message is automatically generated by JIRA.
You can reply to this email to add a comment to the issue online.

View raw message