aboutsummaryrefslogtreecommitdiff
path: root/src/backend/utils/adt/numeric.c
diff options
context:
space:
mode:
authorTom Lane <tgl@sss.pgh.pa.us>2002-08-11 00:08:48 +0000
committerTom Lane <tgl@sss.pgh.pa.us>2002-08-11 00:08:48 +0000
commit2e10863bf52797a7a285271677e3f2c35a376f20 (patch)
tree679e61f03d46e55c3b8d41a6fd6fd43002f04d13 /src/backend/utils/adt/numeric.c
parent5c3102d6d1fe85c68759480e88703d49780e1783 (diff)
downloadpostgresql-2e10863bf52797a7a285271677e3f2c35a376f20.tar.gz
postgresql-2e10863bf52797a7a285271677e3f2c35a376f20.zip
Now that we allow ANALYZE to run inside a transaction block, the locks
it takes could be held for quite awhile after the analyze step completes. Rethink locking of pg_statistic in light of this fact. The original scheme took an exclusive lock on pg_statistic, which was okay when the lock could be expected to be released shortly, but that doesn't hold anymore. Back off to a normal writer's lock (RowExclusiveLock). This allows concurrent ANALYZE of nonoverlapping sets of tables, at the price that concurrent ANALYZEs of the same table may fail with 'tuple concurrently updated'.
Diffstat (limited to 'src/backend/utils/adt/numeric.c')
0 files changed, 0 insertions, 0 deletions