You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@couchdb.apache.org by Cliff Williams <cl...@aol.com> on 2010/08/07 16:56:08 UTC

expected behaviour of changes feed

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

Re: expected behaviour of changes feed

Posted by Sebastian Cohnen <se...@googlemail.com>.
hey cliff,

you need to be aware, that "revisions" are not meant to be used for document versioning. _rev should be called _mvcc_token (or something like that) as couchdb only uses this information for concurrency control (conflict detection and resolution). you should *never* rely on old, non-conflicting versions to be around, as couch does not make any guarantees about their availability.

for that reason, I believe that this approach is not working if you seek to do a full audit of every change to a database. e.g. when you need to compact your database, you might "loose revision" information.


best

Sebastian

On 07.08.2010, at 16:56, Cliff Williams 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


Re: expected behaviour of changes feed

Posted by Cliff Williams <cl...@aol.com>.
All,

Please ignore my last paragraph ............ I was able to replicate my 
own stupidity ......... everything on the changes feed is as expected.

very best regards

Cliff

On 15/08/10 17:28, Cliff Williams wrote:
> 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<cl...@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
>>>>>>
>>>>>>
>>>>
>

Re: expected behaviour of changes feed

Posted by Cliff Williams <cl...@aol.com>.
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<cl...@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
>>>>>
>>>>>
>>>>>            
>>>
>>>        
>    

Re: expected behaviour of changes feed

Posted by J Chris Anderson <jc...@gmail.com>.
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<cl...@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
>>>> 
>>>>       
>>   


Re: expected behaviour of changes feed

Posted by Cliff Williams <cl...@aol.com>.
Mikeal & Sebastian

tks for explanation ......... all clear in my head now.

J Chris

That's just perfect for validation. Appreciate the link.

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<cl...@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
>>>
>>>        
>    

Re: expected behaviour of changes feed

Posted by J Chris Anderson <jc...@apache.org>.
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 <cl...@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
>> 


Re: expected behaviour of changes feed

Posted by Mikeal Rogers <mi...@gmail.com>.
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 <cl...@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
>