couchdb-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Antony Blakey <>
Subject Re: Changing rev to _rev in view results (Was: Re: newbie question #1)
Date Mon, 29 Dec 2008 13:55:59 GMT

On 29/12/2008, at 11:11 PM, Damien Katz wrote:

> The problem was there where other reserved fields in documents that  
> started with underscore, but in other places the fields wouldn't  
> have an underscore. Keep track of which fieldname had underscores  
> and where became confusing. The rule was changed to be simpler to  
> understand and deal with.

A simpler rule is: _rev is the name no matter where it appears, same  
with _id. I'd go so far as say that this kind of rule is so  
fundamental to our idea of identity and naming, that it doesn't even  
count as a rule. And there had better be a really good reason to  
introduce a rule contrary to such an strongly implicit and intrinsic  

And as far as 'Keeping track of which fieldname had underscores", it  
would seem that the current situation is the worst, because you have  
to keep track not based on identity e.g. _rev and _id, but rather on  
context, which is a dynamic and more intellectually demanding concept  
than semantic identity. Furthermore, in this scheme, names must be  
mapped under structural transformation (such as copying the _id and  
_rev fields from one context to another), which complicates generic  

IMO the name isn't "rev" with sometimes an underscore, rather the name  
IS "_rev". Same with "_id".

A single name for a concept, lexically consistent, is less cognitive  
load both initially and on an ongoing basis.

Antony Blakey
CTO, Linkuistics Pty Ltd
Ph: 0438 840 787

The ultimate measure of a man is not where he stands in moments of  
comfort and convenience, but where he stands at times of challenge and  
   -- Martin Luther King

View raw message