I worked on solution of ticket https://fedorahosted.org/sssd/ticket/1150 and I already had some solutions with macros, but I found them ugly and obfuscated or not generic enough, so they could not be used on all places where we use sysdb_transaction functions.
So I decided not to implement any wrapper macros around these functions (yet) and only rewrite the places where we use sysdb_transactions to unify the way they are used (and to remove bad examples of usage).
In this patch, I did it for files in src/db/. If this patch is OK, I'll try to spread this pattern to other modules where sysdb_transaction_start/commit/cancel is used.
The patch is attached.
NOTE: Function sysdb_idmap_store_mappings looks like completely rewritten, but it is not. Except of changes related to sysdb_transaction it had only bad indentation.
Thanks Michal