incubator-couchdb-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Adam Kocoloski <adam.kocolo...@gmail.com>
Subject Re: Quick 'Regenerating Views on Update' Mod Help
Date Fri, 05 Dec 2008 03:20:14 GMT
Hi Rob, take a look at the 3rd clause of  
couch_db_update_notifier:handle_event (line ~55).  That's the code  
that sends update notifications to your Ruby script.  It handles  
couch_db_update_notifier:notify() calls, which you'll find in  
couch_server.erl and couch_db_updater.erl.

 From a technical perspective it would be easy enough to change the  
"updated" atoms sent in couch_db_updater to something a little more  
detailed (and extend the gen_event code to work with terms other than  
atoms at the same time).  I haven't used DbUpdateNotificationProcesses  
much myself so I'm not sure if there are higher-level design reasons  
why sending this more detailed info should be discouraged.  Best,

Adam

On Dec 4, 2008, at 4:51 PM, Rob Law wrote:

> Hey,
>
> I am trying to modify the data that gets sent to my ruby script when  
> an
> Update happens (as described here :
> http://wiki.apache.org/couchdb/Regenerating_views_on_update).  I am  
> hoping
> to have couchdb alert me with the actual document that was updated  
> or added
> (like id, and attributes, etc), so that I can parse this update in  
> my ruby
> script and act accordingly.  So instead of the update_call looking  
> like:
>
> {"type":"updated","db":"DB_NAME"}
>
> it would look like this:
>
> {"type":"updated","db":"DB_NAME", "document":"_id" : "2342331232",
> "data":"test"}
>
> Is there any hope of getting that kind of data from couch on document
> update?  I could just have my ruby script request changed documents or
> something, but I thought it would be cleaner and more extensible if  
> couch
> just told my script the document that got updated.
>
> Any tips would help.  Also, could someone direct me to the file and/ 
> or line
> where that data gets sent to my script.  This is my first foray into  
> Erlang
> and I am trying to get into playing with couches internals, etc.
>
> thanks
>
> Rob


Mime
View raw message