Prevent memory leaks in parseRelOptions().
Tom Lane <tgl@sss.pgh.pa.us>
Prevent memory leaks in parseRelOptions(). parseRelOptions() tended to leak memory in the caller's context. Most of the time this doesn't really matter since the caller's context is at most query-lifespan, and the function won't be invoked very many times. However, when testing with CLOBBER_CACHE_RECURSIVELY, the same relcache entry can get rebuilt a *lot* of times in one query, leading to significant intraquery memory bloat if it has any reloptions. Noted while investigating a related report from Tomas Vondra. In passing, get rid of some Asserts that are redundant with the one done by deconstruct_array(). As with other patches to avoid leaks in CLOBBER_CACHE testing, it doesn't really seem worth back-patching this.
Files
| Path | Change | +/− |
|---|---|---|
| src/backend/access/common/reloptions.c | modified | +6 −9 |