From couchdb-commits-return-1006vshelton@example.com Mon Sep 01 00:57:39 2008 Return-Path: <couchdb-commits-return-1006vshelton@example.com> Delivered-To: vshelton@example.com Received: (qmail 39537 invoked from network); 1 Sep 2008 00:57:39 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (83.161.120.155) by minotaur.apache.org with SMTP; 1 Sep 2008 00:57:39 -0000 Received: (qmail 30595 invoked by uid 500); 1 Sep 2008 00:57:37 -0000 Delivered-To: vshelton@example.com Received: (qmail 30579 invoked by uid 500); 1 Sep 2008 00:57:37 -0000 Mailing-List: contact vshelton@example.com; run by ezmlm Precedence: bulk List-Help: <mailto:vshelton@example.com> List-Unsubscribe: <mailto:vshelton@example.com> List-Post: <mailto:vshelton@example.com> List-Id: <couchdb-commits.incubator.apache.org> Reply-To: vshelton@example.com Delivered-To: mailing list vshelton@example.com Received: (qmail 30569 invoked by uid 99); 1 Sep 2008 00:57:37 -0000 Received: from athena.apache.org (HELO athena.apache.org) (83.161.120.155) by apache.org (qpsmtpd/0.29) with ESMTP; Sun, 31 Aug 2008 17:57:37 -0700 X-ASF-Spam-Status: No, hits=-2000.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [83.161.120.155] (HELO eos.apache.org) (83.161.120.155) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 01 Sep 2008 00:56:38 +0000 Received: from eos.apache.org (localhost [83.161.120.155]) by eos.apache.org (Postfix) with ESMTP id 01AAD1112F for <vshelton@example.com>; Mon, 1 Sep 2008 00:57:08 +0000 (GMT) Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: Apache Wiki <vshelton@example.com> To: vshelton@example.com Date: Mon, 01 Sep 2008 00:57:08 -0000 Message-ID: <vshelton@example.com> Subject: [Couchdb Wiki] Update of "GettingStartedWithPerl" by JeremyWall X-Virus-Checked: Checked by ClamAV on apache.org Dear Wiki user, You have subscribed to a wiki page or wiki category on "Couchdb Wiki" for change notification. The following page has been changed by JeremyWall: http://wiki.apache.org/couchdb/GettingStartedWithPerl ------------------------------------------------------------------------------ Getting started with Perl and the CouchDB API. - The following shows the basics of working with the raw CouchDB REST api from Perl. If you want a richer interface that more tightly maps Couch documents into Perl (so you don't have to deal with JSON manually, for example), you should pick your favourite out of the several implementations: [http://search.cpan.org/dist/Net-CouchDb/ Net888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4ouchDb] (See also [http://git.ndrix.com/?p=Net-CouchDB Michael Hendricks' version]), [http://search.cpan.org/dist/CouchDB-Client/ Couch888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4Client], [http://search.cpan.org/dist/AnyEvent-CouchDB/ AnyEvent888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4ouchDB], or for POE lovers [http://search.cpan.org/dist/POE-Component-Client-CouchDB/ PO888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4Component888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4lient888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4ouchDB]. + The following shows the basics of working with the raw CouchDB REST api from Perl. If you want a richer interface that more tightly maps Couch documents into Perl (so you don't have to deal with JSON manually, for example), you should pick your favourite out of the several implementations: [http://search.cpan.org/dist/Net-CouchDb/ Net888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4ouchDb] (See also [http://git.ndrix.com/?p=Net-CouchDB Michael Hendricks' version]), [http://search.cpan.org/dist/CouchDB-Client/ Couch888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4Client], [http://search.cpan.org/dist/AnyEvent-CouchDB/ AnyEvent888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4ouchDB], [http://search.cpan.org/~zaphar/DB-CouchDB-Schema-0.2.1/lib/DB/CouchDB/Schema.pm 888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4Couch888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4Schema], or for POE lovers [http://search.cpan.org/dist/POE-Component-Client-CouchDB/ PO888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4Component888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4lient888a:dbb7:2d49:b3f6:8605:bf4e:caed:e5a4ouchDB]. Note that these examples all use the new version of CouchDB, with a JSON interface rather than XML. From couchdb-commits-return-1007vshelton@example.com Mon Sep 01 15:52:32 2008 Return-Path: <couchdb-commits-return-1007vshelton@example.com> Delivered-To: vshelton@example.com Received: (qmail 38604 invoked from network); 1 Sep 2008 15:52:32 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (83.161.120.155) by minotaur.apache.org with SMTP; 1 Sep 2008 15:52:32 -0000 Received: (qmail 36021 invoked by uid 500); 1 Sep 2008 15:52:30 -0000 Delivered-To: vshelton@example.com Received: (qmail 35999 invoked by uid 500); 1 Sep 2008 15:52:30 -0000 Mailing-List: contact vshelton@example.com; run by ezmlm Precedence: bulk List-Help: <mailto:vshelton@example.com> List-Unsubscribe: <mailto:vshelton@example.com> List-Post: <mailto:vshelton@example.com> List-Id: <couchdb-commits.incubator.apache.org> Reply-To: vshelton@example.com Delivered-To: mailing list vshelton@example.com Received: (qmail 35990 invoked by uid 99); 1 Sep 2008 15:52:30 -0000 Received: from athena.apache.org (HELO athena.apache.org) (83.161.120.155) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 01 Sep 2008 08:52:30 -0700 X-ASF-Spam-Status: No, hits=-2000.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [83.161.120.155] (HELO eris.apache.org) (83.161.120.155) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 01 Sep 2008 15:51:39 +0000 Received: by eris.apache.org (Postfix, from userid 65534) id 15BB2238899C; Mon, 1 Sep 2008 08:52:10 -0700 (PDT) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r691003 - /incubator/couchdb/trunk/bin/couchdb.tpl.in Date: Mon, 01 Sep 2008 15:52:10 -0000 To: vshelton@example.com From: vshelton@example.com X-Mailer: svnmailer-1.0.8 Message-Id: <vshelton@example.com> X-Virus-Checked: Checked by ClamAV on apache.org Author: nslater Date: Mon Sep 1 08:52:09 2008 New Revision: 691003 URL: http://svn.apache.org/viewvc?rev=691003&view=rev Log: removed unused variables Modified: incubator/couchdb/trunk/bin/couchdb.tpl.in Modified: incubator/couchdb/trunk/bin/couchdb.tpl.in URL: http://svn.apache.org/viewvc/incubator/couchdb/trunk/bin/couchdb.tpl.in?rev=691003&r1=691002&r2=691003&view=diff ============================================================================== --- incubator/couchdb/trunk/bin/couchdb.tpl.in (original) +++ incubator/couchdb/trunk/bin/couchdb.tpl.in Mon Sep 1 08:52:09 2008 @@ -23,9 +23,6 @@ RESPAWN_TIMEOUT=0 -LIB_DIRECTORY=%localstatelibdir% -LOG_DIRECTORY=%localstatelogdir% - DEFAULT_INI_FILE=%localconfdir%/default.ini LOCAL_INI_FILE=%localconfdir%/local.ini From couchdb-commits-return-1008vshelton@example.com Mon Sep 01 17:09:33 2008 Return-Path: <couchdb-commits-return-1008vshelton@example.com> Delivered-To: vshelton@example.com Received: (qmail 72571 invoked from network); 1 Sep 2008 17:09:33 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (83.161.120.155) by minotaur.apache.org with SMTP; 1 Sep 2008 17:09:33 -0000 Received: (qmail 9441 invoked by uid 500); 1 Sep 2008 17:09:31 -0000 Delivered-To: vshelton@example.com Received: (qmail 9410 invoked by uid 500); 1 Sep 2008 17:09:31 -0000 Mailing-List: contact vshelton@example.com; run by ezmlm Precedence: bulk List-Help: <mailto:vshelton@example.com> List-Unsubscribe: <mailto:vshelton@example.com> List-Post: <mailto:vshelton@example.com> List-Id: <couchdb-commits.incubator.apache.org> Reply-To: vshelton@example.com Delivered-To: mailing list vshelton@example.com Received: (qmail 9401 invoked by uid 99); 1 Sep 2008 17:09:31 -0000 Received: from athena.apache.org (HELO athena.apache.org) (83.161.120.155) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 01 Sep 2008 10:09:31 -0700 X-ASF-Spam-Status: No, hits=-2000.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [83.161.120.155] (HELO eos.apache.org) (83.161.120.155) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 01 Sep 2008 17:08:41 +0000 Received: from eos.apache.org (localhost [83.161.120.155]) by eos.apache.org (Postfix) with ESMTP id 4539211151 for <vshelton@example.com>; Mon, 1 Sep 2008 17:09:12 +0000 (GMT) Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: Apache Wiki <vshelton@example.com> To: vshelton@example.com Date: Mon, 01 Sep 2008 17:09:12 -0000 Message-ID: <vshelton@example.com> Subject: [Couchdb Wiki] Update of "Contributing" by ChristopherLenz X-Virus-Checked: Checked by ClamAV on apache.org Dear Wiki user, You have subscribed to a wiki page or wiki category on "Couchdb Wiki" for change notification. The following page has been changed by ChristopherLenz: http://wiki.apache.org/couchdb/Contributing The comment on the change is: Update the instructions for running from source for the config names in trunk ------------------------------------------------------------------------------ Then create a configuration file that you'll use for running CouchDB directly from the source directory. We'll call it `couch_dev.ini` and drop it directly into the checkout directory, with the following content: (Note that we have CouchDB running on port 5985, so that it doesn't conflict with any existing running instance on the standard port.) {{{ - [CouchDB] + [couchdb] + allow_remote_restart = true + database_dir = . + util_driver_dir = src/couchdb/.libs - RootDirectory=. - UtilDriverDir=./src/couchdb/.libs/ - AllowRemoteRestart=true + [httpd] + port = 5985 + utils_dir = share/www - [HTTPd] + [log] + file = couch.log + level = debug + [query_servers] - DocumentRoot=./share/www - BindAddress=83.161.120.155 - Port=5985 - - [Log] - Level=debug - - [CouchDB Query Servers] - javascript=./bin/couchjs ./share/server/main.js + javascript = src/couchdb/couchjs share/server/main.js - }}} - Note that we use relative paths for anything that's in the checkout (such as the static resources and the Javascript view server). For the database directory and the log file, we're using a temporary path here, but it could really be anything you'd like. + Note that we use relative paths for anything that's in the checkout (such as the static resources and the Javascript view server). For the database directory and the log file, we're using the current working directory here, but it could really be anything you'd like (such as a directory in `/tmp`). Now you can fire up CouchDB as follows. Do this from the top of the checkout directory so that the relative paths we put in the configuration file work correctly. @@ -119, +116 @@ When CouchDB starts, you should see: {{{ - Apache CouchDB 0.9.0a-incubating (LogLevel=debug) is starting. + Apache CouchDB 0.9.0a690675-incubating (LogLevel=debug) is starting. Configuration Settings ["couch_dev.ini"]: - [CouchDB] AllowRemoteRestart="true" + [couchdb] allow_remote_restart="true" - [CouchDB] RootDirectory="." + [couchdb] database_dir="." - [CouchDB] UtilDriverDir="./src/couchdb/.libs/" + [couchdb] util_driver_dir="src/couchdb/.libs" - [CouchDB Query Servers] javascript="./bin/couchjs ./share/server/main.js" - [HTTPd] BindAddress="83.161.120.155" - [HTTPd] DocumentRoot="./share/www" - [HTTPd] Port="5985" + [httpd] port="5985" + [httpd] utils_dir="share/www" + [log] file="couch.log" - [Log] Level="debug" + [log] level="debug" + [query_servers] javascript="src/couchdb/couchjs share/server/main.js" Apache CouchDB has started. Time to relax. }}} From couchdb-commits-return-1009vshelton@example.com Tue Sep 02 00:25:52 2008 Return-Path: <couchdb-commits-return-1009vshelton@example.com> Delivered-To: vshelton@example.com Received: (qmail 39410 invoked from network); 2 Sep 2008 00:25:52 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (83.161.120.155) by minotaur.apache.org with SMTP; 2 Sep 2008 00:25:52 -0000 Received: (qmail 19357 invoked by uid 500); 2 Sep 2008 00:25:50 -0000 Delivered-To: vshelton@example.com Received: (qmail 19339 invoked by uid 500); 2 Sep 2008 00:25:50 -0000 Mailing-List: contact vshelton@example.com; run by ezmlm Precedence: bulk List-Help: <mailto:vshelton@example.com> List-Unsubscribe: <mailto:vshelton@example.com> List-Post: <mailto:vshelton@example.com> List-Id: <couchdb-commits.incubator.apache.org> Reply-To: vshelton@example.com Delivered-To: mailing list vshelton@example.com Received: (qmail 19330 invoked by uid 99); 2 Sep 2008 00:25:50 -0000 Received: from athena.apache.org (HELO athena.apache.org) (83.161.120.155) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 01 Sep 2008 17:25:50 -0700 X-ASF-Spam-Status: No, hits=-2000.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [83.161.120.155] (HELO eos.apache.org) (83.161.120.155) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 02 Sep 2008 00:25:00 +0000 Received: from eos.apache.org (localhost [83.161.120.155]) by eos.apache.org (Postfix) with ESMTP id 477F211151 for <vshelton@example.com>; Tue, 2 Sep 2008 00:25:01 +0000 (GMT) Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: Apache Wiki <vshelton@example.com> To: vshelton@example.com Date: Tue, 02 Sep 2008 00:25:01 -0000 Message-ID: <{{EMAIL+SOCIAL_SECURITY_NUMBER}}> Subject: [Couchdb Wiki] Update of "FrontPage" by ArjunGuha X-Virus-Checked: Checked by ClamAV on apache.org Dear Wiki user, You have subscribed to a wiki page or wiki category on "Couchdb Wiki" for change notification. The following page has been changed by ArjunGuha: http://wiki.apache.org/couchdb/FrontPage ------------------------------------------------------------------------------ * GettingStartedWithCeeSharp * GettingStartedWithErlang * GettingStartedWithFuton + * GettingStartedWithHaskell * GettingStartedWithJava * GettingStartedWithJavaScript * GettingStartedWithLisp From couchdb-commits-return-1010vshelton@example.com Tue Sep 02 00:29:16 2008 Return-Path: <couchdb-commits-return-1010vshelton@example.com> Delivered-To: vshelton@example.com Received: (qmail 41904 invoked from network); 2 Sep 2008 00:29:16 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (83.161.120.155) by minotaur.apache.org with SMTP; 2 Sep 2008 00:29:16 -0000 Received: (qmail 19959 invoked by uid 500); 2 Sep 2008 00:29:14 -0000 Delivered-To: vshelton@example.com Received: (qmail 19926 invoked by uid 500); 2 Sep 2008 00:29:14 -0000 Mailing-List: contact vshelton@example.com; run by ezmlm Precedence: bulk List-Help: <mailto:vshelton@example.com> List-Unsubscribe: <mailto:vshelton@example.com> List-Post: <mailto:vshelton@example.com> List-Id: <couchdb-commits.incubator.apache.org> Reply-To: vshelton@example.com Delivered-To: mailing list vshelton@example.com Received: (qmail 19917 invoked by uid 99); 2 Sep 2008 00:29:14 -0000 Received: from athena.apache.org (HELO athena.apache.org) (83.161.120.155) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 01 Sep 2008 17:29:14 -0700 X-ASF-Spam-Status: No, hits=-2000.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [83.161.120.155] (HELO eos.apache.org) (83.161.120.155) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 02 Sep 2008 00:28:12 +0000 Received: from eos.apache.org (localhost [83.161.120.155]) by eos.apache.org (Postfix) with ESMTP id D563D11151 for <vshelton@example.com>; Tue, 2 Sep 2008 00:28:12 +0000 (GMT) Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: Apache Wiki <vshelton@example.com> To: vshelton@example.com Date: Tue, 02 Sep 2008 00:28:12 -0000 Message-ID: <vshelton@example.com> Subject: [Couchdb Wiki] Update of "GettingStartedWithHaskell" by ArjunGuha X-Virus-Checked: Checked by ClamAV on apache.org Dear Wiki user, You have subscribed to a wiki page or wiki category on "Couchdb Wiki" for change notification. The following page has been changed by ArjunGuha: http://wiki.apache.org/couchdb/GettingStartedWithHaskell New page: Haskell bindings for CouchDB are available on [http://hackage.haskell.org/cgi-bin/hackage-scripts/package/CouchDB Hackage], the Haskell package library. [http://hackage.haskell.org/packages/archive/CouchDB/83.161.120.155/doc/html/Database-CouchDB.html Documentation] From couchdb-commits-return-1011vshelton@example.com Tue Sep 02 14:50:19 2008 Return-Path: <couchdb-commits-return-1011vshelton@example.com> Delivered-To: vshelton@example.com Received: (qmail 51770 invoked from network); 2 Sep 2008 14:50:19 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (83.161.120.155) by minotaur.apache.org with SMTP; 2 Sep 2008 14:50:19 -0000 Received: (qmail 99454 invoked by uid 500); 2 Sep 2008 14:50:18 -0000 Delivered-To: vshelton@example.com Received: (qmail 99429 invoked by uid 500); 2 Sep 2008 14:50:17 -0000 Mailing-List: contact vshelton@example.com; run by ezmlm Precedence: bulk List-Help: <mailto:vshelton@example.com> List-Unsubscribe: <mailto:vshelton@example.com> List-Post: <mailto:vshelton@example.com> List-Id: <couchdb-commits.incubator.apache.org> Reply-To: vshelton@example.com Delivered-To: mailing list vshelton@example.com Received: (qmail 99420 invoked by uid 99); 2 Sep 2008 14:50:17 -0000 Received: from athena.apache.org (HELO athena.apache.org) (83.161.120.155) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 02 Sep 2008 07:50:17 -0700 X-ASF-Spam-Status: No, hits=-2000.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [83.161.120.155] (HELO eos.apache.org) (83.161.120.155) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 02 Sep 2008 14:49:17 +0000 Received: from eos.apache.org (localhost [83.161.120.155]) by eos.apache.org (Postfix) with ESMTP id E38C41112F for <vshelton@example.com>; Tue, 2 Sep 2008 14:49:47 +0000 (GMT) Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: Apache Wiki <vshelton@example.com> To: vshelton@example.com Date: Tue, 02 Sep 2008 14:49:47 -0000 Message-ID: <vshelton@example.com> Subject: [Couchdb Wiki] Update of "RubyLibrary" by PaulCarey X-Virus-Checked: Checked by ClamAV on apache.org Dear Wiki user, You have subscribed to a wiki page or wiki category on "Couchdb Wiki" for change notification. The following page has been changed by PaulCarey: http://wiki.apache.org/couchdb/RubyLibrary ------------------------------------------------------------------------------ {{{ gem install jchris-couchrest -s http://gems.github.com }}} - -- + ---- You can get started fairly quickly using [http://couchobject.rubyforge.org Couch Object] @@ -18, +18 @@ As of version 0.6 it supports has_many, has_one and belongs_to relations, in addition to amongst others time stamps. Please have a look at the [http://couchobject.rubyforge.org/rdoc/ Rdoc] for more information. - -- + ---- Alternatively, the [http://datamapper.org DataMapper] Ruby ORM has a CouchDB adapter (just install the ''dm-core'' gem for datamapper and the ''dm-more'' gem for the adapter). + ---- + + [http://github.com/paulcarey/relaxdb/wikis RelaxDB] offers a similar idiom to !ActiveRecord for persisting objects to CouchDB + From couchdb-commits-return-1012vshelton@example.com Tue Sep 02 17:06:56 2008 Return-Path: <couchdb-commits-return-1012vshelton@example.com> Delivered-To: vshelton@example.com Received: (qmail 91163 invoked from network); 2 Sep 2008 17:06:56 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (83.161.120.155) by minotaur.apache.org with SMTP; 2 Sep 2008 17:06:56 -0000 Received: (qmail 6466 invoked by uid 500); 2 Sep 2008 17:06:54 -0000 Delivered-To: vshelton@example.com Received: (qmail 6452 invoked by uid 500); 2 Sep 2008 17:06:54 -0000 Mailing-List: contact vshelton@example.com; run by ezmlm Precedence: bulk List-Help: <mailto:vshelton@example.com> List-Unsubscribe: <mailto:vshelton@example.com> List-Post: <mailto:vshelton@example.com> List-Id: <couchdb-commits.incubator.apache.org> Reply-To: vshelton@example.com Delivered-To: mailing list vshelton@example.com Received: (qmail 6443 invoked by uid 99); 2 Sep 2008 17:06:54 -0000 Received: from athena.apache.org (HELO athena.apache.org) (83.161.120.155) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 02 Sep 2008 10:06:54 -0700 X-ASF-Spam-Status: No, hits=-2000.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [83.161.120.155] (HELO eris.apache.org) (83.161.120.155) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 02 Sep 2008 17:06:05 +0000 Received: by eris.apache.org (Postfix, from userid 65534) id D14FF2388986; Tue, 2 Sep 2008 10:06:35 -0700 (PDT) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r691322 - in /incubator/couchdb/trunk: share/www/script/couch_tests.js src/couchdb/couch_db_updater.erl Date: Tue, 02 Sep 2008 17:06:35 -0000 To: vshelton@example.com From: vshelton@example.com X-Mailer: svnmailer-1.0.8 Message-Id: <vshelton@example.com> X-Virus-Checked: Checked by ClamAV on apache.org Author: damien Date: Tue Sep 2 10:06:33 2008 New Revision: 691322 URL: http://svn.apache.org/viewvc?rev=691322&view=rev Log: Fix for bug COUCHDB-109. Modified: incubator/couchdb/trunk/share/www/script/couch_tests.js incubator/couchdb/trunk/src/couchdb/couch_db_updater.erl Modified: incubator/couchdb/trunk/share/www/script/couch_tests.js URL: http://svn.apache.org/viewvc/incubator/couchdb/trunk/share/www/script/couch_tests.js?rev=691322&r1=691321&r2=691322&view=diff ============================================================================== --- incubator/couchdb/trunk/share/www/script/couch_tests.js [utf-8] (original) +++ incubator/couchdb/trunk/share/www/script/couch_tests.js [utf-8] Tue Sep 2 10:06:33 2008 @@ -56,9 +56,15 @@ var results = db.allDocs(); var rows = results.rows; + T(results.total_rows == results.rows.length); + for(var i=0; i < rows.length; i++) { T(rows[i].id >= "0" && rows[i].id <= "4"); } + + // Check _all_docs with descending=true + var desc = db.allDocs({descending:true}); + T(desc.total_rows == desc.rows.length); // Test a simple map functions Modified: incubator/couchdb/trunk/src/couchdb/couch_db_updater.erl URL: http://svn.apache.org/viewvc/incubator/couchdb/trunk/src/couchdb/couch_db_updater.erl?rev=691322&r1=691321&r2=691322&view=diff ============================================================================== --- incubator/couchdb/trunk/src/couchdb/couch_db_updater.erl (original) +++ incubator/couchdb/trunk/src/couchdb/couch_db_updater.erl Tue Sep 2 10:06:33 2008 @@ -147,13 +147,13 @@ btree_by_id_reduce(reduce, FullDocInfos) -> - % count the number of deleted documents + % count the number of not deleted documents length([1 || #full_doc_info{deleted=false} <- FullDocInfos]); btree_by_id_reduce(rereduce, Reds) -> lists:sum(Reds). btree_by_seq_reduce(reduce, DocInfos) -> - % count the number of deleted documents + % count the number of documents length(DocInfos); btree_by_seq_reduce(rereduce, Reds) -> lists:sum(Reds). @@ -161,10 +161,18 @@ init_db(DbName, Filepath, Fd, Header) -> {ok, SummaryStream} = couch_stream:open(Header#db_header.summary_stream_state, Fd), ok = couch_stream:set_min_buffer(SummaryStream, 10000), + Less = + fun(A,B) when A==B -> false; + (nil, _) -> true; % nil - special key sorts before all + ({}, _) -> false; % {} -> special key sorts after all + (A, B) -> A < B + end, + {ok, IdBtree} = couch_btree:open(Header#db_header.fulldocinfo_by_id_btree_state, Fd, [{split, fun(X) -> btree_by_id_split(X) end}, {join, fun(X,Y) -> btree_by_id_join(X,Y) end}, - {reduce, fun(X,Y) -> btree_by_id_reduce(X,Y) end}]), + {reduce, fun(X,Y) -> btree_by_id_reduce(X,Y) end}, + {less, Less}]), {ok, SeqBtree} = couch_btree:open(Header#db_header.docinfo_by_seq_btree_state, Fd, [{split, fun(X) -> btree_by_seq_split(X) end}, {join, fun(X,Y) -> btree_by_seq_join(X,Y) end}, From couchdb-commits-return-1013vshelton@example.com Wed Sep 03 07:41:59 2008 Return-Path: <couchdb-commits-return-1013vshelton@example.com> Delivered-To: vshelton@example.com Received: (qmail 17532 invoked from network); 3 Sep 2008 07:41:59 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (83.161.120.155) by minotaur.apache.org with SMTP; 3 Sep 2008 07:41:59 -0000 Received: (qmail 10033 invoked by uid 500); 3 Sep 2008 07:41:57 -0000 Delivered-To: vshelton@example.com Received: (qmail 10019 invoked by uid 500); 3 Sep 2008 07:41:57 -0000 Mailing-List: contact vshelton@example.com; run by ezmlm Precedence: bulk List-Help: <mailto:vshelton@example.com> List-Unsubscribe: <mailto:vshelton@example.com> List-Post: <mailto:vshelton@example.com> List-Id: <couchdb-commits.incubator.apache.org> Reply-To: vshelton@example.com Delivered-To: mailing list vshelton@example.com Received: (qmail 10010 invoked by uid 99); 3 Sep 2008 07:41:57 -0000 Received: from athena.apache.org (HELO athena.apache.org) (83.161.120.155) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 03 Sep 2008 00:41:57 -0700 X-ASF-Spam-Status: No, hits=-2000.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [83.161.120.155] (HELO eos.apache.org) (83.161.120.155) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 03 Sep 2008 07:41:07 +0000 Received: from eos.apache.org (localhost [83.161.120.155]) by eos.apache.org (Postfix) with ESMTP id 9CE8311157 for <vshelton@example.com>; Wed, 3 Sep 2008 07:41:08 +0000 (GMT) Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: Apache Wiki <vshelton@example.com> To: vshelton@example.com Date: Wed, 03 Sep 2008 07:41:08 -0000 Message-ID: <vshelton@example.com> Subject: [Couchdb Wiki] Update of "InstallingOnOSX" by Magnus Johansson X-Virus-Checked: Checked by ClamAV on apache.org Dear Wiki user, You have subscribed to a wiki page or wiki category on "Couchdb Wiki" for change notification. The following page has been changed by Magnus Johansson: http://wiki.apache.org/couchdb/InstallingOnOSX ------------------------------------------------------------------------------ == Typical build process of a developer build == {{{ - $ http://svn.apache.org/repos/asf/incubator/couchdb/trunk couchdb + $ svn export http://svn.apache.org/repos/asf/incubator/couchdb/trunk couchdb $ cd couchdb $ ./bootstrap && ./configure $ make From couchdb-commits-return-1014vshelton@example.com Wed Sep 03 07:51:19 2008 Return-Path: <couchdb-commits-return-1014vshelton@example.com> Delivered-To: vshelton@example.com Received: (qmail 23666 invoked from network); 3 Sep 2008 07:51:19 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (83.161.120.155) by minotaur.apache.org with SMTP; 3 Sep 2008 07:51:19 -0000 Received: (qmail 33021 invoked by uid 500); 3 Sep 2008 07:51:17 -0000 Delivered-To: vshelton@example.com Received: (qmail 32959 invoked by uid 500); 3 Sep 2008 07:51:17 -0000 Mailing-List: contact vshelton@example.com; run by ezmlm Precedence: bulk List-Help: <mailto:vshelton@example.com> List-Unsubscribe: <mailto:vshelton@example.com> List-Post: <mailto:vshelton@example.com> List-Id: <couchdb-commits.incubator.apache.org> Reply-To: vshelton@example.com Delivered-To: mailing list vshelton@example.com Received: (qmail 32950 invoked by uid 99); 3 Sep 2008 07:51:17 -0000 Received: from athena.apache.org (HELO athena.apache.org) (83.161.120.155) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 03 Sep 2008 00:51:17 -0700 X-ASF-Spam-Status: No, hits=-2000.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [83.161.120.155] (HELO eos.apache.org) (83.161.120.155) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 03 Sep 2008 07:50:27 +0000 Received: from eos.apache.org (localhost [83.161.120.155]) by eos.apache.org (Postfix) with ESMTP id BA29311157 for <vshelton@example.com>; Wed, 3 Sep 2008 07:50:28 +0000 (GMT) Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: Apache Wiki <vshelton@example.com> To: vshelton@example.com Date: Wed, 03 Sep 2008 07:50:28 -0000 Message-ID: <vshelton@example.com> Subject: [Couchdb Wiki] Update of "InstallingOnOSX" by Magnus Johansson X-Virus-Checked: Checked by ClamAV on apache.org Dear Wiki user, You have subscribed to a wiki page or wiki category on "Couchdb Wiki" for change notification. The following page has been changed by Magnus Johansson: http://wiki.apache.org/couchdb/InstallingOnOSX ------------------------------------------------------------------------------ == Typical build process of a developer build == {{{ - $ svn export http://svn.apache.org/repos/asf/incubator/couchdb/trunk couchdb + $ svn checkout http://svn.apache.org/repos/asf/incubator/couchdb/trunk couchdb $ cd couchdb $ ./bootstrap && ./configure $ make From couchdb-commits-return-1015vshelton@example.com Wed Sep 03 14:08:07 2008 Return-Path: <couchdb-commits-return-1015vshelton@example.com> Delivered-To: vshelton@example.com Received: (qmail 22094 invoked from network); 3 Sep 2008 14:08:06 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (83.161.120.155) by minotaur.apache.org with SMTP; 3 Sep 2008 14:08:06 -0000 Received: (qmail 20108 invoked by uid 500); 3 Sep 2008 14:08:05 -0000 Delivered-To: vshelton@example.com Received: (qmail 20089 invoked by uid 500); 3 Sep 2008 14:08:04 -0000 Mailing-List: contact vshelton@example.com; run by ezmlm Precedence: bulk List-Help: <mailto:vshelton@example.com> List-Unsubscribe: <mailto:vshelton@example.com> List-Post: <mailto:vshelton@example.com> List-Id: <couchdb-commits.incubator.apache.org> Reply-To: vshelton@example.com Delivered-To: mailing list vshelton@example.com Received: (qmail 20080 invoked by uid 99); 3 Sep 2008 14:08:04 -0000 Received: from athena.apache.org (HELO athena.apache.org) (83.161.120.155) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 03 Sep 2008 07:08:04 -0700 X-ASF-Spam-Status: No, hits=-2000.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [83.161.120.155] (HELO eos.apache.org) (83.161.120.155) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 03 Sep 2008 14:07:04 +0000 Received: from eos.apache.org (localhost [83.161.120.155]) by eos.apache.org (Postfix) with ESMTP id DA07311151 for <vshelton@example.com>; Wed, 3 Sep 2008 14:07:34 +0000 (GMT) Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: Apache Wiki <vshelton@example.com> To: vshelton@example.com Date: Wed, 03 Sep 2008 14:07:34 -0000 Message-ID: <vshelton@example.com> Subject: [Couchdb Wiki] Update of "RubyLibrary" by Eduard Bondarenko X-Virus-Checked: Checked by ClamAV on apache.org Dear Wiki user, You have subscribed to a wiki page or wiki category on "Couchdb Wiki" for change notification. The following page has been changed by Eduard Bondarenko: http://wiki.apache.org/couchdb/RubyLibrary The comment on the change is: note about ruby utf8 support ------------------------------------------------------------------------------ [http://github.com/paulcarey/relaxdb/wikis RelaxDB] offers a similar idiom to !ActiveRecord for persisting objects to CouchDB + ---- + + A quick note: If you have any problems like bad_utf8_character_code make sure you use unicode: + + {{{ + $KCODE='u' + require 'jcode' + }}} + + and use active_support 'chars' method. + From couchdb-commits-return-1016vshelton@example.com Wed Sep 03 16:21:05 2008 Return-Path: <couchdb-commits-return-1016vshelton@example.com> Delivered-To: vshelton@example.com Received: (qmail 94264 invoked from network); 3 Sep 2008 16:21:05 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (83.161.120.155) by minotaur.apache.org with SMTP; 3 Sep 2008 16:21:05 -0000 Received: (qmail 1072 invoked by uid 500); 3 Sep 2008 16:21:03 -0000 Delivered-To: vshelton@example.com Received: (qmail 1050 invoked by uid 500); 3 Sep 2008 16:21:03 -0000 Mailing-List: contact vshelton@example.com; run by ezmlm Precedence: bulk List-Help: <mailto:vshelton@example.com> List-Unsubscribe: <mailto:vshelton@example.com> List-Post: <mailto:vshelton@example.com> List-Id: <couchdb-commits.incubator.apache.org> Reply-To: vshelton@example.com Delivered-To: mailing list vshelton@example.com Received: (qmail 1037 invoked by uid 99); 3 Sep 2008 16:21:03 -0000 Received: from athena.apache.org (HELO athena.apache.org) (83.161.120.155) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 03 Sep 2008 09:21:03 -0700 X-ASF-Spam-Status: No, hits=-2000.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [83.161.120.155] (HELO eos.apache.org) (83.161.120.155) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 03 Sep 2008 16:20:13 +0000 Received: from eos.apache.org (localhost [83.161.120.155]) by eos.apache.org (Postfix) with ESMTP id 586DD11151 for <vshelton@example.com>; Wed, 3 Sep 2008 16:20:14 +0000 (GMT) Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: Apache Wiki <vshelton@example.com> To: vshelton@example.com Date: Wed, 03 Sep 2008 16:20:14 -0000 Message-ID: <vshelton@example.com> Subject: [Couchdb Wiki] Update of "ErrorMessages" by JackMoffitt X-Virus-Checked: Checked by ClamAV on apache.org Dear Wiki user, You have subscribed to a wiki page or wiki category on "Couchdb Wiki" for change notification. The following page has been changed by JackMoffitt: http://wiki.apache.org/couchdb/ErrorMessages The comment on the change is: Added a new error solution for incorrect permissions. ------------------------------------------------------------------------------ You need to install the OpenSSL libraries and recompile Erlang with SSL enabled. + == Incorrect Permissions == + + === Problem === + + {{{ + $ bin/couchdb + Apache CouchDB 0.9.0a691361-incubating (LogLevel=info) is starting. + {"init terminating in do_boot",{{badmatch,{error,shutdown}},[{couch_server_sup,start_server,1},{erl_eval,do_apply,5},{erl_eval,exprs,5},{init,start_it,1},{init,start_em,1}]}} + + Crash dump was written to: erl_crash.dump + init terminating in do_boot () + }}} + + === Solution === + + You need to make sure that the user running couchdb has permissions to write to /usr/local/var/lib/couchdb and /usr/local/var/log/couchdb. + From couchdb-commits-return-1017vshelton@example.com Sat Sep 06 14:25:50 2008 Return-Path: <couchdb-commits-return-1017vshelton@example.com> Delivered-To: vshelton@example.com Received: (qmail 10694 invoked from network); 6 Sep 2008 14:25:50 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (83.161.120.155) by minotaur.apache.org with SMTP; 6 Sep 2008 14:25:50 -0000 Received: (qmail 41989 invoked by uid 500); 6 Sep 2008 14:25:48 -0000 Delivered-To: vshelton@example.com Received: (qmail 41968 invoked by uid 500); 6 Sep 2008 14:25:48 -0000 Mailing-List: contact vshelton@example.com; run by ezmlm Precedence: bulk List-Help: <mailto:vshelton@example.com> List-Unsubscribe: <mailto:vshelton@example.com> List-Post: <mailto:vshelton@example.com> List-Id: <couchdb-commits.incubator.apache.org> Reply-To: vshelton@example.com Delivered-To: mailing list vshelton@example.com Received: (qmail 41959 invoked by uid 99); 6 Sep 2008 14:25:48 -0000 Received: from athena.apache.org (HELO athena.apache.org) (83.161.120.155) by apache.org (qpsmtpd/0.29) with ESMTP; Sat, 06 Sep 2008 07:25:48 -0700 X-ASF-Spam-Status: No, hits=-2000.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [83.161.120.155] (HELO eos.apache.org) (83.161.120.155) by apache.org (qpsmtpd/0.29) with ESMTP; Sat, 06 Sep 2008 14:24:47 +0000 Received: from eos.apache.org (localhost [83.161.120.155]) by eos.apache.org (Postfix) with ESMTP id 4DD93118D7 for <vshelton@example.com>; Sat, 6 Sep 2008 14:25:18 +0000 (GMT) Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: Apache Wiki <vshelton@example.com> To: vshelton@example.com Date: Sat, 06 Sep 2008 14:25:18 -0000 Message-ID: <vshelton@example.com> Subject: [Couchdb Wiki] Update of "Presentations" by JanLehnardt X-Virus-Checked: Checked by ClamAV on apache.org Dear Wiki user, You have subscribed to a wiki page or wiki category on "Couchdb Wiki" for change notification. The following page has been changed by JanLehnardt: http://wiki.apache.org/couchdb/Presentations The comment on the change is: Add BBC presentation ------------------------------------------------------------------------------ * [http://www.sbeattyconsulting.com/blog/?p=18 Details] * [http://www.sbeattyconsulting.com/download/3/Intro-CouchDB-20080817-1.pdf Slides] + ==== August 27th: BBC, London, UK ==== + + Jan Lehnardt presents CouchDB to BBC web developers. + * [http://barkingiguana.com/2008/08/30/jan-lenhardt-talks-to-the-bbc-about-couchdb Video] + * [http://www.sbeattyconsulting.com/blog/?p=28 Video Notes] Presentation20080827BbcLondonUkVideoNotesLocalCopy + * [http://www.slideshare.net/bbcwebdev/introduction-into-couchdb-jan-lehnardt-presentation Slides] + From couchdb-commits-return-1018vshelton@example.com Sat Sep 06 14:36:02 2008 Return-Path: <couchdb-commits-return-1018vshelton@example.com> Delivered-To: vshelton@example.com Received: (qmail 18706 invoked from network); 6 Sep 2008 14:36:02 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (83.161.120.155) by minotaur.apache.org with SMTP; 6 Sep 2008 14:36:02 -0000 Received: (qmail 49660 invoked by uid 500); 6 Sep 2008 14:36:00 -0000 Delivered-To: vshelton@example.com Received: (qmail 49640 invoked by uid 500); 6 Sep 2008 14:36:00 -0000 Mailing-List: contact vshelton@example.com; run by ezmlm Precedence: bulk List-Help: <mailto:vshelton@example.com> List-Unsubscribe: <mailto:vshelton@example.com> List-Post: <mailto:vshelton@example.com> List-Id: <couchdb-commits.incubator.apache.org> Reply-To: vshelton@example.com Delivered-To: mailing list vshelton@example.com Received: (qmail 49631 invoked by uid 99); 6 Sep 2008 14:36:00 -0000 Received: from athena.apache.org (HELO athena.apache.org) (83.161.120.155) by apache.org (qpsmtpd/0.29) with ESMTP; Sat, 06 Sep 2008 07:36:00 -0700 X-ASF-Spam-Status: No, hits=-2000.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [83.161.120.155] (HELO eos.apache.org) (83.161.120.155) by apache.org (qpsmtpd/0.29) with ESMTP; Sat, 06 Sep 2008 14:35:00 +0000 Received: from eos.apache.org (localhost [83.161.120.155]) by eos.apache.org (Postfix) with ESMTP id C44B9118D7 for <vshelton@example.com>; Sat, 6 Sep 2008 14:35:01 +0000 (GMT) Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit From: Apache Wiki <vshelton@example.com> To: vshelton@example.com Date: Sat, 06 Sep 2008 14:35:01 -0000 Message-ID: <vshelton@example.com> Subject: [Couchdb Wiki] Update of "Presentation20080827BbcLondonUkVideoNotesLocalCopy" by JanLehnardt X-Virus-Checked: Checked by ClamAV on apache.org Dear Wiki user, You have subscribed to a wiki page or wiki category on "Couchdb Wiki" for change notification. The following page has been changed by JanLehnardt: http://wiki.apache.org/couchdb/Presentation20080827BbcLondonUkVideoNotesLocalCopy The comment on the change is: Add notes from Scott New page: = Notes from Jan Lehnardt's Presentation on CouchDB to the BBC, 2008-08-27 = by Scott Beatty September 6th, 2008 On August 27, 2008, Jan Lehnardt gave a presentation (video, slides) on CouchDB to BBC web developers in London. As I listened to the recorded video, I realized that there was a lot of good information. In an effort to learn more, I have played it again, taken some notes, and shared them here. Most of the time I have paraphrased, but sometimes I have quoted (without using quotation marks). At the end of each note I list the time at which the subject begins. Total run time: (68:02) == Contents == * State of CouchDB * Comparison to Relational Databases * Documents * HTTP REST API * Views * Replication * Built for the Future * History * Resources * Answers to Audience Questions * State of CouchDB There's still a lot of work yet to be done (for CouchDB). (0:40) CouchDB is deployable. (0:45) == Comparison to Relational Databases == It is not a good idea to use relational databases all the time. Use the right tool for the job. (1:44) CouchDB is very easy to integrate. (2:25) CouchDB is a database built for the future. (2:46) Relational databases (RDBMS) were originally built for single users on single machines doing single operations. Data had to be prepared in such a way that execution was as fast as possible. (2:56) Relational databases weren't designed for today's world with thousands of simultaneous users. (3:25) Today there is no fixed structure of data. (4:02) We used to have big computers. Now we have a lot of small computers. (4:19) Disk space is getting cheap. CouchDB trades off everything (other resources) for disk space. (4:47) RDBMS: design and work with schemas. CouchDB: just store data. (5:32) Object Relational Mappers (ORM) don't handle lots of load well. (6:31) Using a relational database creates a lossy translation between the data object that you want to store and how it is stored on the disk. (6:38) Most data that occurs in the "real world" (quotes mine) is not inherently relational. (7:06) == Documents == CouchDB stores data in documents, which have no schema. One document can have a field that another one doesn't have. (8:01) The documents in CouchDB are actual representations of the data objects. There is no lossy translation. (8:22) Documents can also be out of date. (9:12) CouchDB stores data (encodes objects) in the JSON format. It is language-agnostic. Data is serialized and de-serialized to and from that format. It is lighter and easier to read (by humans) than XML. (10:25) Each CouchDB document has an unique, constant identifier with a changing revision value. (12:09) JSON can include all the native data types (e.g., integers, strings, arrays, booleans, binary) in a programming language. (14:07) Documents can have attachments. (14:25) == HTTP REST API == You talk to CouchDB using an HTTP REST API. (14:56) Four basic operations of working with a document: Create: HTTP PUT /db/docid Read: HTTP GET /db/docid Update: HTTP POST /db/docid Delete: HTTP DELETE /db/docid (15:56) Every CouchDB document has an URI. (16:13) HTTP HEAD is also available. (16:38) Your programming language and application can handle the details of talking HTTP. (16:51) There is no definite PHP library (to choose a particular language) for talking to CouchDB. (17:33) == Views == To make CouchDB a database it is more than a versioned object instance store. It has views. (17:56) Views: filtering, collating, and aggregating the stored data. Filtering: subsets. Collating: ordering. Aggregating: calculations. (18:11) Views are powered by !MapReduce. It is a concept from the functional programming world. Google relies on it for search queries. It is a massively parallelizeable operation, which makes scaling possible. (18:38) To use !MapReduce you provide CouchDB code for a map function and code for a reduce function. CouchDB executes these functions on your data in a two-stage process. The reduce function works on the results of the map function. The default language for !MapReduce in CouchDB is Javascript. (19:44) !MapReduce is good for handling huge amounts of data by breaking up the work into chunks and assigning it to different machines. (23:00) Views are built incrementally, on demand. (23:52) View computations on a single document are only done once, and the result is stored or cached in indexes, making subsequent computations much faster than the initial computations. Changes are integrated incrementally, on demand. The view module of CouchDB is a separate module from the data storage part. The internals of CouchDB are optimized to make view updating very fast. (24:03) When you write to a CouchDB database it doesn't touch the views. It doesn't spend time updating indexes. There is lazy evaluation for the view. You decide when to spend the CPU time to do that. (25:47) The second step of Reduce, for aggregation, is optional. Map does filtering and collation. Aggregation isn't always needed, or it might also be done in Map. (26:31) Both Map and Reduce can work on chunks of data on parallel machines. (27:03) == Replication == Replication is the answer to data synchronization between machines. (29:57) Network connections might not always be available. (31:15) Replication is good for data synchronization, load balancing, and failover. (31:37) You can take your data with you. (31:48) CouchDB replication is like rsync for databases. (31:56) CouchDB replication is uni-directional. To get replication in the other direction just call for the reverse. A->B, then B->A. (32:43) CouchDB can replicate data over any number of nodes. (33:44) Unlike MySQL, CouchDB replication does not need to be a constant process. In CouchDB, replication is trigger-based. (34:19) Problem: Changing same piece of data (e.g., same document) on more than one node before synchronization. This is called a conflict. CouchDB does automatic conflict detection and resolution. It will flag a document as conflicting (like in a version control system). It has an algorithm that selects one of the revisions as the latest, and the other conflicts are stored as previous revisions. Each node will have the same set of winning and losing revisions in the same order. This is a data consistency guarantee for replication. In any case of a conflict you then need to go in and resolve, and then replicate the resolution to all the other nodes in the cluster. (34:48) Each node does not need to talk to any other nodes in order to come up with the same list of winning and losing revisions. (37:32) Most conflicts can be resolved by the application. For example, if timestamps are used then they can be used for deciding, or if different attributes are changed then they can be merged. Application can not resolve a conflict in the same attribute without timestamps. These conflicts need to be presented to user for resolution. (38:09) There is a view for showing all conflicts. You could then use a cronjob to attempt to resolve the conflicts. There is a notification system in CouchDB that might be useful for this subject, too. (38:48) If you resolve a conflict it might create another conflict. There can also be multiple conflicts. You need to resolve conflicts from the bottom up. Eventually everything will be conflict-free. There is no deadlock. Guaranteed. (40:17) Replication scales very well. Like the view server, CouchDB maintains a sequence number for the database, so it only has to work on the latest differences. (40:55) == Built for the Future == CouchDB is written in Erlang. Erlang is a functional programming language, a virtual machine, and a set of standard libraries. It provides very fault-tolerant concurrent operation. The language is set up that you create modules, and you send messages to modules, and the modules live in processes. From the language level you don't care where the processes live; you just send messages to them. The virtual machines can live on different hardware (nodes). If a node dies then the virtual machine just sends messages to other nodes. (41:21) CouchDB uses Erlang because the problems that it solved for telco are the same for the Web today. (44:39) ACID compliant data store - means data is safely stored in the database. CouchDB has it. (44:59) Non-locking multi-version concurrency control (MVCC). Reads are not corrupted by writes during the read. Concurrent requests can continue to be served. CouchDB does this with versioning, and it never overwrites data. No reads are blocked. Writes are put into a buffer pool so that they happen serially. Changes are appended to the end of the database file. Only one write can happen at one time. So, to delete you add data. Compaction can be used to get rid of previous revisions, and to reclaim disk space. (So you can't use CouchDB as a version control system.) CouchDB makes sure that the data is actually stored on disk "on filesystems that implement fsync correctly". If there is a crash CouchDB does not have to do a consistency check when restarted. Crash-resistant. Append-only. Need compaction. (45:40) CouchDB can serve many read requests per second using very little memory. (50:09) == History == Damien Katz started CouchDB. Previously, he worked on the core database in Lotus Notes. He quit his job to work on CouchDB full-time, originally in C++ and then Erlang, and then released it as an open source project. After more than two years he was hired by IBM to work full-time on CouchDB, with the code within the Apache Software Foundation, under the Apache 2.0 License. (50:51) == Resources == http://incubator.apache.org/couchdb/ http://wiki.apache.org/couchdb/ http://damienkatz.net/ http://jan.prima.de/plok/ http://blog.racklabs.com/?p=74 (53:37) CouchDB is looking for Erlang hackers. (54:02) == Answers to Audience Questions == You can do full-text search with a Lucene reference implementation. You can use any indexing technology, e.g., Sphinx, geo-spatial indexing. There is a plug-in API. You can't do everything in views, though you can do a lot. (54:41) Concurrent connections: You can have as many as the number of sockets that your operating system can handle, but latency will go up, so requests will take a little longer if there is a lot of load. There is no point where it crashes and burns. This is a property from Erlang. (55:55) Constraints and transactions: Constraints: Not yet. You will be able to provide a document validation function that will be evaluated on write, with the ability to stop the write. Transactions: CouchDB has single-node transactions for single HTTP requests. Either the request will succeed or not. Beyond the single-node you won't be able to ensure that the request is replicated to all other nodes, so there are no multi-node transactions. They are hard to do in a distributed environment. CouchDB has optimistic locking. (57:07) Scaling: Currently, the primary means is replication. Eventually, you will be able to do database partitioning. If you have a lot of data that won't fit on a single box then CouchDB will be able to transparently partition it out. Also with regards to scaling, they have not yet tried running the Erlang virtual machine in different places, e.g., some machines dedicated to reads, some to writes, and some to views. There are only four and half developers working on CouchDB. Only one who is full-time, for the rest it is hobby-work. Developer time is greatly appreciated. (58:58) Map/Reduce on a multi-core machine: It is not yet spread to more than one core, but it will be. (60:08) When do you trigger compaction? Does database performance slow down? Not that we've seen. CouchDB might not be the best choice for highly volatile data. Maybe use memcache, then periodically synchronize. (62:10) Does compaction lock anything? No, it is live compaction. It tries to make a running copy of the latest revisions of your documents. This can take some time if there is a high write load, so it is possible it might time out. You need to work out the metrics for your hardware and your dataset. Once all the current revisions are copied then CouchDB switches to the new database and then throws away the old one. This is done live, with no downtime. (62:49) Stacking views? No, single. It is not a priority for CouchDB at this time to add the functionality to support views on views. CouchDB is not always the right tool. Revisions are used for optimistic locking, not for revision control. There are edge cases in distributed replication, and no elegant solution has yet been found. Documents are replicated, but views are not. Views need to be recreated on each node. (63:51) Can you safely backup a live database? Yes, you can just make a filesystem copy of the database. (66:22) Are there tradeoffs to having some documents without the same fields? There is complexity (and flexibility) in no schema stores, and you have to deal with it at some point. In CouchDB you don't have to deal with that up front. It is usually handled in the view functions. We can recommend best practices to deal with that. (67:06) From couchdb-commits-return-1019vshelton@example.com Sat Sep 06 14:44:11 2008 Return-Path: <couchdb-commits-return-1019vshelton@example.com> Delivered-To: vshelton@example.com Received: (qmail 23211 invoked from network); 6 Sep 2008 14:44:11 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (83.161.120.155) by minotaur.apache.org with SMTP; 6 Sep 2008 14:44:11 -0000 Received: (qmail 55582 invoked by uid 500); 6 Sep 2008 14:44:09 -0000 Delivered-To: vshelton@example.com Received: (qmail 55561 invoked by uid 500); 6 Sep 2008 14:44:09 -0000 Mailing-List: contact vshelton@example.com; run by ezmlm Precedence: bulk List-Help: <mailto:vshelton@example.com> List-Unsubscribe: <mailto:vshelton@example.com> List-Post: <mailto:vshelton@example.com> List-Id: <couchdb-commits.incubator.apache.org> Reply-To: vshelton@example.com Delivered-To: mailing list vshelton@example.com Received: (qmail 55552 invoked by uid 99); 6 Sep 2008 14:44:09 -0000 Received: from athena.apache.org (HELO athena.apache.org) (83.161.120.155) by apache.org (qpsmtpd/0.29) with ESMTP; Sat, 06 Sep 2008 07:44:08 -0700 X-ASF-Spam-Status: No, hits=-2000.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [83.161.120.155] (HELO eos.apache.org) (83.161.120.155) by apache.org (qpsmtpd/0.29) with ESMTP; Sat, 06 Sep 2008 14:43:09 +0000 Received: from eos.apache.org (localhost [83.161.120.155]) by eos.apache.org (Postfix) with ESMTP id 2E10B118D7 for <vshelton@example.com>; Sat, 6 Sep 2008 14:43:10 +0000 (GMT) Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit From: Apache Wiki <vshelton@example.com> To: vshelton@example.com Date: Sat, 06 Sep 2008 14:43:10 -0000 Message-ID: <vshelton@example.com> Subject: [Couchdb Wiki] Trivial Update of "Presentation20080827BbcLondonUkVideoNotesLocalCopy" by JanLehnardt X-Virus-Checked: Checked by ClamAV on apache.org Dear Wiki user, You have subscribed to a wiki page or wiki category on "Couchdb Wiki" for change notification. The following page has been changed by JanLehnardt: http://wiki.apache.org/couchdb/Presentation20080827BbcLondonUkVideoNotesLocalCopy The comment on the change is: Fix formatting ------------------------------------------------------------------------------ == Contents == - * State of CouchDB + * State of CouchDB - * Comparison to Relational Databases + * Comparison to Relational Databases - * Documents + * Documents - * HTTP REST API + * HTTP REST API - * Views + * Views - * Replication + * Replication - * Built for the Future + * Built for the Future - * History + * History - * Resources + * Resources - * Answers to Audience Questions + * Answers to Audience Questions - * State of CouchDB + * State of CouchDB There's still a lot of work yet to be done (for CouchDB). (0:40) @@ -72, +72 @@ You talk to CouchDB using an HTTP REST API. (14:56) Four basic operations of working with a document: + - Create: HTTP PUT /db/docid + * Create: HTTP PUT /db/docid - Read: HTTP GET /db/docid + * Read: HTTP GET /db/docid - Update: HTTP POST /db/docid + * Update: HTTP POST /db/docid - Delete: HTTP DELETE /db/docid (15:56) + * Delete: HTTP DELETE /db/docid (15:56) Every CouchDB document has an URI. (16:13) @@ -155, +156 @@ == Resources == - http://incubator.apache.org/couchdb/ + * http://incubator.apache.org/couchdb/ - http://wiki.apache.org/couchdb/ + * http://wiki.apache.org/couchdb/ - http://damienkatz.net/ + * http://damienkatz.net/ - http://jan.prima.de/plok/ + * http://jan.prima.de/plok/ - http://blog.racklabs.com/?p=74 + * http://blog.racklabs.com/?p=74 + (53:37) CouchDB is looking for Erlang hackers. (54:02) From couchdb-commits-return-1020vshelton@example.com Sat Sep 06 18:39:04 2008 Return-Path: <couchdb-commits-return-1020vshelton@example.com> Delivered-To: vshelton@example.com Received: (qmail 58931 invoked from network); 6 Sep 2008 18:39:04 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (83.161.120.155) by minotaur.apache.org with SMTP; 6 Sep 2008 18:39:04 -0000 Received: (qmail 40910 invoked by uid 500); 6 Sep 2008 18:39:02 -0000 Delivered-To: vshelton@example.com Received: (qmail 40884 invoked by uid 500); 6 Sep 2008 18:39:02 -0000 Mailing-List: contact vshelton@example.com; run by ezmlm Precedence: bulk List-Help: <mailto:vshelton@example.com> List-Unsubscribe: <mailto:vshelton@example.com> List-Post: <mailto:vshelton@example.com> List-Id: <couchdb-commits.incubator.apache.org> Reply-To: vshelton@example.com Delivered-To: mailing list vshelton@example.com Received: (qmail 40875 invoked by uid 99); 6 Sep 2008 18:39:02 -0000 Received: from athena.apache.org (HELO athena.apache.org) (83.161.120.155) by apache.org (qpsmtpd/0.29) with ESMTP; Sat, 06 Sep 2008 11:39:02 -0700 X-ASF-Spam-Status: No, hits=-2000.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [83.161.120.155] (HELO eos.apache.org) (83.161.120.155) by apache.org (qpsmtpd/0.29) with ESMTP; Sat, 06 Sep 2008 18:38:12 +0000 Received: from eos.apache.org (localhost [83.161.120.155]) by eos.apache.org (Postfix) with ESMTP id 70B31118D7 for <vshelton@example.com>; Sat, 6 Sep 2008 18:38:43 +0000 (GMT) Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit From: Apache Wiki <vshelton@example.com> To: vshelton@example.com Date: Sat, 06 Sep 2008 18:38:43 -0000 Message-ID: <vshelton@example.com> Subject: [Couchdb Wiki] Update of "Presentation20080827BbcLondonUkVideoNotesLocalCopy" by ScottBeatty X-Virus-Checked: Checked by ClamAV on apache.org Dear Wiki user, You have subscribed to a wiki page or wiki category on "Couchdb Wiki" for change notification. The following page has been changed by ScottBeatty: http://wiki.apache.org/couchdb/Presentation20080827BbcLondonUkVideoNotesLocalCopy ------------------------------------------------------------------------------ * History * Resources * Answers to Audience Questions + - * State of CouchDB + == State of CouchDB == There's still a lot of work yet to be done (for CouchDB). (0:40) From couchdb-commits-return-1021vshelton@example.com Sun Sep 07 20:06:45 2008 Return-Path: <couchdb-commits-return-1021vshelton@example.com> Delivered-To: vshelton@example.com Received: (qmail 71404 invoked from network); 7 Sep 2008 20:06:44 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (83.161.120.155) by minotaur.apache.org with SMTP; 7 Sep 2008 20:06:44 -0000 Received: (qmail 84024 invoked by uid 500); 7 Sep 2008 20:06:42 -0000 Delivered-To: vshelton@example.com Received: (qmail 83997 invoked by uid 500); 7 Sep 2008 20:06:42 -0000 Mailing-List: contact vshelton@example.com; run by ezmlm Precedence: bulk List-Help: <mailto:vshelton@example.com> List-Unsubscribe: <mailto:vshelton@example.com> List-Post: <mailto:vshelton@example.com> List-Id: <couchdb-commits.incubator.apache.org> Reply-To: vshelton@example.com Delivered-To: mailing list vshelton@example.com Received: (qmail 83985 invoked by uid 99); 7 Sep 2008 20:06:42 -0000 Received: from athena.apache.org (HELO athena.apache.org) (83.161.120.155) by apache.org (qpsmtpd/0.29) with ESMTP; Sun, 07 Sep 2008 13:06:42 -0700 X-ASF-Spam-Status: No, hits=-2000.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [83.161.120.155] (HELO eos.apache.org) (83.161.120.155) by apache.org (qpsmtpd/0.29) with ESMTP; Sun, 07 Sep 2008 20:05:52 +0000 Received: from eos.apache.org (localhost [83.161.120.155]) by eos.apache.org (Postfix) with ESMTP id C2167118D9 for <vshelton@example.com>; Sun, 7 Sep 2008 20:05:53 +0000 (GMT) Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: Apache Wiki <vshelton@example.com> To: vshelton@example.com Date: Sun, 07 Sep 2008 20:05:53 -0000 Message-ID: <vshelton@example.com> Subject: [Couchdb Wiki] Update of "HttpDocumentApi" by ChrisAnderson X-Virus-Checked: Checked by ClamAV on apache.org Dear Wiki user, You have subscribed to a wiki page or wiki category on "Couchdb Wiki" for change notification. The following page has been changed by ChrisAnderson: http://wiki.apache.org/couchdb/HttpDocumentApi The comment on the change is: added note about double POST and /uuids ------------------------------------------------------------------------------ === POST === - The ''POST'' operation can be used to create a new document with a server generated DocID. To create a named document, use the ''PUT'' method instead. + The ''POST'' operation can be used to create a new document with a server generated DocID. To create a named document, use the ''PUT'' method instead. It is recommended that you avoid ''POST'' when possible, because proxies and other network intermediaries will occasionally resend ''POST'' requests, which can result in duplicate document creation. If your client software is not capable of generating cryptographically secure UUIDs, use a ''POST'' to ''/_uuids?count=100'' to retrieve a list of unused document IDs for future ''PUT'' requests. The following is an example HTTP ''POST''. It will cause the CouchDB server to generate a new DocID and revision ID and save the document with it. From couchdb-commits-return-1022vshelton@example.com Sun Sep 07 22:40:53 2008 Return-Path: <couchdb-commits-return-1022vshelton@example.com> Delivered-To: vshelton@example.com Received: (qmail 49227 invoked from network); 7 Sep 2008 22:40:53 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (83.161.120.155) by minotaur.apache.org with SMTP; 7 Sep 2008 22:40:53 -0000 Received: (qmail 48904 invoked by uid 500); 7 Sep 2008 22:40:51 -0000 Delivered-To: vshelton@example.com Received: (qmail 48873 invoked by uid 500); 7 Sep 2008 22:40:51 -0000 Mailing-List: contact vshelton@example.com; run by ezmlm Precedence: bulk List-Help: <mailto:vshelton@example.com> List-Unsubscribe: <mailto:vshelton@example.com> List-Post: <mailto:vshelton@example.com> List-Id: <couchdb-commits.incubator.apache.org> Reply-To: vshelton@example.com Delivered-To: mailing list vshelton@example.com Received: (qmail 48860 invoked by uid 99); 7 Sep 2008 22:40:51 -0000 Received: from athena.apache.org (HELO athena.apache.org) (83.161.120.155) by apache.org (qpsmtpd/0.29) with ESMTP; Sun, 07 Sep 2008 15:40:51 -0700 X-ASF-Spam-Status: No, hits=-2000.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [83.161.120.155] (HELO eos.apache.org) (83.161.120.155) by apache.org (qpsmtpd/0.29) with ESMTP; Sun, 07 Sep 2008 22:39:49 +0000 Received: from eos.apache.org (localhost [83.161.120.155]) by eos.apache.org (Postfix) with ESMTP id 1AA14118D8 for <vshelton@example.com>; Sun, 7 Sep 2008 22:40:21 +0000 (GMT) Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: Apache Wiki <vshelton@example.com> To: vshelton@example.com Date: Sun, 07 Sep 2008 22:40:20 -0000 Message-ID: <vshelton@example.com> Subject: [Couchdb Wiki] Update of "InstallingOnOSX" by BenAtkin X-Virus-Checked: Checked by ClamAV on apache.org Dear Wiki user, You have subscribed to a wiki page or wiki category on "Couchdb Wiki" for change notification. The following page has been changed by BenAtkin: http://wiki.apache.org/couchdb/InstallingOnOSX The comment on the change is: Simpler way provided at the bottom of the referenced bug report regarding hipe ------------------------------------------------------------------------------ == Dependencies - Erlang == Here's [http://trac.macports.org/ticket/15459 the bug report on the Mac Ports website.] - The portfile is usually located at - - {{{ - /opt/local/var/macports/sources/rsync.macports.org/release/ports/lang/erlang/Portfile - }}} - - You can follow the instructions at the Mac Ports link, or simply remove the line that says - - {{{ - --enable-hipe - }}} - If you have a previous install of Erlang you should run {{{ @@ -36, +24 @@ before running {{{ - port install erlang + port install erlang -hipe }}} + + The "-hipe" flag instructs port to not install the default variant hipe. If Erlang fails to build with the error: {{{ From couchdb-commits-return-1023vshelton@example.com Sun Sep 07 23:21:36 2008 Return-Path: <couchdb-commits-return-1023vshelton@example.com> Delivered-To: vshelton@example.com Received: (qmail 76561 invoked from network); 7 Sep 2008 23:21:35 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (83.161.120.155) by minotaur.apache.org with SMTP; 7 Sep 2008 23:21:35 -0000 Received: (qmail 58619 invoked by uid 500); 7 Sep 2008 23:21:33 -0000 Delivered-To: vshelton@example.com Received: (qmail 58594 invoked by uid 500); 7 Sep 2008 23:21:33 -0000 Mailing-List: contact vshelton@example.com; run by ezmlm Precedence: bulk List-Help: <mailto:vshelton@example.com> List-Unsubscribe: <mailto:vshelton@example.com> List-Post: <mailto:vshelton@example.com> List-Id: <couchdb-commits.incubator.apache.org> Reply-To: vshelton@example.com Delivered-To: mailing list vshelton@example.com Received: (qmail 58585 invoked by uid 99); 7 Sep 2008 23:21:33 -0000 Received: from athena.apache.org (HELO athena.apache.org) (83.161.120.155) by apache.org (qpsmtpd/0.29) with ESMTP; Sun, 07 Sep 2008 16:21:33 -0700 X-ASF-Spam-Status: No, hits=-2000.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [83.161.120.155] (HELO eos.apache.org) (83.161.120.155) by apache.org (qpsmtpd/0.29) with ESMTP; Sun, 07 Sep 2008 23:20:43 +0000 Received: from eos.apache.org (localhost [83.161.120.155]) by eos.apache.org (Postfix) with ESMTP id 465EE118D8 for <vshelton@example.com>; Sun, 7 Sep 2008 23:20:45 +0000 (GMT) Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: Apache Wiki <vshelton@example.com> To: vshelton@example.com Date: Sun, 07 Sep 2008 23:20:45 -0000 Message-ID: <vshelton@example.com> Subject: [Couchdb Wiki] Update of "ErrorMessages" by BenAtkin X-Virus-Checked: Checked by ClamAV on apache.org Dear Wiki user, You have subscribed to a wiki page or wiki category on "Couchdb Wiki" for change notification. The following page has been changed by BenAtkin: http://wiki.apache.org/couchdb/ErrorMessages ------------------------------------------------------------------------------ Example running as normal user: {{{ - LD_LIBRARY_PATH=/usr/local/lib:/usr/local/js/lib couchdb + LD_LIBRARY_PATH=/usr/local/lib:/usr/local/spidermonkey/lib couchdb }}} Example running as `couchdb` user: {{{ - echo LD_LIBRARY_PATH=/usr/local/lib:/usr/local/js/lib couchdb | sudo -u couchdb sh + echo LD_LIBRARY_PATH=/usr/local/lib:/usr/local/spidermonkey/lib couchdb | sudo -u couchdb sh }}} + + Similar instructions are on the InstallingSpiderMonkey page. == Binary Architecture Mismatch == From couchdb-commits-return-1024vshelton@example.com Mon Sep 08 14:50:49 2008 Return-Path: <couchdb-commits-return-1024vshelton@example.com> Delivered-To: vshelton@example.com Received: (qmail 23746 invoked from network); 8 Sep 2008 14:50:49 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (83.161.120.155) by minotaur.apache.org with SMTP; 8 Sep 2008 14:50:49 -0000 Received: (qmail 94356 invoked by uid 500); 8 Sep 2008 14:50:46 -0000 Delivered-To: vshelton@example.com Received: (qmail 94336 invoked by uid 500); 8 Sep 2008 14:50:46 -0000 Mailing-List: contact vshelton@example.com; run by ezmlm Precedence: bulk List-Help: <mailto:vshelton@example.com> List-Unsubscribe: <mailto:vshelton@example.com> List-Post: <mailto:vshelton@example.com> List-Id: <couchdb-commits.incubator.apache.org> Reply-To: vshelton@example.com Delivered-To: mailing list vshelton@example.com Received: (qmail 94327 invoked by uid 99); 8 Sep 2008 14:50:46 -0000 Received: from athena.apache.org (HELO athena.apache.org) (83.161.120.155) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 08 Sep 2008 07:50:46 -0700 X-ASF-Spam-Status: No, hits=-2000.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [83.161.120.155] (HELO eris.apache.org) (83.161.120.155) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 08 Sep 2008 14:49:56 +0000 Received: by eris.apache.org (Postfix, from userid 65534) id 2A914238899B; Mon, 8 Sep 2008 07:49:58 -0700 (PDT) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r693115 - /incubator/couchdb/trunk/src/couchdb/couch_httpd.erl Date: Mon, 08 Sep 2008 14:49:56 -0000 To: vshelton@example.com From: vshelton@example.com X-Mailer: svnmailer-1.0.8 Message-Id: <vshelton@example.com> X-Virus-Checked: Checked by ClamAV on apache.org Author: cmlenz Date: Mon Sep 8 07:49:55 2008 New Revision: 693115 URL: http://svn.apache.org/viewvc?rev=693115&view=rev Log: Fix retrieval of specific
{'source': 'Apache Software Foundation Public Mail Archives'}