aboutsummaryrefslogtreecommitdiff
path: root/src/backend/commands/functioncmds.c
diff options
context:
space:
mode:
authorRobert Haas <rhaas@postgresql.org>2012-05-30 16:17:46 -0400
committerRobert Haas <rhaas@postgresql.org>2012-05-30 16:17:46 -0400
commit07ab1383e3be9e6f368e2ceb11bf7697d88260f9 (patch)
tree0bf043af1d97ad25d9fa47e01015d861d4a9b078 /src/backend/commands/functioncmds.c
parent932ded2ed51e8333852e370c7a6dad75d9f236f9 (diff)
downloadpostgresql-07ab1383e3be9e6f368e2ceb11bf7697d88260f9.tar.gz
postgresql-07ab1383e3be9e6f368e2ceb11bf7697d88260f9.zip
Fix two more bugs in fast-path relation locking.
First, the previous code failed to account for the fact that, during Hot Standby operation, the startup process takes AccessExclusiveLocks on relations without setting MyDatabaseId. This resulted in fast path strong lock counts failing to be incremented with the startup process took locks, which in turn allowed conflicting lock requests to succeed when they should not have. Report by Erik Rijkers, diagnosis by Heikki Linnakangas. Second, LockReleaseAll() failed to honor the allLocks and lockmethodid restrictions with respect to fast-path locks. It's not clear to me whether this produces any user-visible breakage at the moment, but it's certainly wrong. Rearrange order of operations in LockReleaseAll to fix. Noted by Tom Lane.
Diffstat (limited to 'src/backend/commands/functioncmds.c')
0 files changed, 0 insertions, 0 deletions