You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@couchdb.apache.org by dc...@apache.org on 2012/12/12 21:33:59 UTC
[24/34] import Couchbase docs
http://git-wip-us.apache.org/repos/asf/couchdb/blob/749f8c8c/share/docs/couchdb-manual-1.1/couchdb-api-introduction.xml
----------------------------------------------------------------------
diff --git a/share/docs/couchdb-manual-1.1/couchdb-api-introduction.xml b/share/docs/couchdb-manual-1.1/couchdb-api-introduction.xml
new file mode 100644
index 0000000..714e5b0
--- /dev/null
+++ b/share/docs/couchdb-manual-1.1/couchdb-api-introduction.xml
@@ -0,0 +1,851 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- -*- docbook-xml -*- -->
+<!DOCTYPE chapter PUBLIC '-//OASIS//DTD DocBook XML V4.5//EN'
+ 'http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd' [
+<!ENTITY % every.entities SYSTEM "entities.ent">
+%every.entities;
+]>
+<chapter id="couchdb-api-basics">
+
+ <title>CouchDB API</title>
+
+ <para>
+ The CouchDB API is the primary method of interfacing to a CouchDB
+ instance. Requests are made using HTTP and requests are used to
+ request information from the database, store new data, and perform
+ views and formatting of the information stored within the documents.
+ </para>
+
+ <para>
+ Requests to the API can be categorised by the different areas of the
+ CouchDB system that you are accessing, and the HTTP method used to
+ send the request. Different methods imply different operations, for
+ example retrieval of information from the database is typically
+ handled by the <literal>GET</literal> operation, while updates are
+ handled by either a <literal>POST</literal> or
+ <literal>PUT</literal> request. There are some differences between
+ the information that must be supplied for the different methods. For
+ a guide to the basic HTTP methods and request structure, see
+ <xref linkend="couchdb-api-introduction-requests"/>.
+ </para>
+
+ <para>
+ For nearly all operations, the submitted data, and the returned data
+ structure, is defined within a JavaScript Object Notation (JSON)
+ object. Basic information on the content and data types for JSON are
+ provided in <xref linkend="couchdb-api-introduction-json"/>.
+ </para>
+
+ <para>
+ Errors when accessing the CouchDB API are reported using standard
+ HTTP Status Codes. A guide to the generic codes returned by CouchDB
+ are provided in
+ <xref linkend="couchdb-api-introduction-returncodes"/>.
+ </para>
+
+ <para>
+ When accessing specific areas of the CouchDB API, specific
+ information and examples on the HTTP methods and request, JSON
+ structures, and error codes are provided. For a guide to the
+ different areas of the API, see
+ <xref
+ linkend="couchdb-api-overview"/>.
+ </para>
+
+ <section id="couchdb-api-introduction-requests">
+
+ <title>Request Format and Responses</title>
+
+ <para>
+ CouchDB supports the following HTTP request methods:
+ </para>
+
+ <itemizedlist>
+
+ <listitem>
+ <para>
+ <literal>GET</literal>
+ </para>
+
+ <para>
+ Request the specified item. As with normal HTTP requests, the
+ format of the URL defines what is returned. With CouchDB this
+ can include static items, database documents, and
+ configuration and statistical information. In most cases the
+ information is returned in the form of a JSON document.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <literal>HEAD</literal>
+ </para>
+
+ <para>
+ The <literal>HEAD</literal> method is used to get the HTTP
+ header of a <literal>GET</literal> request without the body of
+ the response.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <literal>POST</literal>
+ </para>
+
+ <para>
+ Upload data. Within CouchDB <literal>POST</literal> is used to
+ set values, including uploading documents, setting document
+ values, and starting certain administration commands.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <literal>PUT</literal>
+ </para>
+
+ <para>
+ Used to put a specified resource. In CouchDB
+ <literal>PUT</literal> is used to create new objects,
+ including databases, documents, views and design documents.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <literal>DELETE</literal>
+ </para>
+
+ <para>
+ Deletes the specified resource, including documents, views,
+ and design documents.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <literal>COPY</literal>
+ </para>
+
+ <para>
+ A special method that can be used to copy documents and
+ objects.
+ </para>
+ </listitem>
+
+ </itemizedlist>
+
+ <para>
+ If you use the an unsupported HTTP request type with a URL that
+ does not support the specified type, a 405 error will be returned,
+ listing the supported HTTP methods. For example:
+ </para>
+
+<programlisting>
+{
+ "error":"method_not_allowed",
+ "reason":"Only GET,HEAD allowed"
+}
+ </programlisting>
+
+<!-- TODO: Link should be updated when we look at HTML return object -->
+
+ <para>
+ The CouchDB design document API and the functions when returning
+ HTML (for example as part of a show or list) enables you to
+ include custom HTTP headers through the <literal>headers</literal>
+ block of the return object. For more information, see
+ <xref linkend="couchdb-api-functional"/>.
+ </para>
+
+ </section>
+
+ <section id="couchdb-api-introduction-request-header">
+
+ <title>HTTP Headers</title>
+
+ <para>
+ Because CouchDB uses HTTP for all communication, you need to
+ ensure that the correct HTTP headers are supplied (and processed
+ on retrieval) so that you get the right format and encoding.
+ Different environments and clients will be more or less strict on
+ the effect of these HTTP headers (especially when not present).
+ Where possible you should be as specific as possible.
+ </para>
+
+ <section id="couchdb-api-introduction-request-header-request">
+
+ <title>Request Headers</title>
+
+ <itemizedlist>
+
+ <listitem>
+ <para>
+ <literal>Content-type</literal>
+ </para>
+
+ <para>
+ Specifies the content type of the information being supplied
+ within the request. The specification uses MIME type
+ specifications. For the majority of requests this will be
+ JSON (<literal>application/json</literal>). For some
+ settings the MIME type will be plain text. When uploading
+ attachments it should be the corresponding MIME type for the
+ attachment or binary
+ (<literal>application/octet-stream</literal>).
+ </para>
+
+ <para>
+ The use of the <literal>Content-type</literal> on a request
+ is highly recommended.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <literal>Accept</literal>
+ </para>
+
+ <para>
+ Specifies the list of accepted data types to be returned by
+ the server (i.e. that are accepted/understandable by the
+ client). The format should be a list of one or more MIME
+ types, separated by colons.
+ </para>
+
+ <para>
+ For the majority of requests the definition should be for
+ JSON data (<literal>application/json</literal>). For
+ attachments you can either specify the MIME type explicitly,
+ or use <literal>*/*</literal> to specify that all file types
+ are supported. If the <literal>Accept</literal> header is
+ not supplied, then the <literal>*/*</literal> MIME type is
+ assumed (i.e. client accepts all formats).
+ </para>
+
+ <para>
+ The use of <literal>Accept</literal> in queries for CouchDB
+ is not required, but is highly recommended as it helps to
+ ensure that the data returned can be processed by the
+ client.
+ </para>
+
+ <para>
+ If you specify a data type using the
+ <literal>Accept</literal> header, CouchDB will honor the
+ specified type in the <literal>Content-type</literal> header
+ field returned. For example, if you explicitly request
+ <literal>application/json</literal> in the
+ <literal>Accept</literal> of a request, the returned HTTP
+ headers will use the value in the returned
+ <literal>Content-type</literal> field.
+ </para>
+
+ <para>
+ For example, when sending a request without an explicit
+ <literal>Accept</literal> header, or when specifying
+ <literal>*/*</literal>:
+ </para>
+
+<programlisting>
+GET /recipes HTTP/1.1
+Host: couchdb:5984
+Accept: */*
+</programlisting>
+
+ <para>
+ The returned headers are:
+ </para>
+
+<programlisting>
+Server: CouchDB/1.0.1 (Erlang OTP/R13B)
+Date: Thu, 13 Jan 2011 13:39:34 GMT
+Content-Type: text/plain;charset=utf-8
+Content-Length: 227
+Cache-Control: must-revalidate
+</programlisting>
+
+ <para>
+ Note that the returned content type is
+ <literal>text/plain</literal> even though the information
+ returned by the request is in JSON format.
+ </para>
+
+ <para>
+ Explicitly specifying the <literal>Accept</literal> header:
+ </para>
+
+<programlisting>
+GET /recipes HTTP/1.1
+Host: couchdb:5984
+Accept: application/json
+</programlisting>
+
+ <para>
+ The headers returned include the
+ <literal>application/json</literal> content type:
+ </para>
+
+<programlisting>
+Server: CouchDB/1.0.1 (Erlang OTP/R13B)
+Date: Thu, 13 Jan 2011 13:40:11 GMT
+Content-Type: application/json
+Content-Length: 227
+Cache-Control: must-revalidate
+</programlisting>
+ </listitem>
+
+ </itemizedlist>
+
+ </section>
+
+ <section id="couchdb-api-introduction-request-header-response">
+
+ <title>Response Headers</title>
+
+ <para>
+ Response headers are returned by the server when sending back
+ content and include a number of different header fields, many of
+ which are standard HTTP response header and have no significance
+ to CouchDB operation. The list of response headers important to
+ CouchDB are listed below.
+ </para>
+
+ <itemizedlist>
+
+ <listitem>
+ <para>
+ <literal>Content-type</literal>
+ </para>
+
+ <para>
+ Specifies the MIME type of the returned data. For most
+ request, the returned MIME type is
+ <literal>text/plain</literal>. All text is encoded in
+ Unicode (UTF-8), and this is explicitly stated in the
+ returned <literal>Content-type</literal>, as
+ <literal>text/plain;charset=utf-8</literal>.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <literal>Cache-control</literal>
+ </para>
+
+ <para>
+ The cache control HTTP response header provides a suggestion
+ for client caching mechanisms on how to treat the returned
+ information. CouchDB typically returns the
+ <literal>must-revalidate</literal>, which indicates that the
+ information should be revalidated if possible. This is used
+ to ensure that the dynamic nature of the content is
+ correctly updated.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <literal>Content-length</literal>
+ </para>
+
+ <para>
+ The length (in bytes) of the returned content.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <literal>Etag</literal>
+ </para>
+
+ <para>
+ The <literal>Etag</literal> HTTP header field is used to
+ show the revision for a document.
+ </para>
+ </listitem>
+
+ </itemizedlist>
+
+ </section>
+
+ </section>
+
+ <section id="couchdb-api-introduction-json">
+
+ <title>JSON Basics</title>
+
+ <para>
+ The majority of requests and responses to CouchDB use the
+ JavaScript Object Notation (JSON) for formatting the content and
+ structure of the data and responses.
+ </para>
+
+ <para>
+ JSON is used because it is the simplest and easiest to use
+ solution for working with data within a web browser, as JSON
+ structures can be evaluated and used as JavaScript objects within
+ the web browser environment. JSON also integrates with the
+ server-side JavaScript used within CouchDB.
+ </para>
+
+ <para>
+ JSON supports the same basic types as supported by JavaScript,
+ these are:
+ </para>
+
+ <itemizedlist>
+
+ <listitem>
+ <para>
+ Number (either integer or floating-point).
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ String; this should be enclosed by double-quotes and supports
+ Unicode characters and backslash escaping. For example:
+ </para>
+
+<programlisting>"A String"</programlisting>
+ </listitem>
+
+ <listitem>
+ <para>
+ Boolean - a <literal>true</literal> or
+ <literal>false</literal> value. You can use these strings
+ directly. For example:
+ </para>
+
+<programlisting>{ "value": true}</programlisting>
+ </listitem>
+
+ <listitem>
+ <para>
+ Array - a list of values enclosed in square brackets. For
+ example:
+ </para>
+
+<programlisting>["one", "two", "three"]</programlisting>
+ </listitem>
+
+ <listitem>
+ <para>
+ Object - a set of key/value pairs (i.e. an associative array,
+ or hash). The key must be a string, but the value can be any
+ of the supported JSON values. For example:
+ </para>
+
+<programlisting>
+{
+ "servings" : 4,
+ "subtitle" : "Easy to make in advance, and then cook when ready",
+ "cooktime" : 60,
+ "title" : "Chicken Coriander"
+}
+ </programlisting>
+
+ <para>
+ In CouchDB, the JSON object is used to represent a variety of
+ structures, including the main CouchDB document.
+ </para>
+ </listitem>
+
+ </itemizedlist>
+
+ <para>
+ Parsing JSON into a JavaScript object is supported through the
+ <literal>eval()</literal> function in JavaScript, or through
+ various libraries that will perform the parsing of the content
+ into a JavaScript object for you. Libraries for parsing and
+ generating JSON are available in many languages, including Perl,
+ Python, Ruby, Erlang and others.
+ </para>
+
+ <warning>
+ <para>
+ Care should be taken to ensure that your JSON structures are
+ valid, invalid structures will cause CouchDB to return an HTTP
+ status code of 500 (server error). See
+ <xref
+ linkend="couchdb-api-introduction-returncode-500"/>
+ .
+ </para>
+ </warning>
+
+ </section>
+
+ <section id="couchdb-api-introduction-returncodes">
+
+ <title>HTTP Status Codes</title>
+
+ <para>
+ With the interface to CouchDB working through HTTP, error codes
+ and statuses are reported using a combination of the HTTP status
+ code number, and corresponding data in the body of the response
+ data.
+ </para>
+
+ <para>
+ A list of the error codes returned by CouchDB, and generic
+ descriptions of the related errors are provided below. The meaning
+ of different status codes for specific request types are provided
+ in the corresponding API call reference.
+ </para>
+
+ <itemizedlist>
+
+ <listitem>
+ <para id="couchdb-api-introduction-returncode-200">
+ <literal>200 - OK</literal>
+ </para>
+
+ <para>
+ Request completed successfully.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para id="couchdb-api-introduction-returncode-201">
+ <literal>201 - Created</literal>
+ </para>
+
+ <para>
+ Document created successfully.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para id="couchdb-api-introduction-returncode-202">
+ <literal>202 - Accepted</literal>
+ </para>
+
+ <para>
+ Request has been accepted, but the corresponding operation may
+ not have completed. This is used for background operations,
+ such as database compaction.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para id="couchdb-api-introduction-returncode-304">
+ <literal>304 - Not Modified</literal>
+ </para>
+
+ <para>
+ The additional content requested has not been modified. This
+ is used with the ETag system to identify the version of
+ information returned.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para id="couchdb-api-introduction-returncode-400">
+ <literal>400 - Bad Request</literal>
+ </para>
+
+ <para>
+ Bad request structure. The error can indicate an error with
+ the request URL, path or headers. Differences in the supplied
+ MD5 hash and content also trigger this error, as this may
+ indicate message corruption.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para id="couchdb-api-introduction-returncode-401">
+ <literal>401 - Unauthorized</literal>
+ </para>
+
+ <para>
+ The item requested was not available using the supplied
+ authorization, or authorization was not supplied.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para id="couchdb-api-introduction-returncode-403">
+ <literal>403 - Forbidden</literal>
+ </para>
+
+ <para>
+ The requested item or operation is forbidden.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para id="couchdb-api-introduction-returncode-404">
+ <literal>404 - Not Found</literal>
+ </para>
+
+ <para>
+ The requested content could not be found. The content will
+ include further information, as a JSON object, if available.
+ The structure will contain two keys, <literal>error</literal>
+ and <literal>reason</literal>. For example:
+ </para>
+
+<programlisting>{"error":"not_found","reason":"no_db_file"}</programlisting>
+ </listitem>
+
+ <listitem>
+ <para id="couchdb-api-introduction-returncode-405">
+ <literal>405 - Resource Not Allowed</literal>
+ </para>
+
+ <para>
+ A request was made using an invalid HTTP request type for the
+ URL requested. For example, you have requested a
+ <literal>PUT</literal> when a <literal>POST</literal> is
+ required. Errors of this type can also triggered by invalid
+ URL strings.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para id="couchdb-api-introduction-returncode-406">
+ <literal>406 - Not Acceptable</literal>
+ </para>
+
+ <para>
+ The requested content type is not supported by the server.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para id="couchdb-api-introduction-returncode-409">
+ <literal>409 - Conflict</literal>
+ </para>
+
+ <para>
+ Request resulted in an update conflict.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para id="couchdb-api-introduction-returncode-412">
+ <literal>412 - Precondition Failed</literal>
+ </para>
+
+ <para>
+ The request headers from the client and the capabilities of
+ the server do not match.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para id="couchdb-api-introduction-returncode-415">
+ <literal>415 - Bad Content Type</literal>
+ </para>
+
+ <para>
+ The content types supported, and the content type of the
+ information being requested or submitted indicate that the
+ content type is not supported.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para id="couchdb-api-introduction-returncode-416">
+ <literal>416 - Requested Range Not Satisfiable</literal>
+ </para>
+
+ <para>
+ The range specified in the request header cannot be satisfied
+ by the server.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para id="couchdb-api-introduction-returncode-417">
+ <literal>417 - Expectation Failed</literal>
+ </para>
+
+ <para>
+ When sending documents in bulk, the bulk load operation
+ failed.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para id="couchdb-api-introduction-returncode-500" xreflabel="HTTP
+ Status Code 500">
+ <literal>500 - Internal Server Error</literal>
+ </para>
+
+ <para>
+ The request was invalid, either because the supplied JSON was
+ invalid, or invalid information was supplied as part of the
+ request.
+ </para>
+ </listitem>
+
+ </itemizedlist>
+
+ </section>
+
+ <section id="couchdb-api-overview">
+
+ <title>CouchDB API Overview</title>
+
+ <para>
+ The components of the API URL path help determine the part of the
+ CouchDB server that is being accessed. The result is the structure
+ of the URL request both identifies and effectively describes the
+ area of the database you are accessing.
+ </para>
+
+ <para>
+ As with all URLs, the individual components are separated by a
+ forward slash.
+ </para>
+
+ <para>
+ As a general rule, URL components and JSON fields starting with
+ the <literal>_</literal> (underscore) character represent a
+ special component or entity within the server or returned object.
+ For example, the URL fragment <literal>/_all_dbs</literal> gets a
+ list of all of the databases in a CouchDB instance.
+ </para>
+
+ <para>
+ The remainder of the URL API structure can be divided up according
+ to the URL structure. The different sections are divided as
+ follows:
+ </para>
+
+ <itemizedlist>
+
+ <listitem>
+ <para>
+ <literal>/db</literal>
+ </para>
+
+ <para>
+ Database methods, related to adding, updating or deleting
+ databases, and setting database parameters and operations. For
+ more detailed information, see
+ <xref
+ linkend="couchdb-api-db"/> .
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <literal>/db/doc</literal>
+ </para>
+
+ <para>
+ Document methods, those that create, store, update or delete
+ CouchDB documents and their attachments. For more information,
+ see <xref
+ linkend="couchdb-api-dbdoc"/>.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <literal>/db/_local/local-doc</literal>
+ </para>
+
+ <para>
+ Document methods, those that create, store, update or delete
+ CouchDB documents only within the local database. Local
+ documents are not synchronized with other databases. For more
+ information, see
+ <xref
+ linkend="couchdb-api-localdb"/>.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <literal>/db/_design/design-doc</literal>
+ </para>
+
+ <para>
+ Design documents provide the methods and structure for
+ recovering information from a CouchDB database in the form of
+ views, shows and lists. For more information, see
+ <xref
+ linkend="couchdb-api-design"/>.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <literal>/_special</literal>
+ </para>
+
+ <para>
+ Special methods that obtain or set information about the
+ CouchDB instance, including methods for configuring
+ replication, accessing the logs, and generate Universally
+ Unique IDs (UUIDs). For more information, see
+ <xref
+ linkend="couchdb-api-misc"/>.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <literal>/_config</literal>
+ </para>
+
+ <para>
+ Methods for getting, and settings, CouchDB configuration
+ parameters. For more information, see
+ <xref
+ linkend="couchdb-api-misc"/>.
+ </para>
+ </listitem>
+
+ </itemizedlist>
+
+<!--
+ Databases and Documents
+
+ To see a listing of databases:
+
+ /_all_dbs
+ To see some basic information about a database:
+
+ /dbname/
+ To see all a listing of the data documents in a database:
+
+ /dbname/_all_docs
+ To see a document:
+
+ /dbname/docid
+ To download a file attachment:
+
+ /dbname/docid/filename
+ Design Documents and Views
+
+ To see a design document:
+
+ /dbname/_design/designdocname
+ To query a view.
+
+ /dbname/_design/designdocname/_view/viewname?query
+ NOTE: Apparently the structure depends on the version #. In 0.8.1 the above doesn't work, but the below works: - JohnWarden
+
+ /dbname/_view/designdocname/viewname?query
+ To query a temporary ("slow") view (with the custom view function in the body of the request):
+
+ /dbname/_temp_view?query
+ Formatting
+
+ To format a document through a "show" template:
+
+ /dbname/_design/designdocname/_show/showname/docid
+ To format a view through a "list" template:
+
+ /dbname/_design/designdocname/_list/listname/viewname?query
+ -->
+
+ </section>
+
+</chapter>
http://git-wip-us.apache.org/repos/asf/couchdb/blob/749f8c8c/share/docs/couchdb-manual-1.1/couchdb-api-json-metasrc.xml
----------------------------------------------------------------------
diff --git a/share/docs/couchdb-manual-1.1/couchdb-api-json-metasrc.xml b/share/docs/couchdb-manual-1.1/couchdb-api-json-metasrc.xml
new file mode 100644
index 0000000..7f8d86e
--- /dev/null
+++ b/share/docs/couchdb-manual-1.1/couchdb-api-json-metasrc.xml
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE appendix PUBLIC '-//OASIS//DTD DocBook XML V4.5//EN'
+ 'http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd' [
+<!ENTITY % every.entities SYSTEM "entities.ent">
+%every.entities;
+]>
+<appendix id="couchdb-api-json">
+
+ <title>JSON Structure Reference</title>
+
+ <para>
+ The following appendix provides a quick reference to all the JSON
+ structures that you can supply to CouchDB, or get in return to
+ requests.
+ </para>
+
+ <para role="meta" id="table-couchdb-api-json-summary">
+ <remark role="title">JSON Structures</remark>
+
+ <remark role="type" condition="json"/>
+
+ <remark role="src" condition="json"/>
+
+ <remark role="output" condition="summarytable"/>
+
+ <remark role="version" condition="inherit"/>
+
+ <remark role="idprefix" condition="table-couchdb-api-json"/>
+ </para>
+
+ <para role="meta">
+ <remark role="type" condition="json"/>
+
+ <remark role="src" condition="json"/>
+
+ <remark role="output" condition="alltables"/>
+
+ <remark role="version" condition="inherit"/>
+
+ <remark role="idprefix" condition="table-couchdb-api-json"/>
+ </para>
+
+</appendix>
http://git-wip-us.apache.org/repos/asf/couchdb/blob/749f8c8c/share/docs/couchdb-manual-1.1/couchdb-api-localdb-metasrc.xml
----------------------------------------------------------------------
diff --git a/share/docs/couchdb-manual-1.1/couchdb-api-localdb-metasrc.xml b/share/docs/couchdb-manual-1.1/couchdb-api-localdb-metasrc.xml
new file mode 100644
index 0000000..6bbd0f0
--- /dev/null
+++ b/share/docs/couchdb-manual-1.1/couchdb-api-localdb-metasrc.xml
@@ -0,0 +1,186 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE chapter PUBLIC '-//OASIS//DTD DocBook XML V4.5//EN'
+ 'http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd' [
+<!ENTITY % every.entities SYSTEM "entities.ent">
+%every.entities;
+]>
+<chapter id="couchdb-api-localdb">
+
+ <title>CouchDB API Server Local (non-replicating) Document Methods</title>
+
+ <para>
+ The Local (non-replicating) document interface allows you to create
+ local documents that are not replicated to other databases. These
+ documents can be used to hold configuration or other information
+ that is required specifically on the local CouchDB instance.
+ </para>
+
+ <para>
+ Local documents have the following limitations:
+ </para>
+
+ <itemizedlist>
+
+ <listitem>
+ <para>
+ Local documents are not replicated to other databases.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ The ID of the local document must be known for the document to
+ accessed. You cannot obtain a list of local documents from the
+ database.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Local documents are not output by views, or the
+ <literal>_all_docs</literal> view.
+ </para>
+ </listitem>
+
+ </itemizedlist>
+
+ <para>
+ Local documents can be used when you want to store configuration or
+ other information for the curent (local) instance of a given
+ database.
+ </para>
+
+ <para>
+ A list of the available methods and URL paths are provided below:
+ </para>
+
+ <para role="meta" id="table-couchdb-api-localdb-summary">
+ <remark role="title">Local (non-replicating) Document API
+ Calls</remark>
+
+ <remark role="type" condition="urlapi"/>
+
+ <remark role="src" condition="couchdb"/>
+
+ <remark role="output" condition="summarytable"/>
+
+ <remark role="filter_class" condition="localdb"/>
+
+ <remark role="version" condition="inherit"/>
+
+ <remark role="idprefix" condition="couchdb-api-localdb"/>
+ </para>
+
+ <section id="couchdb-api-localdb_db-local-localdoc_get">
+
+ <title><literal>GET /db/_local/local-doc</literal></title>
+
+ <para role="meta">
+ <remark role="type" condition="urlapi"/>
+
+ <remark role="src" condition="couchdb"/>
+
+ <remark role="output" condition="accesstable"/>
+
+ <remark role="itemid" condition="db-local-localdoc"/>
+
+ <remark role="method" condition="GET"/>
+
+ <remark role="version" condition="inherit"/>
+ </para>
+
+ <para>
+ Gets the specified local document. The semantics are identical to
+ accessing a standard document in the specified database, except
+ that the document is not replicated. See
+ <xref
+ linkend="couchdb-api-dbdoc_db-doc_get"/>.
+ </para>
+
+ </section>
+
+ <section id="couchdb-api-localdb_db-local-localdoc_put">
+
+ <title><literal>PUT /db/_local/local-doc</literal></title>
+
+ <para role="meta">
+ <remark role="type" condition="urlapi"/>
+
+ <remark role="src" condition="couchdb"/>
+
+ <remark role="output" condition="accesstable"/>
+
+ <remark role="itemid" condition="db-local-localdoc"/>
+
+ <remark role="method" condition="PUT"/>
+
+ <remark role="version" condition="inherit"/>
+ </para>
+
+ <para>
+ Stores the specified local document. The semantics are identical
+ to storing a standard document in the specified database, except
+ that the document is not replicated. See
+ <xref
+ linkend="couchdb-api-dbdoc_db-doc_put"/>.
+ </para>
+
+ </section>
+
+ <section id="couchdb-api-localdb_db-local-localdoc_delete">
+
+ <title><literal>DELETE /db/_local/local-doc</literal></title>
+
+ <para role="meta">
+ <remark role="type" condition="urlapi"/>
+
+ <remark role="src" condition="couchdb"/>
+
+ <remark role="output" condition="accesstable"/>
+
+ <remark role="itemid" condition="db-local-localdoc"/>
+
+ <remark role="method" condition="DELETE"/>
+
+ <remark role="version" condition="inherit"/>
+ </para>
+
+ <para>
+ Deletes the specified local document. The semantics are identical
+ to deleting a standard document in the specified database, except
+ that the document is not replicated. See
+ <xref
+ linkend="couchdb-api-dbdoc_db-doc_delete"/>.
+ </para>
+
+ </section>
+
+ <section id="couchdb-api-localdb_db-local-localdoc_copy">
+
+ <title><literal>COPY /db/_local/local-doc</literal></title>
+
+ <para role="meta">
+ <remark role="type" condition="urlapi"/>
+
+ <remark role="src" condition="couchdb"/>
+
+ <remark role="output" condition="accesstable"/>
+
+ <remark role="itemid" condition="db-local-localdoc"/>
+
+ <remark role="method" condition="COPY"/>
+
+ <remark role="version" condition="inherit"/>
+ </para>
+
+ <para>
+ Copies the specified local document. The semantics are identical
+ to copying a standard document in the specified database, except
+ that the document is not replicated. See
+ <xref
+ linkend="couchdb-api-dbdoc_db-doc_copy"/>.
+ </para>
+
+ </section>
+
+</chapter>
http://git-wip-us.apache.org/repos/asf/couchdb/blob/749f8c8c/share/docs/couchdb-manual-1.1/couchdb-api-misc-metasrc.xml
----------------------------------------------------------------------
diff --git a/share/docs/couchdb-manual-1.1/couchdb-api-misc-metasrc.xml b/share/docs/couchdb-manual-1.1/couchdb-api-misc-metasrc.xml
new file mode 100644
index 0000000..200749f
--- /dev/null
+++ b/share/docs/couchdb-manual-1.1/couchdb-api-misc-metasrc.xml
@@ -0,0 +1,1357 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE chapter PUBLIC '-//OASIS//DTD DocBook XML V4.5//EN'
+ 'http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd' [
+<!ENTITY % every.entities SYSTEM "entities.ent">
+%every.entities;
+]>
+<chapter id="couchdb-api-misc">
+
+ <title>CouchDB API Server Miscellaneous Methods</title>
+
+ <para>
+ The CouchDB Miscellaneous interface provides the basic interface to
+ a CouchDB server for obtaining CouchDB information and getting and
+ setting configuration information.
+ </para>
+
+ <para>
+ A list of the available methods and URL paths are provided below:
+ </para>
+
+ <para role="meta" id="table-couchdb-api-misc-summary">
+ <remark role="title">Miscellaneous API Calls</remark>
+
+ <remark role="type" condition="urlapi"/>
+
+ <remark role="src" condition="couchdb"/>
+
+ <remark role="output" condition="summarytable"/>
+
+ <remark role="filter_class" condition="misc"/>
+
+ <remark role="version" condition="inherit"/>
+
+ <remark role="idprefix" condition="couchdb-api-misc"/>
+ </para>
+
+ <section id="couchdb-api-misc_root_get">
+
+ <title><literal>GET /</literal></title>
+
+ <para role="meta">
+ <remark role="type" condition="urlapi"/>
+
+ <remark role="src" condition="couchdb"/>
+
+ <remark role="output" condition="accesstable"/>
+
+ <remark role="itemid" condition="root"/>
+
+ <remark role="method" condition="GET"/>
+
+ <remark role="version" condition="inherit"/>
+ </para>
+
+ <para>
+ Accessing the root of a CouchDB instance returns meta information
+ about the instance. The response is a JSON structure containing
+ information about the server, including a welcome message and the
+ version of the server.
+ </para>
+
+<programlisting>
+{
+ "couchdb" : "Welcome",
+ "version" : "1.0.1"
+}
+</programlisting>
+
+ </section>
+
+ <section id="couchdb-api-misc_active-tasks_get">
+
+ <title><literal>GET /_active_tasks</literal></title>
+
+ <para role="meta">
+ <remark role="type" condition="urlapi"/>
+
+ <remark role="src" condition="couchdb"/>
+
+ <remark role="output" condition="accesstable"/>
+
+ <remark role="itemid" condition="active-tasks"/>
+
+ <remark role="method" condition="GET"/>
+
+ <remark role="version" condition="inherit"/>
+ </para>
+
+ <para>
+ You can obtain a list of active tasks by using the
+ <literal>/_active_tasks</literal> URL. The result is a JSON array
+ of the currently running tasks, with each task being described
+ with a single object. For example:
+ </para>
+
+<programlisting>
+
+<![CDATA[
+[
+ {
+ "pid" : "<0.11599.0>",
+ "status" : "Copied 0 of 18369 changes (0%)",
+ "task" : "recipes",
+ "type" : "Database Compaction"
+ }
+]
+]]>
+
+ </programlisting>
+
+ <para>
+ The returned structure includes the following fields for each
+ task:
+ </para>
+
+ <para role="meta" id="table-couchdb-api-misc-active-tasks-json">
+ <remark role="type" condition="json"/>
+
+ <remark role="src" condition="json"/>
+
+ <remark role="output" condition="itemtable"/>
+
+ <remark role="itemid" condition="activetasks"/>
+
+ <remark role="version" condition="inherit"/>
+ </para>
+
+ <para>
+ For operation type, valid values include:
+ </para>
+
+ <itemizedlist>
+
+ <listitem>
+ <para>
+ <literal>Database Compaction</literal>
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <literal>Replication</literal>
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <literal>View Group Compaction</literal>
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <literal>View Group Indexer</literal>
+ </para>
+ </listitem>
+
+ </itemizedlist>
+
+ </section>
+
+ <section id="couchdb-api-misc_all-dbs_get">
+
+ <title><literal>GET /_all_dbs</literal></title>
+
+ <para role="meta">
+ <remark role="type" condition="urlapi"/>
+
+ <remark role="src" condition="couchdb"/>
+
+ <remark role="output" condition="accesstable"/>
+
+ <remark role="itemid" condition="all-dbs"/>
+
+ <remark role="method" condition="GET"/>
+
+ <remark role="version" condition="inherit"/>
+ </para>
+
+ <para>
+ Returns a list of all the databases in the CouchDB instance. For
+ example:
+ </para>
+
+<programlisting>
+GET http://couchdb:5984/_all_dbs
+Accept: application/json
+</programlisting>
+
+ <para>
+ The return is a JSON array:
+ </para>
+
+<programlisting>
+[
+ "_users",
+ "contacts",
+ "docs",
+ "invoices",
+ "locations"
+]
+
+</programlisting>
+
+ </section>
+
+ <section id="couchdb-api-misc_log_get">
+
+ <title><literal>GET /_log</literal></title>
+
+ <para role="meta">
+ <remark role="type" condition="urlapi"/>
+
+ <remark role="src" condition="couchdb"/>
+
+ <remark role="output" condition="accesstable"/>
+
+ <remark role="itemid" condition="log"/>
+
+ <remark role="method" condition="GET"/>
+
+ <remark role="version" condition="inherit"/>
+ </para>
+
+ <para>
+ Gets the CouchDB log, equivalent to accessing the local log file
+ of the corresponding CouchDB instance.
+ </para>
+
+ <para>
+ When you request the log, the response is returned as plain
+ (UTF-8) text, with an HTTP <literal>Content-type</literal> header
+ as <literal>text/plain</literal>.
+ </para>
+
+ <para>
+ For example, the request:
+ </para>
+
+<programlisting>
+GET http://couchdb:5984/_log
+Accept: */*
+</programlisting>
+
+ <para>
+ The raw text is returned:
+ </para>
+
+<programlisting>
+<![CDATA[
+[Wed, 27 Oct 2010 10:49:42 GMT] [info] [<0.23338.2>] 192.168.0.2 - - 'PUT' /authdb 401
+
+[Wed, 27 Oct 2010 11:02:19 GMT] [info] [<0.23428.2>] 192.168.0.116 - - 'GET' /recipes/FishStew 200
+
+[Wed, 27 Oct 2010 11:02:19 GMT] [info] [<0.23428.2>] 192.168.0.116 - - 'GET' /_session 200
+
+[Wed, 27 Oct 2010 11:02:19 GMT] [info] [<0.24199.2>] 192.168.0.116 - - 'GET' / 200
+
+[Wed, 27 Oct 2010 13:03:38 GMT] [info] [<0.24207.2>] 192.168.0.116 - - 'GET' /_log?offset=5 200
+]]>
+</programlisting>
+
+ <para>
+ If you want to pick out specific parts of the log information you
+ can use the <literal>bytes</literal> argument, which specifies the
+ number of bytes to be returned, and <literal>offset</literal>,
+ which specifies where the reading of the log should start, counted
+ back from the end. For example, if you use the following request:
+ </para>
+
+<programlisting>
+GET /_log?bytes=500&offset=2000
+</programlisting>
+
+ <para>
+ Reading of the log will start at 2000 bytes from the end of the
+ log, and 500 bytes will be shown.
+ </para>
+
+ </section>
+
+ <section id="couchdb-api-misc_replicate_post">
+
+ <title><literal>POST /_replicate</literal></title>
+
+ <para role="meta">
+ <remark role="type" condition="urlapi"/>
+
+ <remark role="src" condition="couchdb"/>
+
+ <remark role="output" condition="accesstable"/>
+
+ <remark role="itemid" condition="replicate"/>
+
+ <remark role="method" condition="POST"/>
+
+ <remark role="version" condition="inherit"/>
+ </para>
+
+ <para>
+ Request, configure, or stop, a replication operation.
+ </para>
+
+ <para>
+ The specification of the replication request is controlled through
+ the JSON content of the request. The JSON should be an object with
+ the fields defining the source, target and other options. The
+ fields of the JSON request are shown in the table below:
+ </para>
+
+ <para role="meta" id="table-couchdb-api-misc-json-replication">
+ <remark role="type" condition="json"/>
+
+ <remark role="src" condition="json"/>
+
+ <remark role="output" condition="itemtable"/>
+
+ <remark role="itemid" condition="replication"/>
+
+ <remark role="version" condition="inherit"/>
+ </para>
+
+ <section id="couchdb-api-misc_replicate_post-operation">
+
+ <title>Replication Operation</title>
+
+ <para>
+ The aim of the replication is that at the end of the process,
+ all active documents on the source database are also in the
+ destination database and all documents that were deleted in the
+ source databases are also deleted (if they exist) on the
+ destination database.
+ </para>
+
+ <para>
+ Replication can be described as either push or pull replication:
+ </para>
+
+ <itemizedlist>
+
+ <listitem>
+ <para>
+ <emphasis>Pull replication</emphasis> is where the
+ <literal>source</literal> is the remote CouchDB instance,
+ and the <literal>destination</literal> is the local
+ database.
+ </para>
+
+ <para>
+ Pull replication is the most useful solution to use if your
+ source database has a permanent IP address, and your
+ destination (local) database may have a dynamically assigned
+ IP address (for example, through DHCP). This is particularly
+ important if you are replicating to a mobile or other device
+ from a central server.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ <emphasis>Push replication</emphasis> is where the
+ <literal>source</literal> is a local database, and
+ <literal>destination</literal> is a remote database.
+ </para>
+ </listitem>
+
+ </itemizedlist>
+
+ </section>
+
+ <section id="couchdb-api-misc_replicate_post-sourcetarget">
+
+ <title>Specifying the Source and Target Database</title>
+
+ <para>
+ You must use the URL specification of the CouchDB database if
+ you want to perform replication in either of the following two
+ situations:
+ </para>
+
+ <itemizedlist>
+
+ <listitem>
+ <para>
+ Replication with a remote database (i.e. another instance of
+ CouchDB on the same host, or a different host)
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Replication with a database that requires authentication
+ </para>
+ </listitem>
+
+ </itemizedlist>
+
+ <para>
+ For example, to request replication between a database local to
+ the CouchDB instance to which you send the request, and a remote
+ database you might use the following request:
+ </para>
+
+<programlisting>
+POST http://couchdb:5984/_replicate
+Content-Type: application/json
+Accept: application/json
+
+{
+ "source" : "recipes",
+ "target" : "http://coucdb-remote:5984/recipes",
+}
+ </programlisting>
+
+ <para>
+ In all cases, the requested databases in the
+ <literal>source</literal> and <literal>target</literal>
+ specification must exist. If they do not, an error will be
+ returned within the JSON object:
+ </para>
+
+<programlisting>
+{
+ "error" : "db_not_found"
+ "reason" : "could not open http://couchdb-remote:5984/ol1ka/",
+}
+ </programlisting>
+
+ <para>
+ You can create the target database (providing your user
+ credentials allow it) by adding the
+ <literal>create_target</literal> field to the request object:
+ </para>
+
+<programlisting>
+POST http://couchdb:5984/_replicate
+Content-Type: application/json
+Accept: application/json
+
+{
+ "create_target" : true
+ "source" : "recipes",
+ "target" : "http://couchdb-remote:5984/recipes",
+}
+</programlisting>
+
+ <para>
+ The <literal>create_target</literal> field is not destructive.
+ If the database already exists, the replication proceeds as
+ normal.
+ </para>
+
+ </section>
+
+ <section id="couchdb-api-misc_replicate_post-single">
+
+ <title>Single Replication</title>
+
+ <para>
+ You can request replication of a database so that the two
+ databases can be synchronized. By default, the replication
+ process occurs one time and synchronizes the two databases
+ together. For example, you can request a single synchronization
+ between two databases by supplying the <literal>source</literal>
+ and <literal>target</literal> fields within the request JSON
+ content.
+ </para>
+
+<programlisting>
+POST http://couchdb:5984/_replicate
+Content-Type: application/json
+Accept: application/json
+
+{
+ "source" : "recipes",
+ "target" : "recipes-snapshot",
+}
+</programlisting>
+
+ <para>
+ In the above example, the databases <literal>recipes</literal>
+ and <literal>recipes-snapshot</literal> will be synchronized.
+ These databases are local to the CouchDB instance where the
+ request was made. The response will be a JSON structure
+ containing the success (or failure) of the synchronization
+ process, and statistics about the process:
+ </para>
+
+<programlisting>
+{
+ "ok" : true,
+ "history" : [
+ {
+ "docs_read" : 1000,
+ "session_id" : "52c2370f5027043d286daca4de247db0",
+ "recorded_seq" : 1000,
+ "end_last_seq" : 1000,
+ "doc_write_failures" : 0,
+ "start_time" : "Thu, 28 Oct 2010 10:24:13 GMT",
+ "start_last_seq" : 0,
+ "end_time" : "Thu, 28 Oct 2010 10:24:14 GMT",
+ "missing_checked" : 0,
+ "docs_written" : 1000,
+ "missing_found" : 1000
+ }
+ ],
+ "session_id" : "52c2370f5027043d286daca4de247db0",
+ "source_last_seq" : 1000
+}
+</programlisting>
+
+ <para>
+ The structure defines the replication status, as described in
+ the table below:
+ </para>
+
+ <para role="meta" id="table-couchdb-api-misc-json-replication-status">
+ <remark role="type" condition="json"/>
+
+ <remark role="src" condition="json"/>
+
+ <remark role="output" condition="itemtable"/>
+
+ <remark role="itemid" condition="replication-status"/>
+
+ <remark role="version" condition="inherit"/>
+ </para>
+
+ </section>
+
+ <section id="couchdb-api-misc_replicate_post-continuous">
+
+ <title>Continuous Replication</title>
+
+ <para>
+ Synchronization of a database with the previously noted methods
+ happens only once, at the time the replicate request is made. To
+ have the target database permanently replicated from the source,
+ you must set the <literal>continuous</literal> field of the JSON
+ object within the request to true.
+ </para>
+
+ <para>
+ With continuous replication changes in the source database are
+ replicated to the target database in perpetuity until you
+ specifically request that replication ceases.
+ </para>
+
+<programlisting>
+POST http://couchdb:5984/_replicate
+Content-Type: application/json
+Accept: application/json
+
+{
+ "continuous" : true
+ "source" : "recipes",
+ "target" : "http://couchdb-remote:5984/recipes",
+}
+</programlisting>
+
+ <para>
+ Changes will be replicated between the two databases as long as
+ a network connection is available between the two instances.
+ </para>
+
+ <note>
+ <para>
+ Two keep two databases synchronized with each other, you need
+ to set replication in both directions; that is, you must
+ replicate from <literal>databasea</literal> to
+ <literal>databaseb</literal>, and separately from
+ <literal>databaseb</literal> to <literal>databasea</literal>.
+ </para>
+ </note>
+
+ </section>
+
+ <section id="couchdb-api-misc_replicate_post-cancel">
+
+ <title>Canceling Continuous Replication</title>
+
+ <para>
+ You can cancel continuous replication by adding the
+ <literal>cancel</literal> field to the JSON request object and
+ setting the value to true. Note that the structure of the
+ request must be identical to the original for the cancelation
+ request to be honoured. For example, if you requested continuous
+ replication, the cancellation request must also contain the
+ <literal>continuous</literal> field.
+ </para>
+
+ <para>
+ For example, the replication request:
+ </para>
+
+<programlisting>
+POST http://couchdb:5984/_replicate
+Content-Type: application/json
+Accept: application/json
+
+{
+ "source" : "recipes",
+ "target" : "http://couchdb-remote:5984/recipes",
+ "create_target" : true,
+ "continuous" : true
+}
+</programlisting>
+
+ <para>
+ Must be canceled using the request:
+ </para>
+
+<programlisting>
+POST http://couchdb:5984/_replicate
+Content-Type: application/json
+Accept: application/json
+
+{
+ "cancel" : true,
+ "continuous" : true
+ "create_target" : true,
+ "source" : "recipes",
+ "target" : "http://couchdb-remote:5984/recipes",
+}
+</programlisting>
+
+ <para>
+ Requesting cancellation of a replication that does not exist
+ results in a 404 error.
+ </para>
+
+ </section>
+
+ </section>
+
+ <section id="couchdb-api-misc_restart_post">
+
+ <title><literal>POST /_restart</literal></title>
+
+ <para role="meta">
+ <remark role="type" condition="urlapi"/>
+
+ <remark role="src" condition="couchdb"/>
+
+ <remark role="output" condition="accesstable"/>
+
+ <remark role="itemid" condition="restart"/>
+
+ <remark role="method" condition="POST"/>
+
+ <remark role="version" condition="inherit"/>
+ </para>
+
+ <para>
+ Restarts the CouchDB instance. You must be authenticated as a user
+ with administration privileges for this to work.
+ </para>
+
+ <para>
+ For example:
+ </para>
+
+<programlisting>
+POST http://admin:password@couchdb:5984/_restart
+</programlisting>
+
+ <para>
+ The return value (if the server has not already restarted) is a
+ JSON status object indicating that the request has been received:
+ </para>
+
+<programlisting>
+{
+ "ok" : true,
+}
+</programlisting>
+
+ <para>
+ If the server has already restarted, the header may be returned,
+ but no actual data is contained in the response.
+ </para>
+
+ </section>
+
+ <section id="couchdb-api-misc_stats_get">
+
+ <title><literal>GET /_stats</literal></title>
+
+ <para role="meta">
+ <remark role="type" condition="urlapi"/>
+
+ <remark role="src" condition="couchdb"/>
+
+ <remark role="output" condition="accesstable"/>
+
+ <remark role="itemid" condition="stats"/>
+
+ <remark role="method" condition="GET"/>
+
+ <remark role="version" condition="inherit"/>
+ </para>
+
+ <para>
+ The <literal>_stats</literal> method returns a JSON object
+ containting the statistics for the running server. The object is
+ structured with top-level sections collating the statistics for a
+ range of entries, with each individual statistic being easily
+ identified, and the content of each statistic is self-describing.
+ For example, the request time statistics, within the
+ <literal>couchdb</literal> section are structured as follows:
+ </para>
+
+<programlisting>
+{
+ "couchdb" : {
+...
+ "request_time" : {
+ "stddev" : "27.509",
+ "min" : "0.333333333333333",
+ "max" : "152",
+ "current" : "400.976",
+ "mean" : "10.837",
+ "sum" : "400.976",
+ "description" : "length of a request inside CouchDB without MochiWeb"
+ },
+...
+ }
+}
+ </programlisting>
+
+ <para>
+ The fields provide the current, minimum and maximum, and a
+ collection of statistical means and quantities. The quantity in
+ each case is not defined, but the descriptions below provide
+ </para>
+
+ <para>
+ The statistics are divided into the following top-level sections:
+ </para>
+
+ <itemizedlist>
+
+ <listitem>
+ <para>
+ <literal>couchdb</literal>
+ </para>
+
+ <para>
+ Describes statistics specific to the internals of CouchDB.
+ </para>
+
+ <table>
+ <title><literal>couchdb</literal> statistics</title>
+ <tgroup cols="3">
+ <colspec colname="stat"/>
+ <colspec colname="desc"/>
+ <colspec colname="unit"/>
+ <thead>
+ <row>
+ <entry>
+ Statistic ID
+ </entry>
+ <entry>
+ Description
+ </entry>
+ <entry>
+ Unit
+ </entry>
+ </row>
+ </thead>
+ <tbody>
+ <row>
+ <entry><literal>auth_cache_hits</literal>
+ </entry>
+ <entry>
+ Number of authentication cache hits
+ </entry>
+ <entry>
+ number
+ </entry>
+ </row>
+ <row>
+ <entry><literal>auth_cache_misses</literal>
+ </entry>
+ <entry>
+ Number of authentication cache misses
+ </entry>
+ <entry>
+ number
+ </entry>
+ </row>
+ <row>
+ <entry><literal>database_reads</literal>
+ </entry>
+ <entry>
+ Number of times a document was read from a database
+ </entry>
+ <entry>
+ number
+ </entry>
+ </row>
+ <row>
+ <entry><literal>database_writes</literal>
+ </entry>
+ <entry>
+ Number of times a database was changed
+ </entry>
+ <entry>
+ number
+ </entry>
+ </row>
+ <row>
+ <entry><literal>open_databases</literal>
+ </entry>
+ <entry>
+ Number of open databases
+ </entry>
+ <entry>
+ number
+ </entry>
+ </row>
+ <row>
+ <entry><literal>open_os_files</literal>
+ </entry>
+ <entry>
+ Number of file descriptors CouchDB has open
+ </entry>
+ <entry>
+ number
+ </entry>
+ </row>
+ <row>
+ <entry><literal>request_time</literal>
+ </entry>
+ <entry>
+ Length of a request inside CouchDB without MochiWeb
+ </entry>
+ <entry>
+ milliseconds
+ </entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </table>
+ </listitem>
+
+ <listitem>
+ <para>
+ <literal>httpd_request_methods</literal>
+ </para>
+
+ <table>
+ <title><literal>httpd_request_methods</literal> statistics</title>
+ <tgroup cols="3">
+ <colspec colname="stat"/>
+ <colspec colname="desc"/>
+ <colspec colname="unit"/>
+ <thead>
+ <row>
+ <entry>
+ Statistic ID
+ </entry>
+ <entry>
+ Description
+ </entry>
+ <entry>
+ Unit
+ </entry>
+ </row>
+ </thead>
+ <tbody>
+ <row>
+ <entry><literal>COPY</literal>
+ </entry>
+ <entry>
+ Number of HTTP COPY requests
+ </entry>
+ <entry>
+ number
+ </entry>
+ </row>
+ <row>
+ <entry><literal>DELETE</literal>
+ </entry>
+ <entry>
+ Number of HTTP DELETE requests
+ </entry>
+ <entry>
+ number
+ </entry>
+ </row>
+ <row>
+ <entry><literal>GET</literal>
+ </entry>
+ <entry>
+ Number of HTTP GET requests
+ </entry>
+ <entry>
+ number
+ </entry>
+ </row>
+ <row>
+ <entry><literal>HEAD</literal>
+ </entry>
+ <entry>
+ Number of HTTP HEAD requests
+ </entry>
+ <entry>
+ number
+ </entry>
+ </row>
+ <row>
+ <entry><literal>POST</literal>
+ </entry>
+ <entry>
+ Number of HTTP POST requests
+ </entry>
+ <entry>
+ number
+ </entry>
+ </row>
+ <row>
+ <entry><literal>PUT</literal>
+ </entry>
+ <entry>
+ Number of HTTP PUT requests
+ </entry>
+ <entry>
+ number
+ </entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </table>
+ </listitem>
+
+ <listitem>
+ <para>
+ <literal>httpd_status_codes</literal>
+ </para>
+
+ <table>
+ <title><literal>httpd_status_codes</literal> statistics</title>
+ <tgroup cols="3">
+ <colspec colname="stat"/>
+ <colspec colname="desc"/>
+ <colspec colname="unit"/>
+ <thead>
+ <row>
+ <entry>
+ Statistic ID
+ </entry>
+ <entry>
+ Description
+ </entry>
+ <entry>
+ Unit
+ </entry>
+ </row>
+ </thead>
+ <tbody>
+ <row>
+ <entry><literal>200</literal>
+ </entry>
+ <entry>
+ Number of HTTP 200 OK responses
+ </entry>
+ <entry>
+ number
+ </entry>
+ </row>
+ <row>
+ <entry><literal>201</literal>
+ </entry>
+ <entry>
+ Number of HTTP 201 Created responses
+ </entry>
+ <entry>
+ number
+ </entry>
+ </row>
+ <row>
+ <entry><literal>202</literal>
+ </entry>
+ <entry>
+ Number of HTTP 202 Accepted responses
+ </entry>
+ <entry>
+ number
+ </entry>
+ </row>
+ <row>
+ <entry><literal>301</literal>
+ </entry>
+ <entry>
+ Number of HTTP 301 Moved Permanently responses
+ </entry>
+ <entry>
+ number
+ </entry>
+ </row>
+ <row>
+ <entry><literal>304</literal>
+ </entry>
+ <entry>
+ Number of HTTP 304 Not Modified responses
+ </entry>
+ <entry>
+ number
+ </entry>
+ </row>
+ <row>
+ <entry><literal>400</literal>
+ </entry>
+ <entry>
+ Number of HTTP 400 Bad Request responses
+ </entry>
+ <entry>
+ number
+ </entry>
+ </row>
+ <row>
+ <entry><literal>401</literal>
+ </entry>
+ <entry>
+ Number of HTTP 401 Unauthorized responses
+ </entry>
+ <entry>
+ number
+ </entry>
+ </row>
+ <row>
+ <entry><literal>403</literal>
+ </entry>
+ <entry>
+ Number of HTTP 403 Forbidden responses
+ </entry>
+ <entry>
+ number
+ </entry>
+ </row>
+ <row>
+ <entry><literal>404</literal>
+ </entry>
+ <entry>
+ Number of HTTP 404 Not Found responses
+ </entry>
+ <entry>
+ number
+ </entry>
+ </row>
+ <row>
+ <entry><literal>405</literal>
+ </entry>
+ <entry>
+ Number of HTTP 405 Method Not Allowed responses
+ </entry>
+ <entry>
+ number
+ </entry>
+ </row>
+ <row>
+ <entry><literal>409</literal>
+ </entry>
+ <entry>
+ Number of HTTP 409 Conflict responses
+ </entry>
+ <entry>
+ number
+ </entry>
+ </row>
+ <row>
+ <entry><literal>412</literal>
+ </entry>
+ <entry>
+ Number of HTTP 412 Precondition Failed responses
+ </entry>
+ <entry>
+ number
+ </entry>
+ </row>
+ <row>
+ <entry><literal>500</literal>
+ </entry>
+ <entry>
+ Number of HTTP 500 Internal Server Error responses
+ </entry>
+ <entry>
+ number
+ </entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </table>
+ </listitem>
+
+ <listitem>
+ <para>
+ <literal>httpd</literal>
+ </para>
+
+ <table>
+ <title><literal>httpd</literal> statistics</title>
+ <tgroup cols="3">
+ <colspec colname="stat"/>
+ <colspec colname="desc"/>
+ <colspec colname="unit"/>
+ <thead>
+ <row>
+ <entry>
+ Statistic ID
+ </entry>
+ <entry>
+ Description
+ </entry>
+ <entry>
+ Unit
+ </entry>
+ </row>
+ </thead>
+ <tbody>
+ <row>
+ <entry><literal>bulk_requests</literal>
+ </entry>
+ <entry>
+ Number of bulk requests
+ </entry>
+ <entry>
+ number
+ </entry>
+ </row>
+ <row>
+ <entry><literal>clients_requesting_changes</literal>
+ </entry>
+ <entry>
+ Number of clients for continuous _changes
+ </entry>
+ <entry>
+ number
+ </entry>
+ </row>
+ <row>
+ <entry><literal>requests</literal>
+ </entry>
+ <entry>
+ Number of HTTP requests
+ </entry>
+ <entry>
+ number
+ </entry>
+ </row>
+ <row>
+ <entry><literal>temporary_view_reads</literal>
+ </entry>
+ <entry>
+ Number of temporary view reads
+ </entry>
+ <entry>
+ number
+ </entry>
+ </row>
+ <row>
+ <entry><literal>view_reads</literal>
+ </entry>
+ <entry>
+ Number of view reads
+ </entry>
+ <entry>
+ number
+ </entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </table>
+ </listitem>
+
+ </itemizedlist>
+
+ <para>
+ You can also access individual statistics by quoting the
+ statistics sections and statistic ID as part of the URL path. For
+ example, to get the <literal>request_time</literal> statistics,
+ you can use:
+ </para>
+
+<programlisting>
+GET /_stats/couchdb/request_time
+ </programlisting>
+
+ <para>
+ This returns an entire statistics object, as with the full
+ request, but containining only the request individual statistic.
+ Hence, the returned structure is as follows:
+ </para>
+
+<programlisting>
+{
+ "couchdb" : {
+ "request_time" : {
+ "stddev" : 7454.305,
+ "min" : 1,
+ "max" : 34185,
+ "current" : 34697.803,
+ "mean" : 1652.276,
+ "sum" : 34697.803,
+ "description" : "length of a request inside CouchDB without MochiWeb"
+ }
+ }
+}
+ </programlisting>
+
+ </section>
+
+ <section id="couchdb-api-misc_utils_get">
+
+ <title><literal>GET /_utils</literal></title>
+
+ <para role="meta">
+ <remark role="type" condition="urlapi"/>
+
+ <remark role="src" condition="couchdb"/>
+
+ <remark role="output" condition="accesstable"/>
+
+ <remark role="itemid" condition="utils"/>
+
+ <remark role="method" condition="GET"/>
+
+ <remark role="version" condition="inherit"/>
+ </para>
+
+ <para>
+ Accesses the built-in Futon administration interface for CouchDB.
+ </para>
+
+ </section>
+
+ <section id="couchdb-api-misc_uuids_get">
+
+ <title><literal>GET /_uuids</literal></title>
+
+ <para role="meta">
+ <remark role="type" condition="urlapi"/>
+
+ <remark role="src" condition="couchdb"/>
+
+ <remark role="output" condition="accesstable"/>
+
+ <remark role="itemid" condition="uuids"/>
+
+ <remark role="method" condition="GET"/>
+
+ <remark role="version" condition="inherit"/>
+ </para>
+
+ <para>
+ Requests one or more Universally Unique Identifiers (UUIDs) from
+ the CouchDB instance. The response is a JSON object providing a
+ list of UUIDs. For example:
+ </para>
+
+<programlisting>
+{
+ "uuids" : [
+ "7e4b5a14b22ec1cf8e58b9cdd0000da3"
+ ]
+}
+</programlisting>
+
+ <para>
+ You can use the <literal>count</literal> argument to specify the
+ number of UUIDs to be returned. For example:
+ </para>
+
+<programlisting>
+ GET http://couchdb:5984/_uuids?count=5
+</programlisting>
+
+ <para>
+ Returns:
+ </para>
+
+<programlisting>
+{
+ "uuids" : [
+ "c9df0cdf4442f993fc5570225b405a80",
+ "c9df0cdf4442f993fc5570225b405bd2",
+ "c9df0cdf4442f993fc5570225b405e42",
+ "c9df0cdf4442f993fc5570225b4061a0",
+ "c9df0cdf4442f993fc5570225b406a20"
+ ]
+}
+</programlisting>
+
+ <para>
+ The UUID type is determined by the UUID type setting in the
+ CouchDB configuration. See
+ <xref linkend="couchdb-api-config_config-section-key_put"/>.
+ </para>
+
+ <para>
+ For example, changing the UUID type to <literal>random</literal>:
+ </para>
+
+<programlisting>
+PUT http://couchdb:5984/_config/uuids/algorithm
+Content-Type: application/json
+Accept: */*
+
+"random"
+</programlisting>
+
+ <para>
+ When obtaining a list of UUIDs:
+ </para>
+
+<programlisting>
+{
+ "uuids" : [
+ "031aad7b469956cf2826fcb2a9260492",
+ "6ec875e15e6b385120938df18ee8e496",
+ "cff9e881516483911aa2f0e98949092d",
+ "b89d37509d39dd712546f9510d4a9271",
+ "2e0dbf7f6c4ad716f21938a016e4e59f"
+ ]
+}
+</programlisting>
+
+ </section>
+
+ <section id="couchdb-api-misc_favicon_get">
+
+ <title><literal>GET /favicon.ico</literal></title>
+
+ <para role="meta">
+ <remark role="type" condition="urlapi"/>
+
+ <remark role="src" condition="couchdb"/>
+
+ <remark role="output" condition="accesstable"/>
+
+ <remark role="itemid" condition="favicon"/>
+
+ <remark role="method" condition="GET"/>
+
+ <remark role="version" condition="inherit"/>
+ </para>
+
+ <para>
+ Returns the site icon. The return <literal>Content-type</literal>
+ header is <literal>image/x-icon</literal>, and the content stream
+ is the image data.
+ </para>
+
+ </section>
+
+</chapter>
http://git-wip-us.apache.org/repos/asf/couchdb/blob/749f8c8c/share/docs/couchdb-manual-1.1/couchdb-changes-metasrc.xml
----------------------------------------------------------------------
diff --git a/share/docs/couchdb-manual-1.1/couchdb-changes-metasrc.xml b/share/docs/couchdb-manual-1.1/couchdb-changes-metasrc.xml
new file mode 100644
index 0000000..3387486
--- /dev/null
+++ b/share/docs/couchdb-manual-1.1/couchdb-changes-metasrc.xml
@@ -0,0 +1,67 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE chapter PUBLIC '-//OASIS//DTD DocBook XML V4.5//EN'
+ 'http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd' [
+<!ENTITY % every.entities SYSTEM "entities.ent">
+%every.entities;
+]>
+<chapter id="couchdb-single-changes">
+
+ <title>Changes Feed</title>
+
+ <para>
+
+ </para>
+
+ <para role="meta" id="table-couchdb-single-changes-json-changes">
+ <remark role="type" condition="json"/>
+
+ <remark role="src" condition="json"/>
+
+ <remark role="output" condition="itemtable"/>
+
+ <remark role="itemid" condition="changes"/>
+
+ <remark role="version" condition="inherit"/>
+ </para>
+
+ <section id="couchdb-single-changes-poll">
+
+ <title>Polling</title>
+
+ <para>
+
+ </para>
+
+ </section>
+
+ <section id="couchdb-single-changes-longpoll">
+
+ <title>Long Polling</title>
+
+ <para>
+
+ </para>
+
+ </section>
+
+ <section id="couchdb-single-changes-continuous">
+
+ <title>Continuous</title>
+
+ <para>
+
+ </para>
+
+ </section>
+
+ <section id="couchdb-single-changes-filters">
+
+ <title>Filters</title>
+
+ <para>
+
+ </para>
+
+ </section>
+
+</chapter>
http://git-wip-us.apache.org/repos/asf/couchdb/blob/749f8c8c/share/docs/couchdb-manual-1.1/couchdb-config-options-metasrc.xml
----------------------------------------------------------------------
diff --git a/share/docs/couchdb-manual-1.1/couchdb-config-options-metasrc.xml b/share/docs/couchdb-manual-1.1/couchdb-config-options-metasrc.xml
new file mode 100644
index 0000000..d8a5fa5
--- /dev/null
+++ b/share/docs/couchdb-manual-1.1/couchdb-config-options-metasrc.xml
@@ -0,0 +1,393 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE section PUBLIC '-//OASIS//DTD DocBook XML V4.5//EN'
+ 'http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd' [
+<!ENTITY % every.entities SYSTEM "entities.ent">
+%every.entities;
+]>
+<section id="couchdb-single-config-options">
+
+ <title>CouchDB Configuration Options</title>
+
+ <para>
+
+ </para>
+
+ <para role="meta" id="table-couchdb-single-config-options-summary">
+ <remark role="title">Configuration Groups</remark>
+
+ <remark role="type" condition="config"/>
+
+ <remark role="src" condition="couchdb"/>
+
+ <remark role="output" condition="classsummarytable"/>
+
+ <remark role="version" condition="1.0"/>
+
+<!-- <remark role="idprefix" condition="config-couchdb-options"/>-->
+ </para>
+
+ <section id="couchdb-single-config-options_attachments">
+
+ <title><literal>attachments</literal> Configuration Options</title>
+
+ <para>
+
+ </para>
+
+ <para role="meta" id="table-couchdb-single-config-options-attachments-summary">
+ <remark role="title">Configuration Groups</remark>
+
+ <remark role="type" condition="config"/>
+
+ <remark role="src" condition="couchdb"/>
+
+ <remark role="output" condition="optionsummarytable"/>
+
+ <remark role="version" condition="1.0"/>
+
+ <remark role="itemid" condition="attachments"/>
+
+<!-- <remark role="idprefix" condition="couchdb-single-config-options_attachments"/> -->
+ </para>
+
+ </section>
+
+ <section id="couchdb-single-config-options_couchdb">
+
+ <title><literal>couchdb</literal> Configuration Options</title>
+
+ <para>
+
+ </para>
+
+ <para role="meta" id="table-couchdb-single-config-options-couchdb-summary">
+ <remark role="title">Configuration Groups</remark>
+
+ <remark role="type" condition="config"/>
+
+ <remark role="src" condition="couchdb"/>
+
+ <remark role="output" condition="optionsummarytable"/>
+
+ <remark role="version" condition="1.0"/>
+
+ <remark role="itemid" condition="couchdb"/>
+
+<!-- <remark role="idprefix" condition="couchdb-single-config-options_couchdb"/> -->
+ </para>
+
+ </section>
+
+ <section id="couchdb-single-config-options_daemons">
+
+ <title><literal>daemons</literal> Configuration Options</title>
+
+ <para>
+
+ </para>
+
+ <para role="meta" id="table-couchdb-single-config-options-daemons-summary">
+ <remark role="title">Configuration Groups</remark>
+
+ <remark role="type" condition="config"/>
+
+ <remark role="src" condition="couchdb"/>
+
+ <remark role="output" condition="optionsummarytable"/>
+
+ <remark role="version" condition="1.0"/>
+
+ <remark role="itemid" condition="daemons"/>
+
+<!-- <remark role="idprefix" condition="couchdb-single-config-options_daemons"/> -->
+ </para>
+
+ </section>
+
+ <section id="couchdb-single-config-options_httpd_db_handlers">
+
+ <title><literal>httpd_db_handlers</literal> Configuration Options</title>
+
+ <para>
+
+ </para>
+
+ <para role="meta" id="table-couchdb-single-config-options-httpd_db_handlers-summary">
+ <remark role="title">Configuration Groups</remark>
+
+ <remark role="type" condition="config"/>
+
+ <remark role="src" condition="couchdb"/>
+
+ <remark role="output" condition="optionsummarytable"/>
+
+ <remark role="version" condition="1.0"/>
+
+ <remark role="itemid" condition="httpd_db_handlers"/>
+
+<!-- <remark role="idprefix" condition="couchdb-single-config-options_httpd_db_handlers"/> -->
+ </para>
+
+ </section>
+
+ <section id="couchdb-single-config-options_couch_httpd_auth">
+
+ <title><literal>couch_httpd_auth</literal> Configuration Options</title>
+
+ <para>
+
+ </para>
+
+ <para role="meta" id="table-couchdb-single-config-options-couch_httpd_auth-summary">
+ <remark role="title">Configuration Groups</remark>
+
+ <remark role="type" condition="config"/>
+
+ <remark role="src" condition="couchdb"/>
+
+ <remark role="output" condition="optionsummarytable"/>
+
+ <remark role="version" condition="1.0"/>
+
+ <remark role="itemid" condition="couch_httpd_auth"/>
+
+<!-- <remark role="idprefix" condition="couchdb-single-config-options_couch_httpd_auth"/> -->
+ </para>
+
+ </section>
+
+ <section id="couchdb-single-config-options_httpd">
+
+ <title><literal>httpd</literal> Configuration Options</title>
+
+ <para>
+
+ </para>
+
+ <para role="meta" id="table-couchdb-single-config-options-httpd-summary">
+ <remark role="title">Configuration Groups</remark>
+
+ <remark role="type" condition="config"/>
+
+ <remark role="src" condition="couchdb"/>
+
+ <remark role="output" condition="optionsummarytable"/>
+
+ <remark role="version" condition="1.0"/>
+
+ <remark role="itemid" condition="httpd"/>
+
+<!-- <remark role="idprefix" condition="couchdb-single-config-options_httpd"/> -->
+ </para>
+
+ </section>
+
+ <section id="couchdb-single-config-options_httpd_design_handlers">
+
+ <title><literal>httpd_design_handlers</literal> Configuration Options</title>
+
+ <para>
+
+ </para>
+
+ <para role="meta" id="table-couchdb-single-config-options-httpd_design_handlers-summary">
+ <remark role="title">Configuration Groups</remark>
+
+ <remark role="type" condition="config"/>
+
+ <remark role="src" condition="couchdb"/>
+
+ <remark role="output" condition="optionsummarytable"/>
+
+ <remark role="version" condition="1.0"/>
+
+ <remark role="itemid" condition="httpd_design_handlers"/>
+
+<!-- <remark role="idprefix" condition="couchdb-single-config-options_httpd_design_handlers"/> -->
+ </para>
+
+ </section>
+
+ <section id="couchdb-single-config-options_httpd_global_handlers">
+
+ <title><literal>httpd_global_handlers</literal> Configuration Options</title>
+
+ <para>
+
+ </para>
+
+ <para role="meta" id="table-couchdb-single-config-options-httpd_global_handlers-summary">
+ <remark role="title">Configuration Groups</remark>
+
+ <remark role="type" condition="config"/>
+
+ <remark role="src" condition="couchdb"/>
+
+ <remark role="output" condition="optionsummarytable"/>
+
+ <remark role="version" condition="1.0"/>
+
+ <remark role="itemid" condition="httpd_global_handlers"/>
+
+<!-- <remark role="idprefix" condition="couchdb-single-config-options_httpd_global_handlers"/> -->
+ </para>
+
+ </section>
+
+ <section id="couchdb-single-config-options_log">
+
+ <title><literal>log</literal> Configuration Options</title>
+
+ <para>
+
+ </para>
+
+ <para role="meta" id="table-couchdb-single-config-options-log-summary">
+ <remark role="title">Configuration Groups</remark>
+
+ <remark role="type" condition="config"/>
+
+ <remark role="src" condition="couchdb"/>
+
+ <remark role="output" condition="optionsummarytable"/>
+
+ <remark role="version" condition="1.0"/>
+
+ <remark role="itemid" condition="log"/>
+
+<!-- <remark role="idprefix" condition="couchdb-single-config-options_log"/> -->
+ </para>
+
+ </section>
+
+ <section id="couchdb-single-config-options_query_servers">
+
+ <title><literal>query_servers</literal> Configuration Options</title>
+
+ <para>
+
+ </para>
+
+ <para role="meta" id="table-couchdb-single-config-options-query_servers-summary">
+ <remark role="title">Configuration Groups</remark>
+
+ <remark role="type" condition="config"/>
+
+ <remark role="src" condition="couchdb"/>
+
+ <remark role="output" condition="optionsummarytable"/>
+
+ <remark role="version" condition="1.0"/>
+
+ <remark role="itemid" condition="query_servers"/>
+
+<!-- <remark role="idprefix" condition="couchdb-single-config-options_query_servers"/> -->
+ </para>
+
+ </section>
+
+ <section id="couchdb-single-config-options_query_server_config">
+
+ <title><literal>query_server_config</literal> Configuration Options</title>
+
+ <para>
+
+ </para>
+
+ <para role="meta" id="table-couchdb-single-config-options-query_server_config-summary">
+ <remark role="title">Configuration Groups</remark>
+
+ <remark role="type" condition="config"/>
+
+ <remark role="src" condition="couchdb"/>
+
+ <remark role="output" condition="optionsummarytable"/>
+
+ <remark role="version" condition="1.0"/>
+
+ <remark role="itemid" condition="query_server_config"/>
+
+<!-- <remark role="idprefix" condition="couchdb-single-config-options_query_server_config"/> -->
+ </para>
+
+ </section>
+
+ <section id="couchdb-single-config-options_replicator">
+
+ <title><literal>replicator</literal> Configuration Options</title>
+
+ <para>
+
+ </para>
+
+ <para role="meta" id="table-couchdb-single-config-options-replicator-summary">
+ <remark role="title">Configuration Groups</remark>
+
+ <remark role="type" condition="config"/>
+
+ <remark role="src" condition="couchdb"/>
+
+ <remark role="output" condition="optionsummarytable"/>
+
+ <remark role="version" condition="1.0"/>
+
+ <remark role="itemid" condition="replicator"/>
+
+<!-- <remark role="idprefix" condition="couchdb-single-config-options_replicator"/> -->
+ </para>
+
+ </section>
+
+ <section id="couchdb-single-config-options_stats">
+
+ <title><literal>stats</literal> Configuration Options</title>
+
+ <para>
+
+ </para>
+
+ <para role="meta" id="table-couchdb-single-config-options-stats-summary">
+ <remark role="title">Configuration Groups</remark>
+
+ <remark role="type" condition="config"/>
+
+ <remark role="src" condition="couchdb"/>
+
+ <remark role="output" condition="optionsummarytable"/>
+
+ <remark role="version" condition="1.0"/>
+
+ <remark role="itemid" condition="stats"/>
+
+<!-- <remark role="idprefix" condition="couchdb-single-config-options_stats"/> -->
+ </para>
+
+ </section>
+
+ <section id="couchdb-single-config-options_uuids">
+
+ <title><literal>uuids</literal> Configuration Options</title>
+
+ <para>
+
+ </para>
+
+ <para role="meta" id="table-couchdb-single-config-options-uuids-summary">
+ <remark role="title">Configuration Groups</remark>
+
+ <remark role="type" condition="config"/>
+
+ <remark role="src" condition="couchdb"/>
+
+ <remark role="output" condition="optionsummarytable"/>
+
+ <remark role="version" condition="1.0"/>
+
+ <remark role="itemid" condition="uuids"/>
+
+<!-- <remark role="idprefix" condition="couchdb-single-config-options_uuids"/> -->
+ </para>
+
+ </section>
+
+</section>