diff options
author | Michael P | 2011-03-02 00:46:21 +0000 |
---|---|---|
committer | Pavan Deolasee | 2011-05-19 17:49:39 +0000 |
commit | 9bf28d03c9ca4f8a791b5e455f77b39d092dfa6c (patch) | |
tree | 9cd60b1ffc75eb822a85994e707ec0ac107e6dbe /src/backend/executor/nodeModifyTable.c | |
parent | 20e88ee4c8cd85092891ed5b3bec36820018323f (diff) |
Fix for bug 3134395, 3086422, 3136230: 2PC locks
When a PREPARE was being made on Coordinator for a transaction not
using DDL, 2PC file was bypassed so as to make a fake COMMIT on Coordinator.
The problem was that locks hold at PREPARE state were not released at COMMIT
PREPARED on Coordinator because lock information was obtained from 2PC,
which indeed did not exist on Coordinator for non-DDL transactions.
With this fix, instead of a fake PREPARE, XC does a Commit on Coordinator
without contacting GTM, this permits to release correctly all the locks
held by transaction.
PrepareTransaction is simplified in xact.c, but CommitTransaction
needs an additional parameter to decide if GTM is called at COMMIT
or not.
Diffstat (limited to 'src/backend/executor/nodeModifyTable.c')
0 files changed, 0 insertions, 0 deletions