mirror of
https://github.com/postgres/postgres.git
synced 2025-07-08 11:42:09 +03:00
Transaction chaining
Add command variants COMMIT AND CHAIN and ROLLBACK AND CHAIN, which start new transactions with the same transaction characteristics as the just finished one, per SQL standard. Support for transaction chaining in PL/pgSQL is also added. This functionality is especially useful when running COMMIT in a loop in PL/pgSQL. Reviewed-by: Fabien COELHO <coelho@cri.ensmp.fr> Discussion: https://www.postgresql.org/message-id/flat/28536681-324b-10dc-ade8-ab46f7645a5a@2ndquadrant.com
This commit is contained in:
@ -368,12 +368,14 @@ extern bool TransactionIdIsCurrentTransactionId(TransactionId xid);
|
||||
extern void CommandCounterIncrement(void);
|
||||
extern void ForceSyncCommit(void);
|
||||
extern void StartTransactionCommand(void);
|
||||
extern void SaveTransactionCharacteristics(void);
|
||||
extern void RestoreTransactionCharacteristics(void);
|
||||
extern void CommitTransactionCommand(void);
|
||||
extern void AbortCurrentTransaction(void);
|
||||
extern void BeginTransactionBlock(void);
|
||||
extern bool EndTransactionBlock(void);
|
||||
extern bool EndTransactionBlock(bool chain);
|
||||
extern bool PrepareTransactionBlock(const char *gid);
|
||||
extern void UserAbortTransactionBlock(void);
|
||||
extern void UserAbortTransactionBlock(bool chain);
|
||||
extern void BeginImplicitTransactionBlock(void);
|
||||
extern void EndImplicitTransactionBlock(void);
|
||||
extern void ReleaseSavepoint(const char *name);
|
||||
|
Reference in New Issue
Block a user