gistendscan() forgot to free so->giststate.
Tom Lane <tgl@sss.pgh.pa.us>
gistendscan() forgot to free so->giststate. This oversight led to a massive memory leak --- upwards of 10KB per tuple --- during creation-time verification of an exclusion constraint based on a GIST index. In most other scenarios it'd just be a leak of 10KB that would be recovered at end of query, so not too significant; though perhaps the leak would be noticeable in a situation where a GIST index was being used in a nestloop inner indexscan. In any case, it's a real leak of long standing, so patch all supported branches. Per report from Harald Fuchs.
Files
| Path | Change | +/− |
|---|---|---|
| src/backend/access/gist/gistscan.c | modified | +4 −1 |