diff options
author | Robert Haas <rhaas@postgresql.org> | 2013-11-13 10:52:59 -0500 |
---|---|---|
committer | Robert Haas <rhaas@postgresql.org> | 2013-11-13 10:52:59 -0500 |
commit | c46c803f8ad4ba80472b280703983ecf8021099e (patch) | |
tree | 6b6ed7ca2a26c39462223911c4477bc81ece64bc /doc/src | |
parent | cd8115e0090cb04380292f880adcec9c2fc2e0f3 (diff) | |
download | postgresql-c46c803f8ad4ba80472b280703983ecf8021099e.tar.gz postgresql-c46c803f8ad4ba80472b280703983ecf8021099e.zip |
Fix relfilenodemap.c's handling of cache invalidations.
The old code entered a new hash table entry first, then scanned
pg_class to determine what value to fill in, and then populated the
entry. This fails to work properly if a cache invalidation happens
as a result of opening pg_class. Repair.
Along the way, get rid of the idea of blowing away the entire hash
table as a method of processing invalidations. Instead, just delete
all the entries one by one. This is probably not quite as cheap but
it's simpler, and shouldn't happen often.
Andres Freund
Diffstat (limited to 'doc/src')
0 files changed, 0 insertions, 0 deletions