diff options
author | Simon Riggs <simon@2ndQuadrant.com> | 2010-01-16 10:05:59 +0000 |
---|---|---|
committer | Simon Riggs <simon@2ndQuadrant.com> | 2010-01-16 10:05:59 +0000 |
commit | a8ce974cddef3957b0615d743a1d090d12e81d50 (patch) | |
tree | 1a7b80c1def4f5719a2d9a223b47e639dcbcb504 /src/include/storage/proc.h | |
parent | c9dc53be77664952ebd3b50a1e920e92306484de (diff) |
Teach standby conflict resolution to use SIGUSR1
Conflict reason is passed through directly to the backend, so we can
take decisions about the effect of the conflict based upon the local
state. No specific changes, as yet, though this prepares for later work.
CancelVirtualTransaction() sends signals while holding ProcArrayLock.
Introduce errdetail_abort() to give message detail explaining that the
abort was caused by conflict processing. Remove CONFLICT_MODE states
in favour of using PROCSIG_RECOVERY_CONFLICT states directly, for clarity.
Diffstat (limited to 'src/include/storage/proc.h')
-rw-r--r-- | src/include/storage/proc.h | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/src/include/storage/proc.h b/src/include/storage/proc.h index cee02c359d7..50500903245 100644 --- a/src/include/storage/proc.h +++ b/src/include/storage/proc.h @@ -7,7 +7,7 @@ * Portions Copyright (c) 1996-2010, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * - * $PostgreSQL: pgsql/src/include/storage/proc.h,v 1.117 2010/01/15 09:19:09 heikki Exp $ + * $PostgreSQL: pgsql/src/include/storage/proc.h,v 1.118 2010/01/16 10:05:50 sriggs Exp $ * *------------------------------------------------------------------------- */ @@ -96,11 +96,11 @@ struct PGPROC uint8 vacuumFlags; /* vacuum-related flags, see above */ /* - * While in hot standby mode, setting recoveryConflictMode instructs - * the backend to commit suicide. Possible values are the same as those - * passed to ResolveRecoveryConflictWithVirtualXIDs(). + * While in hot standby mode, shows that a conflict signal has been sent + * for the current transaction. Set/cleared while holding ProcArrayLock, + * though not required. Accessed without lock, if needed. */ - int recoveryConflictMode; + bool recoveryConflictPending; /* Info about LWLock the process is currently waiting for, if any. */ bool lwWaiting; /* true if waiting for an LW lock */ |