I would like to perform an action if and only if a database operation succeeds, as well as revert that database operation if the action fails. From the documentation I understand I should wrap both in a transaction and implement it through these parameters: SLAPI_PLUGIN_BE_POST_MODIFY_FN, SLAPI_PLUGIN_BE_POST_ADD_FN, SLAPI_PLUGIN_BE_POST_DELETE_FN. However I''m not sure how to write that transaction. Is there a code sample? How should I configure the plugin -- nsslapd-plugintype: postperation doesn''t seem to be the right type...
Rich Megginson
2008-Jun-23 21:21 UTC
Re: [Fedora-directory-users] Use of SLAPI_PLUGIN_BE_POST_MODIFY_FN
Eric wrote:> I would like to perform an action if and only if a database operation succeeds,You can do this.> as well as revert that database operation if the action fails.You can''t do this. That is, you can''t revert another prior operation.> From the documentation I understand I should wrap both in a transaction and implement it through these parameters: SLAPI_PLUGIN_BE_POST_MODIFY_FN, SLAPI_PLUGIN_BE_POST_ADD_FN, SLAPI_PLUGIN_BE_POST_DELETE_FN. >It might be possible, but you''d have to hack the database code in order to get all of your operations into a single database transaction. BE plugins are called inside the database lock, so you can be assured that your code will be called with the database in a consistent state, but you can''t use them to add other operations to the transaction.> However I''m not sure how to write that transaction. Is there a code sample? How should I configure the plugin -- nsslapd-plugintype: postperation doesn''t seem to be the right type... > > > -- > Fedora-directory-users mailing list > Fedora-directory-users@redhat.com > https://www.redhat.com/mailman/listinfo/fedora-directory-users >