• J
    DROP DATABASE should remove shared buffer cache entries · 4db039a0
    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
dropdb_check_shared_buffer_cache.source 1.6 KB