On Sat, 2011-04-09 at 10:42 +0100, Robert Newson wrote:
> CouchDB does not provide revisioning or history features to the end
> user at all. This is a common mistake.
>
> The use of _rev and MVCC is purely a mechanism to enable sane
> replication between servers where writes are permitted everywhere.
> CouchDB's replication will only ensure that the current version* of
> any document is replicated, earlier revisions are *not* replicated.
I'm not interested in replicating earlier revisions.
I'm interested in receiving the change notification (either because of
replication or because of a local update) and showing what changed.
I'm pretty sure that:
- in the case of a local update, the previous revision is still there at
the moment the change notification happens
- in the case of a replication update, the previous local revision is
still locally available too.
Those are the changes I'm interested in showing, and hence I see no
reason why couchdb couldn't inform both the new revid and the revid just
before the change.
> Earlier revisions are also removed on compaction, which is an
> essential maintenance operation.
Essential how ? It's not going to stop working if you don't compact,
just slow down. Depends on your usage model. And in any case,
compaction is triggered, so I would be completely ok with once in a
while not being able to get an older revision and not correctly show
changes because I triggered compaction. 99% of the time this wouldn't
be the case.
Thomas
--
--
you own me
there's nothing you can do
you own me
lucky you
--
Flumotion - the only way to stream!
http://www.flumotion.net/
|