diff options
author | Thomas Munro <tmunro@postgresql.org> | 2018-06-26 17:16:34 +1200 |
---|---|---|
committer | Thomas Munro <tmunro@postgresql.org> | 2018-06-26 18:45:45 +1200 |
commit | a40cff8956e842f737739d93a7b160f0b4a03d13 (patch) | |
tree | b104b8b2c6d33b188c5efc9bd44a57bbd75846db /src/backend/executor | |
parent | c672d709b089f919381a2c36eea32a29d8de4198 (diff) | |
download | postgresql-a40cff8956e842f737739d93a7b160f0b4a03d13.tar.gz postgresql-a40cff8956e842f737739d93a7b160f0b4a03d13.zip |
Move RecoveryLockList into a hash table.
Standbys frequently need to release all locks held by a given xid.
Instead of searching one big list linearly, let's create one list
per xid and put them in a hash table, so we can find what we need
in O(1) time.
Earlier analysis and a prototype were done by David Rowley, though
this isn't his patch.
Back-patch all the way.
Author: Thomas Munro
Diagnosed-by: David Rowley, Andres Freund
Reviewed-by: Andres Freund, Tom Lane, Robert Haas
Discussion: https://postgr.es/m/CAEepm%3D1mL0KiQ2KJ4yuPpLGX94a4Ns_W6TL4EGRouxWibu56pA%40mail.gmail.com
Discussion: https://postgr.es/m/CAKJS1f9vJ841HY%3DwonnLVbfkTWGYWdPN72VMxnArcGCjF3SywA%40mail.gmail.com
Diffstat (limited to 'src/backend/executor')
0 files changed, 0 insertions, 0 deletions