Common Lisp Package: CLOUCHDB

README:

FUNCTION

Public

AD-HOC-VIEW (VIEW &REST OPTIONS &KEY KEY START-KEY START-KEY-DOCID END-KEY END-KEY-DOCID LIMIT STALE DESCENDING SKIP GROUP GROUP-LEVEL REDUCE INCLUDE-DOCS (LANGUAGE javascript))

Execute query using an ad-hoc view.

ADD-ATTACHMENT (DOC-OR-ID CONTENT &KEY NAME REVISION (CONTENT-TYPE *DEFAULT-CONTENT-TYPE*))

Attach content to a document identified by either the id or doc parameter. If the document does not already exist it will be created.

ALL-DOCS-BY-SEQ (&REST OPTIONS &KEY KEY KEYS START-KEY START-KEY-DOCID END-KEY END-KEY-DOCID LIMIT STALE DESCENDING SKIP GROUP GROUP-LEVEL REDUCE INCLUDE-DOCS)

Fetch a list of all documents that were updated and deleted, in the order these actions are done.

AS-DELETED-DOCUMENT (DOC)

Return specified document in a format used by bulk-document-update to indicate that the document should be deleted in the bulk operation.

AS-FIELD-NAME-STRING (VALUE)

Convert a case-encoded symbol to a potentially mixed case string.

AS-KEYWORD-SYMBOL (VALUE)

Return value in a form that would be used to identify the car of a value in a document. For example, a value

ATTACHMENT-LIST (DOC-OR-ID &KEY FETCH)

List attachments associated with document. If the document id is specified in the first parameter then this function will fetch the corresponding document from the server in order to get the attachment list, otherwise it will simply return the list of attachments in the specified document unless keyword parameter fetch is true.

ATTACHMENT-NAME (ATTACHMENT)

Return the name of an attachment, possibly converting from the keyword symbol of the clouchdb document to a string e.g. :|text.txt| to 'text.txt', or the car of a single document attachment list element e.g, '(:|text.txt| (:|stub| . T) (..)) to 'text.txt'.

BULK-DOCUMENT-UPDATE (DOCS &KEY ALL-OR-NOTHING)

Update multiple documents in a single request. The <b>docs</b> parameter is a list of documents. Any document in the list that does not contain an :|_id| value is created with a CouchDb assigned ID. Documents that contain a '(:|_deleted| . t) top-level property will be deleted. Documents that contain an :|_id| property will be updated. If all-or-nothing is true then all operations must succeed for any to succeed, default is false.

CHANGES (&REST OPTIONS &KEY (DB *COUCHDB*) FEED SINCE STYLE HEARTBEAT TIMEOUT FILTER NOTIFY-FN INCLUDE-DOCS)

Get document change activity from current database or database specified in db parameter. The :feed keyword parameter value indicates how to poll for changes. Valid values for this parameter include :longpoll to block waiting for a single change response, :continuous to poll for changes indefinately, or :normal to not poll (the default) and instead return a document containing changes. If specified, the :style keyword parameter may be either :main-only (the default) or :all-docs for more revision information. If specified, the notify-fn will be called as each change notification is recieved from the server. The notify-fn should return nil to signal that it no longer wishes to receive change notificaitons. At that point the stream will be closed and the changes function will return. If :longpoll or :continuous is specified as the feed parameter but no notify-fn is provided, this function will return the feed stream. It is the caller's responsibility to close the stream.

COMPACT-DB (&KEY (DB *COUCHDB*))

Start compaction on current database, or specified database if supplied. The db parameter, if supplied, is either a local database name string or a db struct.

COPY-DOCUMENT (SOURCE DESTINATION &KEY REVISION)

Copy source document to destination. The source parameter may be either a document ID or a document from which the ID will be obtained. The destination parameter may also be a document ID or document. If the destination document does not already exist it will be created. If the destination document does exist and the intention is to overwrite that document, then the destination document revision must be specified. If the destination parameter is a document then the revision information will be taken from that document unless the :revision parameter is specified. The revision parameter must be the current revision of the destination document. Alternatively the revision parameter may be the keyword :current which will cause this function to fetch the current revision number from the database.

COUCHDB-DOCUMENT-PROPERTIES (DOCUMENT)

Return only CouchDb specific document properties (opposite of document-properties).

CREATE-DB (&KEY (DB *COUCHDB*) (IF-EXISTS FAIL))

