aboutsummaryrefslogtreecommitdiff
path: root/src/bin/pg_dump/pg_backup_db.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/bin/pg_dump/pg_backup_db.c')
-rw-r--r--src/bin/pg_dump/pg_backup_db.c20
1 files changed, 20 insertions, 0 deletions
diff --git a/src/bin/pg_dump/pg_backup_db.c b/src/bin/pg_dump/pg_backup_db.c
index d606508a36a..4b8873c3a23 100644
--- a/src/bin/pg_dump/pg_backup_db.c
+++ b/src/bin/pg_dump/pg_backup_db.c
@@ -675,6 +675,17 @@ void StartTransaction(ArchiveHandle* AH)
appendPQExpBuffer(qry, "Begin;");
ExecuteSqlCommand(AH, qry, "can not start database transaction");
+ AH->txActive = true;
+}
+
+void StartTransactionXref(ArchiveHandle* AH)
+{
+ PQExpBuffer qry = createPQExpBuffer();
+
+ appendPQExpBuffer(qry, "Begin;");
+
+ _executeSqlCommand(AH, AH->blobConnection, qry, "can not start BLOB xref transaction");
+ AH->blobTxActive = true;
}
void CommitTransaction(ArchiveHandle* AH)
@@ -684,6 +695,15 @@ void CommitTransaction(ArchiveHandle* AH)
appendPQExpBuffer(qry, "Commit;");
ExecuteSqlCommand(AH, qry, "can not commit database transaction");
+ AH->txActive = false;
}
+void CommitTransactionXref(ArchiveHandle* AH)
+{
+ PQExpBuffer qry = createPQExpBuffer();
+ appendPQExpBuffer(qry, "Commit;");
+
+ _executeSqlCommand(AH, AH->blobConnection, qry, "can not commit BLOB xref transaction");
+ AH->blobTxActive = false;
+}