----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviewboard.asterisk.org/r/3341/#review11160 -----------------------------------------------------------
Ship it! Ship It! - Joshua Colp On March 12, 2014, 6:26 p.m., Mark Michelson wrote: > > ----------------------------------------------------------- > This is an automatically generated e-mail. To reply, visit: > https://reviewboard.asterisk.org/r/3341/ > ----------------------------------------------------------- > > (Updated March 12, 2014, 6:26 p.m.) > > > 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
