On Sat, May 18, 2013 at 8:04 AM, Jim Klo <[email protected]> wrote:
>
>
> Sent from my iPad
>
> On May 18, 2013, at 1:56 AM, "Randall Leeds" <[email protected]> wrote:
>
>> On Fri, May 17, 2013 at 12:12 PM, Randall Leeds <[email protected]> 
>> wrote:
>>> On Fri, May 17, 2013 at 11:57 AM, Robert Newson <[email protected]> wrote:
>>>> oldDoc is null in this case. That matches the case that the doc is
>>>> brand new and is surely deliberate? I asked him to post it this here
>>>> because I do understand the benefits of it being otherwise and wanted
>>>> to see this conversation.
>>>>
>>>> My position is that deleting a document should free that id for any
>>>> future use, which is exactly what Jim does not want.
>>>>
>>>> I'd like to hear from folks that might have a memory of when this
>>>> particular semantic was decided. I think it could arguably have gone
>>>> the other way.
>>>
>>> I know we have a clause for revivification for an update without a rev
>>> to a deleted doc.
>>>
>>> This proposed alternative behavior is attractive to me and if my
>>> armchair spelunking is correct, it's actually pretty trivial. It seems
>>> to me like we could even make a minor breaking change for 1.4 where
>>> the old doc is always passed to VDU handlers, even if it's a
>>> tombstone. Migration would mean updating VDU handlers to consider
>>> oldDoc._deleted. I think many are probably using VDUs for validating
>>> the new doc anyway, and would ignore the second parameter.
>>>
>>> The default semantics could stay the same, but if we just passed the
>>> tombstone to VDU handlers it would be customizable in exactly the way
>>> Jim wants. Sounds exactly like the sort of thing VDU is for.
>>
>> I just realized that it's not clear which revision should be provided
>> when attempting to revive a deleted doc, since there may have been
>> several revision histories which ended in deletes and there is no
>> previous rev specified.
>
> I think in this case only I'd expect only the deleted 'tombstone' doc to be 
> handed. I'm not sure what rev that falls under.

I'm saying that due to replication conflicts it may be that there are
multiple choices.

Reply via email to