couchdb-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Chris Anderson (JIRA)" <>
Subject [jira] Commented: (COUCHDB-196) Bug in _all_docs: extra incorrect row returned when ?key= is specified
Date Fri, 09 Jan 2009 17:29:59 GMT


Chris Anderson commented on COUCHDB-196:

After discussing with Damien, it seems the issue is more subtle than we'd appreciated.

All-docs will continue to use Erlang binary comparisons instead of unicode collation. This
is a tradeoff as write-speed is more important than human-friendly all-docs ordering.

However, the current system has a bug, which is that the all-docs http api is trying to use
unicode collation on the endkeys, when it should be using binary comparisons. The fix should
be relatively simple, but won't yield the exact same behavior for the list of docs as it does
for the list of view keys.

> Bug in _all_docs: extra incorrect row returned when ?key= is specified
> ----------------------------------------------------------------------
>                 Key: COUCHDB-196
>                 URL:
>             Project: CouchDB
>          Issue Type: Bug
>          Components: HTTP Interface
>            Reporter: Jason Davies
>         Attachments: collation_ids.diff, collation_test.2.diff, collation_test.diff,
couch_db_updater.diff, docid_collation.diff, view_coll.js
> I first noticed this when attempting to reverse the order of docs displayed in Futon,
when listing the design docs.  When the order is reversed, non-design docs are displayed.
> After digging deeper I discovered that querying _all_docs with key="Z" can potentially
return two rows, with keys "Z" and "a".
> I will attach a test case to reproduce this.  My locale is set to en_GB.UTF-8, which
could be related to this problem.

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

View raw message