Create database. The db parameter may be either a string which is the name of the database to create or an instance of a db structure. If db is unspecified, uses *couchdb*. If database already exists an error condition is raised. This condition can be avoided by specifying :ingore for if-exists. In this case no error condition is generated. Specify :recreate to potentially delete and create a new database.

CREATE-DOCUMENT (DOC &KEY ID ATTACHMENTS)

Create a new document, optionally specifying the new document ID.

CREATE-PS-VIEW (ID &REST VIEW-DEFS)

Create one or more views in the specified view document ID.

CREATE-TEMP-DB (&KEY (DB-NAME-CREATOR #'CREATE-TEMP-DB-NAME))

Create a temporary database.

CREATE-TEMP-DB-NAME

Return a database name that's probably unique.

CREATE-VIEW (ID VIEW &KEY (LANGUAGE javascript))

Create one or more views in the specified view document ID.

DB-DOCUMENT-FETCH-FN (INSTANCE)

@arg[extid]{A @class{extid}} @return[sytemid]{puri:uri or nil} Returns the System ID part of this External ID.

DB-DOCUMENT-UPDATE-FN (INSTANCE)

@arg[extid]{A @class{extid}} @return[sytemid]{puri:uri or nil} Returns the System ID part of this External ID.

DB-HOST (INSTANCE)

@arg[extid]{A @class{extid}} @return[sytemid]{puri:uri or nil} Returns the System ID part of this External ID.

DB-NAME (INSTANCE)

@arg[extid]{A @class{extid}} @return[sytemid]{puri:uri or nil} Returns the System ID part of this External ID.

DB-PASSWORD (INSTANCE)

@arg[extid]{A @class{extid}} @return[sytemid]{puri:uri or nil} Returns the System ID part of this External ID.

DB-PORT (INSTANCE)

@arg[extid]{A @class{extid}} @return[sytemid]{puri:uri or nil} Returns the System ID part of this External ID.

DB-PROTOCOL (INSTANCE)

@arg[extid]{A @class{extid}} @return[sytemid]{puri:uri or nil} Returns the System ID part of this External ID.

DB-USER (INSTANCE)

@arg[extid]{A @class{extid}} @return[sytemid]{puri:uri or nil} Returns the System ID part of this External ID.

DELETE-ATTACHMENT (DOC-OR-ID ATTACHMENT &KEY REVISION)

Delete (detach) an attachment. The attachment parameter is either the name of the file to remove from the document, which can be either a string or a keyword symbol (as obtained from the :|_attachments| value of a document) or it's one element of the list of attachments in a document.

DELETE-DB (&KEY (DB *COUCHDB*) IF-MISSING)

Delete database. If db and db-name are unspecified, deletes database named in *couchdb*. Normally deletion of non-existent databases generates an error condition, but this can be avoided by specifying :ignore in the if-missing parameter.

DELETE-DOCUMENT (DOC-OR-ID &KEY REVISION (IF-MISSING ERROR))

Delete a document. The doc-or-id parameter may be either the document ID or the document itself. If the doc-or-id value is the document ID and no revision parameter is specified, then the document is fetched from the server to get the current revision, since the revision is necessary to complete the operation. If the doc-or-id value is a document then the revision value in the document is used unless a different revision is specified. At most one revision of the document will be deleted.

DELETE-VIEW (ID &KEY REVISION IF-MISSING)

Delete identified view document

DOCUMENT-AS-HASH (DOC)

Convert a document to a hashtable if it isn't one already. Document should be in the form of an associative list.

DOCUMENT-ID (DOC)

Shortcut for getting the ID from the specified document. First checks for :|_id| property, then :|id|

DOCUMENT-PROPERTIES (DOCUMENT)

Return the document properties, filtering out any couchdb reserved properties (properties that start with an underscore).

DOCUMENT-PROPERTY (NAME DOC)

Get the value associated with the document property or nil if there is no associated value. Note that name may be either a keyword symbol, a regular symbol or a string. The <b>name</b> parameter may be either a single keyword identifier (document property identifier) or it may be a list of identifiers.

SETFDOCUMENT-PROPERTY (VALUE NAME DOC)

Allows setting of existing document properties in place (destructively). The name paramter may be either a single keyword identifier (document property identifier) or it may be a list of identifiers. If the specified document property does not already exist it is created.

DOCUMENT-REVISION (DOC-OR-ID)

Return the revision number for the document, identified by either the document ID, the actual document, or the result of an add or update that returns the revision as :|rev|

DOCUMENT-TO-JSON (DOC)

Encode document to string with special support for detecting and handling associative lists.

GET-ACTIVE-TASKS (&OPTIONAL (DB *COUCHDB*))

Get active tasks for database or nil.

GET-ALL-DOCUMENTS (&REST OPTIONS &KEY KEY KEYS START-KEY START-KEY-DOCID END-KEY END-KEY-DOCID LIMIT STALE DESCENDING SKIP GROUP GROUP-LEVEL REDUCE INCLUDE-DOCS)

Get a listing of all documents in a database. This method implements the same keyword parameters as the view API.

GET-ATTACHMENT-STREAM (DOC-OR-ID ATTACHMENT &KEY (FORCE-BINARY T))

Get specified attachment as a stream. The caller is responsible for closing the stream. Return stream and HTTP status

GET-CONFIG (&KEY (DB *COUCHDB*) SECTION (OPTION NIL OPTION-PROVIDED-P))

Get database configuration.

GET-COUCHDB-INFO (&KEY (DB *COUCHDB*))

Get information from the couchdb server.

GET-DB-INFO (&KEY (DB *COUCHDB*))

Get information for named database, return ((:|error| . "not_found") (:|reason| . "no_db_file")) if database does not exist. The db parameter, if supplied, is either a local database name string or a db struct.

GET-DOCUMENT (ID &KEY REVISION REVISIONS CONFLICTS REVISION-INFO (IF-MISSING NIL IF-MISSING-P))

Get a document by ID. Returns nil if the document does not exist. The revision property specifies an optional revision number, if unspecified, the most recent revision is returned. The revisions and revision-info parameters, if non-nil, request revision information about the document instead of the actual document contents. The revision-info option contains more revision information than revisions. All revision* options are mutually exclusive, specify only one.

GET-UUIDS (&KEY (COUNT 1) (DB *COUCHDB*))

Returns one or more new UUID from the current database.

INVOKE-VIEW (ID VIEW &REST OPTIONS &KEY KEY START-KEY START-KEY-DOCID END-KEY END-KEY-DOCID LIMIT STALE DESCENDING SKIP GROUP GROUP-LEVEL REDUCE INCLUDE-DOCS)

Invoke a view by specifiying the document ID that contains the view and the name of the contained view. The key parameter specifies an optional value to match against the view's mapped field. The start-key and end-key values specify the optional begin and end range of the mapped field(s) of each document to return. If descending is t, returns results in reverse order. If update is t, does not refresh view for query, use for higher performance but possible data inconsistency.

LIST-DBS (&OPTIONAL (DB *COUCHDB*))

Return a list of all databases managed by the current CouchDb host.

MAKE-DB (&KEY HOST PORT NAME PROTOCOL (USER NIL USER-SUPPLIED-P) (PASSWORD NIL PASSWORD-SUPPLIED-P) DOCUMENT-FETCH-FN DOCUMENT-UPDATE-FN (DB *COUCHDB*))

Create, populate and return a database structure from the current special variables and any supplied keyword parameters, the latter take precedence over the special variables.

POST-DOCUMENT (DOC)

Post the document to the server, creating a new document. An existing _id in the document will be ignored, the server will create a new document and assign a new ID. Therefore this is an easy method for copying documents. The return value includes the document ID in the :ID property.

PUT-DOCUMENT (DOC &KEY ID ATTACHMENTS)

Create a new document or update and existing one. If the document is new an ID must be specified (but see post-document). If the document has been fetched from the server (and still has its :_id property) then no ID need be specified. If an ID is specified and it differs from the existing :_id value, then a new document is created with the new ID and the non-special properties of the specified document, since the latter would generate a CouchDb error.

QUERY-DOCUMENT (QUERY DOC)

Return a list of all values in the document matching the query. For example, given the document: ((:values (((:a . 1) (:b . 2)) ((:a . 3) (:b . 4))))) the query string '(:values :a) will return (3 1), i.e. the value of both :a associations. One special query input value is :* which is a 'wildcard'. With the document described above the query '(:values :*) will return (4 3 2 1), or the values of all associations directly below :values. The query '(:* :*) on this document will also return (4 3 2 1). Another special query input value is :**, which recursively matches the next query input. For example, with the following document: ((:level1 . ((:level2 . (((:level3 . 1))))))) The query '(:** :level3) will return (1), the value of :level3. Finally, functions can specified in the query. Functions are called with the portion of the document matched to the previous query element and can either return the document, return a different document or null.

REPLICATE (TARGET &KEY (SOURCE *COUCHDB*) (CREATE-TARGET NIL))

Replicate current database to target, or source to target if source is specified. Source and target database values must either be strings or database structures. Use strings to specify simple local database names, use database structures to specify either local or remote databases. If true, create-target will cause the replication target to be created automatically, as of CouchDb version 0.11.

SAVE-ATTACHMENT (DOC-OR-ID ATTACHMENT PATH &KEY (IF-DOES-NOT-EXIST CREATE) (IF-EXISTS SUPERSEDE))

Save specified attachement from specified document to path on file system. The doc-or-id parameter must either be a document ID string or the actual document. The attachment parameter is either the string value of the attachment name, e.g. "file.jpg", a keyword symbol as returned in the car of the list of attachments, .e.g. :|file.jsp|, or one of the elements of a document's attachment list, e.g: (:|file.jsp| (:|stub| . T) (:|content_type| . "image/jpeg") (:|length| . 3543434)). If the path identifies a directory then the target file will be created in that directory with the same name as the attachment in the document. If the path ends with a file name the attachment will be created with that name.

SET-CONNECTION (&REST ARGS &KEY HOST PORT NAME PROTOCOL USER PASSWORD DOCUMENT-FETCH-FN DOCUMENT-UPDATE-FN DB)

Set top-level connection information. The port may be specified as a string or number. As of CouchDb version 7.2 the default port is 5984, prior to that it was 8888.

SET-DOCUMENT-PROPERTY (DOC &REST ARGS)

Set a property of a document. If the named property does not exist, add it to the document, otherwise change the existing value. Does not destructively modify input document, so be sure to use return value.

Undocumented

SETFDB-DOCUMENT-FETCH-FN (NEW-VALUE INSTANCE)

SETFDB-DOCUMENT-UPDATE-FN (NEW-VALUE INSTANCE)

SETFDB-HOST (NEW-VALUE INSTANCE)

SETFDB-NAME (NEW-VALUE INSTANCE)

SETFDB-PASSWORD (NEW-VALUE INSTANCE)

SETFDB-PORT (NEW-VALUE INSTANCE)

SETFDB-PROTOCOL (NEW-VALUE INSTANCE)

SETFDB-USER (NEW-VALUE INSTANCE)

JSON-TO-DOCUMENT (JSON-STRING)

Private

ADD-ADMIN (NAME PASSWORD &KEY (DB *COUCHDB*))

Add an admin user.

ADD-FUNCTIONS (DESIGN-DOC-ID TYPE &REST LIST-DEFS)

Add lists in list-defs to design document identified by design-doc-id. If the document does not exist, create it. If any list function definitions already exist in the document, update them.

ADD-LISTS-FNS (ID &REST DEFS)

Add CouchDb lists in list-defs to document identified by id. If the document does not exist, create it. If any list function definitions already exist in the document, update them.

ADD-SHOWS-FNS (ID &REST DEFS)

Add CouchDb lists in list-defs to document identified by id. If the document does not exist, create it. If any list function definitions already exist in the document, update them.

ASSOCLP (E)

Return true if expression is, or really looks like, an associative list. Dead giveaways include cons elements in the list that begin with a keyword. Returns the element that produced a positive result, or nil.

COMPACT-VIEW (VIEW-NAME)

Compact named view

CONVERT-ENCODING (STRING ENCODING)

Convert string to specified encoding. This may be totally wrong and probably way too inefficient, but it seems to work.

DB-REQUEST (URI &REST ARGS &KEY &ALLOW-OTHER-KEYS)

Used by most Clouchdb APIs to make the actual REST request.

DECODE-JSON (&OPTIONAL (STREAM *STANDARD-INPUT*))

Reads a json element from stream

DECODE-JSON-STRICT (&OPTIONAL (STREAM *STANDARD-INPUT*))

Only objects or arrays on top level, no junk afterwards.

DOC-AS-ALIST (DOC)

Convert a document in the form of a hash table into an associative list

DOCUMENT-TO-JSON-STREAM (DOC STREAM)

Encode document to stream with special support for detecting and handling associative lists.

DOCUMENT-UPDATE-NOTIFY (FN DOC)

Optionally invoke specified function with supplied document, used to invoke user-specified hook functions.

DOUBLEQUOTE (VALUE)

Wrap specified value in double quotes.

ENCODE-ATTACHMENTS (ATTACHMENTS)

Encode the list of attachements, return them in an _attachments document fragment.

ENCODE-FILE (FILE)

Encode a file in the format suitable for CouchDb attachments

ENSURE-DESIGN-DOC (ID)

Return specified design document, creating it if it does not already exist.

FALSE-IF-FALSE (VALUE)

Return "false" if value is nil, otherwise nil

GET-SESSION (&OPTIONAL (DB *COUCHDB*))

Get cookie based login user information.

GET-STATS (&OPTIONAL (DB *COUCHDB*))

Get database statistics overview.

INVOKE-LIST (DOC-ID LIST-ID)

JSON-STREAM-OR-STRING-TO-DOCUMENT (STREAM-OR-STRING)

Read a json document from eiter a stream or a string. If the source is a stream close the stream before returning. Return a document.

KEYWORD-ASSOCP (E)

Return true if element is a list that begins with a keyword. This is used to help determine associative list-ness.

KEYWORD-TO-HTTP-PARAM (KEYWORD-SYMBOL)

Convert a keword symbol that may contain hyphen characters to a lower case string with any hyphens replaced by underscores: ':all-the-best' -> 'all_the_best'.

LOGOUT-SESSION (&OPTIONAL (DB *COUCHDB*))

Logout cookie based session.

MAKE-DB-AUTH (DB)

Return user name password values or nil if no user name specified for db

MAKE-DB-IDENTIFIER (INPUT)

Make a database identifier from either a string or db structure.

MAKE-URI (&REST REST)

Return a URI containing protocol://host:port/ and the concatenation of the remaining parameters.

SET-SESSION (&OPTIONAL (DB *COUCHDB*))

Do cookie based login.

STRING-JOIN (LIST &KEY (DELIM ,) (IGNORE-NIL NIL))

Join list of strings into a single result. Strings are delimited by specified delimiter. If ignore-nil is true, then nil strings in the list are skipped, and no delimiter is output.

TRANSFORM-PARAM (PARAM VALUE TABLE)

Use a keyword transformation table to traslate between function keyword parameter names and values, and URL parameter names and values.

TRANSFORM-PARAMS (KEYWORD-PARAMS OPTIONS)

Transform each keyword parameter using the specified set of options, use only those transformations that return a non-nil result.

TRUE-IF-TRUE (VALUE)

Return "true" if value is non-nil, otherwise nil

VALIDATE-PS-VIEW (DEFUN FN-NAME FN-PARAM FN-BODY)

Validation for ps-view definition

VIEW-CLEANUP

Clean up old view data

VIEW-UTIL (CMD)

General function called by view functions

Undocumented

ADD-JSON-DISPATCH-RULE (CHARACTER FN)

COPY-DB (INSTANCE)

COUCHDB-DATABASE-URL (DB)

COUCHDB-HOST-URL (DB)

DB-P (OBJECT)

ENCODE (D STREAM)

JSON-ESCAPED-CHAR-TO-LISP (JSON-ESCAPED-CHAR)

JSON-INTERN (STRING)

LISP-SPECIAL-CHAR-TO-JSON (LISP-CHAR)

MAKE-DEFAULT-DB

NEW-DB (&KEY ((HOST DUM0) NIL) ((PORT DUM1) NIL) ((NAME DUM2) NIL) ((PROTOCOL DUM3) NIL) ((USER DUM4) NIL) ((PASSWORD DUM5) NIL) ((DOCUMENT-FETCH-FN DUM6) NIL) ((DOCUMENT-UPDATE-FN DUM7) NIL))

READ-CHARS-UNTIL (STREAM &KEY TERMINATOR-FN (CHAR-CONVERTER #'(LAMBDA (CH STREAM) (DECLARE (IGNORE STREAM)) CH)))

READ-CONSTANT (STREAM EXPECTED-STRING RET-VALUE)

READ-JSON-ARRAY (STREAM)

READ-JSON-CHARS (STREAM TERMINATORS)

READ-JSON-NUMBER (STREAM)

READ-JSON-OBJECT (STREAM)

READ-JSON-STRING (STREAM)

READ-N-CHARS (STREAM N)

VALUE-AS-INTEGER (VALUE)

VALUE-AS-STRING (VALUE)

WRITE-ALIST (D STREAM)

WRITE-JSON-CHARS (S STREAM)

WRITE-JSON-NUMBER (NR STREAM)

WRITE-JSON-STRING (S STREAM)

WRITE-JSON-SYMBOL (SYMBOL STREAM)

WRITE-LIST (D STREAM)

MACRO

Public

PS-VIEW ((&OPTIONAL VIEW-NAME) &BODY BODY)

Create a view using parenscript

WITH-ATTACHMENT ((STREAM DOC-OR-ID ATTACHMENT) &BODY BODY)

Passed doc-or-id and attachment parameters to get-attachment-stream to open the input stream and ensures that the stream is automatically closed after execution of the statements in the body.

WITH-CONNECTION ((&REST ARGS &KEY (DB *COUCHDB*) NAME PORT PROTOCOL HOST USER PASSWORD DOCUMENT-UPDATE-FN DOCUMENT-FETCH-FN) &BODY BODY)

Execute body in the context of the specified database connection information..

WITH-TEMP-DB (&BODY BODY)

Execute body in context of newly created, temporary database. Delete database before return.

Private

CAT (&REST REST)

Shorthand for (concatenate 'string)

DB-OR-DB-NAME (DB)

DEFINE-CONSTANT (NAME VALUE &OPTIONAL DOC)

A version of DEFCONSTANT for /strict/ CL implementations.

DEFPSFUN (&BODY BODY)

Define a parenscript function in the object format used by CouchDb. Specifically, a property name associated with a lambda. E.g.: {'foo' : function () {...}}

ENSURE-DB (&BODY BODY)

Wrap request in code to check for errors due to non-existant data bases. This is necessary because in a document operation, CouchDb does not distinguish between an error due to a missing document and a missing database.

PS-FUNCTION (&BODY BODY)

Create a view using parenscript

URL-ENCODE (STRING)

URL-encode a string. Use drakma's url-encode since it's exported now

GENERIC-FUNCTION

Private

Undocumented

ATT-NAME (CONDITION)

ATTACHMENTS (CONDITION)

DB (CONDITION)

DESCRIPTION (CONDITION)

ID (CONDITION)

ID-VALUE (CONDITION)

INPUT (CONDITION)

PS-VIEW-DEF (CONDITION)

REASON (CONDITION)

RESULT (CONDITION)

TEXT (CONDITION)

URI (CONDITION)

VALUE (CONDITION)

VARIABLE

Public

*COUCHDB*

A db struct object

Private

*CHANGES-OPTIONS*

Parameters for the changes function.

*DEFAULT-DB-NAME*

Default database name

*DEFAULT-HOST*

CouchDb server host name

*DEFAULT-PORT*

The IANA assigned CouchDb port

*DEFAULT-PROTOCOL*

http or https

*JSON-SYMBOLS-PACKAGE*

The package where json-symbols are interned. Default keyword, nil = current package

*TEMP-DB-COUNTER*

*TEXT-TYPES*

Defined to instruct Drakma to treat json responses as text

*VIEW-OPTIONS*

Definitions for how invoke-view keyword parameters are translated into CouchDb parameters

Undocumented

*DEBUG-REQUESTS*

*DEFAULT-CONTENT-TYPE*

*DIGITS*

*JSON-LISP-ESCAPED-CHARS*

*JSON-MAKE-BIG-NUMBER*

*JSON-NUMBER-VALID-CHARS*

*JSON-OBJECT-FACTORY*

*JSON-OBJECT-FACTORY-ADD-KEY-VALUE*

*JSON-OBJECT-FACTORY-RETURN*

*JSON-RULES*

*USE-STRICT-JSON-RULES*

*VIEW-FUNCTION-NAMES*

CLASS

Private

Undocumented

DB (CONDITION)

CONDITION

Public

ATTACHMENT-MISSING

Error raised when specified attachment is not found

DOCUMENT-MISSING

Error raised when no document matching ID is found

Undocumented

DB-ALREADY-EXISTS

DB-DOES-NOT-EXIST

DB-EXISTENTIAL-ERROR

DOC-ERROR

ID-MISSING

ID-OR-REVISION-CONFLICT

ILLEGAL-DATABASE-NAME

Private

CLOUCHDB-ERROR

The base type of all errors signaled by clouchdb

PS-VIEW-DEF-ERROR

Error raised for invalid ps-view definition

Undocumented

AUTHORIZATION-ERROR

INVALID-DESIGN-DOC

INVALID-DOCUMENT

INVALID-ID

INVALID-TYPE

JSON-PARSE-ERROR

CONSTANT

Private

+UTF-8+

Default external format for document content.