-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviewboard.asterisk.org/r/3341/
-----------------------------------------------------------

Review request for Asterisk Developers.


Repository: Asterisk


Description
-------

When storing or updating realtime backends, the functions are supposed to 
return the number of records affected by the operation or < 0 if there was an 
error.

I found that within the config API itself, the realtime backend store and 
update functions were being handled differently. The config API was treating 
any non-zero return as an error and treating a zero return as success.

Further, I found that in res_sorcery_realtime, the return of 
ast_store_realtime_fields() had the same treatment: non-zero is an error and 
zero is success. This would result in registered sorcery observers not being 
notified if content was successfully stored in the realtime backend.

I have made the following changes:
* In the config API, the calls to realtime backend update and store functions 
treats >= 0 as success. This is because from its point of view, even if the 
realtime backend does not store or update records, it did not fail, and thus 
succeeded at the operation.
* In res_sorcery_realtime, the call to ast_store_realtime_fields() treats > 0 
as success. This is because from its point of view, it only cares if at least 
one record was updated so that sorcery observers can be notified of the changes.


Diffs
-----

  /branches/12/res/res_sorcery_realtime.c 410467 
  /branches/12/main/config.c 410467 

Diff: https://reviewboard.asterisk.org/r/3341/diff/


Testing
-------

Like with other realtime-related things I've been doing lately, this has been 
tested by doing some manual tests. In this case, with store and update, the 
easiest way to test was to use realtime as sorcery's backend when using 
external MWI.

With these changes, the stores and updates are properly detected as successful 
and sorcery now notifies observers when content is created.


Thanks,

Mark Michelson

-- 
_____________________________________________________________________
-- Bandwidth and Colocation Provided by http://www.api-digital.com --

asterisk-dev mailing list
To UNSUBSCRIBE or update options visit:
   http://lists.digium.com/mailman/listinfo/asterisk-dev

Reply via email to