I would like to perform an action if and only if a database operation
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,
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