postgresql/src/backend
Robert Haas 84e3712677 Create VXID locks "lazily" in the main lock table.
Instead of entering them on transaction startup, we materialize them
only when someone wants to wait, which will occur only during CREATE
INDEX CONCURRENTLY.  In Hot Standby mode, the startup process must also
be able to probe for conflicting VXID locks, but the lock need never be
fully materialized, because the startup process does not use the normal
lock wait mechanism.  Since most VXID locks never need to touch the
lock manager partition locks, this can significantly reduce blocking
contention on read-heavy workloads.

Patch by me.  Review by Jeff Davis.
2011-08-04 12:38:33 -04:00
..
access Remove O(N^2) performance issue with multiple SAVEPOINTs. 2011-07-19 17:21:24 +01:00
bootstrap Avoid index rebuild for no-rewrite ALTER TABLE .. ALTER TYPE. 2011-07-18 11:04:43 -04:00
catalog Rethink behavior of CREATE OR REPLACE during CREATE EXTENSION. 2011-07-23 16:59:39 -04:00
commands Create VXID locks "lazily" in the main lock table. 2011-08-04 12:38:33 -04:00
executor Avoid integer overflow when LIMIT + OFFSET >= 2^63. 2011-08-02 10:47:17 +03:00
foreign Clean up most -Wunused-but-set-variable warnings from gcc 4.6 2011-04-11 22:28:45 +03:00
lib Stamp copyrights for year 2011. 2011-01-01 13:18:15 -05:00
libpq Add host name resolution information to pg_hba.conf error messages 2011-07-31 18:03:43 +03:00
main Pgindent run before 9.1 beta2. 2011-06-09 14:32:50 -04:00
nodes Avoid index rebuild for no-rewrite ALTER TABLE .. ALTER TYPE. 2011-07-18 11:04:43 -04:00
optimizer Make pgbench use erand48() rather than random(). 2011-08-03 16:26:40 -04:00
parser Support SECURITY LABEL on databases, tablespaces, and roles. 2011-07-20 13:18:24 -04:00
po Fixed string in German translation that causes segfault. 2011-06-20 13:53:15 +02:00
port Replace printf format %i by %d 2011-07-26 22:54:29 +03:00
postmaster Create VXID locks "lazily" in the main lock table. 2011-08-04 12:38:33 -04:00
regex Pgindent run before 9.1 beta2. 2011-06-09 14:32:50 -04:00
replication Cascading replication feature for streaming log-based replication. 2011-07-19 03:40:03 +01:00
rewrite Try to acquire relation locks in RangeVarGetRelid. 2011-07-08 22:19:30 -04:00
snowball Stamp copyrights for year 2011. 2011-01-01 13:18:15 -05:00
storage Create VXID locks "lazily" in the main lock table. 2011-08-04 12:38:33 -04:00
tcop Avoid index rebuild for no-rewrite ALTER TABLE .. ALTER TYPE. 2011-07-18 11:04:43 -04:00
tsearch Pgindent run before 9.1 beta2. 2011-06-09 14:32:50 -04:00
utils Check to see whether libxml2 handles error context the way we expect. 2011-07-26 16:31:04 -04:00
.gitignore Add gitignore for mingw/cygwin build outputs 2011-06-09 18:11:47 +02:00
Makefile Fix symlink for errcodes.h so it works in VPATH builds from tarballs. 2011-06-22 13:08:08 -04:00
common.mk Workaround for recursive make breakage 2011-01-13 09:32:06 +02:00
nls.mk Add the possibility to pass --flag arguments to xgettext calls 2011-06-27 00:37:21 +03:00