postgresql/src/backend/commands
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
..
aggregatecmds.c Stamp copyrights for year 2011. 2011-01-01 13:18:15 -05:00
alter.c Try to acquire relation locks in RangeVarGetRelid. 2011-07-08 22:19:30 -04:00
analyze.c Fix thinko in previous patch to always update pg_class.reltuples/relpages. 2011-06-19 14:00:48 -04:00
async.c Preserve caller's memory context in ProcessCompletedNotifies(). 2011-05-27 12:10:32 -04:00
cluster.c Remove extra copying of TupleDescs for heap_create_with_catalog 2011-06-20 10:50:23 -04:00
collationcmds.c Remove rel.h from objectaddress.h; only relcache.h is necessary. 2011-06-28 17:08:29 -04:00
comment.c Remove rel.h from objectaddress.h; only relcache.h is necessary. 2011-06-28 17:08:29 -04:00
constraint.c Move Trigger and TriggerDesc structs out of rel.h into a new reltrigger.h 2011-07-04 14:35:58 -04:00
conversioncmds.c pgindent run before PG 9.1 beta 1. 2011-04-10 11:42:00 -04:00
copy.c Move Trigger and TriggerDesc structs out of rel.h into a new reltrigger.h 2011-07-04 14:35:58 -04:00
dbcommands.c Support SECURITY LABEL on databases, tablespaces, and roles. 2011-07-20 13:18:24 -04:00
define.c Stamp copyrights for year 2011. 2011-01-01 13:18:15 -05:00
discard.c Refactor the executor's API to support data-modifying CTEs better. 2011-02-27 13:44:12 -05:00
explain.c Move Trigger and TriggerDesc structs out of rel.h into a new reltrigger.h 2011-07-04 14:35:58 -04:00
extension.c Fix another oversight in logging of changes in postgresql.conf settings. 2011-07-08 17:02:58 -04:00
foreigncmds.c Rethink behavior of CREATE OR REPLACE during CREATE EXTENSION. 2011-07-23 16:59:39 -04:00
functioncmds.c Rethink behavior of CREATE OR REPLACE during CREATE EXTENSION. 2011-07-23 16:59:39 -04:00
indexcmds.c Create VXID locks "lazily" in the main lock table. 2011-08-04 12:38:33 -04:00
lockcmds.c Try to acquire relation locks in RangeVarGetRelid. 2011-07-08 22:19:30 -04:00
Makefile DDL support for collations 2011-02-12 15:55:18 +02:00
opclasscmds.c Rethink behavior of CREATE OR REPLACE during CREATE EXTENSION. 2011-07-23 16:59:39 -04:00
operatorcmds.c pgindent run before PG 9.1 beta 1. 2011-04-10 11:42:00 -04:00
portalcmds.c pgindent run before PG 9.1 beta 1. 2011-04-10 11:42:00 -04:00
prepare.c pgindent run before PG 9.1 beta 1. 2011-04-10 11:42:00 -04:00
proclang.c Rethink behavior of CREATE OR REPLACE during CREATE EXTENSION. 2011-07-23 16:59:39 -04:00
schemacmds.c Move Trigger and TriggerDesc structs out of rel.h into a new reltrigger.h 2011-07-04 14:35:58 -04:00
seclabel.c Support SECURITY LABEL on databases, tablespaces, and roles. 2011-07-20 13:18:24 -04:00
sequence.c Try to acquire relation locks in RangeVarGetRelid. 2011-07-08 22:19:30 -04:00
tablecmds.c Avoid index rebuild for no-rewrite ALTER TABLE .. ALTER TYPE. 2011-07-18 11:04:43 -04:00
tablespace.c Support SECURITY LABEL on databases, tablespaces, and roles. 2011-07-20 13:18:24 -04:00
trigger.c Replace errdetail("%s", ...) with errdetail_internal("%s", ...). 2011-07-16 14:22:18 -04:00
tsearchcmds.c Rethink behavior of CREATE OR REPLACE during CREATE EXTENSION. 2011-07-23 16:59:39 -04:00
typecmds.c Move Trigger and TriggerDesc structs out of rel.h into a new reltrigger.h 2011-07-04 14:35:58 -04:00
user.c Support SECURITY LABEL on databases, tablespaces, and roles. 2011-07-20 13:18:24 -04:00
vacuum.c Try to acquire relation locks in RangeVarGetRelid. 2011-07-08 22:19:30 -04:00
vacuumlazy.c Make the visibility map crash-safe. 2011-06-21 23:04:40 -04:00
variable.c Pgindent run before 9.1 beta2. 2011-06-09 14:32:50 -04:00
view.c Fix bugs in relpersistence handling during table creation. 2011-07-03 17:34:47 -04:00