Where the return code means :
-2 Asynchronous operation already outstanding
-3 A resource manager error occurred
-4 The XID is not valid
-5 Invalid arguments were given
-6 Routine invoked in an improper context
-7 Resource Manager unavailable
-8 the XID already exists
-9 Resource Manager doing work outside global transaction