aboutsummaryrefslogtreecommitdiff
path: root/src/bin/pg_dump/pg_backup_db.c
diff options
context:
space:
mode:
authorPhilip Warner <pjw@rhyme.com.au>2000-10-31 14:20:30 +0000
committerPhilip Warner <pjw@rhyme.com.au>2000-10-31 14:20:30 +0000
commit44954fae084339cedfdcfe88628e4cecd437cd39 (patch)
treee2777899200bb137ee0cebf14124f9894d3afbdc /src/bin/pg_dump/pg_backup_db.c
parent0babf31640cc73b8ee998d772f40dbfd73527fd1 (diff)
downloadpostgresql-44954fae084339cedfdcfe88628e4cecd437cd39.tar.gz
postgresql-44954fae084339cedfdcfe88628e4cecd437cd39.zip
Added long-standing transaction when restoring BLOBS (uses commit every BLOB_BATCH_SIZE)
Prevent dumping of languages from template1.
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;
+}