Return-Path: Delivered-To: apmail-couchdb-dev-archive@www.apache.org Received: (qmail 54140 invoked from network); 4 Jun 2009 09:49:19 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.3) by minotaur.apache.org with SMTP; 4 Jun 2009 09:49:19 -0000 Received: (qmail 3517 invoked by uid 500); 4 Jun 2009 09:49:30 -0000 Delivered-To: apmail-couchdb-dev-archive@couchdb.apache.org Received: (qmail 3424 invoked by uid 500); 4 Jun 2009 09:49:30 -0000 Mailing-List: contact dev-help@couchdb.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@couchdb.apache.org Delivered-To: mailing list dev@couchdb.apache.org Received: (qmail 3343 invoked by uid 99); 4 Jun 2009 09:49:30 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 04 Jun 2009 09:49:30 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.140] (HELO brutus.apache.org) (140.211.11.140) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 04 Jun 2009 09:49:28 +0000 Received: from brutus (localhost [127.0.0.1]) by brutus.apache.org (Postfix) with ESMTP id EBD94234C044 for ; Thu, 4 Jun 2009 02:49:07 -0700 (PDT) Message-ID: <393656997.1244108947965.JavaMail.jira@brutus> Date: Thu, 4 Jun 2009 02:49:07 -0700 (PDT) From: "Viacheslav Seledkin (JIRA)" To: dev@couchdb.apache.org Subject: [jira] Updated: (COUCHDB-249) Treat output rows of views as documents for other views to build upon In-Reply-To: <255502651.1234456679756.JavaMail.jira@brutus> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 X-Virus-Checked: Checked by ClamAV on apache.org [ https://issues.apache.org/jira/browse/COUCHDB-249?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Viacheslav Seledkin updated COUCHDB-249: ---------------------------------------- Attachment: couch_view_updaer.erl.patch.txt patch file > Treat output rows of views as documents for other views to build upon > --------------------------------------------------------------------- > > Key: COUCHDB-249 > URL: https://issues.apache.org/jira/browse/COUCHDB-249 > Project: CouchDB > Issue Type: New Feature > Components: Database Core, Infrastructure, JavaScript View Server > Reporter: Joey Lawrance > Attachments: couch_view_updaer.erl.patch.txt, couch_view_updater.erl > > > Unless I manually copy the JSON rows of a view into a new document, I am unable to create new views that are computed from existing views. That is, it seems as if views are second class citizens compared to first-class documents. > Suppose I wanted to find the spread between the cheapest suppliers and the most expensive suppliers of each fruit. I know it's possible to use one map/reduce to compute such a view, but I'd like to be able to re-use my existing "cheapest" and "costliest" views. That is, I'd like to use the document output of these views as input into another view. > I started with the simple fruit store example in the CouchDB book. I developed a simple view called "cheapest" with the following map and reduce functions (the "costliest" view is the same as "cheapest" but except the reduce function's comparison is the other way around): > function(doc) { > var store, price, key; > if (doc.item && doc.prices) { > for (store in doc.prices) { > price = doc.prices[store]; > key = doc.item; > emit(key, {store:store, price:price}); > } > } > } > function(item,store) { > var m = store[0]; > for (i in store) { > if (m.price > store[i].price) m = store[i]; > } > return m; > } > The output is as follows: > {"rows":[ > {"key":"apple","value":{"store":"Apples Express","price":0.79}}, > {"key":"banana","value":{"store":"Price Max","price":079}}, > {"key":"orange","value":{"store":"Citrus Circus","price":1.09}} > ]} > I'd like to develop a new view whose input is the output of the view above, but as far as I can tell, views only operate on documents, not the output of existing views. Am I missing something? -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.