In a distribute transaction -- one in which "DATABASE A" calls "DATABASE B", only
"DATABASE A" may commit -- the reason -- "database B" has no mechanism for co-ordinating
with "database a" on the commit. We need to do a 2 phase commit to ensure that when the
transaction commits any work performed on DATABASE A is committed *as well as* any work
on database b.