From dev-return-3873-apmail-couchdb-dev-archive=couchdb.apache.org@couchdb.apache.org Thu Apr 09 21:08:43 2009 Return-Path: Delivered-To: apmail-couchdb-dev-archive@www.apache.org Received: (qmail 4812 invoked from network); 9 Apr 2009 21:08:42 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.3) by minotaur.apache.org with SMTP; 9 Apr 2009 21:08:42 -0000 Received: (qmail 48033 invoked by uid 500); 9 Apr 2009 21:08:42 -0000 Delivered-To: apmail-couchdb-dev-archive@couchdb.apache.org Received: (qmail 47954 invoked by uid 500); 9 Apr 2009 21:08:41 -0000 Mailing-List: contact dev-help@couchdb.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@couchdb.apache.org Delivered-To: mailing list dev@couchdb.apache.org Received: (qmail 47944 invoked by uid 99); 9 Apr 2009 21:08:41 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 09 Apr 2009 21:08:41 +0000 X-ASF-Spam-Status: No, hits=1.5 required=10.0 tests=NORMAL_HTTP_TO_IP,SPF_PASS,WEIRD_PORT X-Spam-Check-By: apache.org Received-SPF: pass (nike.apache.org: domain of b.candler@pobox.com designates 208.72.237.25 as permitted sender) Received: from [208.72.237.25] (HELO sasl.smtp.pobox.com) (208.72.237.25) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 09 Apr 2009 21:08:32 +0000 Received: from localhost.localdomain (unknown [127.0.0.1]) by a-sasl-quonix.sasl.smtp.pobox.com (Postfix) with ESMTP id C6B52D473 for ; Thu, 9 Apr 2009 17:08:09 -0400 (EDT) Received: from mappit (unknown [80.45.95.114]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by a-sasl-quonix.sasl.smtp.pobox.com (Postfix) with ESMTPSA id 5076ED472 for ; Thu, 9 Apr 2009 17:08:09 -0400 (EDT) Received: from brian by mappit with local (Exim 4.69) (envelope-from ) id 1Ls1Tj-0006m1-P1 for dev@couchdb.apache.org; Thu, 09 Apr 2009 22:08:07 +0100 Date: Thu, 9 Apr 2009 22:08:07 +0100 From: Brian Candler To: dev@couchdb.apache.org Subject: Re: View keys case-insensitive? Message-ID: <20090409210807.GA25726@uk.tiscali.com> References: <20090409105330.GA13320@uk.tiscali.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.17+20080114 (2008-01-14) X-Pobox-Relay-ID: 87743FAC-254A-11DE-86A9-DC76898A30C1-28021239!a-sasl-quonix.pobox.com X-Virus-Checked: Checked by ClamAV on apache.org > I've spent entirely too long on this now and I still can't for the > life of me figure out why A < aa. Time for an experimental, black-box approach: ---- require 'rubygems' require 'restclient' require 'json' DB="http://127.0.0.1:5984/collator" RestClient.delete DB rescue nil RestClient.put "#{DB}","" (32..126).each do |c| RestClient.put "#{DB}/#{c.to_s(16)}", {"x"=>c.chr}.to_json end RestClient.put "#{DB}/_design/test", <","value":null}, {"id":"7c","key":"|","value":null}, {"id":"7e","key":"~","value":null}, {"id":"24","key":"$","value":null}, {"id":"30","key":"0","value":null}, {"id":"31","key":"1","value":null}, {"id":"32","key":"2","value":null}, {"id":"33","key":"3","value":null}, {"id":"34","key":"4","value":null}, {"id":"35","key":"5","value":null}, {"id":"36","key":"6","value":null}, {"id":"37","key":"7","value":null}, {"id":"38","key":"8","value":null}, {"id":"39","key":"9","value":null}, {"id":"61","key":"a","value":null}, {"id":"41","key":"A","value":null}, {"id":"62","key":"b","value":null}, {"id":"42","key":"B","value":null}, {"id":"63","key":"c","value":null}, {"id":"43","key":"C","value":null}, {"id":"64","key":"d","value":null}, {"id":"44","key":"D","value":null}, {"id":"65","key":"e","value":null}, {"id":"45","key":"E","value":null}, {"id":"66","key":"f","value":null}, {"id":"46","key":"F","value":null}, {"id":"67","key":"g","value":null}, {"id":"47","key":"G","value":null}, {"id":"68","key":"h","value":null}, {"id":"48","key":"H","value":null}, {"id":"69","key":"i","value":null}, {"id":"49","key":"I","value":null}, {"id":"6a","key":"j","value":null}, {"id":"4a","key":"J","value":null}, {"id":"6b","key":"k","value":null}, {"id":"4b","key":"K","value":null}, {"id":"6c","key":"l","value":null}, {"id":"4c","key":"L","value":null}, {"id":"6d","key":"m","value":null}, {"id":"4d","key":"M","value":null}, {"id":"6e","key":"n","value":null}, {"id":"4e","key":"N","value":null}, {"id":"6f","key":"o","value":null}, {"id":"4f","key":"O","value":null}, {"id":"70","key":"p","value":null}, {"id":"50","key":"P","value":null}, {"id":"71","key":"q","value":null}, {"id":"51","key":"Q","value":null}, {"id":"72","key":"r","value":null}, {"id":"52","key":"R","value":null}, {"id":"73","key":"s","value":null}, {"id":"53","key":"S","value":null}, {"id":"74","key":"t","value":null}, {"id":"54","key":"T","value":null}, {"id":"75","key":"u","value":null}, {"id":"55","key":"U","value":null}, {"id":"76","key":"v","value":null}, {"id":"56","key":"V","value":null}, {"id":"77","key":"w","value":null}, {"id":"57","key":"W","value":null}, {"id":"78","key":"x","value":null}, {"id":"58","key":"X","value":null}, {"id":"79","key":"y","value":null}, {"id":"59","key":"Y","value":null}, {"id":"7a","key":"z","value":null}, {"id":"5a","key":"Z","value":null} ]} I've never seen this sequence before. It's not even EBCDIC :-) Adding aa into the pot gives: ... {"id":"61","key":"a","value":null}, {"id":"41","key":"A","value":null}, {"id":"X","key":"aa","value":null}, ... As you say, that is most bizarre. Cheers, Brian.