Change hashscan.c to keep its list of active hash index scans in
Tom Lane <tgl@sss.pgh.pa.us>
Change hashscan.c to keep its list of active hash index scans in TopMemoryContext, rather than scattered through executor per-query contexts. This poses no danger of memory leak since the ResourceOwner mechanism guarantees release of no-longer-needed items. It is needed because the per-query context might already be released by the time we try to clean up the hash scan list. Report by ykhuang, diagnosis by Heikki. Back-patch to 8.0, where the ResourceOwner-based cleanup was introduced. The given test case does not fail before 8.2, probably because we rearranged transaction abort processing somehow; but this coding is undoubtedly risky so I'll patch 8.0 and 8.1 anyway.
Files
| Path | Change | +/− |
|---|---|---|
| src/backend/access/hash/hashscan.c | modified | +20 −3 |