I'll just go on record as saying I'd rather keep _temp_view and I think they should be renamed _slow_views. The biggest problem people have with them is they are slow, saying they are temporary doesn't tell people they are slow. Saying they are temporary doesn't say why and when you should use them, it gives no indication of the costs. I wouldn't have thought this was a problem, but we see time and time again people confused by temp views and when to use them. If we put the word slow right in the name, it's hard for people to misunderstand their biggest flaw.

I understand Chris Anderson's objection to slow views in the code, they complicate the code while providing nothing significant in a production setting. But I also think getting rid of them will complicate other areas of the code (like futon) and will have new edge cases to address (nothing too serious, but forcing users to create design documents just so they can delete shortly after them will certainly mean some stray design docs laying around). I'm in favor of keeping slow views, I think the benefit they cleanly provide to new users is very helpful.

-Damien

On Jan 6, 2009, at 7:30 AM, Jan Lehnardt wrote:


On 6 Jan 2009, at 13:24, Christopher Lenz wrote:

On 06.01.2009, at 13:04, Jan Lehnardt wrote:
On 6 Jan 2009, at 12:54, Noah Slater wrote:
On Tue, Jan 06, 2009 at 12:44:24PM +0100, Jan Lehnardt wrote:
There is no mechanism in CouchDB that people should use "instead of MVCC" whereas in most cases people shouldn't use _temp_views at all and we make the case that we don't really need them at all. Why should we keep them (other
than "because we have them")?

Being able to easily play/debug with views is presumably a net win.

Via Futon, Chris will prepare a patch that keeps the current behaviour. Other libraries exist (CouchRest), are in the process of being updated
(couchdb-python) and can easily be written.

I can't say for sure without seeing a more concrete proposal on how this would be handled, but all the approaches I can imagine would be quite the hack, leaving such "temp" design docs lying around in some cases, and causing conflict errors when you somehow try to do two or more queries at the same time.

And wasn't JChris' suggestion for Futon to prompt for the design/ view name before running?

Right, "near current behaviour". We don't want to encourage the wrong
model in Futon :) Yes this makes thinks a little more complex, but not
too complex.

Cheers
Jan
--

Reply via email to