couchdb-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Cliff Williams <cliffywi...@aol.com>
Subject Re: expected behaviour of changes feed
Date Sun, 15 Aug 2010 16:28:59 GMT
All,

Gave things a little time to settle down following the data loss issue 
but checked out trunk from svn this morning and tested the versioning 
technique outlined by Chris below........ it works "luvly" and fits my 
purposes perfectly.

As an aside, following my initial reluctance to use the changes feed as 
an audit trail (mainly due to laziness on my part since I did not want 
the rigmarole of new addition to the design file etc) I wrote a node 
script as a simple logger.

One thing that I have noticed is that you get an entry in the changes 
feed if you upload an attachment but no entry if an attachment is 
deleted. Is this expected behaviour?.

Very Best Regards

Cliff

On 08/08/10 17:10, J Chris Anderson wrote:
> On Aug 8, 2010, at 8:36 AM, Cliff Williams wrote:
>
>    
>> Mikeal&  Sebastian
>>
>> tks for explanation ......... all clear in my head now.
>>
>> J Chris
>>
>> That's just perfect for validation. Appreciate the link.
>>
>>      
> FYI there's a minor JavaScript bug in 1.0.0 that prevent the versioning technique in
that article from working out of the box. The bug has been fixed in trunk and the 1.0.x branch,
and the fix will be in the 1.0.1 release which is coming out this week.
>
> Chris
>
>    
>> Thank you all for your help
>>
>> very best regards
>>
>> Cliff
>>
>> On 07/08/10 18:41, J Chris Anderson wrote:
>>      
>>> For your use case you might look at these versioning techniques:
>>>
>>> http://blog.couch.io/post/632718824/simple-document-versioning-with-couchdb
>>>
>>>
>>> On Aug 7, 2010, at 9:55 AM, Mikeal Rogers wrote:
>>>
>>>
>>>        
>>>> the changes feed only shows the update sequences for the current documents
>>>> in the database. it doesn't show sequences for old revisions of documents
>>>> because they will go away after compaction anyway.
>>>>
>>>> every time a document is updated it removes it's previous sequence from the
>>>> by-sequence index and the revision information is only available by querying
>>>> for it on the document itself (until you compact).
>>>>
>>>> -Mikeal
>>>>
>>>> On Sat, Aug 7, 2010 at 7:56 AM, Cliff Williams<cliffywills@aol.com>
  wrote:
>>>>
>>>>
>>>>          
>>>>> All,
>>>>>
>>>>> Good afternoon.
>>>>>
>>>>> using this url
>>>>> http://10.0.0.10:5984/test/_changes?since=14966&all_docs=true
>>>>>
>>>>> I get the following results
>>>>>
>>>>> {"results":[
>>>>>
>>>>> {"seq":14971,"id":"ab53d85b92247bcbf251ef9abed4d998","changes":[{"rev":"2-b9cfa00cc907767d6bfdeca7dee5008f"}]},
>>>>>
>>>>> {"seq":14973,"id":"ab53d85b92247bcbf251ef9abed4d512","changes":[{"rev":"3-ec350b40276b7c16c09ef485dd8f14aa"}]},
>>>>>
>>>>> {"seq":14981,"id":"ab53d85b92247bcbf251ef9abed4a63a","changes":[{"rev":"2-fe0cb06e7046e9d41d326b3e8c30ed0c"}]},
>>>>>
>>>>> {"seq":14982,"id":"_design/test","changes":[{"rev":"8-5a565b32bca9b42479543441f23a2e61"}]},
>>>>>
>>>>> {"seq":14983,"id":"ab53d85b92247bcbf251ef9abed4b4d8","changes":[{"rev":"2-ed899403c21b6cca22f7e68f05d92b0c"}]},
>>>>>
>>>>> {"seq":14984,"id":"ab53d85b92247bcbf251ef9abed47f2f","changes":[{"rev":"2-30d5cf6764f2e6c1795d65f272817238"}]},
>>>>>
>>>>> {"seq":15006,"id":"ab53d85b92247bcbf251ef9abed4e544","changes":[{"rev":"10-e6856aac928ff1e2e019b556de8f1760"}]},
>>>>>
>>>>> {"seq":15007,"id":"ab53d85b92247bcbf251ef9abed49e50","changes":[{"rev":"19-d7629eac5a5bd2133a19178fdc9277e6"}]}
>>>>> ],
>>>>> "last_seq":15007}
>>>>>
>>>>> now if I make an amendment to the document at sequence number 15006 and
>>>>> using the same URL I get the following results.
>>>>>
>>>>> {"results":[
>>>>>
>>>>> {"seq":14971,"id":"ab53d85b92247bcbf251ef9abed4d998","changes":[{"rev":"2-b9cfa00cc907767d6bfdeca7dee5008f"}]},
>>>>>
>>>>> {"seq":14973,"id":"ab53d85b92247bcbf251ef9abed4d512","changes":[{"rev":"3-ec350b40276b7c16c09ef485dd8f14aa"}]},
>>>>>
>>>>> {"seq":14981,"id":"ab53d85b92247bcbf251ef9abed4a63a","changes":[{"rev":"2-fe0cb06e7046e9d41d326b3e8c30ed0c"}]},
>>>>>
>>>>> {"seq":14982,"id":"_design/test","changes":[{"rev":"8-5a565b32bca9b42479543441f23a2e61"}]},
>>>>>
>>>>> {"seq":14983,"id":"ab53d85b92247bcbf251ef9abed4b4d8","changes":[{"rev":"2-ed899403c21b6cca22f7e68f05d92b0c"}]},
>>>>>
>>>>> {"seq":14984,"id":"ab53d85b92247bcbf251ef9abed47f2f","changes":[{"rev":"2-30d5cf6764f2e6c1795d65f272817238"}]},
>>>>>
>>>>> {"seq":15007,"id":"ab53d85b92247bcbf251ef9abed49e50","changes":[{"rev":"19-d7629eac5a5bd2133a19178fdc9277e6"}]},
>>>>>
>>>>> {"seq":15008,"id":"ab53d85b92247bcbf251ef9abed4e544","changes":[{"rev":"11-e01ef09eef56397e345f598fd2069f22"}]}
>>>>> ],
>>>>> "last_seq":15008}
>>>>>
>>>>>
>>>>> I think that it is fairly straight forward to ascertain that we are looking
>>>>> at latest revision sequences.
>>>>>
>>>>> Is there a way to see all sequence numbers?? I am of course aware of
the
>>>>> continuous feed but do not wish to use it.
>>>>> My use case is for a pharma regulated clinical trials database where
i need
>>>>> a total audit of every single change made to the database.
>>>>>
>>>>> best regards
>>>>>
>>>>> Cliff
>>>>>
>>>>>
>>>>>            
>>>
>>>        
>    

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message