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
>