Return-Path: Delivered-To: apmail-couchdb-dev-archive@www.apache.org Received: (qmail 348 invoked from network); 17 Jul 2009 18:40:57 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.3) by minotaur.apache.org with SMTP; 17 Jul 2009 18:40:57 -0000 Received: (qmail 50365 invoked by uid 500); 17 Jul 2009 18:42:02 -0000 Delivered-To: apmail-couchdb-dev-archive@couchdb.apache.org Received: (qmail 50287 invoked by uid 500); 17 Jul 2009 18:42:02 -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 50277 invoked by uid 99); 17 Jul 2009 18:42:02 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 17 Jul 2009 18:42:02 +0000 X-ASF-Spam-Status: No, hits=-0.0 required=10.0 tests=SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (athena.apache.org: domain of paul.joseph.davis@gmail.com designates 209.85.210.204 as permitted sender) Received: from [209.85.210.204] (HELO mail-yx0-f204.google.com) (209.85.210.204) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 17 Jul 2009 18:41:53 +0000 Received: by yxe42 with SMTP id 42so1754722yxe.13 for ; Fri, 17 Jul 2009 11:41:32 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:in-reply-to:references :date:message-id:subject:from:to:content-type :content-transfer-encoding; bh=gzsE4drtgYL6byENACoNA5tR9mM+B94QMnkIEHvUres=; b=ApMoV+2YynVwUbOZHMgnaELq18tyITz/uqkcojAxbxIW1CWlnlDdNuMGap5/MRsZ1F IYG5boLYDVFD0jG36Y9hV8/paatHjASIT3eso3wUVTvQg1708np3pD5BGZOgX5jpSCXo W7K41vtRY9MASTiXoqw15ghYtWdil42/gkxm4= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type:content-transfer-encoding; b=oaDk8qHel8T1z2lKZZ5HL7/jhclmd5AuT8zu7kQ1h6Vwec8tkaUcJ5kasowCojPuYi HDWdjfXmj+BUKl+mMElCD5jCmf65DBhwnBIMtf81XQlyjQytOZFWaoSAbl8tWmkhX1kN JCyM2GBoBjke14vMtSQU6cDJGuxGOEEPJZUp8= MIME-Version: 1.0 Received: by 10.100.126.19 with SMTP id y19mr2004871anc.46.1247856092148; Fri, 17 Jul 2009 11:41:32 -0700 (PDT) In-Reply-To: References: <3915c69d0907171103o277b47c2r4fc4ce22cc3fa6be@mail.gmail.com> Date: Fri, 17 Jul 2009 14:41:32 -0400 Message-ID: Subject: Re: RIP Temp Views? From: Paul Davis To: dev@couchdb.apache.org Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-Virus-Checked: Checked by ClamAV on apache.org On Fri, Jul 17, 2009 at 2:22 PM, Chris Anderson wrote: > On Fri, Jul 17, 2009 at 11:11 AM, Paul Davis wrote: >> On Fri, Jul 17, 2009 at 2:03 PM, Will Hartung wrote: >>> I like the idea of getting rid of them. If they can be "emulated" >>> within Futon, then so much the better. >>> >>> The only thing I could suggest is simply providing tooling to make it >>> easy for folks to create sub sets of existing DBs. That way it's >>> straightforward to encourage development with "permanent" views, but >>> not to do it on production DBs, or production volumes. >>> >>> The curse of the temp_view is that they persist and "work just like" a >>> permanent view, so on the surface folks don't see the difference (and >>> in development, there is, almost, no difference). >>> >>> As an aside, however, a problem with emulating temp views kind of >>> become problematic if/when folks wish to use a different view server >>> than JS. Clearly, it's not practical to emulate a Erlang view server >>> within a JS couch implementation for development. >>> >>> So, that seems to me to point even more to focusing on tooling to make >>> it easy and routine to create "development" databases that people can >>> mold and form. Or to make, say, implicit view version. (Create a view, >>> create it again and the old one is versioned away as view_1 or >>> whatever). >> >> This already happens behind the scenes now. Chris Anderson just landed >> a patch to name index files after views which allows for zero downtime >> upgrades among other things. >> >>> >>> This ends up acting "just like" temp views, but now there's a minor >>> Garbage Collection phase to go through and remove the old views. >>> >>> And, again, when this is done on a "throw away" instance of the DB, >>> it's even less of an issue. >>> >>> Regards, >>> >>> Will Hartung >>> >> >> In general, this is how I'd shoot for doing it. Give tools to make >> slicing a DB easy as well as give Futon a nice interface to >> creating/editing/managing design documents. >> > > > I don't hear anyone protesting. I think as long as we keep the ability > to play with views easily in Futon (and add some replication helpers > for "random" subsets) no one will miss temp views. > > It'd be nice to have them stripped out by the end of the month, but > that's gonna be a fair amount of Futon work. Anyone feel up to it? > > Chris > > -- > Chris Anderson > http://jchrisa.net > http://couch.io > I volunteer to delete lots of code in the inernals if someone can give us Futon awesomeness. Like Chris says, this won't happen till Futon gets upgrades and my JavaScript fu is embarrassingly weak so patches *please*. Paul Davis