postgresql/src/backend/commands
Tom Lane da7540b9d1 Change ANALYZE to take ShareUpdateExclusiveLock not AccessShareLock on
the table being analyzed.  This prevents two ANALYZEs from running
concurrently on the same table and possibly suffering concurrent-update
failures while trying to store their results into pg_statistic.  The
downside is that a database-wide ANALYZE executed within a transaction
block will hold ShareUpdateExclusiveLock on many tables simultaneously,
which could lead to concurrency issues or even deadlock against another
such ANALYZE.  However, this seems a corner case of less importance
than getting unexpected errors from a foreground ANALYZE when autovacuum
elects to analyze the same table concurrently.  Per discussion.
2006-09-17 22:50:31 +00:00
..
aggregatecmds.c Aggregate functions now support multiple input arguments. I also took 2006-07-27 19:52:07 +00:00
alter.c Remove 576 references of include files that were not needed. 2006-07-14 14:52:27 +00:00
analyze.c Change ANALYZE to take ShareUpdateExclusiveLock not AccessShareLock on 2006-09-17 22:50:31 +00:00
async.c Remove 576 references of include files that were not needed. 2006-07-14 14:52:27 +00:00
cluster.c Now that we've rearranged relation open to get a lock before touching 2006-08-18 16:09:13 +00:00
comment.c Get rid of the separate RULE privilege for tables: now only a table's owner 2006-09-05 21:08:36 +00:00
conversioncmds.c Remove 576 references of include files that were not needed. 2006-07-14 14:52:27 +00:00
copy.c Attibution addition: Add Karel Zak also for COPY SELECT. 2006-08-31 03:17:50 +00:00
dbcommands.c Remove 576 references of include files that were not needed. 2006-07-14 14:52:27 +00:00
define.c Code review for FILLFACTOR patch. Change WITH grammar as per earlier 2006-07-03 22:45:41 +00:00
explain.c Change processing of extended-Query mode so that an unnamed statement 2006-09-06 20:40:48 +00:00
functioncmds.c Remove 576 references of include files that were not needed. 2006-07-14 14:52:27 +00:00
indexcmds.c Add a function GetLockConflicts() to lock.c to report xacts holding 2006-08-27 19:14:34 +00:00
lockcmds.c Now that we've rearranged relation open to get a lock before touching 2006-08-18 16:09:13 +00:00
Makefile Tablespaces. Alternate database locations are dead, long live tablespaces. 2004-06-18 06:14:31 +00:00
opclasscmds.c Mark a few functions as static or NOT_USED. 2006-07-18 17:42:01 +00:00
operatorcmds.c DROP ... IF EXISTS for the following cases: 2006-06-16 20:23:45 +00:00
portalcmds.c Clean up logging for extended-query-protocol operations, as per my recent 2006-09-07 22:52:01 +00:00
prepare.c Clean up logging for extended-query-protocol operations, as per my recent 2006-09-07 22:52:01 +00:00
proclang.c Remove 576 references of include files that were not needed. 2006-07-14 14:52:27 +00:00
schemacmds.c Allow include files to compile own their own. 2006-07-13 16:49:20 +00:00
sequence.c Fix all known problems with pg_dump's handling of serial sequences 2006-08-21 00:57:26 +00:00
tablecmds.c Disallow TRUNCATE when there are any pending after-trigger events for 2006-09-04 21:15:56 +00:00
tablespace.c Remove 576 references of include files that were not needed. 2006-07-14 14:52:27 +00:00
trigger.c Disallow TRUNCATE when there are any pending after-trigger events for 2006-09-04 21:15:56 +00:00
typecmds.c Change the relation_open protocol so that we obtain lock on a relation 2006-07-31 20:09:10 +00:00
user.c Allow include files to compile own their own. 2006-07-13 16:49:20 +00:00
vacuum.c Marginal cleanup in arrangements for ensuring StrategyHintVacuum is cleared 2006-09-17 22:16:22 +00:00
vacuumlazy.c Code review for patch to avoid second scan when vacuuming index-less 2006-09-13 17:47:08 +00:00
variable.c Remove 576 references of include files that were not needed. 2006-07-14 14:52:27 +00:00
view.c Fix all known problems with pg_dump's handling of serial sequences 2006-08-21 00:57:26 +00:00