diff options
| author | Tom Lane | 2005-12-03 05:51:03 +0000 |
|---|---|---|
| committer | Tom Lane | 2005-12-03 05:51:03 +0000 |
| commit | a98871b7ac601b4ebe6ba050b1f9cbfdd5d71ded (patch) | |
| tree | 14a0b7c6a91cf05fc5556a6dcb00246ff11b0e6a /src/include/executor/executor.h | |
| parent | 1cf65140d07527e01c56164caefb5eb0c8106480 (diff) | |
Tweak indexscan machinery to avoid taking an AccessShareLock on an index
if we already have a stronger lock due to the index's table being the
update target table of the query. Same optimization I applied earlier
at the table level. There doesn't seem to be much interest in the more
radical idea of not locking indexes at all, so do what we can ...
Diffstat (limited to 'src/include/executor/executor.h')
| -rw-r--r-- | src/include/executor/executor.h | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/include/executor/executor.h b/src/include/executor/executor.h index f1d4e37c419..facb10a2e25 100644 --- a/src/include/executor/executor.h +++ b/src/include/executor/executor.h @@ -7,7 +7,7 @@ * Portions Copyright (c) 1996-2005, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * - * $PostgreSQL: pgsql/src/include/executor/executor.h,v 1.122 2005/12/02 20:03:42 tgl Exp $ + * $PostgreSQL: pgsql/src/include/executor/executor.h,v 1.123 2005/12/03 05:51:03 tgl Exp $ * *------------------------------------------------------------------------- */ @@ -230,6 +230,8 @@ extern void ExecAssignScanType(ScanState *scanstate, TupleDesc tupDesc, bool shouldFree); extern void ExecAssignScanTypeFromOuterPlan(ScanState *scanstate); +extern bool ExecRelationIsTargetRelation(EState *estate, Index scanrelid); + extern Relation ExecOpenScanRelation(EState *estate, Index scanrelid); extern void ExecCloseScanRelation(Relation scanrel); |
