couchdb-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Antony Blakey <>
Subject Re: slash escaping (was 0.9.0 Release)
Date Thu, 11 Dec 2008 22:21:36 GMT

On 12/12/2008, at 8:39 AM, Noah Slater wrote:

> On Fri, Dec 12, 2008 at 08:33:38AM +1030, Antony Blakey wrote:
>> Why not just do the MD5 and be done with it - erlang:md5(Data) ->  
>> Digest ? You
>> remove any limit on the name of a design document, or, for that  
>> matter, a
>> database (well, it can't be empty, but then that isn't a name, and  
>> obeys
>> 0,1,∞). I think you've already agreed that URL encoding is a good  
>> idea, so
>> this is hardly much effort.
> Because this introduces an inconsistency on the file system.
> Some databases are held by name, some by hash.

All filenames would be: URLEncode(name) or URLEncode(first X chars of  
name)-MD5(name). They are always by name, with an optional hash.

I proposed eliminating the hash if the name.length < X because that  
rule gives a familiar result in what is likely to be virtually every  
case. I thought that was a gatekeeper preference.

Personally, I too prefer a consistent scheme and propose therefore  
that the rule is always: URLEncode(first X chars of name)-MD5(name)

And I think X should be a lot smaller than 256, so that longer  
document names don't lead to UI inconvenience (in e.g. ls or Finder or  

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

The difference between ordinary and extraordinary is that little extra.

View raw message