-
由 Jimmy Yih 提交于
This used to be handled by persistent tables. When persistent tables were removed, we forgot to add back the dropping of shared buffer cache entries as part of DROP DATABASE operation. This commit adds it back along with a test so we do not ever forget. Some relevant comments from Heikki/Jesse: The reason why this issue was not seen is because there is a RequestCheckpoint() near the end of dropdb(). So before dropdb() actually removes the files for the database, all dirty buffers have already been flushed to disk. The buffer manager will not try to write out clean buffers back to disk, so they will just age out of the buffer cache over time. One way this issue could have shown itself if we did not catch this could be the rare scenario that the same database OID is reused later for a different database, where this could cause false positives in future buffer cache lookups.
4db039a0