postgresql/src/backend
Robert Haas 07ab1383e3 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.
2012-05-30 16:17:46 -04:00
..
access Change the way parent pages are tracked during buffered GiST build. 2012-05-30 12:05:57 +03:00
bootstrap Update copyright notices for year 2012. 2012-01-01 18:01:58 -05:00
catalog Update SQL features list 2012-05-27 23:34:16 +03:00
commands Improve error message for ALTER COLUMN TYPE coercion failure. 2012-05-16 07:28:25 -04:00
executor Rename I/O timing statistics columns to blk_read_time and blk_write_time. 2012-04-29 18:13:33 -04:00
foreign Add GetForeignColumnOptions() to foreign.c, and add some documentation. 2012-03-07 18:20:58 -05:00
lib Update copyright notices for year 2012. 2012-01-01 18:01:58 -05:00
libpq Fix bogus declaration of local variable. 2012-05-13 00:30:32 -04:00
main Realign some --help output to have better spacing between columns 2012-05-18 20:34:14 +03:00
nodes Recast "ONLY" column CHECK constraints as NO INHERIT 2012-04-20 23:56:57 -03:00
optimizer Fix oversight in recent parameterized-path patch. 2012-04-26 14:17:44 -04:00
parser Change COLLATION keyword category 2012-05-16 20:19:44 +03:00
po Translation updates 2011-08-17 14:07:46 +03:00
port Assert that WaitLatchOrSocket callers cannot wait only for writability. 2012-05-14 16:12:28 -04:00
postmaster Suppress -Wunused-result warning about write() 2012-05-27 22:35:01 +03:00
regex Fix array overrun in regex code. 2012-05-24 13:56:16 -04:00
replication Cast some printf arguments to avoid possibly-nonportable behavior. 2012-03-23 20:18:04 -04:00
rewrite Add some infrastructure for contrib/pg_stat_statements. 2012-03-27 15:17:40 -04:00
snowball Update copyright notices for year 2012. 2012-01-01 18:01:58 -05:00
storage Fix two more bugs in fast-path relation locking. 2012-05-30 16:17:46 -04:00
tcop Make "unexpected EOF" messages DEBUG1 unless in an open transaction 2012-05-07 18:50:44 +02:00
tsearch Fix bug in to_tsquery(). 2012-05-15 19:27:34 +03:00
utils Fix string truncation to be multibyte-aware in text_name and bpchar_name. 2012-05-25 17:34:51 -04:00
.gitignore Add gitignore for mingw/cygwin build outputs 2011-06-09 18:11:47 +02:00
common.mk Call check_keywords.pl in maintainer-check 2012-02-27 13:53:12 +02:00
Makefile Fix incorrect make maintainer-clean rule. 2012-04-07 18:16:50 -04:00
nls.mk Sort file list when creating gettext-files 2011-12-27 20:20:56 +02:00