You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@couchdb.apache.org by "Brian Candler (JIRA)" <ji...@apache.org> on 2009/11/01 22:01:59 UTC

[jira] Created: (COUCHDB-548) Limitations of open_revs=all

Limitations of open_revs=all
----------------------------

                 Key: COUCHDB-548
                 URL: https://issues.apache.org/jira/browse/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.


[jira] Updated: (COUCHDB-548) Limitations of open_revs=all

Posted by "Paul Joseph Davis (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/COUCHDB-548?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Paul Joseph Davis updated COUCHDB-548:
--------------------------------------

    Skill Level: Regular Contributors Level (Easy to Medium)

> Limitations of open_revs=all
> ----------------------------
>
>                 Key: COUCHDB-548
>                 URL: https://issues.apache.org/jira/browse/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.