summaryrefslogtreecommitdiff
path: root/src/include
diff options
context:
space:
mode:
authorMason S2010-07-07 13:31:15 +0000
committerPavan Deolasee2011-05-19 16:45:13 +0000
commit51feb2d737286017b642b4ad3b6795f564a5e83e (patch)
tree410ff860a38d214fca03d41ccdef2e500be27002 /src/include
parent555c681e4f5d9c37ca5a61a8bca0404d340ff7c0 (diff)
In Postgres-XC, the error stack may overflow because
AbortTransaction may be called multiple times, each time calling DataNodeRollback, which may fail again if a data node is down. Instead, if we are already in an abort state, we do not bother repeating abort actions.
Diffstat (limited to 'src/include')
-rw-r--r--src/include/access/xact.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/include/access/xact.h b/src/include/access/xact.h
index 7cd8e165ec..871713f4f1 100644
--- a/src/include/access/xact.h
+++ b/src/include/access/xact.h
@@ -163,6 +163,9 @@ extern void CommandCounterIncrement(void);
extern void ForceSyncCommit(void);
extern void StartTransactionCommand(void);
extern void CommitTransactionCommand(void);
+#ifdef PGXC
+extern void AbortCurrentTransactionOnce(void);
+#endif
extern void AbortCurrentTransaction(void);
extern void BeginTransactionBlock(void);
extern bool EndTransactionBlock(void);