incubator-couchdb-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jens Alfke <>
Subject No query options for exclusive-start or string prefix?
Date Tue, 12 Aug 2014 19:43:38 GMT
I'd just like to verify that there is still no way to make a view query's startKey exclusive,
i.e. a parameter like "inclusive_start"? Without this it becomes difficult to implement a
query for something like "size > 100". (I just checked the current API docs and didn't
see anything.)

Also, is there any clean way to match a string prefix? The only advice I've seen is to set
startkey to the prefix, and endkey to the prefix with "some really high Unicode character"
appended, which is a total kludge*.

I'm currently writing some code that maps high-level abstract queries (Cocoa NSPredicate objects)
into CouchDB-style views and queries, and am running into these limitations.


* Why? Because Unicode is so complicated and so inconsistently implemented. Doing this immediately
opens the possibility of weird Unicode issues in your development language's string type,
in its HTTP client library, and in Erlang's equivalents on the server side. Not to mention
the swamp that is the Unicode specification itself — for instance, I've seen advice to use
a character like \uFFFE, which was correct until Unicode went 32-bit, and tended to work alright
for a while after that, but will now fail with emoji characters (which are both very commonly
used and well outside the 16-bit range.) Actually whether it fails depends on whether your
string implementation operates on UTF-16 (very common) or true Unicode code points. Like I
said, it's a kludge.
View raw message