On Sat, 2011-07-09 at 17:26 -0500, Zachary Zolton wrote:
> Could you change your filter to something like this?
>
> function(doc) {
> return doc._deleted || doc.type == 'foo';
> }
>
> That way you replicate all deleted docs.
That would work, thanks. I tried to avoid replicating millions of
deleted documents together with a few hundred documents passing the
filter.
A solution might be this validate_doc_update function on the target
database:
function(newDoc, oldDoc, userCtx) {
if (newDoc._deleted === true && !oldDoc) {
throw({forbidden: 'do not create deleted docs'});
}
}
This way all deleted documents will be transmitted, but at least not
written if there is no previous revision.
The problem for changed values remains: when the source database changes
type='foo' to type='bar', the target database keeps the old revision
with type='foo'.
Mitja