summaryrefslogtreecommitdiff
path: root/src/include/storage/lock.h
diff options
context:
space:
mode:
authorAlvaro Herrera <alvherre@alvh.no-ip.org>2007-10-26 20:45:10 +0000
committerAlvaro Herrera <alvherre@alvh.no-ip.org>2007-10-26 20:45:10 +0000
commitacac68b2bcae818bc8803b8cb8cbb17eee8d5e2b (patch)
tree437f3d5c6499a7c844450e305e9d5248af44c117 /src/include/storage/lock.h
parentffda32e9fd1878cd3896e71b4f48e97c22479335 (diff)
Allow an autovacuum worker to be interrupted automatically when it is found
to be locking another process (except when it's working to prevent Xid wraparound problems).
Diffstat (limited to 'src/include/storage/lock.h')
-rw-r--r--src/include/storage/lock.h7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/include/storage/lock.h b/src/include/storage/lock.h
index 30c8a3fa2bc..005c99ee7dc 100644
--- a/src/include/storage/lock.h
+++ b/src/include/storage/lock.h
@@ -7,7 +7,7 @@
* Portions Copyright (c) 1996-2007, PostgreSQL Global Development Group
* Portions Copyright (c) 1994, Regents of the University of California
*
- * $PostgreSQL: pgsql/src/include/storage/lock.h,v 1.107 2007/09/05 18:10:48 tgl Exp $
+ * $PostgreSQL: pgsql/src/include/storage/lock.h,v 1.108 2007/10/26 20:45:10 alvherre Exp $
*
*-------------------------------------------------------------------------
*/
@@ -442,7 +442,9 @@ typedef enum
DS_NOT_YET_CHECKED, /* no deadlock check has run yet */
DS_NO_DEADLOCK, /* no deadlock detected */
DS_SOFT_DEADLOCK, /* deadlock avoided by queue rearrangement */
- DS_HARD_DEADLOCK /* deadlock, no way out but ERROR */
+ DS_HARD_DEADLOCK, /* deadlock, no way out but ERROR */
+ DS_BLOCKED_BY_AUTOVACUUM /* no deadlock; queue blocked by autovacuum
+ worker */
} DeadLockState;
@@ -495,6 +497,7 @@ extern void lock_twophase_postabort(TransactionId xid, uint16 info,
void *recdata, uint32 len);
extern DeadLockState DeadLockCheck(PGPROC *proc);
+extern PGPROC *GetBlockingAutoVacuumPgproc(void);
extern void DeadLockReport(void);
extern void RememberSimpleDeadLock(PGPROC *proc1,
LOCKMODE lockmode,